]> git.proxmox.com Git - proxmox-widget-toolkit.git/blobdiff - src/form/ComboGrid.js
ComboGrid: make height for the error configurable
[proxmox-widget-toolkit.git] / src / form / ComboGrid.js
index 33c1d75b4e378f6aaf2d98a0db72816e65174d30..ba3ce409f7f9bedfb9c5ba978fff56479f8a4b08 100644 (file)
@@ -31,6 +31,7 @@ Ext.define('Proxmox.form.ComboGrid', {
        skipEmptyText: false,
        notFoundIsValid: false,
        deleteEmpty: false,
+       errorHeight: 100,
     },
 
     // needed to trigger onKeyUp etc.
@@ -300,12 +301,13 @@ Ext.define('Proxmox.form.ComboGrid', {
        //
        // we save the minheight to reset it after the load
        picker.on('show', function() {
+           me.store.fireEvent('refresh');
            if (me.enableLoadMask) {
-               me.savedMinHeight = picker.getMinHeight();
-               picker.setMinHeight(100);
+               me.savedMinHeight = me.savedMinHeight ?? picker.getMinHeight();
+               picker.setMinHeight(me.errorHeight);
            }
            if (me.loadError) {
-               Proxmox.Utils.setErrorMask(picker, me.loadError);
+               Proxmox.Utils.setErrorMask(picker.getView(), me.loadError);
                delete me.loadError;
                picker.updateLayout();
            }
@@ -317,16 +319,14 @@ Ext.define('Proxmox.form.ComboGrid', {
     },
 
     clearLocalFilter: function() {
-        let me = this,
-            filter = me.queryFilter;
-
-        if (filter) {
-            me.queryFilter = null;
-            me.changingFilters = true;
-            me.store.removeFilter(filter, true);
-            me.changingFilters = false;
-           me.store.fireEvent('refresh');
-        }
+        let me = this;
+
+       if (me.queryFilter) {
+           me.changingFilters = true; // FIXME: unused?
+           me.store.removeFilter(me.queryFilter, true);
+           me.queryFilter = null;
+           me.changingFilters = false;
+       }
     },
 
     isValueInStore: function(value) {
@@ -429,7 +429,7 @@ Ext.define('Proxmox.form.ComboGrid', {
                    // if the picker exists, we reset its minHeight to the previous saved one or 0
                    if (me.picker) {
                        me.picker.setMinHeight(me.savedMinHeight || 0);
-                       Proxmox.Utils.setErrorMask(me.picker);
+                       Proxmox.Utils.setErrorMask(me.picker.getView());
                        delete me.savedMinHeight;
                        // we have to update the layout, otherwise the height gets not recalculated
                        me.picker.updateLayout();
@@ -464,7 +464,10 @@ Ext.define('Proxmox.form.ComboGrid', {
            } else {
                let msg = Proxmox.Utils.getResponseErrorMessage(o.getError());
                if (me.picker) {
-                   Proxmox.Utils.setErrorMask(me.picker, msg);
+                   me.savedMinHeight = me.savedMinHeight ?? me.picker.getMinHeight();
+                   me.picker.setMinHeight(me.errorHeight);
+                   Proxmox.Utils.setErrorMask(me.picker.getView(), msg);
+                   me.picker.updateLayout();
                }
                me.loadError = msg;
            }