aboutsummaryrefslogtreecommitdiff
path: root/assets/js/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/index.js')
-rw-r--r--assets/js/index.js28
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");