From 1cfd092907a9e39fe7fccce2455c303cdc841d3c Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Mon, 11 Dec 2017 15:47:14 +0100 Subject: [PATCH] RealmComboBox: use schematic declaration and ViewController Signed-off-by: Thomas Lamprecht Reviewed-by: Dominik Csapak --- www/manager6/form/RealmComboBox.js | 56 ++++++++++++++++-------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/www/manager6/form/RealmComboBox.js b/www/manager6/form/RealmComboBox.js index 8d0c71a8..c85fe7d2 100644 --- a/www/manager6/form/RealmComboBox.js +++ b/www/manager6/form/RealmComboBox.js @@ -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 } });