]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/ha/Groups.js
ui: eslint: fix various spacing related issues
[pve-manager.git] / www / manager6 / ha / Groups.js
CommitLineData
6439b369
DM
1Ext.define('PVE.ha.GroupsView', {
2 extend: 'Ext.grid.GridPanel',
3 alias: ['widget.pveHAGroupsView'],
4
ba93a9c6
DC
5 onlineHelp: 'ha_manager_groups',
6
c4bb9405
DC
7 stateful: true,
8 stateId: 'grid-ha-groups',
9
8058410f 10 initComponent: function() {
6439b369
DM
11 var me = this;
12
13 var caps = Ext.state.Manager.get('GuiCap');
14
15 var store = new Ext.data.Store({
16 model: 'pve-ha-groups',
2a4971d8
TL
17 sorters: {
18 property: 'group',
f6710aac
TL
19 order: 'DESC',
20 },
6439b369 21 });
2a4971d8 22
6439b369
DM
23 var reload = function() {
24 store.load();
25 };
26
27 var sm = Ext.create('Ext.selection.RowModel', {});
28
29 var run_editor = function() {
30 var rec = sm.getSelection()[0];
31
f6710aac
TL
32 var win = Ext.create('PVE.ha.GroupEdit', {
33 groupId: rec.data.group,
6439b369
DM
34 });
35 win.on('destroy', reload);
36 win.show();
37 };
38
3b1ca3ff 39 var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
6439b369 40 selModel: sm,
3b1ca3ff
DC
41 baseurl: '/cluster/ha/groups/',
42 callback: function() {
43 reload();
f6710aac 44 },
6439b369 45 });
2a4971d8 46
5720fafa 47 var edit_btn = new Proxmox.button.Button({
6439b369
DM
48 text: gettext('Edit'),
49 disabled: true,
50 selModel: sm,
f6710aac 51 handler: run_editor,
6439b369
DM
52 });
53
54 Ext.apply(me, {
55 store: store,
56 selModel: sm,
6439b369 57 viewConfig: {
f6710aac 58 trackOver: false,
6439b369
DM
59 },
60 tbar: [
61 {
62 text: gettext('Create'),
63 disabled: !caps.nodes['Sys.Console'],
64 handler: function() {
f6710aac 65 var win = Ext.create('PVE.ha.GroupEdit', {});
6439b369
DM
66 win.on('destroy', reload);
67 win.show();
f6710aac 68 },
6439b369 69 },
f6710aac 70 edit_btn, remove_btn,
6439b369
DM
71 ],
72 columns: [
73 {
74 header: gettext('Group'),
75 width: 150,
76 sortable: true,
f6710aac 77 dataIndex: 'group',
6439b369
DM
78 },
79 {
185a77e5 80 header: 'restricted',
6439b369
DM
81 width: 100,
82 sortable: true,
e7ade592 83 renderer: Proxmox.Utils.format_boolean,
f6710aac 84 dataIndex: 'restricted',
6439b369
DM
85 },
86 {
185a77e5 87 header: 'nofailback',
6439b369
DM
88 width: 100,
89 sortable: true,
e7ade592 90 renderer: Proxmox.Utils.format_boolean,
f6710aac 91 dataIndex: 'nofailback',
6439b369
DM
92 },
93 {
94 header: gettext('Nodes'),
95 flex: 1,
96 sortable: false,
f6710aac 97 dataIndex: 'nodes',
6439b369
DM
98 },
99 {
100 header: gettext('Comment'),
101 flex: 1,
2eb0767b 102 renderer: Ext.String.htmlEncode,
f6710aac
TL
103 dataIndex: 'comment',
104 },
6439b369
DM
105 ],
106 listeners: {
55bc7923 107 activate: reload,
6439b369
DM
108 beforeselect: function(grid, record, index, eOpts) {
109 if (!caps.nodes['Sys.Console']) {
110 return false;
111 }
112 },
f6710aac
TL
113 itemdblclick: run_editor,
114 },
6439b369
DM
115 });
116
117 me.callParent();
f6710aac 118 },
6439b369 119});