[pve-devel] [RFC PATCH widget-toolkit] comboGrid: set errorMask on store load failure
Dominik Csapak
d.csapak at proxmox.com
Wed Nov 4 15:17:40 CET 2020
if there occured an error in the api call of the store, show this error
on the picker when opened, instead of just showing an empty picker
this makes it possible to see that there was an error while accessing the api
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
altough i tested this, i'd like for someone else to test it too, since
we basically use this anywhere and i am not sure if i forgot some edge
case...
src/form/ComboGrid.js | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/form/ComboGrid.js b/src/form/ComboGrid.js
index e5a1920..20c9455 100644
--- a/src/form/ComboGrid.js
+++ b/src/form/ComboGrid.js
@@ -304,6 +304,11 @@ Ext.define('Proxmox.form.ComboGrid', {
me.savedMinHeight = picker.getMinHeight();
picker.setMinHeight(100);
}
+ if (me.loadError) {
+ Proxmox.Utils.setErrorMask(picker, me.loadError);
+ delete me.loadError;
+ picker.updateLayout();
+ }
});
picker.getNavigationModel().navigateOnSpace = false;
@@ -415,6 +420,7 @@ Ext.define('Proxmox.form.ComboGrid', {
me.mon(me.store, 'load', function(store, r, success, o) {
if (success) {
me.clearInvalid();
+ delete me.loadError;
if (me.enableLoadMask) {
delete me.enableLoadMask;
@@ -425,6 +431,7 @@ Ext.define('Proxmox.form.ComboGrid', {
// gets not recalculated
if (me.picker) {
me.picker.setMinHeight(me.savedMinHeight || 0);
+ Proxmox.Utils.setErrorMask(me.picker);
delete me.savedMinHeight;
me.picker.updateLayout();
}
@@ -451,6 +458,12 @@ Ext.define('Proxmox.form.ComboGrid', {
}
}
}
+ } else {
+ let msg = Proxmox.Utils.getResponseErrorMessage(o.getError());
+ if (me.picker) {
+ Proxmox.Utils.setErrorMask(me.picker, msg);
+ }
+ me.loadError = msg;
}
});
},
--
2.20.1
More information about the pve-devel
mailing list