1"use strict"; 2(()=>{ 3 function bwdacAccordionMaker(accordion) { 4 let accordionItems = accordion.querySelectorAll(".ab-Accordion-default"); 5 6 for (let singleItem of accordionItems) { 7 let itemButton = singleItem.querySelector("div"); 8 itemButton.addEventListener("click", function () { 9 let buttonParent = this.parentElement; 10 11 if (buttonParent.classList.contains("active")) { 12 buttonParent.classList.remove("active"); 13 for (let item of accordionItems) { 14 item.classList.remove("active"); 15 } 16 } else { 17 for (let item of accordionItems) { 18 item.classList.remove("active"); 19 } 20 buttonParent.classList.add("active"); 21 } 22 }); 23 } 24 25 function documentClickToActiveClass(e) { 26 let isClick = accordion.contains(e.target); 27 if (!isClick) { 28 for (let singleItem of accordionItems) { 29 singleItem.classList.remove("active"); 30 } 31 } 32 } 33 document.addEventListener("click", documentClickToActiveClass); 34 } 35 // accordion plyer 36 const bwdacAccordionPlayer = () => { 37 let allAccordionCommon = document.querySelectorAll(".ab-accordion-all>*"); 38 for (let item of allAccordionCommon) { 39 bwdacAccordionMaker(item); 40 } 41 }; 42 43 //=================================================== 44 // editMode active or not 45 let bwdacAccordionEditModeObserver = (getEditMode) => { 46 // elementor render observing 47 const bwdacAccordionObserver = new MutationObserver((mutations) => { 48 mutations.map((record) => { 49 if (record.addedNodes.length) { 50 record.addedNodes.forEach((singleItem) => { 51 if (singleItem.nodeName == "DIV") { 52 if (singleItem.querySelector(".ab-accordion-all>*")) { 53 let observedItem = singleItem.querySelector( 54 ".ab-accordion-all>*" 55 ); 56 bwdacAccordionMaker(observedItem); 57 } 58 } 59 }); 60 } 61 }); 62 }); 63 64 bwdacAccordionObserver.observe(getEditMode, { 65 subtree: true, 66 childList: true, 67 }); 68 }; 69 70 // edit mode checker 71 (() => { 72 let bwdacMyInterValId; 73 if ( 74 document.querySelector(".elementor-edit-area") || 75 document.querySelector(".ab-accordion-all>*") 76 ) { 77 bwdacAccordionPlayer(); 78 } else { 79 bwdacMyInterValId = setInterval(() => { 80 let bwdacElementorEditArea = document.querySelector(".elementor-edit-area") || document.querySelector(".page"); 81 if (bwdacElementorEditArea) { 82 clearInterval(bwdacMyInterValId); 83 // play =============== 84 bwdacAccordionEditModeObserver(bwdacElementorEditArea); 85 } 86 }, 300); 87 } 88 })(); 89 90 91 92 93 94 95})()
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.