From: Dietmar Maurer Date: Tue, 31 Jan 2017 16:17:12 +0000 (+0100) Subject: add Checkbox.js X-Git-Url: https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commitdiff_plain;h=fccec7c6c2ddb4dbefd5e1540c021ecd5e00d3ed add Checkbox.js Copied from pve-manager --- diff --git a/Makefile b/Makefile index ee8f565..d2d60d5 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ JSSRC= \ data/ObjectStore.js \ data/TimezoneStore.js \ form/TextField.js \ + form/Checkbox.js \ grid/ObjectGrid.js \ panel/InputPanel.js \ panel/LogView.js \ diff --git a/form/Checkbox.js b/form/Checkbox.js new file mode 100644 index 0000000..5cf5435 --- /dev/null +++ b/form/Checkbox.js @@ -0,0 +1,44 @@ +Ext.define('Proxmox.form.Checkbox', { + extend: 'Ext.form.field.Checkbox', + alias: ['widget.proxmoxcheckbox'], + + defaultValue: undefined, + + deleteDefaultValue: false, + deleteEmpty: false, + + inputValue: '1', + + getSubmitData: function() { + var me = this, + data = null, + val; + if (!me.disabled && me.submitValue) { + val = me.getSubmitValue(); + if (val !== null) { + data = {}; + if ((val == me.defaultValue) && me.deleteDefaultValue) { + data['delete'] = me.getName(); + } else { + data[me.getName()] = val; + } + } else if (me.deleteEmpty) { + data = {}; + data['delete'] = me.getName(); + } + } + return data; + }, + + // also accept integer 1 as true + setRawValue: function(value) { + var me = this; + + if (value === 1) { + me.callParent([true]); + } else { + me.callParent([value]); + } + } + +}); diff --git a/node/NetworkEdit.js b/node/NetworkEdit.js index f925e0d..874306c 100644 --- a/node/NetworkEdit.js +++ b/node/NetworkEdit.js @@ -45,7 +45,7 @@ Ext.define('Proxmox.node.NetworkEdit', { if (!(me.iftype === 'OVSIntPort' || me.iftype === 'OVSPort' || me.iftype === 'OVSBond')) { column2.push({ - xtype: 'pvecheckbox', + xtype: 'proxmoxcheckbox', fieldLabel: gettext('Autostart'), name: 'autostart', uncheckedValue: 0, @@ -55,7 +55,7 @@ Ext.define('Proxmox.node.NetworkEdit', { if (me.iftype === 'bridge') { column2.push({ - xtype: 'pvecheckbox', + xtype: 'proxmoxcheckbox', fieldLabel: gettext('VLAN aware'), name: 'bridge_vlan_aware', deleteEmpty: !me.create