Server IP : 15.235.198.142 / Your IP : 216.73.216.208 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/yme/wp-content/themes/oceanwp/assets/src/js/wp-plugins/woocommerce/ |
Upload File : |
import { slideDown, slideUp } from "../../lib/utils"; class WooCatWidget { #elements; constructor() { this.#setElements(); this.#start(); } #setElements = () => { this.#elements = { categories: document.querySelectorAll( ".woo-dropdown-cat .product-categories" ), }; }; #start = () => { this.#elements.categories.forEach((category) => { const angleDownIcon = '<i class="fa fa-angle-down"></i>'; const angleUpIcon = '<i class="fa fa-angle-up"></i>'; category.querySelectorAll("li").forEach((li) => { const hasChildrenElem = Array.from(li.querySelectorAll(".children")).length !== 0; const hasListElem = Array.from(li.querySelectorAll("li")).length !== 0; if (hasChildrenElem && hasListElem) { li.insertAdjacentHTML( "afterbegin", `<div class="open-this">${angleDownIcon}</div>` ); } }); category.querySelectorAll(".open-this")?.forEach((item) => { item.addEventListener("click", (event) => { const parentItem = item.parentNode; const parentItemChildren = parentItem.children; if (parentItem.classList.contains("opened")) { item.innerHTML = angleDownIcon; parentItem.classList.remove("opened"); for (let i = 0; i < parentItemChildren.length; i++) { const element = parentItemChildren[i]; if (element.nodeName.toLowerCase() === "ul") { slideUp(element, 250); } } } else { item.innerHTML = angleUpIcon; parentItem.classList.add("opened"); for (let i = 0; i < parentItemChildren.length; i++) { const element = parentItemChildren[i]; if (element.nodeName.toLowerCase() === "ul") { slideDown(element, 250); } } } }); }); }); }; } new WooCatWidget();