| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- (function () {
- const body = document.querySelector("body");
- const wrapper = document.querySelector(".page-wrapper");
- // active menu js
- let slideUp = (target, duration = 500) => {
- if (target) {
- target.style.transitionProperty = "height, padding";
- target.style.transitionDuration = duration + "ms";
- target.style.boxSizing = "border-box";
- target.style.height = target.offsetHeight + "px";
- target.offsetHeight;
- target.style.overflow = "hidden";
- target.style.height = 0;
- target.style.paddingTop = 0;
- window.setTimeout(() => {
- target.style.display = "none";
- target.style.removeProperty("height");
- target.style.removeProperty("padding-top");
- target.style.removeProperty("overflow");
- target.style.removeProperty("transition-duration");
- target.style.removeProperty("transition-property");
- }, duration);
- }
- };
- let slideDown = (target, duration = 500) => {
- if (target) {
- target.style.removeProperty("display");
- let display = window.getComputedStyle(target).display;
- if (display === "none") display = "flex";
- target.style.display = display;
- let height = target.offsetHeight;
- target.style.overflow = "hidden";
- target.style.height = 0;
- target.style.paddingTop = 0;
- target.offsetHeight;
- target.style.boxSizing = "border-box";
- target.style.transitionProperty = "height, padding";
- target.style.transitionDuration = duration + "ms";
- target.style.height = height + "px";
- target.style.removeProperty("padding-top");
- window.setTimeout(() => {
- target.style.removeProperty("height");
- target.style.removeProperty("overflow");
- target.style.removeProperty("transition-duration");
- target.style.removeProperty("transition-property");
- }, duration);
- }
- };
- const sidebarListItems = document.querySelectorAll(".sidebar-link");
- // Add onclick event listener to each sidebar-list item
- sidebarListItems.forEach((item) => {
- item.addEventListener("click", () => {
- let active_subEl = item.parentElement.querySelector(".sidebar-submenu .active");
- console.log("active_subEl", active_subEl);
- if (active_subEl) return false;
- item.classList.toggle("active");
- const submenu = item
- .closest(".sidebar-list")
- .querySelector(".sidebar-submenu");
- if (submenu) {
- // submenu.style.display = item.classList.contains("active")
- // ? "block"
- // : "none";
- if (item.classList.contains("active")) {
- $(submenu).slideDown()
- } else {
- $(submenu).slideUp()
- }
- }
- // sidebarListItems.forEach((otherList) => {
- // if (otherList !== item) {
- // otherList.classList.remove("active");
- // const otherSubmenu = otherList
- // .closest(".sidebar-list")
- // .querySelector(".sidebar-submenu");
- // if (otherSubmenu) {
- // otherSubmenu.style.display = "none";
- // }
- // }
- // });
- });
- });
- // Sidebar toggle js
- const sidebarToggle = document.querySelector(".toggle-sidebar");
- if (sidebarToggle) {
- sidebarToggle.addEventListener("click", function () {
- wrapper.classList.toggle("sidebar-open");
- const wrapperClose = wrapper.classList.contains("sidebar-open");
- });
- }
- })();
- // Sidebar pin-drops
- const pinTitle = document.querySelector(".pin-title");
- if (pinTitle) {
- let pinIcon = document.querySelectorAll(".sidebar-list .fa-thumbtack");
- function togglePinnedName() {
- if (document.getElementsByClassName("pined").length) {
- if (!pinTitle.classList.contains("show")) pinTitle.classList.add("show");
- } else {
- pinTitle.classList.remove("show");
- }
- }
- pinIcon.forEach((item, index) => {
- var linkName = item.parentNode.querySelector("h6").innerHTML;
- var InitialLocalStorage = JSON.parse(localStorage.getItem("pins") || false);
- if (InitialLocalStorage && InitialLocalStorage.includes(linkName)) {
- item.parentNode.classList.add("pined");
- }
- item.addEventListener("click", (event) => {
- var localStoragePins = JSON.parse(localStorage.getItem("pins") || false);
- item.parentNode.classList.toggle("pined");
- if (localStoragePins?.length) {
- if (item.parentNode.classList.contains("pined")) {
- !localStoragePins?.includes(linkName) &&
- (localStoragePins = [...localStoragePins, linkName]);
- } else {
- localStoragePins?.includes(linkName) &&
- localStoragePins.splice(localStoragePins.indexOf(linkName), 1);
- }
- localStorage.setItem("pins", JSON.stringify(localStoragePins));
- } else {
- localStorage.setItem("pins", JSON.stringify([linkName]));
- }
- var elem = item;
- var topPos = elem.offsetTop;
- togglePinnedName();
- if (item.parentElement.parentElement.classList.contains("pined")) {
- scrollTo(
- document.getElementsByClassName("main-sidebar")[0],
- topPos - 30,
- 600
- );
- } else {
- scrollTo(
- document.getElementsByClassName("main-sidebar")[0],
- elem.parentNode.offsetTop - 30,
- 600
- );
- }
- });
- function scrollTo(element, to, duration) {
- var start = element.scrollTop,
- change = to - start,
- currentTime = 0,
- increment = 20;
- var animateScroll = function () {
- currentTime += increment;
- var val = Math.easeInOutQuad(currentTime, start, change, duration);
- element.scrollTop = val;
- if (currentTime < duration) {
- setTimeout(animateScroll, increment);
- }
- };
- animateScroll();
- }
- Math.easeInOutQuad = function (t, b, c, d) {
- t /= d / 2;
- if (t < 1) return (c / 2) * t * t + b;
- t--;
- return (-c / 2) * (t * (t - 2) - 1) + b;
- };
- });
- togglePinnedName();
- }
- // scrollTop sidebar in active link in JS
- $(document).ready(function () {
- var activeLink = $(".simplebar-wrapper .simplebar-content-wrapper a.active");
- if (
- activeLink.length > 0 &&
- $("#pageWrapper").hasClass("compact-wrapper")
- ) {
- var scrollTop = activeLink.offset().top - 400;
- $(".simplebar-wrapper .simplebar-content-wrapper").animate(
- {
- scrollTop: scrollTop,
- },
- 1000
- );
- }
- });
- const submenuTitles = document.querySelectorAll(".submenu-title");
- // Add onclick event listener to each submenu-title item
- submenuTitles.forEach((title) => {
- title.addEventListener("click", () => {
- const parentLi = title.closest("li");
- parentLi.classList.toggle("active");
- const submenu = parentLi.querySelector(".according-submenu");
- if (submenu) {
- submenu.style.display =
- submenu.style.display === "block" ? "none" : "block";
- }
- submenuTitles.forEach((otherTitle) => {
- if (otherTitle !== title) {
- const otherParentLi = otherTitle.closest("li");
- const otherSubmenu =
- otherParentLi.querySelector(".according-submenu");
- if (otherSubmenu) {
- otherSubmenu.style.display = "none";
- }
- otherParentLi.classList.remove("active");
- }
- });
- });
- });
- var url = window.location.href;
- const urlLink = url.includes("#") ? url.split("#")[0] : url;
- const submenuLinks = document.querySelectorAll(".sidebar-menu li a");
- submenuLinks.forEach((el) => {
- var linkHref = el.href;
- if (urlLink === linkHref) {
- el.classList.add("active");
- const submenu = el.closest(".sidebar-submenu");
- if (submenu && submenu.previousElementSibling) {
- submenu.previousElementSibling.classList.add("active");
- }
- if (submenu) {
- submenu.style.display = "block";
- }
- const parentLi = el.closest(".sidebar-submenu > li");
- if (parentLi) {
- parentLi.classList.add("active");
- const submenu = parentLi.querySelector(".according-submenu");
- if (submenu) {
- submenu.style.display = "block";
- }
- }
- }
- });
- // RESPONSIVE SIDEBAR 1200<
- document.addEventListener("DOMContentLoaded", function () {
- "use strict";
- var pageWrapper = document.querySelector(".page-wrapper");
- var toggleSidebarButton = document.querySelector(".toggle-sidebar");
- var widthWindow = window.innerWidth;
- if (widthWindow <= 1199) {
- pageWrapper.classList.add("sidebar-open");
- toggleSidebarButton.classList.add("close");
- }
- window.addEventListener("resize", function () {
- var widthWindow = window.innerWidth;
- if (widthWindow <= 1199) {
- pageWrapper.classList.add("sidebar-open");
- toggleSidebarButton.classList.add("close");
- } else {
- pageWrapper.classList.remove("sidebar-open");
- toggleSidebarButton.classList.remove("close");
- }
- });
- });
|