ui: form/View Selector: eslint fixes and code cleanup/refactoring

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2021-05-18 16:52:40 +02:00
parent 2ef4b8ed12
commit 7b261bf845

View File

@ -15,9 +15,9 @@ Ext.define('PVE.form.ViewSelector', {
queryMode: 'local', queryMode: 'local',
initComponent: function() { initComponent: function() {
var me = this; let me = this;
var default_views = { let default_views = {
server: { server: {
text: gettext('Server View'), text: gettext('Server View'),
groups: ['node'], groups: ['node'],
@ -36,25 +36,18 @@ Ext.define('PVE.form.ViewSelector', {
pool: { pool: {
text: gettext('Pool View'), text: gettext('Pool View'),
groups: ['pool'], groups: ['pool'],
// Pool View only lists VMs and Containers // Pool View only lists VMs and Containers
filterfn: function(node) { filterfn: ({ data }) => data.type === 'qemu' || data.type === 'lxc' || data.type === 'pool',
return node.data.type === 'qemu' || node.data.type === 'lxc' || node.data.type === 'openvz' ||
node.data.type === 'pool';
},
}, },
}; };
let groupdef = Object.entries(default_views).map(([name, config]) => [name, config.text]);
var groupdef = []; let store = Ext.create('Ext.data.Store', {
Ext.Object.each(default_views, function(viewname, value) {
groupdef.push([viewname, value.text]);
});
var store = Ext.create('Ext.data.Store', {
model: 'KeyValue', model: 'KeyValue',
proxy: { proxy: {
type: 'memory', type: 'memory',
reader: 'array', reader: 'array',
}, },
data: groupdef, data: groupdef,
autoload: true, autoload: true,
}); });
@ -63,18 +56,16 @@ Ext.define('PVE.form.ViewSelector', {
store: store, store: store,
value: groupdef[0][0], value: groupdef[0][0],
getViewFilter: function() { getViewFilter: function() {
var view = me.getValue(); let view = me.getValue();
return Ext.apply({ id: view }, default_views[view] || default_views.server); return Ext.apply({ id: view }, default_views[view] || default_views.server);
}, },
getState: function() { getState: function() {
return { value: me.getValue() }; return { value: me.getValue() };
}, },
applyState: function(state, doSelect) { applyState: function(state, doSelect) {
var view = me.getValue(); let view = me.getValue();
if (state && state.value && view != state.value) { if (state && state.value && view !== state.value) {
var record = store.findRecord('key', state.value, 0, false, true, true); let record = store.findRecord('key', state.value, 0, false, true, true);
if (record) { if (record) {
me.setValue(state.value, true); me.setValue(state.value, true);
if (doSelect) { if (doSelect) {
@ -91,13 +82,12 @@ Ext.define('PVE.form.ViewSelector', {
me.callParent(); me.callParent();
var statechange = function(sp, key, value) { let statechange = function(sp, key, value) {
if (key === me.id) { if (key === me.id) {
me.applyState(value, true); me.applyState(value, true);
} }
}; };
let sp = Ext.state.Manager.getProvider();
var sp = Ext.state.Manager.getProvider();
me.mon(sp, 'statechange', statechange, me); me.mon(sp, 'statechange', statechange, me);
}, },
}); });