diff options
author | tdro <tdro@noreply.example.com> | 2022-08-06 02:09:42 -0400 |
---|---|---|
committer | tdro <tdro@noreply.example.com> | 2022-08-06 02:09:42 -0400 |
commit | d9a29082d810f2954c29aea215ba5cbbaa361ac6 (patch) | |
tree | 7b903c56e2868204eb18ea85399cfbe30e56921c /assets/js | |
parent | ac0e2a0c9e96cb827681ca4bdd0e727a85ee708d (diff) | |
download | canory-d9a29082d810f2954c29aea215ba5cbbaa361ac6.tar.gz canory-d9a29082d810f2954c29aea215ba5cbbaa361ac6.tar.bz2 canory-d9a29082d810f2954c29aea215ba5cbbaa361ac6.zip |
themes/default/layouts/partials: Hack in card context menu
Diffstat (limited to 'assets/js')
-rw-r--r-- | assets/js/index.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/assets/js/index.js b/assets/js/index.js index 71ff972..9d92d09 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -284,6 +284,34 @@ }); })(); (function() { + const hide = (triggers)=>{ + for(let i = 0; i < triggers.length; i++){ + triggers[i].checked = false; + } + }; + const hideIfClickedOutside = (menus, triggers, event)=>{ + for(let i = 0; i < menus.length; i++){ + const active = triggers[i].checked === true; + const outside = !menus[i].contains(event.target); + if (outside && active) hide(triggers); + } + }; + self.addEventListener("scroll", function() { + const triggers = document.querySelectorAll("micro-metadata-menu input"); + hide(triggers); + }); + [ + "click", + "touchstart" + ].forEach(function(event1) { + self.addEventListener(event1, function(event) { + const menus = document.querySelectorAll("micro-metadata-menu"); + const triggers = document.querySelectorAll("micro-metadata-menu input"); + hideIfClickedOutside(menus, triggers, event); + }); + }); +})(); +(function() { self.addEventListener("DOMContentLoaded", function() { const form = document.getElementById("search-form"); const query = document.getElementById("search-input"); |