]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
add Checkbox.js
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 31 Jan 2017 16:17:12 +0000 (17:17 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 31 Jan 2017 16:17:12 +0000 (17:17 +0100)
Copied from pve-manager

Makefile
form/Checkbox.js [new file with mode: 0644]
node/NetworkEdit.js

index ee8f5655431595e389b5a804709d8b926e223039..d2d60d556890242a3fed26ce0b1922d8fe940d52 100644 (file)
--- 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 (file)
index 0000000..5cf5435
--- /dev/null
@@ -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]);
+       }
+    }
+
+});
index f925e0d14bb220e8aaee4f4c794dfa03a6bcfe93..874306cafdc4aa5982dd229184d8aab4fa6e2cc1 100644 (file)
@@ -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