]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
comboGrid: set errorMask on store load failure
authorDominik Csapak <d.csapak@proxmox.com>
Wed, 4 Nov 2020 14:17:40 +0000 (15:17 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 9 Nov 2020 07:01:11 +0000 (08:01 +0100)
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@proxmox.com>
src/form/ComboGrid.js

index e5a1920e392b3e2ac0088faa6fd2a20fcea11820..20c94556491a69d42b0f8656bcba10907d1d0b69 100644 (file)
@@ -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;
            }
        });
     },