diff --git a/www/manager/form/FirewallPolicySelector.js b/www/manager/form/FirewallPolicySelector.js new file mode 100644 index 00000000..81492a66 --- /dev/null +++ b/www/manager/form/FirewallPolicySelector.js @@ -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 index 00000000..ed3c1c38 --- /dev/null +++ b/www/manager/form/IPSetSelector.js @@ -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 index 00000000..37e6bac4 --- /dev/null +++ b/www/manager/form/SecurityGroupSelector.js @@ -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(); + } +}); +