[pve-devel] [PATCH manager] ui: backup job overview: add filter field

Dominik Csapak d.csapak at proxmox.com
Fri Sep 20 08:09:01 CEST 2024


On 9/19/24 17:36, Aaron Lauterer wrote:
> gave this a quick test spin and if I clear my search, the other backup jobs that did not match don't 
> show up anymore. So resetting seems to be somewhat broken.

interesting, tested here with chrome and firefox and it works fine.
what exactly did you press/put in/etc. ?

> 
> 
> On a more general level, the question is, if this approach will be sufficient or if we don't want 
> something in the direction of "show me all backup jobs that cover this specific VMID". Which will 
> need a bit more logic. Then the question is, do we want to handle that in the backend, where we 
> already have it, or do we handle it purely in the frontend where we will need to replicate the logic.
> 
> For example, all VMIDs on a node. all VMIDs except the selected. VMIDs in resource pools, ...

Fair, as that would "really" fix the bug. Just for the record, I did decide
for a 'front-end' only approach because,

* less api calls/parameters to maintain
* it probably solves most use cases (and searching inside pools/etc. could also be done here)

If we'd want to have a more comprehensive vmid <-> backup job lookup,
i'd probably put it into the VM backup panel itself, or maybe as an addition to this filter
as an explicit way to search for a vmid

no hard feelings either way though :)

> 
> On  2024-09-19  16:30, Dominik Csapak wrote:
>> so that users can easily search their jobs for comments, VMID and pool
>> names, in case there are many backup jobs.
>>
>> This partially addresses #5721, since one can search for vmid when they
>> are selected directly, but not when inside a pool. Still should be a
>> useful addition for users with many backup jobs.
>>
>> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
>> ---
>>   www/manager6/dc/Backup.js | 39 +++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 39 insertions(+)
>>
>> diff --git a/www/manager6/dc/Backup.js b/www/manager6/dc/Backup.js
>> index 381402ca..a96eb5bf 100644
>> --- a/www/manager6/dc/Backup.js
>> +++ b/www/manager6/dc/Backup.js
>> @@ -780,6 +780,45 @@ Ext.define('PVE.dc.BackupView', {
>>               '-',
>>               run_btn,
>>               '->',
>> +            {
>> +            xtype: 'textfield',
>> +            fieldLabel: gettext('Filter'),
>> +            autoEl: {
>> +                tag: 'div',
>> +                'data-qtip': gettext('Filters by Comment, VMID or Pool name'),
>> +            },
>> +            triggers: {
>> +                clear: {
>> +                cls: 'pmx-clear-trigger',
>> +                weight: -1,
>> +                hidden: true,
>> +                handler: function() {
>> +                    this.setValue('');
>> +                    this.getTriggers().clear.setVisible(false);
>> +                },
>> +                },
>> +            },
>> +            labelAlign: 'right',
>> +            listeners: {
>> +                change: {
>> +                fn: function(search, val) {
>> +                    search.getTriggers().clear.setVisible(!!val);
>> +                    store.clearFilter();
>> +                    store.filterBy((record) => {
>> +                    let found = false;
>> +                    for (const field of ['comment', 'vmid', 'pool']) {
>> +                        if (record.data[field]?.toString().includes(val)) {
>> +                        found = true;
>> +                        break;
>> +                        }
>> +                    }
>> +                    return found;
>> +                    });
>> +                },
>> +                buffer: 250,
>> +                },
>> +            },
>> +            },
>>               noBackupJobInfoButton,
>>               '-',
>>               {
> 





More information about the pve-devel mailing list