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 <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2021-07-23 08:31:51 +02:00 committed by Dietmar Maurer
parent 42b010174e
commit 9a1ecae0b7
1 changed files with 11 additions and 3 deletions

View File

@ -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: {