Skip to content

Commit 8c960a0

Browse files
authored
Merge pull request #25 from cmu-delphi/development
Added 'Select all' checkbox check if all options were checked
2 parents d6b8c8c + 1534ae7 commit 8c960a0

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/assets/js/indicatorSetsFilters.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,33 @@ let bulkSelectDivs = document.querySelectorAll('.bulk-select');
33
bulkSelectDivs.forEach(div => {
44
div.addEventListener('click', function (event) {
55
let form = this.nextElementSibling;
6-
let showMoreLink = form.querySelector('a');
76
let checkboxes = form.querySelectorAll('input[type="checkbox"]');
87

98
if (event.target.checked === true) {
10-
checkboxes.forEach((checkbox, index) => {
9+
checkboxes.forEach((checkbox) => {
1110
checkbox.checked = true;
12-
if (index > 4) {
13-
checkbox.parentElement.style.display = checkbox.parentElement.style.display === 'none' ? 'block' : null;
14-
}
1511
})
16-
if (showMoreLink) {
17-
showMoreLink.innerText = 'Show less...';
18-
}
1912
} else if (event.target.checked === false) {
20-
checkboxes.forEach((checkbox, index) => {
13+
checkboxes.forEach((checkbox) => {
2114
checkbox.checked = false
22-
if (index > 4) {
23-
checkbox.parentElement.style.display = checkbox.parentElement.style.display === 'block' ? 'none' : null;
24-
}
2515
});
26-
if (showMoreLink) {
27-
showMoreLink.innerText = 'Show more...';
28-
}
2916
}
3017
});
3118
});
3219

20+
function checkBulkSelect() {
21+
bulkSelectDivs.forEach((div) => {
22+
let form = div.nextElementSibling;
23+
let checkboxes = form.querySelectorAll("input[type='checkbox']");
24+
let allChecked = Array.from(checkboxes).every(cb => cb.checked);
25+
if (allChecked) {
26+
div.querySelector('#select-all').checked = true;
27+
}
28+
});
29+
}
30+
31+
checkBulkSelect();
32+
3333
function showLoader() {
3434
document.getElementById('loaderOverlay').style.display = 'flex';
3535
document.querySelector('.table-container').classList.add('faded');

0 commit comments

Comments
 (0)