From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <d.csapak@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 91A757328A
 for <pve-devel@lists.proxmox.com>; Mon,  5 Jul 2021 16:34:04 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 89E4321443
 for <pve-devel@lists.proxmox.com>; Mon,  5 Jul 2021 16:34:04 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id 601A521422
 for <pve-devel@lists.proxmox.com>; Mon,  5 Jul 2021 16:34:03 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 34F0540BC0
 for <pve-devel@lists.proxmox.com>; Mon,  5 Jul 2021 16:34:03 +0200 (CEST)
From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Mon,  5 Jul 2021 16:34:01 +0200
Message-Id: <20210705143402.2362828-3-d.csapak@proxmox.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20210705143402.2362828-1-d.csapak@proxmox.com>
References: <20210705143402.2362828-1-d.csapak@proxmox.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.677 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH widget-toolkit 3/4] node/Task: show errors on
 store load
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Mon, 05 Jul 2021 14:34:04 -0000

since we use a buffered store on a grid, we cannot use our
normal monStoreErrors from Utils (The store on the grid is a memorystore
without our 'proxmox' proxy, and the store in the viewmodel is not
initialized yet in the init)

simply set the mask in the already existing 'updateLayout' function
which is exactly the right place for the buffered store load

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
i did not find suitable way to reuse the monStoreErrors function,
since it seems that the store from the viewmodel gets instantiated
late in the component creation, and using something like 'afterrender'
will probably also be wrongs, since the loadmask may already be there...

 src/node/Tasks.js | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/node/Tasks.js b/src/node/Tasks.js
index d93111b..dfe93dc 100644
--- a/src/node/Tasks.js
+++ b/src/node/Tasks.js
@@ -36,12 +36,18 @@ Ext.define('Proxmox.node.Tasks', {
 	    }).show();
 	},
 
-	updateLayout: function() {
+	updateLayout: function(store, records, success, operation) {
 	    let me = this;
+	    let view = me.getView().getView(); // the table view, not the whole grid
+	    Proxmox.Utils.setErrorMask(view, false);
 	    // update the scrollbar on every store load since the total count might be different.
 	    // the buffered grid plugin does this only on (user) scrolling itself and even reduces
 	    // the scrollheight again when scrolling up
 	    me.getView().updateLayout();
+
+	    if (!success) {
+		Proxmox.Utils.setErrorMask(view, Proxmox.Utils.getResponseErrorMessage(operation.getError()));
+	    }
 	},
 
 	refresh: function() {
@@ -83,14 +89,8 @@ Ext.define('Proxmox.node.Tasks', {
 	    let vm = me.getViewModel();
 	    vm.set('showFilter', pressed);
 	},
-
-	init: function(view) {
-	    let me = this;
-	    Proxmox.Utils.monStoreErrors(view, view.getStore(), true);
-	},
     },
 
-
     listeners: {
 	itemdblclick: 'showTaskLog',
     },
-- 
2.30.2