1export default function GDMSupplementsModals( 2 triggerSelectors, 3 classNames, 4 freezeBody 5) { 6 document.querySelectorAll(triggerSelectors).forEach((trigger) => { 7 trigger.addEventListener("click", (e) => { 8 if ( 9 (e.target.getAttribute("href") && 10 e.target.getAttribute("href").includes("http")) || 11 (e.target.parentElement.getAttribute("href") && 12 e.target.parentElement.getAttribute("href").includes("http")) 13 ) 14 return; 15 16 if ( 17 e.target.parentElement.classList.contains( 18 "supplement-modal-form-trigger" 19 ) || 20 e.target.parentElement.tagName === "H3" || 21 e.target.parentElement.tagName === "H4" || 22 e.target.tagName === "IMG" 23 ) { 24 e.preventDefault(); 25 26 document 27 .querySelector(".gdm-newsletter-modal") 28 .setAttribute( 29 "class", 30 document 31 .querySelector(".gdm-newsletter-modal") 32 .getAttribute("class") + 33 " " + 34 classNames 35 ); 36 37 freezeBody && document.body.classList.add("freeze-element"); 38 } 39 }); 40 }); 41}
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.