From 95e59007cceacc9cec2c5a8bf20db0d6143a7895 Mon Sep 17 00:00:00 2001 From: SimonGschnell Date: Fri, 29 Nov 2024 12:29:59 +0100 Subject: [PATCH] refactor(Settings/NavUser Collapsibles): closes the collapsibles if the user clicks outside of the elements --- public/js/components/Cis/Menu.js | 25 ++++++++++++--------- public/js/components/searchbar/searchbar.js | 24 +++++++++++++++----- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/public/js/components/Cis/Menu.js b/public/js/components/Cis/Menu.js index 25fd32fcb..717ac88f5 100644 --- a/public/js/components/Cis/Menu.js +++ b/public/js/components/Cis/Menu.js @@ -51,16 +51,18 @@ export default { } }, methods: { - toggleCollapsibles(target){ - switch(target){ - case 'settings': - this.navUserDropdown?.hide(); - break; - case 'navUserDropdown': - this.$refs.searchbar?.settingsDropdown?.hide(); - break; + checkSettingsVisibility: function (event) { + // hides the settings collapsible if the user clicks somewhere else + if (!this.$refs.navUserDropdown.contains(event.target)) { + this.navUserDropdown.hide(); } }, + handleShowNavUser(){ + document.addEventListener("click", this.checkSettingsVisibility); + }, + handleHideNavUser(){ + document.removeEventListener("click", this.checkSettingsVisibility); + }, makeParentContentActive(content_id, collection=this.entries, parent=null){ for(let entry of collection){ if(entry.content_id == content_id){ @@ -89,7 +91,7 @@ export default { - + @@ -97,7 +99,10 @@ export default { -