]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/KVComboBox.js
rename manager5 to manager6
[pve-manager.git] / www / manager6 / form / KVComboBox.js
1 /* Key-Value ComboBox
2 *
3 * config properties:
4 * comboItems: an array of Key - Value pairs
5 * deleteEmpty: if set to true (default), an empty value received from the
6 * comboBox will reset the property to its default value
7 */
8 Ext.define('PVE.form.KVComboBox', {
9 extend: 'Ext.form.field.ComboBox',
10 alias: 'widget.pveKVComboBox',
11
12 deleteEmpty: true,
13 comboItems: undefined,
14
15 getSubmitData: function() {
16 var me = this,
17 data = null,
18 val;
19 if (!me.disabled && me.submitValue) {
20 val = me.getSubmitValue();
21 if (val !== null && val !== '') {
22 data = {};
23 data[me.getName()] = val;
24 } else if (me.deleteEmpty) {
25 data = {};
26 data['delete'] = me.getName();
27 }
28 }
29 return data;
30 },
31
32 initComponent: function() {
33 var me = this;
34
35 me.store = Ext.create('Ext.data.ArrayStore', {
36 model: 'KeyValue',
37 data : me.comboItems,
38 });
39
40 if (me.initialConfig.editable === undefined) {
41 me.editable = false;
42 }
43
44 Ext.apply(me, {
45 displayField: 'value',
46 valueField: 'key',
47 queryMode: 'local'
48 });
49
50 me.callParent();
51 }
52 });