mirror of
https://git.proxmox.com/git/proxmox-widget-toolkit
synced 2025-05-12 01:42:09 +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();
|
var dirty = form.isDirty();
|
||||||
submitBtn.setDisabled(!valid || !(dirty || me.isCreate));
|
submitBtn.setDisabled(!valid || !(dirty || me.isCreate));
|
||||||
resetBtn.setDisabled(!dirty);
|
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);
|
form.on('dirtychange', set_button_status);
|
||||||
@ -297,6 +314,28 @@ Ext.define('Proxmox.window.Edit', {
|
|||||||
me.buttons = [ submitBtn, resetBtn ];
|
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;
|
var onlineHelp = me.onlineHelp;
|
||||||
if (!onlineHelp && inputPanel && inputPanel.onlineHelp) {
|
if (!onlineHelp && inputPanel && inputPanel.onlineHelp) {
|
||||||
onlineHelp = inputPanel.onlineHelp;
|
onlineHelp = inputPanel.onlineHelp;
|
||||||
|
Loading…
Reference in New Issue
Block a user