From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH manager v2] fix #6138: ui: storage content: use locale for sorting
Date: Tue, 4 Mar 2025 15:14:52 +0100 [thread overview]
Message-ID: <20250304141452.2594160-1-d.csapak@proxmox.com> (raw)
by using 'localeCompare'.
Assume the files 'a', 'B' and 'c'. The current default sorting results
in :
'B'
'a'
'c'
(C collation)
With this patch we use locale dependent sorting, so the browser/client
setting controls how it's sorted. For example with english, the list
becomes:
'a'
'B'
'c'
Which makes it easier to visually search for specific entries.
Using the default settings here makes sense (so no explicit
'sensitivity' setting for example.), since that is whats most
expected per locale.
Also enable 'numeric' sorting, so 'foo10' is sorted after 'foo2'.
Interestingly, the initial sorter (via the 'sorters' property of the
store), cannot seem to reuse the sorter defined in the columns, so
we have to specify it twice, once for the initial sort and once when
the user clicks the column header.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v1:
* also include numeric sorting. Thanks @Fiona for noticing this!
www/manager6/storage/ContentView.js | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/www/manager6/storage/ContentView.js b/www/manager6/storage/ContentView.js
index daefaf4f..31f100f1 100644
--- a/www/manager6/storage/ContentView.js
+++ b/www/manager6/storage/ContentView.js
@@ -43,10 +43,10 @@ Ext.define('PVE.storage.ContentView', {
content: content,
},
},
- sorters: {
- property: 'volid',
- direction: 'ASC',
- },
+ sorters: [
+ (a, b) => a.data.text.toString().localeCompare(
+ b.data.text.toString(), undefined, { numeric: true }),
+ ],
});
if (!me.sm) {
@@ -153,6 +153,8 @@ Ext.define('PVE.storage.ContentView', {
flex: 2,
sortable: true,
renderer: PVE.Utils.render_storage_content,
+ sorter: (a, b) => a.data.text.toString().localeCompare(
+ b.data.text.toString(), undefined, { numeric: true }),
dataIndex: 'text',
},
'notes': {
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next reply other threads:[~2025-03-04 14:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-04 14:14 Dominik Csapak [this message]
2025-03-04 17:52 ` [pve-devel] applied: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250304141452.2594160-1-d.csapak@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.