@@ -11,13 +11,16 @@ function getClassOfCheckedCheckboxes(checkboxes) {
11
11
function change ( ) {
12
12
console . log ( "Change event fired." ) ;
13
13
var domainsCbs = document . querySelectorAll ( ".domains input[type='checkbox']" ) ;
14
+ var eventsCbs = document . querySelectorAll ( ".events input[type='checkbox']" ) ;
14
15
var packagesCbs = document . querySelectorAll ( ".packages input[type='checkbox']" ) ;
15
16
16
17
var domainTags = getClassOfCheckedCheckboxes ( domainsCbs ) ;
18
+ var eventTags = getClassOfCheckedCheckboxes ( eventsCbs ) ;
17
19
var packageTags = getClassOfCheckedCheckboxes ( packagesCbs ) ;
18
20
19
21
var filters = {
20
22
domains : domainTags ,
23
+ events : eventTags ,
21
24
packages : packageTags
22
25
} ;
23
26
@@ -31,13 +34,22 @@ function filterResults(filters) {
31
34
rElems . forEach ( function ( el ) {
32
35
var isVisible = true ; // Assume visible by default
33
36
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
+ }
38
48
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 ;
41
53
}
42
54
43
55
// Toggle visibility based on the result
@@ -88,4 +100,4 @@ function clearCbs() {
88
100
// Initial call to set up correct margins when the page loads
89
101
document . addEventListener ( 'DOMContentLoaded' , updateMargins ) ;
90
102
91
- console . log ( "Script loaded." ) ;
103
+ console . log ( "Script loaded." ) ;
0 commit comments