]>
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
;
26 name
: me
.isCreate
? 'name' : 'rename',
27 fieldLabel
: gettext('Name'),
33 fieldLabel
: gettext('IP/CIDR'),
39 fieldLabel
: gettext('Comment'),
43 var ipanel
= Ext
.create('Proxmox.panel.InputPanel', {
44 isCreate
: me
.isCreate
,
49 subject
: gettext('Alias'),
58 success: function(response
, options
) {
59 var values
= response
.result
.data
;
60 values
.rename
= values
.name
;
61 ipanel
.setValues(values
);
68 Ext
.define('pve-fw-aliases', {
69 extend
: 'Ext.data.Model',
71 fields
: ['name', 'cidr', 'comment', 'digest'],
75 Ext
.define('PVE.FirewallAliases', {
76 extend
: 'Ext.grid.Panel',
77 alias
: ['widget.pveFirewallAliases'],
79 onlineHelp
: 'pve_firewall_ip_aliases',
82 stateId
: 'grid-firewall-aliases',
86 title
: gettext('Alias'),
88 initComponent: function() {
92 throw "missing base_url configuration";
95 var store
= new Ext
.data
.Store({
96 model
: 'pve-fw-aliases',
99 url
: "/api2/json" + me
.base_url
,
107 var sm
= Ext
.create('Ext.selection.RowModel', {});
109 var reload = function() {
110 var oldrec
= sm
.getSelection()[0];
111 store
.load(function(records
, operation
, success
) {
113 var rec
= store
.findRecord('name', oldrec
.data
.name
, 0, false, true, true);
121 var run_editor = function() {
122 var sm
= me
.getSelectionModel();
123 var rec
= sm
.getSelection()[0];
128 var win
= Ext
.create('PVE.FirewallAliasEdit', {
129 base_url
: me
.base_url
,
130 alias_name
: rec
.data
.name
,
134 win
.on('destroy', reload
);
137 me
.editBtn
= new Proxmox
.button
.Button({
138 text
: gettext('Edit'),
144 me
.addBtn
= Ext
.create('Ext.Button', {
145 text
: gettext('Add'),
146 handler: function() {
147 var win
= Ext
.create('PVE.FirewallAliasEdit', {
148 base_url
: me
.base_url
,
150 win
.on('destroy', reload
);
155 me
.removeBtn
= Ext
.create('Proxmox.button.StdRemoveButton', {
157 baseurl
: me
.base_url
+ '/',
164 tbar
: [me
.addBtn
, me
.removeBtn
, me
.editBtn
],
168 header
: gettext('Name'),
173 header
: gettext('IP/CIDR'),
178 header
: gettext('Comment'),
179 dataIndex
: 'comment',
180 renderer
: Ext
.String
.htmlEncode
,
185 itemdblclick
: run_editor
,
190 me
.on('activate', reload
);