mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-27 09:59:33 +00:00
ui: storage: show no-keeps hint exactly when needed
extracting the logic from the previous checkbox listener into a function, which is also called on field changes and once in afterrender. Calling it initially makes sure the hint is also displayed at the beginning when editing a storage with no retention options configured, and the initial disabling of the input fields for the isCreate case now also happens through that call. Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
fbbb2a1428
commit
56fad7c4e6
@ -81,6 +81,18 @@ Ext.define('PVE.panel.StoragePruneInputPanel', {
|
||||
return options;
|
||||
},
|
||||
|
||||
updateComponents: function() {
|
||||
let panel = this;
|
||||
|
||||
let keepAll = panel.down('proxmoxcheckbox[name=keep-all]').getValue();
|
||||
let anyValue = false;
|
||||
panel.query('pmxPruneKeepField').forEach(field => {
|
||||
anyValue = anyValue || field.getValue() !== null;
|
||||
field.setDisabled(keepAll);
|
||||
});
|
||||
panel.down('component[name=no-keeps-hint]').setHidden(anyValue || keepAll);
|
||||
},
|
||||
|
||||
listeners: {
|
||||
afterrender: function(panel) {
|
||||
if (panel.needMask) {
|
||||
@ -89,12 +101,14 @@ Ext.define('PVE.panel.StoragePruneInputPanel', {
|
||||
gettext('Backup content type not available for this storage.'),
|
||||
);
|
||||
} else if (panel.isCreate) {
|
||||
panel.query('pmxPruneKeepField').forEach(field => {
|
||||
field.setDisabled(true);
|
||||
});
|
||||
panel.down('proxmoxcheckbox[name=keep-all]').setValue(true);
|
||||
}
|
||||
panel.down('component[name=pbs-hint]').setHidden(!panel.isPBS);
|
||||
|
||||
panel.query('pmxPruneKeepField').forEach(field => {
|
||||
field.on('change', panel.updateComponents, panel);
|
||||
});
|
||||
panel.updateComponents();
|
||||
},
|
||||
},
|
||||
|
||||
@ -105,12 +119,7 @@ Ext.define('PVE.panel.StoragePruneInputPanel', {
|
||||
listeners: {
|
||||
change: function(field, newValue) {
|
||||
let panel = field.up('pveStoragePruneInputPanel');
|
||||
let anyValue = false;
|
||||
panel.query('pmxPruneKeepField').forEach(field => {
|
||||
anyValue = anyValue || field.getValue() !== null;
|
||||
field.setDisabled(newValue);
|
||||
});
|
||||
panel.down('component[name=no-keeps-hint]').setHidden(anyValue || newValue);
|
||||
panel.updateComponents();
|
||||
},
|
||||
},
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user