Riksdagsmonitor Intelligence Platform โ€” API Documentation - v1.0.30
    Preparing search index...
    SEARCH: "\n function filterArticles() {\n const typeFilter = document.getElementById('filter-type').value;\n const topicFilter = document.getElementById('filter-topic').value;\n const sortFilter = document.getElementById('filter-sort').value;\n const searchQuery = document.getElementById('search-input').value.toLowerCase().trim();\n\n let filtered = [...articles];\n\n if (typeFilter !== 'all') {\n filtered = filtered.filter(article => article.type === typeFilter);\n }\n\n if (topicFilter !== 'all') {\n filtered = filtered.filter(article => article.topics.includes(topicFilter));\n }\n\n if (searchQuery) {\n filtered = filtered.filter(article => article.title.toLowerCase().includes(searchQuery));\n }\n\n switch(sortFilter) {\n case 'date-desc':\n filtered.sort((a, b) => new Date(b.date) - new Date(a.date));\n break;\n case 'date-asc':\n filtered.sort((a, b) => new Date(a.date) - new Date(b.date));\n break;\n case 'title':\n filtered.sort((a, b) => a.title.localeCompare(b.title));\n break;\n }\n\n filteredArticles = filtered;\n if (restoringFromURL) {\n restoringFromURL = false;\n } else {\n visibleCount = PAGE_SIZE;\n }\n updateURL();\n renderPage();\n }\n\n function readURLParams() {\n const params = new URLSearchParams(window.location.search);\n\n function safeSetSelect(id, value) {\n const el = document.getElementById(id);\n if (!el) return;\n const opts = Array.from(el.options);\n if (opts.some(o => o.value === value)) {\n el.value = value;\n }\n }\n\n if (params.has('type')) safeSetSelect('filter-type', params.get('type'));\n if (params.has('topic')) safeSetSelect('filter-topic', params.get('topic'));\n if (params.has('sort')) safeSetSelect('filter-sort', params.get('sort'));\n const searchInput = document.getElementById('search-input');\n if (searchInput && params.has('q')) searchInput.value = params.get('q');\n if (params.has('page')) {\n const page = parseInt(params.get('page'), 10);\n if (!isNaN(page) && page > 1) {\n visibleCount = page * PAGE_SIZE;\n restoringFromURL = true;\n }\n }\n }\n\n document.getElementById('filter-type').addEventListener('change', filterArticles);\n document.getElementById('filter-topic').addEventListener('change', filterArticles);\n document.getElementById('filter-sort').addEventListener('change', filterArticles);\n document.getElementById('load-more-btn').addEventListener('click', loadMore);\n var __clearBtn = document.getElementById('clear-filters-btn');\n if (__clearBtn) __clearBtn.addEventListener('click', clearAllFilters);\n\n let searchTimer;\n document.getElementById('search-input').addEventListener('input', function() {\n clearTimeout(searchTimer);\n searchTimer = setTimeout(filterArticles, 300);\n });\n\n readURLParams();\n filterArticles();\n" = ...

    Filter dispatcher (incl. sort switch) + URL-param restorer.