Skip to content

Commit a22b1e3

Browse files
authored
try this again (#222)
1 parent 3bb7d25 commit a22b1e3

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

site/_static/custom.js

+19-7
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ function getClassOfCheckedCheckboxes(checkboxes) {
1111
function change() {
1212
console.log("Change event fired.");
1313
var domainsCbs = document.querySelectorAll(".domains input[type='checkbox']");
14+
var eventsCbs = document.querySelectorAll(".events input[type='checkbox']");
1415
var packagesCbs = document.querySelectorAll(".packages input[type='checkbox']");
1516

1617
var domainTags = getClassOfCheckedCheckboxes(domainsCbs);
18+
var eventTags = getClassOfCheckedCheckboxes(eventsCbs);
1719
var packageTags = getClassOfCheckedCheckboxes(packagesCbs);
1820

1921
var filters = {
2022
domains: domainTags,
23+
events: eventTags,
2124
packages: packageTags
2225
};
2326

@@ -31,13 +34,22 @@ function filterResults(filters) {
3134
rElems.forEach(function (el) {
3235
var isVisible = true; // Assume visible by default
3336

34-
// Check if the element has any domain or package filter
35-
if (filters.domains.length > 0 || filters.packages.length > 0) {
36-
var hasMatchingDomain = filters.domains.length === 0 || filters.domains.some(domain => el.classList.contains(domain));
37-
var hasMatchingPackage = filters.packages.length === 0 || filters.packages.some(package => el.classList.contains(package));
37+
// Check for matching domains
38+
if (filters.domains.length > 0) {
39+
var hasMatchingDomain = filters.domains.some(domain => el.classList.contains(domain));
40+
isVisible = isVisible && hasMatchingDomain;
41+
}
42+
43+
// Check for matching events
44+
if (filters.events.length > 0) {
45+
var hasMatchingEvent = filters.events.some(event => el.classList.contains(event));
46+
isVisible = isVisible && hasMatchingEvent;
47+
}
3848

39-
// The element should be visible if it matches any filter within each category
40-
isVisible = hasMatchingDomain && hasMatchingPackage;
49+
// Check for matching packages
50+
if (filters.packages.length > 0) {
51+
var hasMatchingPackage = filters.packages.some(package => el.classList.contains(package));
52+
isVisible = isVisible && hasMatchingPackage;
4153
}
4254

4355
// Toggle visibility based on the result
@@ -88,4 +100,4 @@ function clearCbs() {
88100
// Initial call to set up correct margins when the page loads
89101
document.addEventListener('DOMContentLoaded', updateMargins);
90102

91-
console.log("Script loaded.");
103+
console.log("Script loaded.");

0 commit comments

Comments
 (0)