]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/ha/StatusView.js
ConfigPanel: automatically expand node in selectById()
[pve-manager.git] / www / manager6 / ha / StatusView.js
CommitLineData
189d7c6c
DM
1Ext.define('PVE.ha.StatusView', {
2 extend: 'Ext.grid.GridPanel',
3 alias: ['widget.pveHAStatusView'],
4
ba93a9c6
DC
5 onlineHelp: 'chapter_ha_manager',
6
189d7c6c
DM
7 sortPriority: {
8 quorum: 1,
9 master: 2,
10 lrm: 3,
11 service: 4
12 },
13
14 initComponent : function() {
15 var me = this;
16
17 me.rstore = Ext.create('PVE.data.ObjectStore', {
18 interval: me.interval,
19 model: 'pve-ha-status',
20 storeid: 'pve-store-' + (++Ext.idSeed),
21 groupField: 'type',
22 proxy: {
23 type: 'pve',
24 url: '/api2/json/cluster/ha/status/current'
25 }
26 });
27
28 PVE.Utils.monStoreErrors(me, me.rstore);
29
30 var store = Ext.create('PVE.data.DiffStore', {
31 rstore: me.rstore,
32 sortAfterUpdate: true,
33 sorters: [{
34 sorterFn: function(rec1, rec2) {
35 var p1 = me.sortPriority[rec1.data.type];
36 var p2 = me.sortPriority[rec2.data.type];
37 return (p1 !== p2) ? ((p1 > p2) ? 1 : -1) : 0;
38 }
39 }]
40 });
41
42 Ext.apply(me, {
43 store: store,
44 stateful: false,
45 viewConfig: {
22f2f9d6 46 trackOver: false
189d7c6c
DM
47 },
48 columns: [
49 {
50 header: gettext('Type'),
51 width: 80,
52 dataIndex: 'type'
53 },
54 {
55 header: gettext('Status'),
56 width: 80,
57 flex: 1,
58 dataIndex: 'status'
59 }
60 ]
61 });
62
63 me.callParent();
64
065bb064 65 me.on('activate', me.rstore.startUpdate);
189d7c6c
DM
66 me.on('destroy', me.rstore.stopUpdate);
67
68 }
69}, function() {
70
71 Ext.define('pve-ha-status', {
72 extend: 'Ext.data.Model',
73 fields: [
74 'id', 'type', 'node', 'status', 'sid'
75 ],
76 idProperty: 'id'
77 });
78
79});