]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: node: zfs: use ZFSDetail window from widget-toolkit
authorFabian Ebner <f.ebner@proxmox.com>
Fri, 10 Sep 2021 11:45:38 +0000 (13:45 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 13 Jan 2022 11:54:03 +0000 (12:54 +0100)
The only functional differences I could see are the missing
defaultValue for 'Scan' and the reduced height. For restoring the
height, there is a proposed patch for widget-toolkit.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
www/manager6/node/ZFS.js

index eae45ca680162dd3904b53b119eb6bfbf3ea6b8e..5b3bdbdafaee19152888cb9d15a5e419278dd4f5 100644 (file)
@@ -103,125 +103,6 @@ Ext.define('PVE.node.CreateZFS', {
     },
 });
 
-Ext.define('PVE.node.ZFSDevices', {
-    extend: 'Ext.tree.Panel',
-    xtype: 'pveZFSDevices',
-
-    stateful: true,
-    stateId: 'grid-node-zfsstatus',
-    columns: [
-       {
-           xtype: 'treecolumn',
-           text: gettext('Name'),
-           dataIndex: 'name',
-           flex: 1,
-       },
-       {
-           text: gettext('Health'),
-           renderer: PVE.Utils.render_zfs_health,
-           dataIndex: 'state',
-       },
-       {
-           text: 'READ',
-           dataIndex: 'read',
-       },
-       {
-           text: 'WRITE',
-           dataIndex: 'write',
-       },
-       {
-           text: 'CKSUM',
-           dataIndex: 'cksum',
-       },
-       {
-           text: gettext('Message'),
-           dataIndex: 'msg',
-       },
-    ],
-
-    reload: function() {
-       let me = this;
-       let sm = me.getSelectionModel();
-       Proxmox.Utils.API2Request({
-           url: `/nodes/${me.nodename}/disks/zfs/${me.zpool}`,
-           waitMsgTarget: me,
-           method: 'GET',
-           failure: (response, opts) => Proxmox.Utils.setErrorMask(me, response.htmlStatus),
-           success: function(response, opts) {
-               sm.deselectAll();
-               me.setRootNode(response.result.data);
-               me.expandAll();
-           },
-       });
-    },
-
-    rootVisible: true,
-    selModel: 'treemodel',
-    fields: [
-       'name',
-       'status',
-       {
-           type: 'string',
-           name: 'iconCls',
-           calculate: data => data.leaf ? `fa x-fa-tree fa-hdd-o` : undefined,
-       },
-    ],
-
-    initComponent: function() {
-        let me = this;
-
-       if (!me.nodename) {
-           throw "no node name specified";
-       }
-       if (!me.zpool) {
-           throw "no zpool specified";
-       }
-
-       me.callParent();
-
-       me.reload();
-    },
-});
-
-Ext.define('PVE.node.ZFSStatus', {
-    extend: 'Proxmox.grid.ObjectGrid',
-    xtype: 'pveZFSStatus',
-    layout: 'fit',
-    border: false,
-
-    initComponent: function() {
-       let me = this;
-
-       if (!me.nodename) {
-           throw "no node name specified";
-       }
-       if (!me.zpool) {
-           throw "no zpool specified";
-       }
-
-       me.url = `/api2/extjs/nodes/${me.nodename}/disks/zfs/${me.zpool}`;
-
-       me.rows = {
-           scan: {
-               header: gettext('Scan'),
-               defaultValue: gettext('No Data'),
-           },
-           status: {
-               header: gettext('Status'),
-           },
-           action: {
-               header: gettext('Action'),
-           },
-           errors: {
-               header: gettext('Errors'),
-           },
-       };
-
-       me.callParent();
-       me.reload();
-    },
-});
-
 Ext.define('PVE.node.ZFSList', {
     extend: 'Ext.grid.Panel',
     xtype: 'pveZFSList',
@@ -384,52 +265,10 @@ Ext.define('PVE.node.ZFSList', {
     show_detail: function(zpool) {
        let me = this;
 
-       let detailsgrid = Ext.create('PVE.node.ZFSStatus', {
-           layout: 'fit',
-           nodename: me.nodename,
-           flex: 0,
-           zpool: zpool,
-       });
-       let devicetree = Ext.create('PVE.node.ZFSDevices', {
-           title: gettext('Devices'),
+       Ext.create('Proxmox.window.ZFSDetail', {
+           zpool,
            nodename: me.nodename,
-           flex: 1,
-           zpool: zpool,
-       });
-
-       Ext.create('Ext.window.Window', {
-           modal: true,
-           width: 800,
-           height: 600,
-           resizable: true,
-           layout: 'fit',
-           title: gettext('Status') + ': ' + zpool,
-           items: [
-               {
-                   xtype: 'panel',
-                   region: 'center',
-                   layout: {
-                       type: 'vbox',
-                       align: 'stretch',
-                   },
-                   items: [
-                       detailsgrid,
-                       devicetree,
-                   ],
-                   tbar: [
-                       {
-                           text: gettext('Reload'),
-                           iconCls: 'fa fa-refresh',
-                           handler: function() {
-                               devicetree.reload();
-                               detailsgrid.reload();
-                           },
-                       },
-                   ],
-               },
-           ],
-           autoShow: true,
-       });
+       }).show();
     },
 
     set_button_status: function() {