]> git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/form/Checkbox.js
form: combo grid: fix selection after filtering
[proxmox-widget-toolkit.git] / src / form / Checkbox.js
1 Ext.define('Proxmox.form.Checkbox', {
2 extend: 'Ext.form.field.Checkbox',
3 alias: ['widget.proxmoxcheckbox'],
4
5 config: {
6 defaultValue: undefined,
7 deleteDefaultValue: false,
8 deleteEmpty: false,
9 clearOnDisable: false,
10 },
11
12 inputValue: '1',
13
14 getSubmitData: function() {
15 let me = this,
16 data = null,
17 val;
18 if (!me.disabled && me.submitValue) {
19 val = me.getSubmitValue();
20 if (val !== null) {
21 data = {};
22 if (val === me.getDefaultValue() && me.getDeleteDefaultValue()) {
23 data.delete = me.getName();
24 } else {
25 data[me.getName()] = val;
26 }
27 } else if (me.getDeleteEmpty()) {
28 data = {};
29 data.delete = me.getName();
30 }
31 }
32 return data;
33 },
34
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
48 // also accept integer 1 as true
49 setRawValue: function(value) {
50 let me = this;
51
52 if (value === 1) {
53 me.callParent([true]);
54 } else {
55 me.callParent([value]);
56 }
57 },
58
59 });