1"use strict"; 2 3var sliders = document.querySelectorAll(".slider-container"); 4var scrollSupport = ("scrollBehavior" in document.documentElement.style); 5 6function showHideArrows(slider) { 7 var card = slider.querySelectorAll(".slider-card"), 8 prev = slider.querySelector(".prev"), 9 next = slider.querySelector(".next"), 10 scroll = slider.scrollLeft, 11 scrollRemaining = slider.scrollWidth - slider.clientWidth - scroll; 12 13 if (scroll < 16) { 14 prev.style.display = "none"; 15 prev.style.visibility = "hidden"; 16 } else { 17 prev.style.display = "block"; 18 prev.style.visibility = "visible"; 19 } 20 21 if (scrollRemaining < 16) { 22 next.style.display = "none"; 23 next.style.visibility = "hidden"; 24 } else { 25 next.style.display = "block"; 26 next.style.visibility = "visible"; 27 } 28} 29 30function slideCards(e) { 31 var slider = this, 32 card = slider.querySelectorAll(".slider-card"); 33 var cardMargin = parseInt(getComputedStyle(card[0]).marginLeft) * 2, 34 cardWidth = card[0].clientWidth + cardMargin + 2; 35 36 if (e.target.getAttribute("class")=="next" && (e.type === "click" || e.keyCode === 13) || e.keyCode === 39) { 37 e.preventDefault(); 38 39 if (scrollSupport) { 40 slider.scroll({ 41 behavior: "smooth", 42 left: slider.scrollLeft + cardWidth 43 }); 44 } else { 45 slider.scrollLeft = slider.scrollLeft + cardWidth; 46 } 47 } else if (e.target.getAttribute("class")=="prev" && (e.type === "click" || e.keyCode === 13) || e.keyCode === 37) { 48 e.preventDefault(); 49 50 if (scrollSupport) { 51 slider.scroll({ 52 behavior: "smooth", 53 left: slider.scrollLeft - cardWidth 54 }); 55 } else { 56 slider.scrollLeft = slider.scrollLeft - cardWidth; 57 } 58 } 59} 60function sliderInit() { 61 sliders.forEach(function (slider) { 62 slider.addEventListener("click", slideCards); 63 slider.addEventListener("keydown", slideCards); 64 slider.addEventListener("scroll", function () { 65 showHideArrows(slider); 66 }); 67 showHideArrows(slider); 68 }); 69} 70 71sliderInit(); 72 73document.addEventListener("pvd-expand-collapse-change", function() { 74 sliderInit(); 75});
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.