ui: tape/TapeInventory.js - use grid grouping feature - group by pool
This commit is contained in:
parent
f1a83e9759
commit
bbe06f97be
@ -112,6 +112,7 @@ Ext.define('PBS.TapeManagement.TapeInventory', {
|
|||||||
storeid: 'proxmox-tape-tapes',
|
storeid: 'proxmox-tape-tapes',
|
||||||
model: 'pbs-model-tapes',
|
model: 'pbs-model-tapes',
|
||||||
sorters: 'label-text',
|
sorters: 'label-text',
|
||||||
|
groupField: 'pool',
|
||||||
},
|
},
|
||||||
|
|
||||||
tbar: [
|
tbar: [
|
||||||
@ -139,18 +140,30 @@ Ext.define('PBS.TapeManagement.TapeInventory', {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
|
features: [
|
||||||
|
{
|
||||||
|
ftype: 'grouping',
|
||||||
|
groupHeaderTpl: [
|
||||||
|
'{name:this.formatName} ({rows.length} Item{[values.rows.length > 1 ? "s" : ""]})',
|
||||||
|
{
|
||||||
|
formatName: function(pool) {
|
||||||
|
if (pool === "") {
|
||||||
|
return "Free (no pool assignment)";
|
||||||
|
} else {
|
||||||
|
return pool;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
text: gettext('Label'),
|
text: gettext('Label'),
|
||||||
dataIndex: 'label-text',
|
dataIndex: 'label-text',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
text: gettext('Pool'),
|
|
||||||
dataIndex: 'pool',
|
|
||||||
sorter: (a, b) => (a.data.pool || "").localeCompare(b.data.pool || ""),
|
|
||||||
flex: 1,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: gettext('Media Set'),
|
text: gettext('Media Set'),
|
||||||
dataIndex: 'media-set-name',
|
dataIndex: 'media-set-name',
|
||||||
@ -158,6 +171,13 @@ Ext.define('PBS.TapeManagement.TapeInventory', {
|
|||||||
sorter: function(a, b) {
|
sorter: function(a, b) {
|
||||||
return (a.data['media-set-ctime'] || 0) - (b.data['media-set-ctime'] || 0);
|
return (a.data['media-set-ctime'] || 0) - (b.data['media-set-ctime'] || 0);
|
||||||
},
|
},
|
||||||
|
renderer: function(value) {
|
||||||
|
if (value === undefined) {
|
||||||
|
return "-- empty --";
|
||||||
|
} else {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: gettext('Location'),
|
text: gettext('Location'),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user