From 46ad69fce564ad5f935cbf3ff5b4ef8a41209075 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Wed, 29 Jan 2020 17:14:48 +0100 Subject: feat: media js bundle with checkall and closesubmenus --- src/home.js | 37 +++---------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) (limited to 'src/home.js') 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'); - } - } -} -- cgit v1.2.3