From 222f43feff28712be391016dfabd49d6c64f85b1 Mon Sep 17 00:00:00 2001 From: Matthew Grotke Date: Tue, 26 May 2026 00:45:45 -0400 Subject: [PATCH] Development --- docker/routlin-dash/app/view_page.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/docker/routlin-dash/app/view_page.py b/docker/routlin-dash/app/view_page.py index 262f860..c65a6bd 100644 --- a/docker/routlin-dash/app/view_page.py +++ b/docker/routlin-dash/app/view_page.py @@ -602,7 +602,7 @@ def collect_tokens(): for cmd, entries in groups.items(): users = ', '.join(sorted({u for _, u in entries if u and u != 'unknown'})) req_tags = ''.join( - f'' + f'' f'{_uuid[:8]}' f'{_uuid[:8]}' f'{_uuid[:8]}' @@ -644,13 +644,13 @@ def collect_tokens(): snap_desc = e(snap.get('description', '')) before_val = snap.get('before') after_val = snap.get('after') - snap_tag = (f'
' + snap_tag = (f'
' f'{e(_uuid[:8])}' f'{e(_uuid[:8])}' f'{e(_uuid[:8])}' f'
') snap_user = e(snap.get('user', '')) - hist_rows += (f'' + hist_rows += (f'' f'' f'{e(dt_str)}' f'{snap_desc}' @@ -2791,6 +2791,26 @@ document.querySelectorAll('[data-reveal-card]').forEach(function(btn) { }); }); })(); + +(function() { + function uuidHighlight(on) { + return function() { + var uuid = this.dataset.uuid; + if (!uuid) return; + document.querySelectorAll('[data-uuid="' + uuid + '"]').forEach(function(el) { + el.classList.toggle('uuid-highlight', on); + }); + }; + } + document.addEventListener('mouseover', function(e) { + var tag = e.target.closest('.tag[data-uuid]'); + if (tag) uuidHighlight(true).call(tag); + }); + document.addEventListener('mouseout', function(e) { + var tag = e.target.closest('.tag[data-uuid]'); + if (tag) uuidHighlight(false).call(tag); + }); +})(); """