mirror of
https://git.proxmox.com/git/proxmox-widget-toolkit
synced 2025-05-11 02:29:55 +00:00
add a checkbox to edit windows for advanced options
if the inputpanel has advanced options, show a checkbox to show/hide them Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
33a4fc355c
commit
880df5d504
@ -274,6 +274,23 @@ Ext.define('Proxmox.window.Edit', {
|
||||
var dirty = form.isDirty();
|
||||
submitBtn.setDisabled(!valid || !(dirty || me.isCreate));
|
||||
resetBtn.setDisabled(!dirty);
|
||||
|
||||
if (inputPanel && inputPanel.hasAdvanced) {
|
||||
// we want to show the advanced options
|
||||
// as soon as some of it is not valid
|
||||
var advancedItems = me.down('#advancedContainer').query('field');
|
||||
var valid = true;
|
||||
advancedItems.forEach(function(field) {
|
||||
if (!field.isValid()) {
|
||||
valid = false;
|
||||
}
|
||||
});
|
||||
|
||||
if (!valid) {
|
||||
inputPanel.setAdvancedVisible(true);
|
||||
me.down('#advancedcb').setValue(true);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
form.on('dirtychange', set_button_status);
|
||||
@ -297,6 +314,28 @@ Ext.define('Proxmox.window.Edit', {
|
||||
me.buttons = [ submitBtn, resetBtn ];
|
||||
}
|
||||
|
||||
if (inputPanel && inputPanel.hasAdvanced) {
|
||||
var sp = Ext.state.Manager.getProvider();
|
||||
var advchecked = sp.get('proxmox-advanced-cb');
|
||||
inputPanel.setAdvancedVisible(advchecked);
|
||||
me.buttons.unshift(
|
||||
{
|
||||
xtype: 'proxmoxcheckbox',
|
||||
itemId: 'advancedcb',
|
||||
boxLabelAlign: 'before',
|
||||
boxLabel: gettext('Advanced'),
|
||||
stateId: 'proxmox-advanced-cb',
|
||||
value: advchecked,
|
||||
listeners: {
|
||||
change: function(cb, val) {
|
||||
inputPanel.setAdvancedVisible(val);
|
||||
sp.set('proxmox-advanced-cb', val);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
var onlineHelp = me.onlineHelp;
|
||||
if (!onlineHelp && inputPanel && inputPanel.onlineHelp) {
|
||||
onlineHelp = inputPanel.onlineHelp;
|
||||
|
Loading…
Reference in New Issue
Block a user