1class MainpageCarousel { 2 constructor() { 3 this.selector = '#modules-mainpage-carousel'; 4 this.initCarousel(); 5 } 6 7 initCarousel() 8 { 9 var sliderContainer = $(this.selector); 10 11 if (sliderContainer.length) { 12 var slickUrl = "/user/templates/static-assets/js/slick.min.js"; 13 14 // 2. Dynamické naÄtenà JS souboru 15 $.getScript(slickUrl, function () { 16 // 1. ZjistÃme, zda jsme na mobilu (standardnÄ pod 768px) 17 var isMobile = window.innerWidth < 768; 18 var items = sliderContainer.find('.item'); 19 20 // 2. Projdeme položky a ty nevhodné odstranÃme 21 // PoužÃváme klasický for-loop, abychom se vyhnuli .forEach() 22 for (var i = 0; i < items.length; i++) { 23 var item = $(items[i]); 24 var showOnMobile = item.attr('data-mobile') === "1"; 25 var showOnDesktop = item.attr('data-desktop') === "1"; 26 27 if (isMobile && !showOnMobile) { 28 item.remove(); 29 } else if (!isMobile && !showOnDesktop) { 30 item.remove(); 31 } 32 } 33 34 // 3. Kontrola, zda po filtraci zbyl alespoÅ jeden slide 35 if (sliderContainer.find('.item').length === 0) { 36 return; // Pokud nic nezbylo, Slick neincializujeme 37 } 38 39 var $arrows = false; 40 if (typeof (CarouselShowArrows) !== 'undefined' && parseInt(CarouselShowArrows) == 1) { 41 $arrows = true; 42 } 43 var $dots = false; 44 if (typeof (CarouselShowDots) !== 'undefined' && parseInt(CarouselShowDots) == 1) { 45 $dots = true; 46 } 47 48 sliderContainer.slick({ 49 autoplay: true, 50 autoplaySpeed: parseInt(CarouselTimeInterval) * 1000, 51 speed: 800, 52 infinite: true, 53 slidesToShow: 1, 54 slidesToScroll: 1, 55 arrows: $arrows, 56 dots: $dots, 57 pauseOnHover: true, 58 adaptiveHeight: true 59 }); 60 }); 61 } 62 } 63} 64 65nody.modules.MainpageCarousel = new MainpageCarousel();
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.