1(function ($) { 2 var WidgetElements_AdvancedVideoHandler = function ($scope, $) { 3 var elementSettings = dceGetElementSettings($scope); 4 var id_scope = $scope.attr("data-id"); 5 var customControls = elementSettings.dce_video_custom_controls; 6 7 if (customControls) { 8 var videoType = elementSettings.video_type; 9 var autoplay = Boolean(elementSettings.autoplay); 10 var lightbox = Boolean(elementSettings.lightbox); 11 var muted = Boolean(elementSettings.mute); 12 var loop = Boolean(elementSettings.loop); 13 var controls = elementSettings.dce_video_controls; 14 var captionsOnStart = 15 elementSettings.dce_captions_on_start === "yes"; 16 var captionsLang = elementSettings.dce_captions_lang; 17 18 var generatePlyrVideo = function () { 19 var videoContainer = ".elementor-element-" + id_scope; 20 var videoSelector = videoContainer + " .elementor-wrapper"; 21 if (videoType == "hosted") { 22 23 var videoElement = $scope.find('.elementor-video')[0]; 24 if (videoElement) { 25 videoSelector = videoElement; 26 } 27 } 28 29 // Lightbox 30 if (lightbox) { 31 videoContainer = "#elementor-lightbox-" + id_scope; 32 videoSelector = 33 videoContainer + " .elementor-video-container > div"; 34 } 35 const plyr = new Plyr(videoSelector, { 36 controls: controls, 37 autoplay: autoplay, 38 muted: muted, 39 captions: { 40 active: captionsOnStart, 41 language: captionsLang, 42 }, 43 loop: { active: loop }, 44 disableContextMenu: false, 45 hideControls: false, 46 }); 47 $scope.data("dce-plyr", plyr); 48 $scope.addClass("dce-video-plyr"); 49 }; 50 51 if ($scope.find(".elementor-custom-embed-image-overlay").length) { 52 $scope.on( 53 "mouseup", 54 ".elementor-custom-embed-image-overlay", 55 function () { 56 if (lightbox) { 57 setTimeout(function () { 58 generatePlyrVideo(); 59 }, 1000); 60 } else { 61 setTimeout(function () { 62 generatePlyrVideo(); 63 }, 400); 64 } 65 }, 66 ); 67 } else { 68 setTimeout(function () { 69 generatePlyrVideo(); 70 }, 1000); 71 } 72 } 73 }; 74 75 $(window).on("elementor/frontend/init", function () { 76 elementorFrontend.hooks.addAction( 77 "frontend/element_ready/video.default", 78 WidgetElements_AdvancedVideoHandler, 79 ); 80 }); 81})(jQuery);
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.