aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/html
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-04-11 11:45:19 +0200
committerAleksandr Nogikh <wp32pw@gmail.com>2023-04-11 17:23:03 +0200
commitcc8f267259ef3387a8ef00b6178578d67a77aaa5 (patch)
treea0cb030ab7a11a3f955af2ea42a9bc8f4da868cf /pkg/html
parent71147e2975d4444919920d1fd05dd20219dbc315 (diff)
pkg/html/pages: sort table also by non-displayed values
Now we're limited to sorting table columns exactly by the displayed content, but this is not always convenient. If the `sort-value` attribute is present, prefer it to the element's text content.
Diffstat (limited to 'pkg/html')
-rw-r--r--pkg/html/pages/common.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkg/html/pages/common.js b/pkg/html/pages/common.js
index 80db71c8f..78cd92277 100644
--- a/pkg/html/pages/common.js
+++ b/pkg/html/pages/common.js
@@ -6,8 +6,13 @@ function sortTable(item, colName, conv, desc = false) {
rows = table.rows;
col = findColumnByName(rows[0].getElementsByTagName("th"), colName);
values = [];
- for (i = 1; i < rows.length; i++)
- values.push([conv(rows[i].getElementsByTagName("td")[col].textContent), rows[i]]);
+ for (i = 1; i < rows.length; i++) {
+ const td = rows[i].getElementsByTagName("td")[col]
+ let value = td.textContent
+ if (td.getAttribute("sort-value") != null)
+ value = td.getAttribute("sort-value")
+ values.push([conv(value), rows[i]]);
+ }
if (desc)
desc = !isSorted(values.slice().reverse())
else