]> git.proxmox.com Git - pve-manager.git/commitdiff
RealmComboBox: use schematic declaration and ViewController
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 11 Dec 2017 14:47:14 +0000 (15:47 +0100)
committerDominik Csapak <d.csapak@proxmox.com>
Thu, 25 Jan 2018 12:36:38 +0000 (13:36 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/form/RealmComboBox.js

index 8d0c71a88b566da328d1629d7cf28f527236108e..c85fe7d22a101306de37d03aca2f79aedd5a5507 100644 (file)
@@ -1,7 +1,33 @@
+/*global Proxmox*/
 Ext.define('PVE.form.RealmComboBox', {
     extend: 'Ext.form.field.ComboBox',
     alias: ['widget.pveRealmComboBox'],
 
+    controller: {
+       xclass: 'Ext.app.ViewController',
+
+       init: function(view) {
+           view.store.on('load', this.onLoad, view);
+       },
+
+       onLoad: function(store, records, success) {
+           if (!success) {
+               return;
+           }
+           var me = this;
+           var val = me.getValue();
+           if (!val || !me.store.findRecord('realm', val)) {
+               var def = 'pam';
+               Ext.each(records, function(rec) {
+                   if (rec.data && rec.data['default']) {
+                       def = rec.data.realm;
+                   }
+               });
+               me.setValue(def);
+           }
+       }
+    },
+
     fieldLabel: gettext('Realm'),
     name: 'realm',
     queryMode: 'local',
@@ -32,32 +58,8 @@ Ext.define('PVE.form.RealmComboBox', {
        return rec && rec.data && rec.data.tfa ? rec.data.tfa : undefined;
     },
 
-    initComponent: function() {
-       var me = this;
-
-       me.store = Ext.create('Ext.data.Store', {
-           model: 'pve-domains'
-       });
-
-       me.callParent();
-
-       me.store.load({
-           callback: function(r, o, success) {
-               if (success) {
-                   var def = me.getValue();
-                   if (!def || !me.store.findRecord('realm', def)) {
-                       def = 'pam';
-                       Ext.each(r, function(record) {
-                           if (record.data && record.data["default"]) { 
-                               def = record.data.realm;
-                           }
-                       });
-                   }
-                   if (def) {
-                       me.setValue(def);
-                   }
-               }
-           }
-       });
+    store: {
+       model: 'pve-domains',
+       autoLoad: true
     }
 });