allowBlank: false,
listeners: {
change: function(f, value) {
+ let storage = f.getStore().findRecord('storage', value);
+ if (storage) {
+ let isPBS = storage.data.type === 'pbs';
+ me.getColumns().forEach((column) => {
+ let id = column.dataIndex;
+ if (id === 'verification' || id === 'encrypted') {
+ column.setHidden(!isPBS);
+ }
+ });
+ }
setStorage(value);
}
}
value: '1',
listeners: {
change: function(cb, value) {
- vmidFilter.value = !!value ? vmid : '';
+ vmidFilter.value = value ? vmid : '';
vmidFilter.exactMatch = !!value;
updateFilter();
},
return !!rec;
},
handler: function(b, e, rec) {
- var volid = rec.data.volid;
-
- var win = Ext.create('PVE.window.Restore', {
+ let win = Ext.create('PVE.window.Restore', {
nodename: nodename,
vmid: vmid,
volid: rec.data.volid,
selModel: sm,
tbar: {
overflowHandler: 'scroller',
- items: [ backup_btn, restore_btn, delete_btn,config_btn, '->', storagesel, '-', vmidfilterCB, storagefilter ],
+ items: [
+ backup_btn,
+ restore_btn,
+ delete_btn,
+ '-',
+ config_btn,
+ '-',
+ {
+ xtype: 'proxmoxButton',
+ text: gettext('Edit Notes'),
+ disabled: true,
+ enableFn: function() {
+ let storageVal = storagesel.getValue();
+ let storage = storagesel.getStore().findRecord('storage', storageVal);
+ if (storage) {
+ return storage.data.type !== 'pbs';
+ }
+ return true;
+ },
+ handler: function() {
+ let volid = sm.getSelection()[0].data.volid;
+ var storage = storagesel.getValue();
+ Ext.create('Proxmox.window.Edit', {
+ autoLoad: true,
+ width: 600,
+ height: 400,
+ resizable: true,
+ title: gettext('Notes'),
+ url: `/api2/extjs/nodes/${nodename}/storage/${storage}/content/${volid}`,
+ layout: 'fit',
+ items: [
+ {
+ xtype: 'textarea',
+ layout: 'fit',
+ name: 'notes',
+ height: '100%',
+ },
+ ],
+ listeners: {
+ destroy: () => reload(),
+ },
+ }).show();
+ },
+ },
+ '->',
+ storagesel,
+ '-',
+ vmidfilterCB,
+ storagefilter
+ ],
},
columns: [
{
header: gettext('Name'),
- flex: 1,
+ flex: 2,
sortable: true,
renderer: PVE.Utils.render_storage_content,
dataIndex: 'volid'
},
+ {
+ header: gettext('Notes'),
+ dataIndex: 'notes',
+ flex: 1,
+ renderer: Ext.htmlEncode,
+ },
{
header: gettext('Date'),
width: 150,
dataIndex: 'vmid',
hidden: true,
},
+ {
+ header: gettext('Encrypted'),
+ dataIndex: 'encrypted',
+ renderer: PVE.Utils.render_backup_encryption,
+ },
+ {
+ header: gettext('Verify State'),
+ dataIndex: 'verification',
+ renderer: PVE.Utils.render_backup_verification,
+ }
]
});