]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/grid/FirewallAliases.js
1 Ext
.define('PVE.FirewallAliasEdit', {
2 extend
: 'Proxmox.window.Edit',
10 initComponent: function() {
13 me
.isCreate
= me
.alias_name
=== undefined;
16 me
.url
= '/api2/extjs' + me
.base_url
;
19 me
.url
= '/api2/extjs' + me
.base_url
+ '/' + me
.alias_name
;
23 let ipanel
= Ext
.create('Proxmox.panel.InputPanel', {
24 isCreate
: me
.isCreate
,
28 name
: me
.isCreate
? 'name' : 'rename',
29 fieldLabel
: gettext('Name'),
35 fieldLabel
: gettext('IP/CIDR'),
41 fieldLabel
: gettext('Comment'),
47 subject
: gettext('Alias'),
56 success: function(response
, options
) {
57 let values
= response
.result
.data
;
58 values
.rename
= values
.name
;
59 ipanel
.setValues(values
);
66 Ext
.define('pve-fw-aliases', {
67 extend
: 'Ext.data.Model',
69 fields
: ['name', 'cidr', 'comment', 'digest'],
73 Ext
.define('PVE.FirewallAliases', {
74 extend
: 'Ext.grid.Panel',
75 alias
: ['widget.pveFirewallAliases'],
77 onlineHelp
: 'pve_firewall_ip_aliases',
80 stateId
: 'grid-firewall-aliases',
84 title
: gettext('Alias'),
86 initComponent: function() {
90 throw "missing base_url configuration";
93 let store
= new Ext
.data
.Store({
94 model
: 'pve-fw-aliases',
97 url
: "/api2/json" + me
.base_url
,
105 let sm
= Ext
.create('Ext.selection.RowModel', {});
107 let reload = function() {
108 let oldrec
= sm
.getSelection()[0];
109 store
.load(function(records
, operation
, success
) {
111 var rec
= store
.findRecord('name', oldrec
.data
.name
, 0, false, true, true);
119 let run_editor = function() {
120 let rec
= me
.getSelectionModel().getSelection()[0];
124 let win
= Ext
.create('PVE.FirewallAliasEdit', {
125 base_url
: me
.base_url
,
126 alias_name
: rec
.data
.name
,
129 win
.on('destroy', reload
);
132 me
.editBtn
= new Proxmox
.button
.Button({
133 text
: gettext('Edit'),
139 me
.addBtn
= Ext
.create('Ext.Button', {
140 text
: gettext('Add'),
141 handler: function() {
142 var win
= Ext
.create('PVE.FirewallAliasEdit', {
143 base_url
: me
.base_url
,
145 win
.on('destroy', reload
);
150 me
.removeBtn
= Ext
.create('Proxmox.button.StdRemoveButton', {
152 baseurl
: me
.base_url
+ '/',
159 tbar
: [me
.addBtn
, me
.removeBtn
, me
.editBtn
],
163 header
: gettext('Name'),
168 header
: gettext('IP/CIDR'),
173 header
: gettext('Comment'),
174 dataIndex
: 'comment',
175 renderer
: Ext
.String
.htmlEncode
,
180 itemdblclick
: run_editor
,
185 me
.on('activate', reload
);