]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
ComboGrid: make height for the error configurable
authorDominik Csapak <d.csapak@proxmox.com>
Wed, 18 Jan 2023 13:12:57 +0000 (14:12 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 18 Jan 2023 14:13:37 +0000 (15:13 +0100)
by introducing a errorHeight config property. This is necessary when
the ComboGrid has e.g. a toolbar and we show the error in the grid body
only, 100 pixels is not enough then. To solve that without hardcoding
different heights, let the subclass/caller configure that

also set this when the store load fails completely (was not done until now)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/form/ComboGrid.js

index e903223010e8279ed6942cffa1d87cacbd4149b3..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.
@@ -302,8 +303,8 @@ Ext.define('Proxmox.form.ComboGrid', {
        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.getView(), me.loadError);
@@ -463,7 +464,10 @@ Ext.define('Proxmox.form.ComboGrid', {
            } else {
                let msg = Proxmox.Utils.getResponseErrorMessage(o.getError());
                if (me.picker) {
+                   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;
            }