]> git.proxmox.com Git - pve-manager.git/commitdiff
add some gui widgets for firewall
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 6 May 2014 10:09:45 +0000 (12:09 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 6 May 2014 10:09:45 +0000 (12:09 +0200)
www/manager/form/FirewallPolicySelector.js [new file with mode: 0644]
www/manager/form/IPSetSelector.js [new file with mode: 0644]
www/manager/form/SecurityGroupSelector.js [new file with mode: 0644]

diff --git a/www/manager/form/FirewallPolicySelector.js b/www/manager/form/FirewallPolicySelector.js
new file mode 100644 (file)
index 0000000..81492a6
--- /dev/null
@@ -0,0 +1,16 @@
+Ext.define('PVE.form.FirewallPolicySelector', {
+    extend: 'PVE.form.KVComboBox',
+    alias: ['widget.pveFirewallPolicySelector'],
+  
+    initComponent: function() {
+       var me = this;
+
+       me.data = [ 
+           ['ACCEPT', 'ACCEPT'], 
+           ['REJECT', 'REJECT'],
+           [ 'DROP', 'DROP']
+       ];
+
+       me.callParent();
+    }
+});
diff --git a/www/manager/form/IPSetSelector.js b/www/manager/form/IPSetSelector.js
new file mode 100644 (file)
index 0000000..ed3c1c3
--- /dev/null
@@ -0,0 +1,48 @@
+Ext.define('PVE.form.IPSetSelector', {
+    extend: 'PVE.form.ComboGrid',
+    alias: ['widget.pveIPSetSelector'],
+
+    initComponent: function() {
+       var me = this;
+
+       var store = Ext.create('Ext.data.Store', {
+           autoLoad: true,
+           fields: [ { name: 'name', 
+                       convert: function(v) {  return '+' + v; }},
+                     'comment' ],
+           idProperty: 'name',
+           proxy: {
+               type: 'pve',
+               url: "/api2/json/cluster/firewall/ipset"
+           },
+           sorters: {
+               property: 'name',
+               order: 'DESC'
+           }
+       });
+
+       Ext.apply(me, {
+           store: store,
+           valueField: 'name',
+           displayField: 'name',
+            listConfig: {
+               columns: [
+                   {
+                       header: gettext('IPSet'),
+                       dataIndex: 'name',
+                       hideable: false,
+                       width: 100
+                   },
+                   {
+                       header: gettext('Comment'),  
+                       dataIndex: 'comment', 
+                       flex: 1
+                   }
+               ]
+           }
+       });
+
+        me.callParent();
+    }
+});
+
diff --git a/www/manager/form/SecurityGroupSelector.js b/www/manager/form/SecurityGroupSelector.js
new file mode 100644 (file)
index 0000000..37e6bac
--- /dev/null
@@ -0,0 +1,46 @@
+Ext.define('PVE.form.SecurityGroupsSelector', {
+    extend: 'PVE.form.ComboGrid',
+    alias: ['widget.pveSecurityGroupsSelector'],
+
+    initComponent: function() {
+       var me = this;
+
+       var store = Ext.create('Ext.data.Store', {
+           autoLoad: true,
+           fields: [ 'group', 'comment' ],
+           idProperty: 'group',
+           proxy: {
+               type: 'pve',
+               url: "/api2/json/cluster/firewall/groups"
+           },
+           sorters: {
+               property: 'group',
+               order: 'DESC'
+           }
+       });
+
+       Ext.apply(me, {
+           store: store,
+           valueField: 'group',
+           displayField: 'group',
+            listConfig: {
+               columns: [
+                   {
+                       header: gettext('Security Group'),
+                       dataIndex: 'group',
+                       hideable: false,
+                       width: 100
+                   },
+                   {
+                       header: gettext('Comment'),  
+                       dataIndex: 'comment', 
+                       flex: 1
+                   }
+               ]
+           }
+       });
+
+        me.callParent();
+    }
+});
+