From b38540d1ff65a98217098db45061115394af5588 Mon Sep 17 00:00:00 2001 From: Gaspard Jankowiak Date: Wed, 24 Sep 2025 08:46:49 +0200 Subject: [PATCH] prevent activation for empty groups --- directory.js | 95 ++++++++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/directory.js b/directory.js index b140e7e..999584d 100644 --- a/directory.js +++ b/directory.js @@ -4,53 +4,57 @@ const C = document.createElement; const ordNrRegex = /.*pOrgNr=([0-9]+).*/gm; const personalIDRegex = /.*pStPersonNr=([0-9]+).*/gm; -function appendLink() { +function appendLink(nonEmptyGroup) { if (document.getElementById("kf-trombi_row")) return; var row_header = document.createElement("th"); row_header.textContent = "Trombi"; - var link = document.createElement("a"); - link.textContent = "Toggle"; - link.href="#"; - link.addEventListener("click", toggleTrombi); - - var slider = document.createElement("input"); - slider.id = "kf-trombi_columns_slider"; - slider.type = "range"; - slider.value = 5; - slider.min = 3; - slider.max = 8; - - var column_nr = document.createElement("span"); - column_nr.id = "kf-trombi_column_nr"; - column_nr.textContent = slider.value; - var column_label = document.createElement("span"); - column_label.textContent = " columns"; - - slider.addEventListener("input", (event) => { - column_nr.textContent = slider.value; - const trombi = document.getElementById("kf-trombi_trombi"); - trombi.classList.remove( "kf-trombi_trombi_3", "kf-trombi_trombi_4", "kf-trombi_trombi_5", "kf-trombi_trombi_6", "kf-trombi_trombi_7", "kf-trombi_trombi_8" ); - trombi.classList.add(`kf-trombi_trombi_${slider.value}`); - }) - - enhanced_checkbox = document.createElement("input"); - enhanced_checkbox.id = "kf-trombi_enhanced_checkbox"; - enhanced_checkbox.type = "checkbox"; - enhanced_checkbox.checked = true; - - var enhance_label = document.createElement("label"); - enhance_label.textContent = " enhance"; - enhance_label.htmlFor = "kf-trombi_enhanced_checkbox"; - - enhanced_checkbox.addEventListener("input", (event) => { - const trombi = document.getElementById("kf-trombi_trombi"); - trombi.classList.toggle('kf-trombi_enhanced'); - }) - var row_links = document.createElement("td"); - row_links.append(link, slider, column_nr, column_label, enhanced_checkbox, enhance_label); + + if (nonEmptyGroup) { + var link = document.createElement("a"); + link.textContent = "Toggle"; + link.href="#"; + link.addEventListener("click", toggleTrombi); + + var slider = document.createElement("input"); + slider.id = "kf-trombi_columns_slider"; + slider.type = "range"; + slider.value = 5; + slider.min = 3; + slider.max = 8; + + var column_nr = document.createElement("span"); + column_nr.id = "kf-trombi_column_nr"; + column_nr.textContent = slider.value; + var column_label = document.createElement("span"); + column_label.textContent = " columns"; + + slider.addEventListener("input", (event) => { + column_nr.textContent = slider.value; + const trombi = document.getElementById("kf-trombi_trombi"); + trombi.classList.remove( "kf-trombi_trombi_3", "kf-trombi_trombi_4", "kf-trombi_trombi_5", "kf-trombi_trombi_6", "kf-trombi_trombi_7", "kf-trombi_trombi_8" ); + trombi.classList.add(`kf-trombi_trombi_${slider.value}`); + }) + + enhanced_checkbox = document.createElement("input"); + enhanced_checkbox.id = "kf-trombi_enhanced_checkbox"; + enhanced_checkbox.type = "checkbox"; + enhanced_checkbox.checked = true; + + var enhance_label = document.createElement("label"); + enhance_label.textContent = " enhance"; + enhance_label.htmlFor = "kf-trombi_enhanced_checkbox"; + + enhanced_checkbox.addEventListener("input", (event) => { + const trombi = document.getElementById("kf-trombi_trombi"); + trombi.classList.toggle('kf-trombi_enhanced'); + }) + row_links.append(link, slider, column_nr, column_label, enhanced_checkbox, enhance_label); + } else { + row_links.textContent = "empty group!" + } var tr = document.createElement("tr"); tr.classList.add("coNavGroup"); @@ -128,6 +132,9 @@ if (document.getElementById("kf-trombi_trombi")) { document.getElementById("kf-trombi_row").remove(); } -appendLink(); -generateTrombi(); - +// only enable on non-empty groups +const nonEmptyGroup = (document.getElementsByClassName("cNoEntry").length == 0); +appendLink(nonEmptyGroup); +if (nonEmptyGroup) { + generateTrombi(); +}