1var ManualSlider=(function(){ 2var Default=Pegasus.defineNamespace('Common.Common.Default'); 3var $slider; 4var $caption; 5var slickSliderProperties; 6var $slickSliderWrapper; 7var initialFade=false; 8function getProvidername(src){ 9if(src!==undefined){ 10if(src.indexOf("youtube.com")>=0||src.indexOf("youtu.be")>=0){ 11return'YouTube'; 12}else if(src.indexOf("vimeo.com")>=0){ 13return'Vimeo'; 14}else{ 15return'localVideo'; 16} 17} 18} 19function getOEmbedApiHref(src){ 20let providername=getProvidername(src); 21if(providername==='Vimeo'){ 22const url=new URL("https://vimeo.com/api/oembed.json"); 23url.searchParams.append("url",src); 24return url.href; 25}else if(providername==='YouTube'){ 26const url=new URL("https://youtube.com/oembed"); 27url.searchParams.append("url",src); 28url.searchParams.append("format","json"); 29return url.href; 30} 31return; 32} 33async function fetchOEmbed(src){ 34let oEmbedApiHref=getOEmbedApiHref(src); 35if(oEmbedApiHref){ 36const response=await fetch(oEmbedApiHref,{ 37headers:{ 38'Accept':'application/json' 39} 40}); 41if(response.ok){ 42return response.json(); 43}else{ 44throw new Error(response.statusText); 45} 46} 47} 48function onPause(slide){ 49$slider.removeClass('stage-slider--video-is-playing'); 50slide.parent().parent().focus(); 51$('.header').removeClass('stage-slider--video-is-playing'); 52} 53function onPlay(slide){ 54$slider.addClass('stage-slider--video-is-playing'); 55$('.header').addClass('stage-slider--video-is-playing'); 56} 57function setAutoplayspeed($el,options){ 58var $autoplaySpeedEl=$el.find("[data-autoplayspeed]"); 59if($el.is("[data-autoplayspeed]")){ 60$autoplaySpeedEl=$el; 61} 62if($autoplaySpeedEl.length>0){ 63var speed=$autoplaySpeedEl.attr("data-autoplayspeed"); 64options.autoplaySpeed=speed; 65} 66} 67function initVideos(){ 68$slider.find('.stage-slider__media.video').each(async function(i,slide){ 69var $this=$(this); 70var videoSrc=$this.data('videoSrc'); 71var providerName=getProvidername(videoSrc); 72var metadata=await fetchOEmbed(videoSrc); 73if(metadata===undefined){ 74return; 75} 76if($('body').is('.mode-editor')){ 77$(slide).find('img').each((i,img)=>{ 78$(img).attr('src',metadata.thumbnail_url) 79.css({"width":"100%","height":"inherit","float":"none"}) 80.appendTo($this.empty()); 81}); 82}else{ 83$this.html(metadata.html); 84if(providerName=='YouTube'){ 85var $iframe=$(slide).children('iframe'); 86$(slide).children('iframe').attr("src",$iframe.attr("src")+"&enablejsapi=1"); 87Default.loadYoutubeIframeAPI().then(function(){ 88var player; 89var videoControls={}; 90var player=new YT.Player($iframe.get(0),{ 91events:{ 92'onReady':function(event){ 93videoControls={ 94play:function(){ 95player.playVideo() 96}, 97pause:function(){ 98player.pauseVideo() 99} 100}; 101$(slide).data('videoControls',videoControls); 102}, 103'onStateChange':function(event){ 104if(event.data==YT.PlayerState.PLAYING){ 105onPlay($(slide)); 106} 107if(event.data==YT.PlayerState.PAUSED){ 108onPause($(slide)); 109} 110} 111} 112}); 113}); 114} 115if(providerName=='Vimeo'){ 116Default.loadVimeoAPI().then(function(){ 117var iframe=$this.children('iframe').get(0); 118var player=new Vimeo.Player(iframe); 119var videoControls={ 120play:function(){ 121player.play() 122}, 123pause:function(){ 124player.pause() 125} 126}; 127player.on('play',function(){ 128onPlay($(slide)); 129}); 130player.on('pause',function(){ 131onPause($(slide)); 132}); 133$(slide).data('videoControls',videoControls); 134}); 135} 136} 137}); 138} 139return function(slider,_slickSliderProperties){ 140$slider=slider; 141$caption=$slider.find('.stage-slider__caption-inner'); 142slickSliderProperties=_slickSliderProperties; 143slickSliderProperties.cssEase='ease-out'; 144slickSliderProperties.useTransform=true; 145slickSliderProperties.accessibility=true; 146$slickSliderWrapper=$slider.closest(".slider-wrapper"); 147initVideos(); 148$('body').trigger('manualSlider.beforeSlickInit', 149{ 150element:"#"+$slider.attr("id"), 151slickSliderProperties:slickSliderProperties 152} 153); 154setAutoplayspeed($slider.find(".manual-slider__slide-outer").first(),slickSliderProperties); 155$slider.on('init',function(e,slick){ 156var ariaLabel=$slickSliderWrapper.attr("data-aria-label"); 157if(ariaLabel.length>0){ 158$slider.find(".slick-track").attr("aria-label",ariaLabel) 159} 160var $prevButton=$slider.find(".stage-slider__arrow-prev"); 161var $nextButton=$slider.find(".stage-slider__arrow-next"); 162$('body').trigger('manualSlider.slickInit', 163{ 164element:"#"+$slider.attr("id"), 165slick:slick 166} 167); 168}); 169$slider.on('beforeChange',function(event,slick,currentSlide,nextSlide){ 170var $currentSlide=$slider.find('[data-slick-index="'+currentSlide+'"]'); 171var $nextSlide=$slider.find('[data-slick-index="'+nextSlide+'"]'); 172$nextSlide.addClass("is-animating"); 173setAutoplayspeed($nextSlide,slick.options); 174var $media=$currentSlide.find('.stage-slider__media'); 175var videoControls=$media.data('videoControls'); 176if(videoControls!==undefined){ 177videoControls.pause(); 178} 179}); 180$slider.on('afterChange',function(event,slick,currentSlide){ 181var $currentSlide=$slider.find('[data-slick-index="'+currentSlide+'"]'); 182var firstFocusable=$currentSlide.find('a, input, button, select, [role="link"]').not("[aria-hidden='true']").not("[role='presentation']").first(); 183setTimeout(function(){ 184if(slick.paused&&whatInput&&whatInput.ask('loose')==='keyboard'&&firstFocusable){ 185firstFocusable.focus(); 186} 187},1); 188$currentSlide.removeClass('is-animating'); 189}); 190_slickSliderProperties.accessibility=true; 191slickSliderProperties.customPaging=function(slider,i){ 192return'<button type="button">Slide '+(i+1)+'</button>'; 193} 194$slider.slick(slickSliderProperties); 195} 196})();
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.