]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/sdn/ZoneView.js
1 Ext
.define('PVE.sdn.ZoneView', {
2 extend
: 'Ext.grid.GridPanel',
3 alias
: ['widget.pveSDNZoneView'],
5 onlineHelp
: 'pvesdn_config_zone',
8 stateId
: 'grid-sdn-zone',
10 createSDNEditWindow: function(type
, sid
) {
11 let schema
= PVE
.Utils
.sdnzoneSchema
[type
];
12 if (!schema
|| !schema
.ipanel
) {
13 throw "no editor registered for zone type: " + type
;
16 Ext
.create('PVE.sdn.zones.BaseEdit', {
17 paneltype
: 'PVE.sdn.zones.' + schema
.ipanel
,
22 destroy
: this.reloadStore
,
27 initComponent: function() {
30 let store
= new Ext
.data
.Store({
31 model
: 'pve-sdn-zone',
34 url
: "/api2/json/cluster/sdn/zones?pending=1",
42 let reload = function() {
46 let sm
= Ext
.create('Ext.selection.RowModel', {});
48 let run_editor = function() {
49 let rec
= sm
.getSelection()[0];
53 let type
= rec
.data
.type
,
56 me
.createSDNEditWindow(type
, zone
);
59 let edit_btn
= new Proxmox
.button
.Button({
60 text
: gettext('Edit'),
66 let remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
68 baseurl
: '/cluster/sdn/zones/',
72 let set_button_status = function() {
73 var rec
= me
.selModel
.getSelection()[0];
75 if (!rec
|| rec
.data
.state
=== 'deleted') {
81 // else we cannot dynamically generate the add menu handlers
82 let addHandleGenerator = function(type
) {
83 return function() { me
.createSDNEditWindow(type
); };
85 let addMenuItems
= [];
86 for (const [type
, zone
] of Object
.entries(PVE
.Utils
.sdnzoneSchema
)) {
91 text
: PVE
.Utils
.format_sdnzone_type(type
),
92 iconCls
: 'fa fa-fw fa-' + zone
.faIcon
,
93 handler
: addHandleGenerator(type
),
106 text
: gettext('Add'),
107 menu
: new Ext
.menu
.Menu({
119 renderer: function(value
, metaData
, rec
) {
120 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'zone', 1);
124 header
: gettext('Type'),
127 renderer: function(value
, metaData
, rec
) {
128 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'type', 1);
135 renderer: function(value
, metaData
, rec
) {
136 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'mtu');
143 renderer: function(value
, metaData
, rec
) {
144 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'ipam');
148 header
: gettext('Domain'),
150 dataIndex
: 'dnszone',
151 renderer: function(value
, metaData
, rec
) {
152 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'dnszone');
156 header
: gettext('Dns'),
159 renderer: function(value
, metaData
, rec
) {
160 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'dns');
164 header
: gettext('Reverse dns'),
166 dataIndex
: 'reversedns',
167 renderer: function(value
, metaData
, rec
) {
168 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'reversedns');
172 header
: gettext('Nodes'),
175 renderer: function(value
, metaData
, rec
) {
176 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'nodes');
180 header
: gettext('State'),
183 renderer: function(value
, metaData
, rec
) {
184 return PVE
.Utils
.render_sdn_pending_state(rec
, value
);
190 itemdblclick
: run_editor
,
191 selectionchange
: set_button_status
,