[pbs-devel] [PATCH proxmox-backup] fix #5422: ui: make columns in gcview sortable

Gabriel Goller g.goller at proxmox.com
Thu May 16 11:05:50 CEST 2024


On 15.05.2024 14:34, Thomas Lamprecht wrote:
>Would change subject to:
>
>fix #5422: ui: garbage collection: make columns sortable
>
>Using the class name "gcview" is rather implementation detail and not
>really telling to devs when skimming git log entries or users, if this
>gets copied over into the debian/changelog.

I agree.

>Am 07/05/2024 um 10:13 schrieb Gabriel Goller:
>> These columns were not sortable for some reason. Tested it as well and
>
>The original reason was that PBS did not have a PBS-wide GC/prune view
>until the recently released 3.2, and so each GC view only had a single
>row, as GC jobs are always affecting the whole datastore anyway.
>Thus sorting did not make sense to have for single line entries, showing
>the sort-arrows would only add a tiny bit of confusion for users, as that
>would imply that more entries could be present.

pre-3.2 pbs only used a 1x1 table (so not really a table :) ) for gc jobs, 
so no sorting possible there. I wondered why the patch from Stefan 
Lendl only included the sortable config on some and not all columns :)

>Now for the PBS-wide view sorting makes sense, but for the per-datastore
>GC view it still doesn't.
>
>You could drop the `sortable` config from the columns entries and
>set that dynamically in initComponent, we loop over all columns there
>already and have the information if the view is instantiated for a single
>datastore or for all.
>
>E.g., I'd do something like (untested):
>
>diff --git a/www/config/GCView.js b/www/config/GCView.js
>index 1c9288e4..c3b87fe5 100644
>--- a/www/config/GCView.js
>+++ b/www/config/GCView.js
>@@ -224,12 +224,12 @@ Ext.define('PBS.config.GCJobView', {
>
>     initComponent: function() {
>        let me = this;
>-       let hideLocalDatastore = !!me.datastore;
>+       let isSingleDatastore = !!me.datastore;
>
>        for (let column of me.columns) {
>+           column.sortable = !isSingleDatastore;
>            if (column.dataIndex === 'store') {
>-               column.hidden = hideLocalDatastore;
>-               break;
>+               column.hidden = isSingleDatastore;
>            }
>        }
>
>

Wow, this works like a charm!

>> the sorting seems to work fine.
>>
>
>Could do with a fixes trailer like:
>
>Fixes: db3fd213 ("fix #3217: ui: global prune and gc job view")
>

Will do!

And thanks for the review!




More information about the pbs-devel mailing list