]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/sdn/VnetView.js
sdn: remove reverts buttons
[pve-manager.git] / www / manager6 / sdn / VnetView.js
1 Ext.define('PVE.sdn.VnetView', {
2 extend: 'Ext.grid.GridPanel',
3
4 alias: ['widget.pveSDNVnetView'],
5
6 stateful: true,
7 stateId: 'grid-sdn-vnet',
8
9 initComponent : function() {
10 let me = this;
11
12 let store = new Ext.data.Store({
13 model: 'pve-sdn-vnet',
14 proxy: {
15 type: 'proxmox',
16 url: "/api2/json/cluster/sdn/vnets"
17 },
18 sorters: {
19 property: 'vnet',
20 order: 'DESC'
21 }
22 });
23 let reload = () => store.load();
24
25 let sm = Ext.create('Ext.selection.RowModel', {});
26
27 let run_editor = function() {
28 let rec = sm.getSelection()[0];
29
30 let win = Ext.create('PVE.sdn.VnetEdit',{
31 autoShow: true,
32 vnet: rec.data.vnet,
33 });
34 win.on('destroy', reload);
35 };
36
37 let edit_btn = new Proxmox.button.Button({
38 text: gettext('Edit'),
39 disabled: true,
40 selModel: sm,
41 handler: run_editor,
42 });
43
44 let remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
45 selModel: sm,
46 baseurl: '/cluster/sdn/vnets/',
47 callback: reload
48 });
49
50 Ext.apply(me, {
51 store: store,
52 reloadStore: reload,
53 selModel: sm,
54 viewConfig: {
55 trackOver: false
56 },
57 tbar: [
58 {
59 text: gettext('Create'),
60 handler: function() {
61 let win = Ext.create('PVE.sdn.VnetEdit', {
62 autoShow: true,
63 type: 'vnet',
64 });
65 win.on('destroy', reload);
66 }
67 },
68 remove_btn,
69 edit_btn,
70 ],
71 columns: [
72 {
73 header: 'ID',
74 flex: 2,
75 dataIndex: 'vnet'
76 },
77 {
78 header: gettext('Alias'),
79 flex: 1,
80 dataIndex: 'alias',
81 },
82 {
83 header: gettext('Zone'),
84 flex: 1,
85 dataIndex: 'zone',
86 },
87 {
88 header: gettext('Tag'),
89 flex: 1,
90 dataIndex: 'tag',
91 },
92 {
93 header: 'IPv4/CIDR',
94 flex: 1,
95 dataIndex: 'ipv4',
96 },
97 {
98 header: 'IPv6/CIDR',
99 flex: 1,
100 dataIndex: 'ipv6',
101 },
102 {
103 header: 'MAC',
104 flex: 1,
105 dataIndex: 'mac',
106 },
107 {
108 header: 'MTU',
109 flex: 1,
110 dataIndex: 'mtu',
111 },
112 ],
113 listeners: {
114 activate: reload,
115 itemdblclick: run_editor
116 }
117 });
118
119 me.callParent();
120 }
121 }, function() {
122
123 Ext.define('pve-sdn-vnet', {
124 extend: 'Ext.data.Model',
125 fields: [
126 'alias',
127 'ipv4',
128 'ipv6',
129 'mac',
130 'mtu',
131 'tag',
132 'type',
133 'vnet',
134 'zone',
135 ],
136 idProperty: 'vnet'
137 });
138
139 });