35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
// TODO: js utility to check all/none of the checkboxes in a recipient category at once
|
|
(function() {
|
|
|
|
var RECIPIENT_CATEGORIES_SELECTOR = '.recipient-categories';
|
|
var RECIPIENT_CATEGORY_SELECTOR = '.recipient-category';
|
|
var RECIPIENT_CATEGORY_FIELDSET_SELECTOR = '.recipient-category__fieldset';
|
|
var RECIPIENT_CATEGORY_TOGGLE_ALL_SELECTOR = '.recipient-category__toggle-all';
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
|
|
var recipientCategoriesElement = document.querySelector(RECIPIENT_CATEGORIES_SELECTOR);
|
|
var recipientCategoryElements = Array.from(recipientCategoriesElement.querySelectorAll(RECIPIENT_CATEGORY_SELECTOR));
|
|
|
|
recipientCategoryElements.forEach(function(element) {
|
|
setupRecipientCategory(element);
|
|
});
|
|
});
|
|
|
|
function setupRecipientCategory(recipientCategoryElement) {
|
|
var fieldset = recipientCategoryElement.querySelector(RECIPIENT_CATEGORY_FIELDSET_SELECTOR);
|
|
var categoryCheckboxes = Array.from(fieldset.querySelectorAll('[type="checkbox"]'));
|
|
|
|
if (categoryCheckboxes) {
|
|
var toggleAllCheckbox = recipientCategoryElement.querySelector(RECIPIENT_CATEGORY_TOGGLE_ALL_SELECTOR);
|
|
|
|
if (toggleAllCheckbox) {
|
|
toggleAllCheckbox.addEventListener('change', function() {
|
|
console.log('TBD: setting up toggle all checkbox');
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
})();
|