]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/ha/StatusView.js
ui: eslint: fix various spacing related issues
[pve-manager.git] / www / manager6 / ha / StatusView.js
index 980eee1e504755eb81767cb857b5106d83ae6c3a..c9c52bc45c70e28b763ebc49b830dc159f470715 100644 (file)
@@ -2,30 +2,25 @@ Ext.define('PVE.ha.StatusView', {
     extend: 'Ext.grid.GridPanel',
     alias: ['widget.pveHAStatusView'],
 
+    onlineHelp: 'chapter_ha_manager',
+
     sortPriority: {
        quorum: 1,
        master: 2,
        lrm: 3,
-       service: 4
+       service: 4,
     },
-    
-    initComponent : function() {
+
+    initComponent: function() {
        var me = this;
 
-       me.rstore = Ext.create('PVE.data.ObjectStore', {
-           interval: me.interval,
-           model: 'pve-ha-status',
-           storeid: 'pve-store-' + (++Ext.idSeed),
-           groupField: 'type',
-           proxy: {
-                type: 'pve',
-               url: '/api2/json/cluster/ha/status/current'
-           }
-       });
+       if (!me.rstore) {
+           throw "no rstore given";
+       }
 
-       PVE.Utils.monStoreErrors(me, me.rstore);
+       Proxmox.Utils.monStoreErrors(me, me.rstore);
 
-       var store = Ext.create('PVE.data.DiffStore', {
+       var store = Ext.create('Proxmox.data.DiffStore', {
            rstore: me.rstore,
            sortAfterUpdate: true,
            sorters: [{
@@ -33,8 +28,13 @@ Ext.define('PVE.ha.StatusView', {
                    var p1 = me.sortPriority[rec1.data.type];
                    var p2 = me.sortPriority[rec2.data.type];
                    return (p1 !== p2) ? ((p1 > p2) ? 1 : -1) : 0;
-               }
-           }]
+               },
+           }],
+           filters: {
+               property: 'type',
+               value: 'service',
+               operator: '!=',
+           },
        });
 
        Ext.apply(me, {
@@ -47,32 +47,45 @@ Ext.define('PVE.ha.StatusView', {
                {
                    header: gettext('Type'),
                    width: 80,
-                   dataIndex: 'type'
+                   dataIndex: 'type',
                },
                {
                    header: gettext('Status'),
                    width: 80,
                    flex: 1,
-                   dataIndex: 'status'
-               }
-           ]
+                   dataIndex: 'status',
+               },
+           ],
        });
 
        me.callParent();
 
        me.on('activate', me.rstore.startUpdate);
-       me.on('hide', me.rstore.stopUpdate);
-       me.on('destroy', me.rstore.stopUpdate); 
-
-    }
+       me.on('destroy', me.rstore.stopUpdate);
+    },
 }, function() {
-
     Ext.define('pve-ha-status', {
        extend: 'Ext.data.Model',
-       fields: [ 
-           'id', 'type', 'node', 'status', 'sid'
+       fields: [
+           'id', 'type', 'node', 'status', 'sid',
+           'state', 'group', 'comment',
+           'max_restart', 'max_relocate', 'type',
+           'crm_state', 'request_state',
+           {
+               name: 'vname',
+               convert: function(value, record) {
+                   let sid = record.data.sid;
+                   if (!sid) return '';
+
+                   let res = sid.match(/^(\S+):(\S+)$/);
+                   if (res[1] !== 'vm' && res[1] !== 'ct') {
+                       return '-';
+                   }
+                   let vmid = res[2];
+                   return PVE.data.ResourceStore.guestName(vmid);
+               },
+           },
        ],
-       idProperty: 'id'
+       idProperty: 'id',
     });
-
 });