[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