Wijzigen voor document Huisstijl
Laatst gewijzigd door Jeeves de Butler op 07-10-2026 01:56
Van versie 7.1
gewijzigd door Jeeves de Butler
op 05-10-2026 02:49
op 05-10-2026 02:49
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Naar versie 12.1
gewijzigd door Jeeves de Butler
op 05-10-2026 03:41
op 05-10-2026 03:41
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Samenvatting
-
Objecten (1 gewijzigd, 1 toegevoegd, 0 verwijderd)
Details
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -781,6 +781,25 @@ 781 781 font-weight: 500; 782 782 line-height: 1.35; 783 783 } 784 +/* Grote schermen: grote kaarten, foto's in hun oorspronkelijke 3:2-verhouding */ 785 +@media (min-width: 1200px) { 786 + .wb-kaarten { 787 + grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); 788 + gap: 26px; 789 + } 790 + .wb-kaart-beeld { 791 + aspect-ratio: 3 / 2; 792 + } 793 + .wb-kaart-titel { 794 + padding: 14px 18px 16px; 795 + font-size: 17px; 796 + } 797 +} 798 +@media (min-width: 1800px) { 799 + .wb-kaarten { 800 + grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); 801 + } 802 +} 784 784 785 785 /* Zonder script: de tabel past in elk geval binnen het scherm */ 786 786 #xwikicontent table.vgmtabel { ... ... @@ -867,3 +867,35 @@ 867 867 } 868 868 } 869 869 889 +/* Overzichtstabellen (livetable): woorden heel laten, lange adressen afkappen met ...; bij aanwijzen het volledige adres */ 890 +#xwikicontent table.xwiki-livetable { 891 + font-size: 14px; 892 +} 893 +#xwikicontent .xwiki-livetable-display-header th, 894 +#xwikicontent .xwiki-livetable-display-body td { 895 + padding: 6px 8px; 896 +} 897 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td { 898 + word-break: normal; 899 + overflow-wrap: break-word; 900 + hyphens: manual; 901 +} 902 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.URL, 903 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.DOWNLOADURL { 904 + max-width: 160px; 905 + white-space: nowrap; 906 + overflow: hidden; 907 + text-overflow: ellipsis; 908 +} 909 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.URL:hover, 910 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.DOWNLOADURL:hover { 911 + white-space: normal; 912 + overflow-wrap: anywhere; 913 +} 914 +/* Een brede overzichtstabel blijft binnen de pagina en schuift zo nodig opzij */ 915 +#xwikicontent table.xwiki-livetable { 916 + display: block; 917 + max-width: 100%; 918 + overflow-x: auto; 919 +} 920 +
- XWiki.JavaScriptExtension[0]
-
- cache
-
... ... @@ -1,0 +1,1 @@ 1 +long - code
-
... ... @@ -1,0 +1,130 @@ 1 +/* Wardenburg Kennisbank; presentatie van tegeltabellen (class "vgmtabel"). 2 + Een tegeltabel is een rij met titels (kopcellen) met daaronder een rij met afbeeldingen die naar een pagina linken. 3 + Dit script toont dezelfde titels, afbeeldingen en links als een rustig kaartenraster. De pagina zelf verandert niet: 4 + de tabel blijft in de pagina staan en wordt alleen verborgen. Werkt alleen in de leesweergave. */ 5 +(function () { 6 + 'use strict'; 7 + 8 + function cellen(rij) { 9 + return rij ? Array.prototype.slice.call(rij.cells) : []; 10 + } 11 + 12 + function isKopRij(rij) { 13 + var c = cellen(rij); 14 + return c.length > 0 && c.every(function (cel) { return cel.tagName === 'TH'; }); 15 + } 16 + 17 + function kaartenUitTabel(tabel) { 18 + var rijen = Array.prototype.slice.call(tabel.rows); 19 + var kaarten = []; 20 + for (var i = 0; i < rijen.length; i++) { 21 + var kop = rijen[i]; 22 + if (!isKopRij(kop)) { 23 + continue; 24 + } 25 + var beeldRij = rijen[i + 1] && !isKopRij(rijen[i + 1]) ? rijen[i + 1] : null; 26 + var beeldCellen = cellen(beeldRij); 27 + cellen(kop).forEach(function (th, j) { 28 + var td = beeldCellen[j] || null; 29 + var titel = (th.textContent || '').replace(/\s+/g, ' ').trim(); 30 + var img = (td && td.querySelector('img')) || th.querySelector('img'); 31 + var link = (td && td.querySelector('a[href]')) || th.querySelector('a[href]'); 32 + if (!titel && !img) { 33 + return; 34 + } 35 + kaarten.push({ titel: titel || (img && img.getAttribute('alt')) || '', img: img, link: link }); 36 + }); 37 + if (beeldRij) { 38 + i++; 39 + } 40 + } 41 + return kaarten; 42 + } 43 + 44 + function maakKaart(k) { 45 + var kaart = document.createElement(k.link ? 'a' : 'div'); 46 + kaart.className = 'wb-kaart'; 47 + if (k.link) { 48 + kaart.setAttribute('href', k.link.getAttribute('href')); 49 + if (k.link.getAttribute('target')) { 50 + kaart.setAttribute('target', k.link.getAttribute('target')); 51 + kaart.setAttribute('rel', 'noopener'); 52 + } 53 + } 54 + var beeld = document.createElement('span'); 55 + beeld.className = 'wb-kaart-beeld'; 56 + if (k.img) { 57 + var img = document.createElement('img'); 58 + img.src = k.img.currentSrc || k.img.src; 59 + img.alt = ''; 60 + img.loading = 'lazy'; 61 + img.decoding = 'async'; 62 + var geenBeeld = function () { 63 + beeld.classList.add('wb-kaart-geenbeeld'); 64 + img.remove(); 65 + }; 66 + img.addEventListener('error', geenBeeld); 67 + // Sommige externe sites geven bij een verdwenen afbeelding een leeg plaatje in plaats van een fout. 68 + img.addEventListener('load', function () { 69 + if (!img.naturalWidth || img.naturalWidth < 4) { 70 + geenBeeld(); 71 + } 72 + }); 73 + beeld.appendChild(img); 74 + } else { 75 + beeld.classList.add('wb-kaart-geenbeeld'); 76 + } 77 + var titel = document.createElement('span'); 78 + titel.className = 'wb-kaart-titel'; 79 + titel.textContent = k.titel; 80 + kaart.appendChild(beeld); 81 + kaart.appendChild(titel); 82 + return kaart; 83 + } 84 + 85 + function verwerk(tabel) { 86 + if (tabel.classList.contains('wb-vervangen')) { 87 + return; 88 + } 89 + var kaarten = kaartenUitTabel(tabel); 90 + if (!kaarten.length) { 91 + return; 92 + } 93 + var raster = document.createElement('div'); 94 + raster.className = 'wb-kaarten'; 95 + kaarten.forEach(function (k) { raster.appendChild(maakKaart(k)); }); 96 + tabel.parentNode.insertBefore(raster, tabel.nextSibling); 97 + tabel.classList.add('wb-vervangen'); 98 + } 99 + 100 + function start() { 101 + var actie = (window.XWiki && window.XWiki.contextaction) || 'view'; 102 + if (actie !== 'view') { 103 + return; 104 + } 105 + var tabellen = document.querySelectorAll('#xwikicontent table.vgmtabel'); 106 + Array.prototype.forEach.call(tabellen, function (tabel) { 107 + try { verwerk(tabel); } catch (e) { /* bij een fout blijft de tabel gewoon zichtbaar */ } 108 + }); 109 + } 110 + 111 + // Bij wijzigen op de pagina zelf: eerst de oorspronkelijke tabel terug, zodat de editor nooit de kaarten ziet. 112 + function herstel() { 113 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent .wb-kaarten'), function (r) { r.remove(); }); 114 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent table.wb-vervangen'), function (t) { t.classList.remove('wb-vervangen'); }); 115 + } 116 + 117 + if (typeof window.require === 'function') { 118 + window.require(['jquery'], function ($) { 119 + $(document).on('xwiki:actions:edit', herstel); 120 + $(document).on('xwiki:actions:view', function () { setTimeout(start, 0); }); 121 + }); 122 + } 123 + 124 + if (document.readyState === 'loading') { 125 + document.addEventListener('DOMContentLoaded', start); 126 + } else { 127 + start(); 128 + } 129 +})(); 130 + - name
-
... ... @@ -1,0 +1,1 @@ 1 +Wardenburg tegels als kaarten - parse
-
... ... @@ -1,0 +1,1 @@ 1 +Nee - use
-
... ... @@ -1,0 +1,1 @@ 1 +always