1// TOC search + status filter (index page only).2(function () {3 var input = document.getElementById('toc-search');4 if (!input) return;5 var items = Array.prototype.slice.call(document.querySelectorAll('.toc li'));6 var buttons = Array.prototype.slice.call(document.querySelectorAll('.filterbtn'));7 var mode = 'all';89 function apply() {10 var q = input.value.trim().toLowerCase();11 items.forEach(function (li) {12 var okText = !q || li.textContent.toLowerCase().indexOf(q) !== -1;13 var okMode = mode === 'all' || li.dataset.status === mode;14 li.classList.toggle('hidden', !(okText && okMode));15 });16 }1718 input.addEventListener('input', apply);19 buttons.forEach(function (b) {20 b.addEventListener('click', function () {21 mode = b.dataset.mode;22 buttons.forEach(function (x) { x.classList.toggle('on', x === b); });23 apply();24 });25 });26})();