]>
Commit | Line | Data |
---|---|---|
b85427b9 DM |
1 | Ext.define('PVE.form.HotplugFeatureSelector', { |
2 | extend: 'PVE.form.KVComboBox', | |
3 | alias: ['widget.pveHotplugFeatureSelector'], | |
4 | ||
5 | multiSelect: true, | |
6 | allowBlank: true, | |
7 | deleteEmpty: false, | |
8f8e8a2e EK |
8 | comboItems: [['disk', gettext('Disk')], |
9 | ['network', gettext('Network')], | |
10 | ['usb', gettext('USB')], | |
11 | ['memory', gettext('Memory')], | |
12 | ['cpu', gettext('CPU')]], | |
b85427b9 DM |
13 | |
14 | setValue: function(value, doSelect) { | |
15 | var me = this; | |
16 | ||
17 | if (me.multiSelect && Ext.isString(value)) { | |
ec0bd652 | 18 | var newVal; |
b85427b9 | 19 | if (value === '0') { |
ec0bd652 | 20 | newVal = []; |
b85427b9 | 21 | } else if (value === '1') { |
ec0bd652 | 22 | newVal = ['disk', 'network', 'usb']; |
b85427b9 | 23 | } else { |
ec0bd652 | 24 | newVal = value.split(','); |
b85427b9 | 25 | } |
ec0bd652 | 26 | me.callParent([newVal, doSelect]); |
b85427b9 DM |
27 | } |
28 | ||
29 | me.callParent([value, doSelect]); | |
30 | }, | |
31 | ||
32 | getSubmitData: function() { | |
33 | var me = this, | |
34 | data = null, | |
35 | val; | |
36 | if (!me.disabled && me.submitValue) { | |
37 | val = me.getSubmitValue(); | |
38 | if (Ext.isArray(val)) { | |
39 | val = val.join(',') || '0'; | |
40 | } | |
41 | if (val !== null && val !== '') { | |
42 | data = {}; | |
43 | data[me.getName()] = val; | |
44 | } else if (me.deleteEmpty) { | |
45 | data = {}; | |
46 | data['delete'] = me.getName(); | |
47 | } | |
48 | } | |
49 | return data; | |
22f2f9d6 | 50 | } |
b85427b9 | 51 | }); |