From a81f7043fc44382775f9afac48e4c7a651e7ac6c Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 04 Jan 2026 18:29:10 +0000
Subject: [PATCH] =PopulateForm.js and ContentRoutes.php minor changes
---
assets/js/concise/navigation.js | 41 +++++++++++++++++++++++++----------------
1 files changed, 25 insertions(+), 16 deletions(-)
diff --git a/assets/js/concise/navigation.js b/assets/js/concise/navigation.js
index d1fd398..cc2648d 100644
--- a/assets/js/concise/navigation.js
+++ b/assets/js/concise/navigation.js
@@ -2,7 +2,7 @@
constructor() {
this.counter = 0;
this.initElements();
- if (this.navs.length === 0) {
+ if (this.navs.size === 0) {
return;
}
@@ -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);
@@ -57,22 +53,34 @@
document.addEventListener('click', this.clickListener);
}
handleClick(e) {
- if (this.openNav && !e.target.closest(this.openNav)) {
- this.toggleNav(false);
- }
- if (!e.target.closest(... this.navIDs())) {
+ if (this.navs.size === 0) {
return;
}
+ if (this.openNav && e.target.closest(`#${this.openNav}`) === null) {
+ this.toggleNav(false, this.openNav);
+ }
+
+ // 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) {
let nav = toggle.closest('nav');
this.toggleNav(!nav.classList.contains('open'), nav.id);
}
+
+ 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);
+ }
+
}
handleHoverOn(e) {
- console.log(e.target);
let nav = e.target.closest('nav');
if (nav) {
this.toggleNav(true, nav.id);
@@ -84,7 +92,6 @@
}
handleHoverOff(e) {
- console.log(e.target);
let nav = e.target.closest('nav');
if (nav) {
this.toggleNav(false, nav.id);
@@ -118,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