1const ps_wrap = document.querySelector(".ps_embla"); 2const ps_viewPort = ps_wrap.querySelector(".ps_embla__viewport"); 3const ps_prevBtn = ps_wrap.querySelector(".ps_embla__button--prev"); 4const ps_nextBtn = ps_wrap.querySelector(".ps_embla__button--next"); 5const ps_options = { 6 active: true, 7 loop: false, 8 delay: 4000, 9 slidesToScroll: 'auto', 10 skipSnaps: true 11 } 12const ps_embla = EmblaCarousel(ps_viewPort, ps_options); 13const ps_disablePrevAndNextBtns = disablePrevNextBtns(ps_prevBtn, ps_nextBtn, ps_embla); 14 15const ps_setupPrevNextBtns = (ps_prevBtn, ps_nextBtn, ps_embla) => { 16 ps_prevBtn.addEventListener('click', ps_embla.scrollPrev, false); 17 ps_nextBtn.addEventListener('click', ps_embla.scrollNext, false); 18}; 19 20const ps_disablePrevNextBtns = (ps_prevBtn, ps_nextBtn, ps_embla) => { 21 return () => { 22 if (ps_embla.canScrollPrev()) ps_prevBtn.removeAttribute('disabled'); 23 else ps_prevBtn.setAttribute('disabled', 'disabled'); 24 25 if (ps_embla.canScrollNext()) ps_nextBtn.removeAttribute('disabled'); 26 else ps_nextBtn.setAttribute('disabled', 'disabled'); 27 }; 28}; 29 30ps_setupPrevNextBtns(ps_prevBtn, ps_nextBtn, ps_embla); 31 32ps_embla.on("select", ps_disablePrevAndNextBtns); 33ps_embla.on("init", ps_disablePrevAndNextBtns);
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.