deving
This commit is contained in:
112
res/assets/js/theme/sidebarmenu.js
Normal file
112
res/assets/js/theme/sidebarmenu.js
Normal file
@@ -0,0 +1,112 @@
|
||||
var at = document.documentElement.getAttribute("data-layout");
|
||||
if ((at = "vertical")) {
|
||||
|
||||
// ----------------------------------------
|
||||
// Active 2 file at same time
|
||||
// ----------------------------------------
|
||||
|
||||
var currentNewURL =
|
||||
window.location != window.parent.location
|
||||
? document.referrer
|
||||
: document.location.href;
|
||||
|
||||
var current_link = document.getElementById("get-url");
|
||||
if (currentNewURL.includes("/main/index.html")) {
|
||||
current_link.setAttribute("href", "../main/index.html");
|
||||
} else if (currentNewURL.includes("/index.html")) {
|
||||
current_link.setAttribute("href", "./index.html");
|
||||
} else {
|
||||
current_link.setAttribute("href", "./");
|
||||
}
|
||||
// end
|
||||
|
||||
|
||||
function findMatchingElement() {
|
||||
var currentUrl = window.location.href;
|
||||
var anchors = document.querySelectorAll("#sidebarnav a");
|
||||
for (var i = 0; i < anchors.length; i++) {
|
||||
if (anchors[i].href === currentUrl) {
|
||||
return anchors[i];
|
||||
}
|
||||
}
|
||||
|
||||
return null; // Return null if no matching element is found
|
||||
}
|
||||
var elements = findMatchingElement();
|
||||
|
||||
// Do something with the matching element
|
||||
if (elements) {
|
||||
elements.classList.add("active");
|
||||
}
|
||||
|
||||
document
|
||||
.querySelectorAll("ul#sidebarnav ul li a.active")
|
||||
.forEach(function (link) {
|
||||
link.closest("ul").classList.add("in");
|
||||
link.closest("ul").parentElement.classList.add("selected");
|
||||
});
|
||||
|
||||
document.querySelectorAll("#sidebarnav li").forEach(function (li) {
|
||||
const isActive = li.classList.contains("selected");
|
||||
if (isActive) {
|
||||
const anchor = li.querySelector("a");
|
||||
if (anchor) {
|
||||
anchor.classList.add("active");
|
||||
}
|
||||
}
|
||||
});
|
||||
document.querySelectorAll("#sidebarnav a").forEach(function (link) {
|
||||
link.addEventListener("click", function (e) {
|
||||
const isActive = this.classList.contains("active");
|
||||
const parentUl = this.closest("ul");
|
||||
if (!isActive) {
|
||||
// hide any open menus and remove all other classes
|
||||
parentUl.querySelectorAll("ul").forEach(function (submenu) {
|
||||
submenu.classList.remove("in");
|
||||
});
|
||||
parentUl.querySelectorAll("a").forEach(function (navLink) {
|
||||
navLink.classList.remove("active");
|
||||
});
|
||||
|
||||
// open our new menu and add the open class
|
||||
const submenu = this.nextElementSibling;
|
||||
if (submenu) {
|
||||
submenu.classList.add("in");
|
||||
}
|
||||
|
||||
this.classList.add("active");
|
||||
} else {
|
||||
this.classList.remove("active");
|
||||
parentUl.classList.remove("active");
|
||||
const submenu = this.nextElementSibling;
|
||||
if (submenu) {
|
||||
submenu.classList.remove("in");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
if ((at = "horizontal")) {
|
||||
function findMatchingElement() {
|
||||
var currentUrl = window.location.href;
|
||||
var anchors = document.querySelectorAll("#sidebarnavh ul#sidebarnav a");
|
||||
for (var i = 0; i < anchors.length; i++) {
|
||||
if (anchors[i].href === currentUrl) {
|
||||
return anchors[i];
|
||||
}
|
||||
}
|
||||
|
||||
return null; // Return null if no matching element is found
|
||||
}
|
||||
var elements = findMatchingElement();
|
||||
|
||||
if (elements) {
|
||||
elements.classList.add("active");
|
||||
}
|
||||
document
|
||||
.querySelectorAll("#sidebarnavh ul#sidebarnav a.active")
|
||||
.forEach(function (link) {
|
||||
link.closest("a").parentElement.classList.add("selected");
|
||||
link.closest("ul").parentElement.classList.add("selected");
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user