Ext.applyIf(me, {
            items: {
                xtype: 'pveKVComboBox',
                comboItems: data,
            }
        });

the comboItems property is passed in the parent class as a config object,
instead of being directly available via this.comboItems

Since using a config object is the recommended way of passing parameters
int the ExtJS class model, adapt the parent class to use the new paradigm.
---
 www/manager5/dc/OptionView.js            |  4 ++--
 www/manager5/form/KVComboBox.js          | 12 ++++++++++--
 www/manager5/form/LanguageSelector.js    |  7 ++-----
 www/manager5/form/VNCKeyboardSelector.js |  7 ++-----
 4 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/www/manager5/dc/OptionView.js b/www/manager5/dc/OptionView.js
index 81eab6f..043c7fd 100644
--- a/www/manager5/dc/OptionView.js
+++ b/www/manager5/dc/OptionView.js
@@ -62,9 +62,9 @@ Ext.define('PVE.dc.ConsoleViewerEdit', {
            items: {
                xtype: 'pveKVComboBox',
                name: 'console',
-               data: data,
                value: '',
-               fieldLabel: gettext('Console Viewer')
+               fieldLabel: gettext('Console Viewer'),
+               comboItems: data,
            }
        });
 
diff --git a/www/manager5/form/KVComboBox.js b/www/manager5/form/KVComboBox.js
index cc25877..77bf8f4 100644
--- a/www/manager5/form/KVComboBox.js
+++ b/www/manager5/form/KVComboBox.js
@@ -1,9 +1,17 @@
+/* Key-Value ComboBox
+ *
+ * config properties:
+ * comboItems: an array of Key - Value pairs
+ */
 Ext.define('PVE.form.KVComboBox', {
     extend: 'Ext.form.field.ComboBox',
     alias: 'widget.pveKVComboBox',
 
     deleteEmpty: true,
-    
+    config: {
+        comboItems: undefined
+    },
+
     getSubmitData: function() {
         var me = this,
             data = null,
@@ -26,7 +34,7 @@ Ext.define('PVE.form.KVComboBox', {
 
        me.store = Ext.create('Ext.data.ArrayStore', {
            model: 'KeyValue',
-           data : me.data
+           data : me.getConfig('comboItems'),
        });
 
        if (me.initialConfig.editable === undefined) {
diff --git a/www/manager5/form/LanguageSelector.js 
b/www/manager5/form/LanguageSelector.js
index 9d4ca4c..50157bf 100644
--- a/www/manager5/form/LanguageSelector.js
+++ b/www/manager5/form/LanguageSelector.js
@@ -1,10 +1,7 @@
 Ext.define('PVE.form.LanguageSelector', {
     extend: 'PVE.form.KVComboBox',
     alias: ['widget.pveLanguageSelector'],
-  
-    initComponent: function() {
-       var me = this;
-       me.data = PVE.Utils.language_array();
-       me.callParent();
+    config: {
+        comboItems: PVE.Utils.language_array()
     }
 });
diff --git a/www/manager5/form/VNCKeyboardSelector.js 
b/www/manager5/form/VNCKeyboardSelector.js
index 37fe976..c69b205 100644
--- a/www/manager5/form/VNCKeyboardSelector.js
+++ b/www/manager5/form/VNCKeyboardSelector.js
@@ -1,10 +1,7 @@
 Ext.define('PVE.form.VNCKeyboardSelector', {
     extend: 'PVE.form.KVComboBox',
     alias: ['widget.VNCKeyboardSelector'],
-  
-    initComponent: function() {
-       var me = this;
-       me.data = PVE.Utils.kvm_keymap_array();
-       me.callParent();
+    config: {
+        comboItems: PVE.Utils.kvm_keymap_array()
     }
 });
-- 
2.1.4


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to