1(function () { 2 'use strict'; 3 4 document.addEventListener('DOMContentLoaded', function () { 5 var grid = document.getElementById('t10l-hub-grid'); 6 if (!grid) return; 7 8 var zoekVeld = document.getElementById('t10l-hub-zoek'); 9 var sorteerVeld = document.getElementById('t10l-hub-sorteer'); 10 var tellerAantal = document.getElementById('t10l-hub-teller-aantal'); 11 var leegMelding = document.getElementById('t10l-hub-leeg'); 12 var kaarten = Array.prototype.slice.call(grid.querySelectorAll('.t10l-hub-kaart')); 13 14 function sorteerWaarde(kaart, sleutel) { 15 if (sleutel === 'naam') return kaart.dataset.titel || ''; 16 if (sleutel === 'nieuw') return -1 * parseInt(kaart.dataset.datum || '0', 10); 17 if (sleutel === 'relevantie') return parseInt(kaart.dataset.relevantie || '0', 10); 18 return -1 * parseInt(kaart.dataset.stemmen || '0', 10); 19 } 20 21 function toepassen() { 22 var zoekterm = (zoekVeld.value || '').trim().toLowerCase(); 23 var sleutel = sorteerVeld.value; 24 25 var zichtbaar = 0; 26 kaarten.forEach(function (kaart) { 27 var matcht = !zoekterm || (kaart.dataset.titel || '').indexOf(zoekterm) !== -1; 28 kaart.hidden = !matcht; 29 if (matcht) zichtbaar++; 30 }); 31 32 var gesorteerd = kaarten.slice().sort(function (a, b) { 33 var wa = sorteerWaarde(a, sleutel); 34 var wb = sorteerWaarde(b, sleutel); 35 if (wa < wb) return -1; 36 if (wa > wb) return 1; 37 return 0; 38 }); 39 gesorteerd.forEach(function (kaart) { grid.appendChild(kaart); }); 40 41 if (tellerAantal) tellerAantal.textContent = zichtbaar; 42 if (leegMelding) leegMelding.hidden = zichtbaar !== 0; 43 } 44 45 zoekVeld.addEventListener('input', toepassen); 46 sorteerVeld.addEventListener('change', toepassen); 47 48 toepassen(); 49 }); 50})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.