mail proxy: networks: consitent add/edit/remove button & modernization

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2024-02-27 13:55:47 +01:00
parent a554911702
commit 216711f13c

View File

@ -13,36 +13,27 @@ Ext.define('PMG.MyNetworks', {
alias: ['widget.pmgMyNetworks'], alias: ['widget.pmgMyNetworks'],
initComponent: function() { initComponent: function() {
var me = this; let me = this;
var store = new Ext.data.Store({ let store = new Ext.data.Store({
model: 'pmg-mynetworks', model: 'pmg-mynetworks',
sorters: { sorters: {
property: 'cidr', property: 'cidr',
direction: 'ASC', direction: 'ASC',
}, },
}); });
let reload = () => store.load();
var reload = function() {
store.load();
};
me.selModel = Ext.create('Ext.selection.RowModel', {}); me.selModel = Ext.create('Ext.selection.RowModel', {});
var remove_btn = Ext.createWidget('proxmoxStdRemoveButton', { let run_editor = function() {
selModel: me.selModel, let rec = me.selModel.getSelection()[0];
baseurl: '/config/mynetworks',
callback: reload,
waitMsgTarget: me,
});
var run_editor = function() {
var rec = me.selModel.getSelection()[0];
if (!rec) { if (!rec) {
return; return;
} }
Ext.createWidget('proxmoxWindowEdit', {
var config = { autoShow: true,
autoLoad: true,
url: "/api2/extjs/config/mynetworks/" + rec.data.cidr, url: "/api2/extjs/config/mynetworks/" + rec.data.cidr,
onlineHelp: 'pmgconfig_mailproxy_networks', onlineHelp: 'pmgconfig_mailproxy_networks',
method: 'PUT', method: 'PUT',
@ -59,27 +50,17 @@ Ext.define('PMG.MyNetworks', {
fieldLabel: gettext("Comment"), fieldLabel: gettext("Comment"),
}, },
], ],
}; listeners: {
destroy: () => reload(),
var win = Ext.createWidget('proxmoxWindowEdit', config);
win.load();
win.on('destroy', reload);
win.show();
};
var tbar = [
{
xtype: 'proxmoxButton',
text: gettext('Edit'),
disabled: true,
selModel: me.selModel,
handler: run_editor,
}, },
});
};
let tbar = [
{ {
text: gettext('Create'), text: gettext('Create'),
handler: function() { handler: () => Ext.createWidget('proxmoxWindowEdit', {
var config = { autoShow: true,
method: 'POST', method: 'POST',
url: "/api2/extjs/config/mynetworks", url: "/api2/extjs/config/mynetworks",
onlineHelp: 'pmgconfig_mailproxy_networks', onlineHelp: 'pmgconfig_mailproxy_networks',
@ -97,15 +78,26 @@ Ext.define('PMG.MyNetworks', {
fieldLabel: gettext("Comment"), fieldLabel: gettext("Comment"),
}, },
], ],
}; listeners: {
destroy: () => reload(),
var win = Ext.createWidget('proxmoxWindowEdit', config);
win.on('destroy', reload);
win.show();
}, },
}),
},
'-',
{
xtype: 'proxmoxButton',
text: gettext('Edit'),
disabled: true,
selModel: me.selModel,
handler: run_editor,
},
{
xtype: 'proxmoxStdRemoveButton',
selModel: me.selModel,
baseurl: '/config/mynetworks',
callback: reload,
waitMsgTarget: me,
}, },
remove_btn,
'->', '->',
{ {
xtype: 'pmgFilterField', xtype: 'pmgFilterField',