]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/sdn/controllers/Base.js
add sdn gui
[pve-manager.git] / www / manager6 / sdn / controllers / Base.js
1 Ext.define('PVE.panel.SDNControllerBase', {
2 extend: 'Proxmox.panel.InputPanel',
3
4 type: '',
5
6 onGetValues: function(values) {
7 var me = this;
8
9 if (me.isCreate) {
10 values.type = me.type;
11 } else {
12 delete values.controller;
13 }
14
15 return values;
16 },
17
18 initComponent : function() {
19 var me = this;
20
21 me.callParent();
22 }
23 });
24
25 Ext.define('PVE.sdn.controllers.BaseEdit', {
26 extend: 'Proxmox.window.Edit',
27
28 initComponent : function() {
29 var me = this;
30
31 me.isCreate = !me.controllerid;
32
33 if (me.isCreate) {
34 me.url = '/api2/extjs/cluster/sdn/controllers';
35 me.method = 'POST';
36 } else {
37 me.url = '/api2/extjs/cluster/sdn/controllers/' + me.controllerid;
38 me.method = 'PUT';
39 }
40
41 var ipanel = Ext.create(me.paneltype, {
42 type: me.type,
43 isCreate: me.isCreate,
44 controllerid: me.controllerid
45 });
46
47 Ext.apply(me, {
48 subject: PVE.Utils.format_sdncontroller_type(me.type),
49 isAdd: true,
50 items: [ ipanel ]
51 });
52
53 me.callParent();
54
55 if (!me.isCreate) {
56 me.load({
57 success: function(response, options) {
58 var values = response.result.data;
59 var ctypes = values.content || '';
60
61 values.content = ctypes.split(',');
62
63 if (values.nodes) {
64 values.nodes = values.nodes.split(',');
65 }
66 values.enable = values.disable ? 0 : 1;
67
68 ipanel.setValues(values);
69 }
70 });
71 }
72 }
73 });