From fdde857a890cf02ef55d5cea9c825dce271c7fbf Mon Sep 17 00:00:00 2001 From: Stefan Hanreich Date: Fri, 16 Dec 2022 13:45:06 +0100 Subject: [PATCH] fix #4393: ui: storage backup view: make pbs-specific columns sortable The sort order is analogous to how it behaves in the datastore content overview in pbs. This means sorting in ascending order behaves as follows: Verify State * failed * none * ok Encryption * no * yes For the encryption state there is theoretically a distinction between signed and encrypted, but as far as I can tell we do not render this distinction in PVE, which is why I chose to not make this distinction for sorting as well. Signed-off-by: Stefan Hanreich --- www/manager6/Utils.js | 7 +++++++ www/manager6/storage/BackupView.js | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 8c118fa2..3dd287e3 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -1963,6 +1963,13 @@ Ext.define('PVE.Utils', { }, tagCharRegex: /^[a-z0-9+_.-]+$/i, + + verificationStateOrder: { + 'failed': 0, + 'none': 1, + 'ok': 2, + '__default__': 3, + }, }, singleton: true, diff --git a/www/manager6/storage/BackupView.js b/www/manager6/storage/BackupView.js index 2328c0fc..ef3a0166 100644 --- a/www/manager6/storage/BackupView.js +++ b/www/manager6/storage/BackupView.js @@ -197,11 +197,23 @@ Ext.define('PVE.storage.BackupView', { header: gettext('Encrypted'), dataIndex: 'encrypted', renderer: PVE.Utils.render_backup_encryption, + sorter: { + property: 'encrypted', + transform: (value) => value ? 1 : 0, + }, }, verification: { header: gettext('Verify State'), dataIndex: 'verification', renderer: PVE.Utils.render_backup_verification, + sorter: { + property: 'verification', + transform: (value) => { + let state = value?.state ?? 'none'; + let order = PVE.Utils.verificationStateOrder; + return order[state] ?? order.__default__; + }, + }, }, }; } -- 2.39.5