]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/HotplugFeatureSelector.js
adapt KVComboBoxes to pass store items using 'comboItems' parameter
[pve-manager.git] / www / manager6 / form / HotplugFeatureSelector.js
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,
8 comboItems: [['disk', gettext('Disk')],
9 ['network', gettext('Network')],
10 ['usb', gettext('USB')],
11 ['memory', gettext('Memory')],
12 ['cpu', gettext('CPU')]],
13
14 setValue: function(value, doSelect) {
15 var me = this;
16
17 if (me.multiSelect && Ext.isString(value)) {
18 if (value === '0') {
19 value = [];
20 } else if (value === '1') {
21 value = ['disk', 'network', 'usb'];
22 } else {
23 value = value.split(',');
24 }
25 }
26
27 me.callParent([value, doSelect]);
28 },
29
30 getSubmitData: function() {
31 var me = this,
32 data = null,
33 val;
34 if (!me.disabled && me.submitValue) {
35 val = me.getSubmitValue();
36 if (Ext.isArray(val)) {
37 val = val.join(',') || '0';
38 }
39 if (val !== null && val !== '') {
40 data = {};
41 data[me.getName()] = val;
42 } else if (me.deleteEmpty) {
43 data = {};
44 data['delete'] = me.getName();
45 }
46 }
47 return data;
48 },
49 });