From 2c955cebb5f1e01fbdb866b50d296fe9fbd852b8 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 06 Jan 2026 20:40:03 +0000
Subject: [PATCH] =TaxonomySelector.js and creator refactor complete

---
 assets/js/concise/navigation.js |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/assets/js/concise/navigation.js b/assets/js/concise/navigation.js
index ab1e141..cc2648d 100644
--- a/assets/js/concise/navigation.js
+++ b/assets/js/concise/navigation.js
@@ -44,10 +44,6 @@
 		});
 	}
 
-	navIDs() {
-		return Array.from(this.navs.keys()).map((nav) => `#${nav}`);
-	}
-
 	initListeners() {
 		this.clickListener = this.handleClick.bind(this);
 		this.escapeListener = this.handleEscape.bind(this);
@@ -60,12 +56,15 @@
 		if (this.navs.size === 0) {
 			return;
 		}
-		if (this.openNav && !e.target.closest(this.openNav)) {
-			this.toggleNav(false);
+		if (this.openNav && e.target.closest(`#${this.openNav}`) === null) {
+			this.toggleNav(false, this.openNav);
 		}
-		if (!e.target.closest(... this.navIDs())) {
-			return;
-		}
+
+		// if (!e.target.closest(this.openNav)) {
+		// 	console.log('Not closest nav ids');
+		// 	console.log(this.navIDs());
+		// 	return;
+		// }
 
 		let toggle = e.target.closest('.toggle.main');
 		if (toggle) {
@@ -73,7 +72,7 @@
 			this.toggleNav(!nav.classList.contains('open'), nav.id);
 		}
 
-		let submenuToggle = e.target.closest('[data-action="toggle-submenu"]')
+		let submenuToggle = e.target.closest('[data-action="toggle-submenu"], .has-submenu .a')
 		if (submenuToggle) {
 			let li = submenuToggle.closest('li');
 			this.toggleSubmenu(!li.classList.contains('open'), li);
@@ -82,7 +81,6 @@
 	}
 
 	handleHoverOn(e) {
-		console.log(e.target);
 		let nav =  e.target.closest('nav');
 		if (nav) {
 			this.toggleNav(true, nav.id);
@@ -94,7 +92,6 @@
 	}
 
 	handleHoverOff(e) {
-		console.log(e.target);
 		let nav =  e.target.closest('nav');
 		if (nav) {
 			this.toggleNav(false, nav.id);
@@ -128,11 +125,13 @@
 				this.openNav = null;
 			}
 			document.removeEventListener('keydown', this.escapeListener);
-			Array.from(nav.submenus).forEach(submenu => {
-				if(submenu.classList.contains('open')) {
-					this.toggleSubmenu(false, submenu);
-				}
-			});
+			if (!nav.nav.classList.contains('sidebar')) {
+				Array.from(nav.submenus).forEach(submenu => {
+					if(submenu.classList.contains('open')) {
+						this.toggleSubmenu(false, submenu);
+					}
+				});
+			}
 		}
 
 		nav.nav.ariaExpanded = on;

--
Gitblit v1.10.0