1/** 2 * @file 3 * Behaviors of video gallery media for Youtube video scripts. 4 */ 5 6(function ($, Drupal) { 7 Drupal.behaviors.varbaseHeroSliderMedia_youtube = { 8 attach(context) { 9 // Add tab attribute 10 $(".view-video-gallery .attachment .view-content .slick__slide .views-field-field-title .field-content").attr('tabindex', '0'); 11 // Pausing video 12 const mediaSliders = $( 13 '.slick--optionset--video-gallery-main .slick__slider', 14 context, 15 ); 16 17 const firstVideoSlide = $('.slick--optionset--video-gallery-main .slide:first .views-field-field-video', context); 18 19 // On first slide load. 20 const firstIframeVideo = $('.slick--optionset--video-gallery-main') 21 .find('.slide') 22 .first() 23 .find('.varbase-video-player iframe[src*="youtube.com"], .varbase-video-player iframe[src*="youtu.be"]', context); 24 if (firstVideoSlide.length > 0) { 25 firstVideoSlide.on('click', function () { 26 firstIframeVideo.get(0).contentWindow.postMessage('play', '*'); 27 $(this).addClass("play-video"); 28 }); 29 } 30 31 // On before slide change. 32 mediaSliders.on( 33 'beforeChange', 34 function (event, slick, currentSlide, nextSlide) { 35 const currentVideo = $(`.slide--${currentSlide}.slick-active`).find( 36 '.varbase-video-player iframe[src*="youtube.com"], .varbase-video-player iframe[src*="youtu.be"]', 37 context, 38 ); 39 if (currentVideo.length > 0) { 40 currentVideo.get(0).contentWindow.postMessage('pause', '*'); 41 } 42 }, 43 ); 44 45 // On after slide change. 46 mediaSliders.on('afterChange', function (event, slick, currentSlide) { 47 const currentVideo = $(`.slide--${currentSlide}.slick-active`).find( 48 '.varbase-video-player iframe[src*="youtube.com"], .varbase-video-player iframe[src*="youtu.be"]', 49 context, 50 ); 51 52 if (currentVideo.length > 0) { 53 currentVideo.get(0).contentWindow.postMessage('play', '*'); 54 } 55 }); 56 }, 57 }; 58})(window.jQuery, window.Drupal);
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.