19 lines
679 B
JavaScript
19 lines
679 B
JavaScript
const matches = document.querySelectorAll(`li[data-nav-id$="${window.location.pathname}"]`);
|
|
if (matches.length > 0) {
|
|
const menu = matches[0];
|
|
menu.classList.add("active");
|
|
|
|
let maxDepth = 10; // Avoid infinite loop !
|
|
let nextAncestor = menu.closest("li[data-nav-id]");
|
|
while (maxDepth-- >= 0 && nextAncestor !== null) {
|
|
nextAncestor.classList.add("parent");
|
|
let icon = nextAncestor.querySelector('i.category-icon');
|
|
if (icon !== null) {
|
|
icon.classList.remove('fa-angle-right');
|
|
icon.classList.add('fa-angle-down');
|
|
}
|
|
|
|
nextAncestor = nextAncestor.parentNode.closest("li[data-nav-id]");
|
|
}
|
|
}
|