[pve-devel] [RFC manager 27/28] RealmComboBox: use schematic declaration and ViewController
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Dec 11 16:26:16 CET 2017
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
www/manager6/form/RealmComboBox.js | 53 +++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 27 deletions(-)
diff --git a/www/manager6/form/RealmComboBox.js b/www/manager6/form/RealmComboBox.js
index 8d0c71a8..39c47329 100644
--- a/www/manager6/form/RealmComboBox.js
+++ b/www/manager6/form/RealmComboBox.js
@@ -1,7 +1,30 @@
+/*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) {
+ 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 +55,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
}
});
--
2.11.0
More information about the pve-devel
mailing list