put the real sizes into the "title" attribute so that hovering shows the
authorespie <espie@openbsd.org>
Sat, 6 Jan 2024 11:29:00 +0000 (11:29 +0000)
committerespie <espie@openbsd.org>
Sat, 6 Jan 2024 11:29:00 +0000 (11:29 +0000)
exact value.

adjust/refactor javascript sorter accordingly

usr.sbin/httpd/js.h.in
usr.sbin/httpd/server_file.c

index 8d0ea22..a9b2332 100644 (file)
@@ -1,6 +1,7 @@
 static const char *js = 
-const rowValue = (tr, idx) => tr.children[idx].getAttribute('data-o') || tr.children[idx].innerText || tr.children[idx].textContent;
-
+const cellVal = (e) => e.getAttribute('title') || e.getAttribute('data-o') || 
+    e.innerText || e.textContent;
+const rowValue = (tr, idx) => cellVal(tr.children[idx]);
 const compare = (idx, asc) => (a, b) => ((v1, v2) => 
     v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)
     )(rowValue(asc ? a : b, idx), rowValue(asc ? b : a, idx));
index 61d9da7..8e76cc9 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: server_file.c,v 1.77 2024/01/04 18:17:47 espie Exp $  */
+/*     $OpenBSD: server_file.c,v 1.78 2024/01/06 11:29:00 espie Exp $  */
 
 /*
  * Copyright (c) 2006 - 2017 Reyk Floeter <reyk@openbsd.org>
@@ -596,7 +596,7 @@ server_file_index(struct httpd *env, struct client *clt)
                           (evbuffer_add_printf(evb,
                            "<tr><td><a href=\"%s%s\">%s</a></td>\n"
                            "    <td data-o=\"%lld\">%s</td>"
-                           "<td data-o=\"%llu\">%s</td></tr>\n",
+                           "<td title=\"%llu\">%s</td></tr>\n",
                            strchr(escapeduri, ':') != NULL ? "./" : "",
                            escapeduri, escapedhtml,
                            (long long)t, tmstr,