From 9a1ecae0b7eca72e5d645dbb9883614ce2d26e59 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Fri, 23 Jul 2021 08:31:51 +0200 Subject: [PATCH] ui: tape/ChangerStatus: improve layout for large libraries instead of having the grid be as tall as possible and the containing panel scroll. limit the grids height to the panel size and scroll the grid. this has two advantages: * if a user has many slots, it is now possible to to navigate the other grids to the position wanted * having the grids scroll, means it can use extjs' buffered renderer, which makes the view much more responsive (in case of hundreds of slots) Signed-off-by: Dominik Csapak --- www/tape/ChangerStatus.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/www/tape/ChangerStatus.js b/www/tape/ChangerStatus.js index 97b8f78e..a99b6ba6 100644 --- a/www/tape/ChangerStatus.js +++ b/www/tape/ChangerStatus.js @@ -693,9 +693,8 @@ Ext.define('PBS.TapeManagement.ChangerStatus', { }, ], - layout: 'auto', + layout: 'fit', bodyPadding: 5, - scrollable: true, items: [ { @@ -703,7 +702,7 @@ Ext.define('PBS.TapeManagement.ChangerStatus', { reference: 'content', layout: { type: 'hbox', - aling: 'stretch', + align: 'stretch', }, items: [ { @@ -711,6 +710,7 @@ Ext.define('PBS.TapeManagement.ChangerStatus', { reference: 'slots', title: gettext('Slots'), padding: 5, + srollable: true, flex: 1, store: { type: 'diff', @@ -771,10 +771,16 @@ Ext.define('PBS.TapeManagement.ChangerStatus', { defaults: { padding: 5, }, + layout: { + type: 'vbox', + align: 'stretch', + }, items: [ { xtype: 'grid', reference: 'drives', + scrollable: true, + maxHeight: 350, // ~10 drives title: gettext('Drives'), store: { type: 'diff', @@ -918,6 +924,8 @@ Ext.define('PBS.TapeManagement.ChangerStatus', { { xtype: 'grid', reference: 'import_export', + flex: 1, + srollable: true, store: { type: 'diff', rstore: {