@websy/websy-designs 1.4.17 → 1.4.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2510,6 +2510,35 @@ class WebsyNavigationMenu {
|
|
|
2510
2510
|
this.render()
|
|
2511
2511
|
}
|
|
2512
2512
|
}
|
|
2513
|
+
activateItem (id) {
|
|
2514
|
+
const el = document.getElementById(id)
|
|
2515
|
+
if (el) {
|
|
2516
|
+
el.classList.add('active')
|
|
2517
|
+
let parent = el.parentElement
|
|
2518
|
+
while (parent) {
|
|
2519
|
+
if (parent.tagName === 'UL') {
|
|
2520
|
+
parent.classList.remove('websy-menu-collapsed')
|
|
2521
|
+
parent = parent.parentElement
|
|
2522
|
+
}
|
|
2523
|
+
else if (parent.tagName === 'LI') {
|
|
2524
|
+
parent = parent.parentElement
|
|
2525
|
+
}
|
|
2526
|
+
else {
|
|
2527
|
+
parent = null
|
|
2528
|
+
}
|
|
2529
|
+
}
|
|
2530
|
+
}
|
|
2531
|
+
}
|
|
2532
|
+
collapseAll () {
|
|
2533
|
+
const el = document.getElementById(this.elementId)
|
|
2534
|
+
const menuEls = el.querySelectorAll('.websy-child-list')
|
|
2535
|
+
const headerEls = el.querySelectorAll('.websy-menu-header')
|
|
2536
|
+
Array.from(menuEls).forEach(e => e.classList.add('websy-menu-collapsed'))
|
|
2537
|
+
Array.from(headerEls).forEach(e => {
|
|
2538
|
+
e.classList.remove('active')
|
|
2539
|
+
e.classList.remove('menu-open')
|
|
2540
|
+
})
|
|
2541
|
+
}
|
|
2513
2542
|
flattenItems (index, items, level = 0, path = '') {
|
|
2514
2543
|
if (items[index]) {
|
|
2515
2544
|
this.lowestLevel = Math.max(level, this.lowestLevel)
|
|
@@ -2534,7 +2563,7 @@ class WebsyNavigationMenu {
|
|
|
2534
2563
|
if (event.target.classList.contains('trigger-item') && item.level === this.lowestLevel) {
|
|
2535
2564
|
this.toggleMobileMenu('remove')
|
|
2536
2565
|
}
|
|
2537
|
-
if (item.hasChildren === true) {
|
|
2566
|
+
if (item && item.hasChildren === true) {
|
|
2538
2567
|
event.target.classList.toggle('menu-open')
|
|
2539
2568
|
this.toggleMenu(item.id)
|
|
2540
2569
|
}
|
|
@@ -2642,6 +2642,41 @@ var WebsyNavigationMenu = /*#__PURE__*/function () {
|
|
|
2642
2642
|
}
|
|
2643
2643
|
|
|
2644
2644
|
_createClass(WebsyNavigationMenu, [{
|
|
2645
|
+
key: "activateItem",
|
|
2646
|
+
value: function activateItem(id) {
|
|
2647
|
+
var el = document.getElementById(id);
|
|
2648
|
+
|
|
2649
|
+
if (el) {
|
|
2650
|
+
el.classList.add('active');
|
|
2651
|
+
var parent = el.parentElement;
|
|
2652
|
+
|
|
2653
|
+
while (parent) {
|
|
2654
|
+
if (parent.tagName === 'UL') {
|
|
2655
|
+
parent.classList.remove('websy-menu-collapsed');
|
|
2656
|
+
parent = parent.parentElement;
|
|
2657
|
+
} else if (parent.tagName === 'LI') {
|
|
2658
|
+
parent = parent.parentElement;
|
|
2659
|
+
} else {
|
|
2660
|
+
parent = null;
|
|
2661
|
+
}
|
|
2662
|
+
}
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2665
|
+
}, {
|
|
2666
|
+
key: "collapseAll",
|
|
2667
|
+
value: function collapseAll() {
|
|
2668
|
+
var el = document.getElementById(this.elementId);
|
|
2669
|
+
var menuEls = el.querySelectorAll('.websy-child-list');
|
|
2670
|
+
var headerEls = el.querySelectorAll('.websy-menu-header');
|
|
2671
|
+
Array.from(menuEls).forEach(function (e) {
|
|
2672
|
+
return e.classList.add('websy-menu-collapsed');
|
|
2673
|
+
});
|
|
2674
|
+
Array.from(headerEls).forEach(function (e) {
|
|
2675
|
+
e.classList.remove('active');
|
|
2676
|
+
e.classList.remove('menu-open');
|
|
2677
|
+
});
|
|
2678
|
+
}
|
|
2679
|
+
}, {
|
|
2645
2680
|
key: "flattenItems",
|
|
2646
2681
|
value: function flattenItems(index, items) {
|
|
2647
2682
|
var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -2677,7 +2712,7 @@ var WebsyNavigationMenu = /*#__PURE__*/function () {
|
|
|
2677
2712
|
this.toggleMobileMenu('remove');
|
|
2678
2713
|
}
|
|
2679
2714
|
|
|
2680
|
-
if (item.hasChildren === true) {
|
|
2715
|
+
if (item && item.hasChildren === true) {
|
|
2681
2716
|
event.target.classList.toggle('menu-open');
|
|
2682
2717
|
this.toggleMenu(item.id);
|
|
2683
2718
|
} else {
|