ui: tape/DriveStatus: add cartridge memory grid
that the user can load when a tape is inserted Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
3f4a62de2f
commit
a4003d9078
|
@ -8,12 +8,17 @@ Ext.define('PBS.TapeManagement.DriveStatus', {
|
||||||
cbindData: function(config) {
|
cbindData: function(config) {
|
||||||
let me = this;
|
let me = this;
|
||||||
me.setTitle(`${gettext('Drive')}: ${me.drive}`);
|
me.setTitle(`${gettext('Drive')}: ${me.drive}`);
|
||||||
|
let baseurl = `/api2/json/tape/drive/${me.drive}/`;
|
||||||
return {
|
return {
|
||||||
driveStatusUrl: `/api2/json/tape/drive/${me.drive}/status`,
|
driveStatusUrl: `${baseurl}/status`,
|
||||||
|
cartridgeMemoryUrl: `${baseurl}/cartridge-memory`,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
scrollable: true,
|
layout: {
|
||||||
|
type: 'vbox',
|
||||||
|
align: 'stretch',
|
||||||
|
},
|
||||||
|
|
||||||
bodyPadding: 5,
|
bodyPadding: 5,
|
||||||
|
|
||||||
|
@ -40,6 +45,9 @@ Ext.define('PBS.TapeManagement.DriveStatus', {
|
||||||
let online = statusFlags.indexOf('ONLINE') !== -1;
|
let online = statusFlags.indexOf('ONLINE') !== -1;
|
||||||
let vm = me.getViewModel();
|
let vm = me.getViewModel();
|
||||||
vm.set('online', online);
|
vm.set('online', online);
|
||||||
|
if (!online) {
|
||||||
|
me.lookup('cartridgegrid').getStore().removeAll();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onStateLoad: function(store) {
|
onStateLoad: function(store) {
|
||||||
|
@ -193,6 +201,18 @@ Ext.define('PBS.TapeManagement.DriveStatus', {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pbsDriveCartridgeMemoryGrid',
|
||||||
|
flex: 1,
|
||||||
|
padding: 5,
|
||||||
|
reference: 'cartridgegrid',
|
||||||
|
bind: {
|
||||||
|
disabled: '{!online}',
|
||||||
|
},
|
||||||
|
cbind: {
|
||||||
|
url: '{cartridgeMemoryUrl}',
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -257,6 +277,66 @@ Ext.define('PBS.TapeManagement.DriveStatusGrid', {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Ext.define('PBS.TapeManagement.CartridgeMemoryGrid', {
|
||||||
|
extend: 'Ext.grid.Panel',
|
||||||
|
alias: 'widget.pbsDriveCartridgeMemoryGrid',
|
||||||
|
|
||||||
|
title: gettext('Cartridge Memory'),
|
||||||
|
|
||||||
|
emptyText: gettext('Not Loaded yet'),
|
||||||
|
viewConfig: {
|
||||||
|
deferEmptyText: false,
|
||||||
|
},
|
||||||
|
|
||||||
|
controller: {
|
||||||
|
xclass: 'Ext.app.ViewController',
|
||||||
|
|
||||||
|
loadCartridgeMemory: function() {
|
||||||
|
console.log(this);
|
||||||
|
this.getView().getStore().load();
|
||||||
|
},
|
||||||
|
|
||||||
|
init: function(view) {
|
||||||
|
if (!view.url) {
|
||||||
|
throw "no url given";
|
||||||
|
}
|
||||||
|
|
||||||
|
view.getStore().getProxy().setUrl(view.url);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
store: {
|
||||||
|
proxy: {
|
||||||
|
type: 'proxmox',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
tbar: [
|
||||||
|
{
|
||||||
|
text: gettext('Reload'),
|
||||||
|
handler: 'loadCartridgeMemory',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
text: gettext('ID'),
|
||||||
|
dataIndex: 'id',
|
||||||
|
width: 60,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: gettext('Name'),
|
||||||
|
dataIndex: 'name',
|
||||||
|
flex: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: gettext('Value'),
|
||||||
|
dataIndex: 'value',
|
||||||
|
flex: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
Ext.define('PBS.TapeManagement.DriveInfoPanel', {
|
Ext.define('PBS.TapeManagement.DriveInfoPanel', {
|
||||||
extend: 'Ext.panel.Panel',
|
extend: 'Ext.panel.Panel',
|
||||||
alias: 'widget.pbsDriveInfoPanel',
|
alias: 'widget.pbsDriveInfoPanel',
|
||||||
|
|
Loading…
Reference in New Issue