aboutsummaryrefslogtreecommitdiff
path: root/src/home.js
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2020-01-29 17:14:48 +0100
committern-peugnet <n.peugnet@free.fr>2020-01-29 17:28:40 +0100
commit46ad69fce564ad5f935cbf3ff5b4ef8a41209075 (patch)
tree02ece03be0b09313fe66ec0f9969dd545325fa47 /src/home.js
parent37c4ef737499b76393a755ff3440abf4dcb97aa2 (diff)
downloadwcms-46ad69fce564ad5f935cbf3ff5b4ef8a41209075.tar.gz
wcms-46ad69fce564ad5f935cbf3ff5b4ef8a41209075.zip
feat: media js bundle with checkall and closesubmenus
Diffstat (limited to 'src/home.js')
-rw-r--r--src/home.js37
1 files changed, 3 insertions, 34 deletions
diff --git a/src/home.js b/src/home.js
index 7562389..8906079 100644
--- a/src/home.js
+++ b/src/home.js
@@ -1,44 +1,13 @@
-/** @type {HTMLInputElement[]} */
-let checkboxes = [];
+import { checkallHandler, closeSubmenus } from './fn/fn';
window.addEventListener('load', () => {
- checkboxes = document.getElementsByName('pagesid[]');
+ let checkboxes = document.getElementsByName('pagesid[]');
let checkall = document.getElementById('checkall');
let checkbox = document.createElement('input');
checkbox.type = 'checkbox';
- checkbox.addEventListener('input', checkallHandler);
+ checkbox.addEventListener('input', checkallHandler.bind({ checkboxes }));
checkall.innerHTML = '';
checkall.appendChild(checkbox);
});
window.addEventListener('click', closeSubmenus);
-
-/**
- * Manage input event on the checkall checkbox.
- * @param {InputEvent} e the input event
- */
-function checkallHandler(e) {
- if (e.target.checked) {
- for (const checkbox of checkboxes) {
- checkbox.checked = true;
- }
- } else {
- for (const checkbox of checkboxes) {
- checkbox.checked = false;
- }
- }
-}
-
-/**
- * Close all submenus of the menubar.
- * @param {MouseEvent} e
- */
-function closeSubmenus(e) {
- let details = document.querySelectorAll('aside details');
- let currentDetail = e.target.closest('details');
- for (const detail of details) {
- if (!detail.isSameNode(currentDetail)) {
- detail.removeAttribute('open');
- }
- }
-}