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,16 +50,40 @@ 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 = [ let tbar = [
{
text: gettext('Create'),
handler: () => Ext.createWidget('proxmoxWindowEdit', {
autoShow: true,
method: 'POST',
url: "/api2/extjs/config/mynetworks",
onlineHelp: 'pmgconfig_mailproxy_networks',
isCreate: true,
subject: gettext("Trusted Network"),
items: [
{
xtype: 'proxmoxtextfield',
name: 'cidr',
fieldLabel: gettext('CIDR'),
},
{
xtype: 'proxmoxtextfield',
name: 'comment',
fieldLabel: gettext("Comment"),
},
],
listeners: {
destroy: () => reload(),
},
}),
},
'-',
{ {
xtype: 'proxmoxButton', xtype: 'proxmoxButton',
text: gettext('Edit'), text: gettext('Edit'),
@ -76,36 +91,13 @@ Ext.define('PMG.MyNetworks', {
selModel: me.selModel, selModel: me.selModel,
handler: run_editor, handler: run_editor,
}, },
{ {
text: gettext('Create'), xtype: 'proxmoxStdRemoveButton',
handler: function() { selModel: me.selModel,
var config = { baseurl: '/config/mynetworks',
method: 'POST', callback: reload,
url: "/api2/extjs/config/mynetworks", waitMsgTarget: me,
onlineHelp: 'pmgconfig_mailproxy_networks', },
isCreate: true,
subject: gettext("Trusted Network"),
items: [
{
xtype: 'proxmoxtextfield',
name: 'cidr',
fieldLabel: gettext('CIDR'),
},
{
xtype: 'proxmoxtextfield',
name: 'comment',
fieldLabel: gettext("Comment"),
},
],
};
var win = Ext.createWidget('proxmoxWindowEdit', config);
win.on('destroy', reload);
win.show();
},
},
remove_btn,
'->', '->',
{ {
xtype: 'pmgFilterField', xtype: 'pmgFilterField',