diff options
Diffstat (limited to 'assets/js/index.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"); |