Änderungen von Dokument Abkürzungsverzeichnis
Zuletzt geändert von Richard Kaden am 10.11.2025 14:47
Von Version 11.1
bearbeitet von admin
am 22.08.2025 12:08
am 22.08.2025 12:08
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 16.1
bearbeitet von Erik Hübner
am 24.10.2025 08:46
am 24.10.2025 08:46
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
-
Objekte (0 geändert, 1 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. admin1 +XWiki.ErikHuebner
- XWiki.JavaScriptExtension[0]
-
- cache
-
... ... @@ -1,0 +1,1 @@ 1 +long - code
-
... ... @@ -1,0 +1,89 @@ 1 +function initTableFilter() { 2 + var table = document.querySelector('table'); // Erste Tabelle auf der Seite 3 + if (!table) return; // Fallback, falls keine Tabelle 4 + var tbody = table.querySelector('tbody') || table; // Fallback auf table, falls kein tbody 5 + var rows = Array.from(table.querySelectorAll('tr')).slice(1); // Alle Zeilen außer Header 6 + var availableLetters = new Set(); 7 + 8 + // Alphabetisch sortieren 9 + rows.sort(function(a, b) { 10 + var textA = a.querySelector('td:first-child').textContent.trim().toUpperCase(); 11 + var textB = b.querySelector('td:first-child').textContent.trim().toUpperCase(); 12 + return textA.localeCompare(textB, 'de', { sensitivity: 'base' }); 13 + }); 14 + 15 + // Sortierte Zeilen wieder in die Tabelle einfügen 16 + rows.forEach(function(row) { 17 + tbody.appendChild(row); 18 + }); 19 + 20 + // Klassen dynamisch zuweisen und Anfangsbuchstaben sammeln 21 + rows.forEach(function(row) { 22 + var firstCell = row.querySelector('td:first-child'); // Erste Spalte (Begriff) 23 + if (firstCell && firstCell.textContent) { 24 + var firstChar = firstCell.textContent.trim().charAt(0).toUpperCase(); 25 + // Umlaute handhaben 26 + if (firstChar === 'Ä') firstChar = 'Ä'; 27 + else if (firstChar === 'Ö') firstChar = 'Ö'; 28 + else if (firstChar === 'Ü') firstChar = 'Ü'; 29 + row.classList.add('letter-' + firstChar); 30 + availableLetters.add(firstChar); 31 + } 32 + }); 33 + 34 + // Buchstaben ohne Einträge ausgrauen 35 + var letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'Ä', 'Ö', 'Ü']; 36 + letters.forEach(function(letter) { 37 + var link = document.getElementById('letter-' + letter); 38 + if (link && !availableLetters.has(letter)) { 39 + link.classList.add('disabled'); 40 + link.style.pointerEvents = 'none'; // Klick deaktivieren 41 + } 42 + }); 43 + 44 + // Initial: Alle anzeigen und "Alle" highlighten 45 + filterTable('Alle', document.getElementById('all-link')); // "Alle" mit Link-Referenz aufrufen 46 +} 47 + 48 +function filterTable(letter, targetLink) { 49 + var table = document.querySelector('table'); 50 + if (!table) return; 51 + var rows = table.querySelectorAll('tr'); 52 + var visibleCount = 0; 53 + 54 + rows.forEach(function(row, index) { 55 + if (index === 0) { // Header immer sichtbar 56 + row.style.display = ''; 57 + return; 58 + } 59 + if (letter === 'Alle') { 60 + row.style.display = ''; 61 + visibleCount++; 62 + } else if (row.classList.contains('letter-' + letter)) { 63 + row.style.display = ''; 64 + visibleCount++; 65 + } else { 66 + row.style.display = 'none'; 67 + } 68 + }); 69 + 70 + // Aktiven Buchstaben highlighten 71 + var links = document.querySelectorAll('#alpha-nav a'); 72 + links.forEach(function(link) { 73 + link.style.fontWeight = 'normal'; 74 + link.style.color = 'inherit'; 75 + }); 76 + // Highlight entweder über targetLink (Initialisierung) oder event.target (Klick) 77 + var linkToHighlight = targetLink || event.target; 78 + if (linkToHighlight) { 79 + linkToHighlight.style.fontWeight = 'bold'; 80 + linkToHighlight.style.color = '#00597B'; // Corporate Design: Dunkelblau 81 + } 82 +} 83 + 84 +// Initialisierung nach Laden 85 +if (document.readyState === 'loading') { 86 + document.addEventListener('DOMContentLoaded', initTableFilter); 87 +} else { 88 + initTableFilter(); 89 +} - name
-
... ... @@ -1,0 +1,1 @@ 1 +Abkürzungsverzeichnis