summaryrefslogtreecommitdiff
path: root/src/fossil.page.ticket.js
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-09-04 09:05:24 +0200
committercashmere <cashmere@autistici.org>2026-09-04 09:05:24 +0200
commit4f49b16079b27d7ce633619e4cddfdf2bffbc952 (patch)
treec296c1e7f3c3e2f6859c6d3a1b1b208779b89679 /src/fossil.page.ticket.js
downloadrelic-4f49b16079b27d7ce633619e4cddfdf2bffbc952.tar.gz
initial commitHEADmaster
Diffstat (limited to 'src/fossil.page.ticket.js')
-rw-r--r--src/fossil.page.ticket.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/fossil.page.ticket.js b/src/fossil.page.ticket.js
new file mode 100644
index 0000000..027c81d
--- /dev/null
+++ b/src/fossil.page.ticket.js
@@ -0,0 +1,32 @@
+/*
+ * This script adds a checkbox to reverse the sorting on any body.tkt
+ * pages which contain a .tktCommentArea element.
+ */
+window.addEventListener( 'load', function() {
+ const tgt = document.querySelectorAll('.tktCommentArea');
+ if( !tgt ) return;
+ const F = globalThis.fossil, D = F.dom;
+ let i = 0;
+ for(const e of tgt) {
+ ++i;
+ const childs = e.querySelectorAll('.tktCommentEntry');
+ if( !childs || 1===childs.length ) continue;
+ const cbReverseKey = 'tktCommentArea:reverse';
+ const cbReverse = D.checkbox();
+ const cbId = cbReverseKey+':'+i;
+ cbReverse.setAttribute('id',cbId);
+ const widget = D.append(
+ D.div(),
+ cbReverse,
+ D.label(cbReverse, " Show newest first? ")
+ );
+ widget.classList.add('newest-first-controls');
+ e.parentElement.insertBefore(widget,e);
+ const cbReverseIt = ()=>{
+ e.classList[cbReverse.checked ? 'add' : 'remove']('reverse');
+ F.storage.set(cbReverseKey, cbReverse.checked ? 1 : 0);
+ };
+ cbReverse.addEventListener('change', cbReverseIt, true);
+ cbReverse.checked = !!(+F.storage.get(cbReverseKey, 0));
+ };
+}); // window.addEventListener( 'load' ...