prevent activation for empty groups

This commit is contained in:
Gaspard Jankowiak 2025-09-24 08:46:49 +02:00
commit b38540d1ff

View file

@ -4,53 +4,57 @@ const C = document.createElement;
const ordNrRegex = /.*pOrgNr=([0-9]+).*/gm; const ordNrRegex = /.*pOrgNr=([0-9]+).*/gm;
const personalIDRegex = /.*pStPersonNr=([0-9]+).*/gm; const personalIDRegex = /.*pStPersonNr=([0-9]+).*/gm;
function appendLink() { function appendLink(nonEmptyGroup) {
if (document.getElementById("kf-trombi_row")) return; if (document.getElementById("kf-trombi_row")) return;
var row_header = document.createElement("th"); var row_header = document.createElement("th");
row_header.textContent = "Trombi"; 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"); 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"); var tr = document.createElement("tr");
tr.classList.add("coNavGroup"); tr.classList.add("coNavGroup");
@ -128,6 +132,9 @@ if (document.getElementById("kf-trombi_trombi")) {
document.getElementById("kf-trombi_row").remove(); document.getElementById("kf-trombi_row").remove();
} }
appendLink(); // only enable on non-empty groups
generateTrombi(); const nonEmptyGroup = (document.getElementsByClassName("cNoEntry").length == 0);
appendLink(nonEmptyGroup);
if (nonEmptyGroup) {
generateTrombi();
}