From 8be24ab190556a0402e62cc2a435bf24c182ce6e Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Wed, 29 Jan 2020 16:03:44 +0100 Subject: fix: css width and scrollable submenus --- assets/css/home.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/assets/css/home.css b/assets/css/home.css index a801ba8..b2be8dd 100644 --- a/assets/css/home.css +++ b/assets/css/home.css @@ -52,6 +52,12 @@ aside .submenu { border: solid 1px dimgrey; width: 20%; max-width: 280px; + max-height: 85%; + overflow-y: auto; +} + +aside .submenu * { + max-width: 100%; } -- cgit v1.2.3 From be3f6fce10815fa3ea9b7655eaf15f9d5c6e9192 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Wed, 29 Jan 2020 16:30:54 +0100 Subject: feat: add js auto-closing submenu --- src/home.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/home.js b/src/home.js index 670ae3e..b00a782 100644 --- a/src/home.js +++ b/src/home.js @@ -11,6 +11,8 @@ window.addEventListener('load', () => { checkall.appendChild(checkbox); }); +window.addEventListener('click', clickHandler); + /** * Manage input event on the checkall checkbox. * @param {InputEvent} e the input event @@ -26,3 +28,17 @@ function checkallHandler(e) { } } } + +/** + * Manage click event on the home page. + * @param {MouseEvent} e + */ +function clickHandler(e) { + let details = document.querySelectorAll('details'); + let currentDetail = e.target.closest('details'); + for (const detail of details) { + if (!detail.isSameNode(currentDetail)) { + detail.removeAttribute('open'); + } + } +} -- cgit v1.2.3