]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/ha/StatusView.js
use HelpButton from widget toolkit
[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
8a58f554
DC
17 if (!me.rstore) {
18 throw "no rstore given";
19 }
189d7c6c 20
e7ade592 21 Proxmox.Utils.monStoreErrors(me, me.rstore);
189d7c6c
DM
22
23 var store = Ext.create('PVE.data.DiffStore', {
24 rstore: me.rstore,
25 sortAfterUpdate: true,
26 sorters: [{
27 sorterFn: function(rec1, rec2) {
28 var p1 = me.sortPriority[rec1.data.type];
29 var p2 = me.sortPriority[rec2.data.type];
30 return (p1 !== p2) ? ((p1 > p2) ? 1 : -1) : 0;
31 }
8a58f554
DC
32 }],
33 filters: {
34 property: 'type',
35 value: 'service',
36 operator: '!='
37 }
189d7c6c
DM
38 });
39
40 Ext.apply(me, {
41 store: store,
42 stateful: false,
43 viewConfig: {
22f2f9d6 44 trackOver: false
189d7c6c
DM
45 },
46 columns: [
47 {
48 header: gettext('Type'),
49 width: 80,
50 dataIndex: 'type'
51 },
52 {
53 header: gettext('Status'),
54 width: 80,
55 flex: 1,
56 dataIndex: 'status'
57 }
58 ]
59 });
60
61 me.callParent();
62
065bb064 63 me.on('activate', me.rstore.startUpdate);
189d7c6c
DM
64 me.on('destroy', me.rstore.stopUpdate);
65
66 }
67}, function() {
68
69 Ext.define('pve-ha-status', {
70 extend: 'Ext.data.Model',
71 fields: [
e61cbac5
DC
72 'id', 'type', 'node', 'status', 'sid',
73 'state', 'group', 'comment',
74 'max_restart', 'max_relocate', 'type',
75 'crm_state', 'request_state'
189d7c6c
DM
76 ],
77 idProperty: 'id'
78 });
79
80});