]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/sdn/ControllerView.js
1 Ext
.define('PVE.sdn.ControllerView', {
2 extend
: 'Ext.grid.GridPanel',
3 alias
: ['widget.pveSDNControllerView'],
5 onlineHelp
: 'pvesdn_config_controllers',
8 stateId
: 'grid-sdn-controller',
10 createSDNControllerEditWindow: function(type
, sid
) {
11 var schema
= PVE
.Utils
.sdncontrollerSchema
[type
];
12 if (!schema
|| !schema
.ipanel
) {
13 throw "no editor registered for controller type: " + type
;
16 Ext
.create('PVE.sdn.controllers.BaseEdit', {
17 paneltype
: 'PVE.sdn.controllers.' + schema
.ipanel
,
22 destroy
: this.reloadStore
,
27 initComponent: function() {
30 var store
= new Ext
.data
.Store({
31 model
: 'pve-sdn-controller',
34 url
: "/api2/json/cluster/sdn/controllers?pending=1",
37 property
: 'controller',
42 var reload = function() {
46 var sm
= Ext
.create('Ext.selection.RowModel', {});
48 var set_button_status = function() {
49 var rec
= me
.selModel
.getSelection()[0];
51 if (!rec
|| rec
.data
.state
=== 'deleted') {
58 var run_editor = function() {
59 var rec
= sm
.getSelection()[0];
63 var type
= rec
.data
.type
,
64 controller
= rec
.data
.controller
;
66 me
.createSDNControllerEditWindow(type
, controller
);
69 var edit_btn
= new Proxmox
.button
.Button({
70 text
: gettext('Edit'),
76 var remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
78 baseurl
: '/cluster/sdn/controllers/',
82 // else we cannot dynamically generate the add menu handlers
83 var addHandleGenerator = function(type
) {
84 return function() { me
.createSDNControllerEditWindow(type
); };
86 var addMenuItems
= [], type
;
88 for (type
in PVE
.Utils
.sdncontrollerSchema
) {
89 var controller
= PVE
.Utils
.sdncontrollerSchema
[type
];
90 if (controller
.hideAdd
) {
94 text
: PVE
.Utils
.format_sdncontroller_type(type
),
95 iconCls
: 'fa fa-fw fa-' + controller
.faIcon
,
96 handler
: addHandleGenerator(type
),
109 text
: gettext('Add'),
110 menu
: new Ext
.menu
.Menu({
122 dataIndex
: 'controller',
123 dataIndex
: 'controller',
124 renderer: function(value
, metaData
, rec
) {
125 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'controller', 1);
129 header
: gettext('Type'),
133 renderer: function(value
, metaData
, rec
) {
134 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'type', 1);
138 header
: gettext('Node'),
142 renderer: function(value
, metaData
, rec
) {
143 return PVE
.Utils
.render_sdn_pending(rec
, value
, 'node', 1);
147 header
: gettext('State'),
150 renderer: function(value
, metaData
, rec
) {
151 return PVE
.Utils
.render_sdn_pending_state(rec
, value
);
157 itemdblclick
: run_editor
,