1/* previewer-description:carousel_swiper */ 2(function(_, $) { 3 $.loadCss(['js/lib/swiper/swiper.min.css']); 4 5 function fn_display (elm) { 6 var imageId = elm.data('caImageId'); 7 var elms = $('a[data-ca-image-id="' + imageId + '"] img'); 8 9 var previewer = $('<div class="ty-swiper-previewer"></div>'); 10 var previewerContainer = $('<div class="ty-swiper-previewer__container swiper-container"></div>'); 11 var previewerWrapper = $('<div class="ty-swiper-previewer__wrapper swiper-wrapper"></div>'); 12 13 previewerContainer.attr('dir', _.language_direction); 14 15 elms.each(function (index, elm) { 16 var _clonedNode = $(elm).clone(), 17 _imageContainer = $('<div class="ty-swiper-previewer__slide swiper-slide"> </div>'); 18 19 _clonedNode.attr('srcset', ''); 20 _clonedNode.attr('src', $(elm).parent('a').attr('href') || _clonedNode.attr('src')); 21 _clonedNode.addClass('ty-swiper-previewer__img'); 22 23 _clonedNode.appendTo(_imageContainer); 24 _imageContainer.appendTo(previewerWrapper); 25 }); 26 previewerContainer.append(previewerWrapper); 27 if(elms.length > 1) { 28 previewerContainer.append('<div class="ty-swiper-previewer__button-prev swiper-button-prev" data-button="prev"></div>'); 29 previewerContainer.append('<div class="ty-swiper-previewer__button-next swiper-button-next" data-button="next"></div>'); 30 } 31 previewerContainer.appendTo(previewer); 32 previewer.appendTo(_.body); 33 34 // taku ã³ã¢ãä¿®æ£ 35 // å ã®è¨è¿° var activeIndexImg = $(elm).closest(".cm-image-previewer.slick-active").index(); 36 var $target = $(elm).closest(".ty-image-zoom__wrapper.slick-active"); 37 38 if ($target.length === 0) { 39 $target = $(elm).closest(".cm-image-previewer.slick-active"); 40 } 41 var activeIndexImg = $target.index(); 42 var swiper = new Swiper (previewerContainer, { 43 initialSlide: activeIndexImg ? activeIndexImg : 0, 44 navigation: { 45 nextEl: elms.length > 1 ? '[data-button="next"]' : '', 46 prevEl: elms.length > 1 ? '[data-button="prev"]' : '', 47 }, 48 spaceBetween: 50, 49 }); 50 51 //for the correct operation of the swipe animation in Firefox 52 var isFirefox = typeof InstallTrigger !== 'undefined'; 53 if (isFirefox) { 54 swiper.update(); 55 } 56 57 var _scrollPosition = $(document).scrollTop(); 58 previewer.ceDialog('open', { 59 dialogClass: 'ty-swiper-previewer__dialog', 60 containerClass: 'ty-swiper-previewer__object-container', 61 onClose: function() { 62 setTimeout(function() { 63 $('html, body').animate({ 64 scrollTop: _scrollPosition 65 }, 0); 66 $.ceDialog('get_last').ceDialog('reload'); 67 }, 0); 68 previewer.remove(); 69 70 // unset scroll-prevent styles 71 $(_.body).css({ 72 overflow: '', 73 maxHeight: '' 74 }); 75 } 76 }); 77 78 // set scroll-prevent styles (no Y-scroll when images slides) 79 $(_.body).css({ overflow: 'hidden', maxHeight: '100vh' }); 80 } 81 82 $.cePreviewer('handlers', { 83 display: function(elm) { 84 if (typeof Swiper === "undefined") { 85 $.getScript('js/lib/swiper/swiper.min.js', function () { 86 fn_display(elm); 87 }); 88 } else { 89 fn_display(elm); 90 } 91 } 92 }); 93}(Tygh, Tygh.$));
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.