]> git.proxmox.com Git - proxmox-widget-toolkit.git/blame - src/form/Checkbox.js
language selector: increase only picker list view
[proxmox-widget-toolkit.git] / src / form / Checkbox.js
CommitLineData
fccec7c6
DM
1Ext.define('Proxmox.form.Checkbox', {
2 extend: 'Ext.form.field.Checkbox',
3 alias: ['widget.proxmoxcheckbox'],
4
f0372135
DM
5 config: {
6 defaultValue: undefined,
7 deleteDefaultValue: false,
01031528 8 deleteEmpty: false,
4ec859d9 9 clearOnDisable: false,
f0372135 10 },
fccec7c6
DM
11
12 inputValue: '1',
13
14 getSubmitData: function() {
05a977a2 15 let me = this,
fccec7c6
DM
16 data = null,
17 val;
18 if (!me.disabled && me.submitValue) {
19 val = me.getSubmitValue();
20 if (val !== null) {
21 data = {};
05a977a2 22 if (val === me.getDefaultValue() && me.getDeleteDefaultValue()) {
01031528 23 data.delete = me.getName();
fccec7c6
DM
24 } else {
25 data[me.getName()] = val;
26 }
f0372135 27 } else if (me.getDeleteEmpty()) {
fccec7c6 28 data = {};
01031528 29 data.delete = me.getName();
fccec7c6
DM
30 }
31 }
32 return data;
33 },
34
4ec859d9
TL
35 setDisabled: function(disabled) {
36 let me = this;
37
38 // only clear on actual transition
39 let toClearValue = me.clearOnDisable && !me.disabled && disabled;
40
41 me.callParent(arguments);
42
43 if (toClearValue) {
44 me.setValue(false); // TODO: could support other "reset value" or use originalValue?
45 }
46 },
47
fccec7c6
DM
48 // also accept integer 1 as true
49 setRawValue: function(value) {
05a977a2 50 let me = this;
fccec7c6
DM
51
52 if (value === 1) {
53 me.callParent([true]);
54 } else {
55 me.callParent([value]);
56 }
01031528 57 },
fccec7c6
DM
58
59});