ui: sdn: eslint fixes and code cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2021-04-26 19:48:02 +02:00
parent 4966ba74f3
commit 69908c5106
6 changed files with 85 additions and 120 deletions

View File

@ -39,53 +39,36 @@ Ext.define('PVE.sdn.ControllerView', {
}, },
}); });
var reload = function() { let sm = Ext.create('Ext.selection.RowModel', {});
store.load();
};
var sm = Ext.create('Ext.selection.RowModel', {}); let run_editor = function() {
let rec = sm.getSelection()[0];
var set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
remove_btn.disable();
}
};
var run_editor = function() {
var rec = sm.getSelection()[0];
if (!rec) { if (!rec) {
return; return;
} }
var type = rec.data.type, let type = rec.data.type, controller = rec.data.controller;
controller = rec.data.controller;
me.createSDNControllerEditWindow(type, controller); me.createSDNControllerEditWindow(type, controller);
}; };
var edit_btn = new Proxmox.button.Button({ let edit_btn = new Proxmox.button.Button({
text: gettext('Edit'), text: gettext('Edit'),
disabled: true, disabled: true,
selModel: sm, selModel: sm,
handler: run_editor, handler: run_editor,
}); });
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', { let remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
selModel: sm, selModel: sm,
baseurl: '/cluster/sdn/controllers/', baseurl: '/cluster/sdn/controllers/',
callback: reload, callback: () => store.load(),
}); });
// else we cannot dynamically generate the add menu handlers // else we cannot dynamically generate the add menu handlers
var addHandleGenerator = function(type) { let addHandleGenerator = function(type) {
return function() { me.createSDNControllerEditWindow(type); }; return function() { me.createSDNControllerEditWindow(type); };
}; };
var addMenuItems = [], type; let addMenuItems = [];
for (const [type, controller] of Object.entries(PVE.Utils.sdncontrollerSchema)) {
for (type in PVE.Utils.sdncontrollerSchema) {
var controller = PVE.Utils.sdncontrollerSchema[type];
if (controller.hideAdd) { if (controller.hideAdd) {
continue; continue;
} }
@ -98,7 +81,7 @@ Ext.define('PVE.sdn.ControllerView', {
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
reloadStore: reload, reloadStore: () => store.load(),
selModel: sm, selModel: sm,
viewConfig: { viewConfig: {
trackOver: false, trackOver: false,
@ -119,7 +102,6 @@ Ext.define('PVE.sdn.ControllerView', {
flex: 2, flex: 2,
sortable: true, sortable: true,
dataIndex: 'controller', dataIndex: 'controller',
dataIndex: 'controller',
renderer: function(value, metaData, rec) { renderer: function(value, metaData, rec) {
return PVE.Utils.render_sdn_pending(rec, value, 'controller', 1); return PVE.Utils.render_sdn_pending(rec, value, 'controller', 1);
}, },
@ -152,7 +134,7 @@ Ext.define('PVE.sdn.ControllerView', {
}, },
], ],
listeners: { listeners: {
activate: reload, activate: () => store.load(),
itemdblclick: run_editor, itemdblclick: run_editor,
}, },
}); });

View File

@ -37,10 +37,6 @@ Ext.define('PVE.sdn.DnsView', {
}, },
}); });
let reload = function() {
store.load();
};
let sm = Ext.create('Ext.selection.RowModel', {}); let sm = Ext.create('Ext.selection.RowModel', {});
let run_editor = function() { let run_editor = function() {
@ -64,17 +60,15 @@ Ext.define('PVE.sdn.DnsView', {
let remove_btn = Ext.create('Proxmox.button.StdRemoveButton', { let remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
selModel: sm, selModel: sm,
baseurl: '/cluster/sdn/dns/', baseurl: '/cluster/sdn/dns/',
callback: reload, callback: () => store.load(),
}); });
// else we cannot dynamically generate the add menu handlers // else we cannot dynamically generate the add menu handlers
let addHandleGenerator = function(type) { let addHandleGenerator = function(type) {
return function() { me.createSDNEditWindow(type); }; return function() { me.createSDNEditWindow(type); };
}; };
let addMenuItems = [], type; let addMenuItems = [];
for (const [type, dns] of Object.entries(PVE.Utils.sdndnsSchema)) {
for (type in PVE.Utils.sdndnsSchema) {
let dns = PVE.Utils.sdndnsSchema[type];
if (dns.hideAdd) { if (dns.hideAdd) {
continue; continue;
} }
@ -87,7 +81,7 @@ Ext.define('PVE.sdn.DnsView', {
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
reloadStore: reload, reloadStore: () => store.load(),
selModel: sm, selModel: sm,
viewConfig: { viewConfig: {
trackOver: false, trackOver: false,
@ -121,7 +115,7 @@ Ext.define('PVE.sdn.DnsView', {
}, },
], ],
listeners: { listeners: {
activate: reload, activate: () => store.load(),
itemdblclick: run_editor, itemdblclick: run_editor,
}, },
}); });

View File

@ -37,10 +37,6 @@ Ext.define('PVE.sdn.IpamView', {
}, },
}); });
let reload = function() {
store.load();
};
let sm = Ext.create('Ext.selection.RowModel', {}); let sm = Ext.create('Ext.selection.RowModel', {});
let run_editor = function() { let run_editor = function() {
@ -48,9 +44,7 @@ Ext.define('PVE.sdn.IpamView', {
if (!rec) { if (!rec) {
return; return;
} }
let type = rec.data.type, let type = rec.data.type, ipam = rec.data.ipam;
ipam = rec.data.ipam;
me.createSDNEditWindow(type, ipam); me.createSDNEditWindow(type, ipam);
}; };
@ -64,17 +58,15 @@ Ext.define('PVE.sdn.IpamView', {
let remove_btn = Ext.create('Proxmox.button.StdRemoveButton', { let remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
selModel: sm, selModel: sm,
baseurl: '/cluster/sdn/ipams/', baseurl: '/cluster/sdn/ipams/',
callback: reload, callback: () => store.load(),
}); });
// else we cannot dynamically generate the add menu handlers // else we cannot dynamically generate the add menu handlers
let addHandleGenerator = function(type) { let addHandleGenerator = function(type) {
return function() { me.createSDNEditWindow(type); }; return function() { me.createSDNEditWindow(type); };
}; };
let addMenuItems = [], type; let addMenuItems = [];
for (const [type, ipam] of Object.entries(PVE.Utils.sdnipamSchema)) {
for (type in PVE.Utils.sdnipamSchema) {
let ipam = PVE.Utils.sdnipamSchema[type];
if (ipam.hideAdd) { if (ipam.hideAdd) {
continue; continue;
} }
@ -87,7 +79,7 @@ Ext.define('PVE.sdn.IpamView', {
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
reloadStore: reload, reloadStore: () => store.load(),
selModel: sm, selModel: sm,
viewConfig: { viewConfig: {
trackOver: false, trackOver: false,
@ -121,7 +113,7 @@ Ext.define('PVE.sdn.IpamView', {
}, },
], ],
listeners: { listeners: {
activate: reload, activate: () => store.load(),
itemdblclick: run_editor, itemdblclick: run_editor,
}, },
}); });

View File

@ -10,45 +10,37 @@ Ext.define('PVE.sdn.SubnetView', {
remove_btn: undefined, remove_btn: undefined,
setBaseUrl: function(url) { setBaseUrl: function(url) {
var me = this; let me = this;
me.base_url = url; me.base_url = url;
if (url === undefined) { if (url === undefined) {
me.store.removeAll(); me.store.removeAll();
} else { me.create_btn.disable();
me.remove_btn.baseurl = url + '/'; } else {
me.store.setProxy({ me.remove_btn.baseurl = url + '/';
type: 'proxmox', me.store.setProxy({
url: '/api2/json/' + url + '?pending=1', type: 'proxmox',
}); url: '/api2/json/' + url + '?pending=1',
});
me.store.load(); me.create_btn.enable();
} me.store.load();
}
}, },
initComponent: function() { initComponent: function() {
let me = this; let me = this;
var store = new Ext.data.Store({ let store = new Ext.data.Store({
model: 'pve-sdn-subnet', model: 'pve-sdn-subnet',
}); });
var reload = function() { let reload = function() {
store.load(); store.load();
}; };
let sm = Ext.create('Ext.selection.RowModel', {}); let sm = Ext.create('Ext.selection.RowModel', {});
var set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
remove_btn.disable();
}
};
let run_editor = function() { let run_editor = function() {
let rec = sm.getSelection()[0]; let rec = sm.getSelection()[0];
@ -70,11 +62,18 @@ Ext.define('PVE.sdn.SubnetView', {
me.remove_btn = Ext.create('Proxmox.button.StdRemoveButton', { me.remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
selModel: sm, selModel: sm,
baseurl: me.base_url + '/', baseurl: me.base_url + '/',
callback: function() { callback: () => store.load(),
reload();
},
}); });
let set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
me.remove_btn.disable();
}
};
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
reloadStore: reload, reloadStore: reload,
@ -102,25 +101,25 @@ Ext.define('PVE.sdn.SubnetView', {
header: 'ID', header: 'ID',
flex: 2, flex: 2,
dataIndex: 'cidr', dataIndex: 'cidr',
renderer: function(value, metaData, rec) { renderer: function(value, metaData, rec) {
return PVE.Utils.render_sdn_pending(rec, value, 'cidr', 1); return PVE.Utils.render_sdn_pending(rec, value, 'cidr', 1);
}, },
}, },
{ {
header: gettext('Gateway'), header: gettext('Gateway'),
flex: 1, flex: 1,
dataIndex: 'gateway', dataIndex: 'gateway',
renderer: function(value, metaData, rec) { renderer: function(value, metaData, rec) {
return PVE.Utils.render_sdn_pending(rec, value, 'gateway'); return PVE.Utils.render_sdn_pending(rec, value, 'gateway');
}, },
}, },
{ {
header: 'SNAT', header: 'SNAT',
flex: 1, flex: 1,
dataIndex: 'snat', dataIndex: 'snat',
renderer: function(value, metaData, rec) { renderer: function(value, metaData, rec) {
return PVE.Utils.render_sdn_pending(rec, value, 'snat'); return PVE.Utils.render_sdn_pending(rec, value, 'snat');
}, },
}, },
{ {
header: gettext('Dns prefix'), header: gettext('Dns prefix'),
@ -143,7 +142,7 @@ Ext.define('PVE.sdn.SubnetView', {
listeners: { listeners: {
activate: reload, activate: reload,
itemdblclick: run_editor, itemdblclick: run_editor,
selectionchange: set_button_status, selectionchange: set_button_status,
}, },
}); });

View File

@ -28,15 +28,6 @@ Ext.define('PVE.sdn.VnetView', {
let sm = Ext.create('Ext.selection.RowModel', {}); let sm = Ext.create('Ext.selection.RowModel', {});
var set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
remove_btn.disable();
}
};
let run_editor = function() { let run_editor = function() {
let rec = sm.getSelection()[0]; let rec = sm.getSelection()[0];
@ -61,6 +52,15 @@ Ext.define('PVE.sdn.VnetView', {
callback: reload, callback: reload,
}); });
let set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
remove_btn.disable();
}
};
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
reloadStore: reload, reloadStore: reload,
@ -138,8 +138,8 @@ Ext.define('PVE.sdn.VnetView', {
itemdblclick: run_editor, itemdblclick: run_editor,
selectionchange: set_button_status, selectionchange: set_button_status,
show: reload, show: reload,
select: function(sm, rec) { select: function(_sm, rec) {
var url = '/cluster/sdn/vnets/' + rec.data.vnet + '/subnets'; let url = `/cluster/sdn/vnets/${rec.data.vnet}/subnets`;
me.subnetview_panel.setBaseUrl(url); me.subnetview_panel.setBaseUrl(url);
}, },
deselect: function() { deselect: function() {

View File

@ -45,15 +45,6 @@ Ext.define('PVE.sdn.ZoneView', {
let sm = Ext.create('Ext.selection.RowModel', {}); let sm = Ext.create('Ext.selection.RowModel', {});
var set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
remove_btn.disable();
}
};
let run_editor = function() { let run_editor = function() {
let rec = sm.getSelection()[0]; let rec = sm.getSelection()[0];
if (!rec) { if (!rec) {
@ -78,14 +69,21 @@ Ext.define('PVE.sdn.ZoneView', {
callback: reload, callback: reload,
}); });
let set_button_status = function() {
var rec = me.selModel.getSelection()[0];
if (!rec || rec.data.state === 'deleted') {
edit_btn.disable();
remove_btn.disable();
}
};
// else we cannot dynamically generate the add menu handlers // else we cannot dynamically generate the add menu handlers
let addHandleGenerator = function(type) { let addHandleGenerator = function(type) {
return function() { me.createSDNEditWindow(type); }; return function() { me.createSDNEditWindow(type); };
}; };
let addMenuItems = [], type; let addMenuItems = [];
for (const [type, zone] of Object.entries(PVE.Utils.sdnzoneSchema)) {
for (type in PVE.Utils.sdnzoneSchema) {
let zone = PVE.Utils.sdnzoneSchema[type];
if (zone.hideAdd) { if (zone.hideAdd) {
continue; continue;
} }