forked from ucsf-ckm/wplibcalhours
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrid.js
41 lines (35 loc) · 1.52 KB
/
grid.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(() => {
function showHours(e) {
const clicked_hours_list = document.getElementById(`${e.target.id}-hours`);
if (clicked_hours_list == null) { // User didn't click hours button
return;
}
const has_grid_layout = hasInitialGridLayout(clicked_hours_list);
const hours = clicked_hours_list.querySelector('.closed');
const button_text = document.getElementById(e.target.id);
if (hours !== null) {
setStacked(clicked_hours_list, has_grid_layout);
hours.classList.remove('closed');
hours.classList.add('open');
hours.setAttribute('aria-hidden', 'false');
button_text.textContent = 'View week';
} else {
const hide_hours = clicked_hours_list.querySelector('.open');
hide_hours.classList.remove('open');
hide_hours.classList.add('closed');
hide_hours.setAttribute('aria-hidden', 'true');
button_text.textContent = 'View all hours';
setTimeout(setStacked, 1200, clicked_hours_list, has_grid_layout);
}
}
function setStacked(clicked_hours_list, initial_layout) {
if (initial_layout) {
clicked_hours_list.classList.toggle('hours-display-stacked');
clicked_hours_list.classList.toggle('hours-display');
}
}
function hasInitialGridLayout(clicked_hours_list) {
return clicked_hours_list.classList.contains('hours-display');
}
document.addEventListener('click', showHours);
})();