mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-27 09:59:33 +00:00
fix combobox reset behaviour
on comboboxes/combogrids with multiselect, if you deselect an item (but not the last), the order of the selected items after resetting is not the same as the original order because of this, the reset button is still enabled this happens, because extjs only adds the missing values instead of overwriting the whole array with this fix, we overwrite the reset function of the comboboxes and only if the values do not match (after a reset) do we clear and set the value again so we only change the behaviour when it is necessary Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
abc55fa61d
commit
05694e6d3a
@ -137,6 +137,28 @@ Ext.define('PVE.UnderlayPool', {
|
||||
}
|
||||
});
|
||||
|
||||
// if the order of the values are not the same in originalValue and value
|
||||
// extjs will not overwrite value, but marks the field dirty and thus
|
||||
// the reset button will be enabled (but clicking it changes nothing)
|
||||
// so if the arrays are not the same after resetting, we
|
||||
// clear and set it
|
||||
Ext.define('PVE.form.ComboBox', {
|
||||
override: 'Ext.form.field.ComboBox',
|
||||
|
||||
reset: function() {
|
||||
// copied from combobox
|
||||
var me = this;
|
||||
me.callParent();
|
||||
me.applyEmptyText();
|
||||
|
||||
// clear and set when not the same
|
||||
if (Ext.isArray(me.originalValue) && !Ext.Array.equals(me.getValue(), me.originalValue)) {
|
||||
me.clearValue();
|
||||
me.setValue(me.originalValue);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// should be fixed with ExtJS 6.0.2, see:
|
||||
// https://www.sencha.com/forum/showthread.php?307244-Bug-with-datefield-in-window-with-scroll
|
||||
Ext.define('PVE.Datepicker', {
|
||||
|
Loading…
Reference in New Issue
Block a user