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