mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-12 11:31:41 +00:00
ui: add checkbox for vmid filter for backupview
instead of hardcoding the text 'type-id-' into the searchbar to accomodate for the additional size, add an overflowHandler to the toolbar (for very small display sizes) Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
23b316a325
commit
201b89dbd5
@ -41,13 +41,16 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
|
|
||||||
var searchFilter = {
|
var searchFilter = {
|
||||||
property: 'volid',
|
property: 'volid',
|
||||||
// on initial store display only our vmid backups
|
value: '',
|
||||||
// surround with minus sign to prevent the 2016 VMID bug
|
|
||||||
value: vmtype + '-' + vmid + '-',
|
|
||||||
anyMatch: true,
|
anyMatch: true,
|
||||||
caseSensitive: false
|
caseSensitive: false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var vmidFilter = {
|
||||||
|
property: 'vmid',
|
||||||
|
value: vmid,
|
||||||
|
};
|
||||||
|
|
||||||
me.store = Ext.create('Ext.data.Store', {
|
me.store = Ext.create('Ext.data.Store', {
|
||||||
model: 'pve-storage-content',
|
model: 'pve-storage-content',
|
||||||
sorters: {
|
sorters: {
|
||||||
@ -56,10 +59,19 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
},
|
},
|
||||||
filters: [
|
filters: [
|
||||||
vmtypeFilter,
|
vmtypeFilter,
|
||||||
searchFilter
|
searchFilter,
|
||||||
|
vmidFilter,
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let updateFilter = function() {
|
||||||
|
me.store.filter([
|
||||||
|
vmtypeFilter,
|
||||||
|
searchFilter,
|
||||||
|
vmidFilter,
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
var reload = Ext.Function.createBuffered(function() {
|
var reload = Ext.Function.createBuffered(function() {
|
||||||
if (me.store) {
|
if (me.store) {
|
||||||
me.store.load();
|
me.store.load();
|
||||||
@ -102,14 +114,23 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
keyup: function(field) {
|
keyup: function(field) {
|
||||||
me.store.clearFilter(true);
|
me.store.clearFilter(true);
|
||||||
searchFilter.value = field.getValue();
|
searchFilter.value = field.getValue();
|
||||||
me.store.filter([
|
updateFilter();
|
||||||
vmtypeFilter,
|
|
||||||
searchFilter
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var vmidfilterCB = Ext.create('Ext.form.field.Checkbox', {
|
||||||
|
fieldLabel: gettext('Filter ID'),
|
||||||
|
labelAlign: 'right',
|
||||||
|
value: '1',
|
||||||
|
listeners: {
|
||||||
|
change: function(cb, value) {
|
||||||
|
vmidFilter.value = !!value ? vmid : '';
|
||||||
|
updateFilter();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
var sm = Ext.create('Ext.selection.RowModel', {});
|
var sm = Ext.create('Ext.selection.RowModel', {});
|
||||||
|
|
||||||
var backup_btn = Ext.create('Ext.button.Button', {
|
var backup_btn = Ext.create('Ext.button.Button', {
|
||||||
@ -196,7 +217,10 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
|
|
||||||
Ext.apply(me, {
|
Ext.apply(me, {
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
tbar: [ backup_btn, restore_btn, delete_btn,config_btn, '->', storagesel, storagefilter ],
|
tbar: {
|
||||||
|
overflowHandler: 'scroller',
|
||||||
|
items: [ backup_btn, restore_btn, delete_btn,config_btn, '->', storagesel, vmidfilterCB, storagefilter ],
|
||||||
|
},
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: gettext('Name'),
|
header: gettext('Name'),
|
||||||
@ -220,7 +244,12 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
width: 100,
|
width: 100,
|
||||||
renderer: Proxmox.Utils.format_size,
|
renderer: Proxmox.Utils.format_size,
|
||||||
dataIndex: 'size'
|
dataIndex: 'size'
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
header: gettext('VMID'),
|
||||||
|
dataIndex: 'vmid',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user