Files
SIGE-WEB-snapshot/wp-content/plugins/all-in-one-video-gallery/public/assets/js/videojs.min.js

1 line
17 KiB
JavaScript

!function(e){"use strict";class t extends HTMLElement{constructor(){super(),this.player=null,this.playButtonEl=null,this.cookieConsentEl=null,this.emailCaptureEl=null,this.settings={},this._playerId="",this._hasVideoStarted=!1,this._ajaxUrl=aiovg_player.ajax_url,this._ajaxNonce=aiovg_player.ajax_nonce}connectedCallback(){if(this._playerId=this.dataset.id||"",this.settings=this.dataset.params?JSON.parse(this.dataset.params):{},this.settings.hasOwnProperty("player")||(this.settings.player={}),this.settings.player.html5={vhs:{overrideNative:!videojs.browser.IS_ANY_SAFARI}},this.settings.hasOwnProperty("email_capture")&&(this.emailCaptureEl=this.querySelector(".aiovg-email-capture")),this.emailCaptureEl&&parseInt(this.emailCaptureEl.dataset.pre_roll))this._initPreRollEmailCapture();else if(this.settings.cookie_consent){this.cookieConsentEl=this.querySelector(".aiovg-privacy-wrapper");let e=this.querySelector(".aiovg-privacy-consent-button");if(this.cookieConsentEl&&null!==e){let i=this.cookieConsentEl.getAttribute("data-poster")||"";t.isValidUrl(i)&&(this.cookieConsentEl.style.backgroundImage=`url("${i}")`),e.addEventListener("click",()=>this._onCookieConsent())}else this._initPlayer()}else this._initPlayer()}disconnectedCallback(){}_onCookieConsent(){this.settings.player.autoplay=!0,this._setCookie();let e=document.querySelectorAll(".aiovg-player-element");for(let t=0;t<e.length;t++)e[t].removeCookieConsent();window.postMessage({message:"aiovg-cookie-consent"},window.location.origin)}_initPreRollEmailCapture(){this.classList.add("aiovg-show-email-capture");let e=this.emailCaptureEl.getAttribute("data-poster")||"";t.isValidUrl(e)&&(this.emailCaptureEl.style.backgroundImage=`url("${e}")`);let i=this.emailCaptureEl.querySelector("input");i&&i.focus(),this._initEmailCaptureForm(e=>{if(!this.emailCaptureEl||this.emailCaptureEl.classList.contains("aiovg-is-loading"))return!1;this.emailCaptureEl.classList.add("aiovg-is-loading");let t=new XMLHttpRequest;t.onreadystatechange=()=>{if(4==t.readyState){let e=null;if(200==t.status&&t.responseText)try{e=JSON.parse(t.responseText)}catch(i){}if(e&&e.success){this.classList.remove("aiovg-show-email-capture"),this.emailCaptureEl.remove(),this.emailCaptureEl=null,this.settings.player.autoplay=!0,this._initPlayer();let s=document.querySelectorAll(".aiovg-player-element");for(let a=0;a<s.length;a++)s[a].removeCookieConsent(),s[a].removeEmailCapture();window.postMessage({message:"aiovg-email-captured"},window.location.origin)}else{let l=this.emailCaptureEl.querySelector(".aiovg-email-capture-error");l&&(l.textContent=e&&e.data&&"string"==typeof e.data?e.data:l.getAttribute("data-error_generic"),l.style.display="block"),this.emailCaptureEl.classList.remove("aiovg-is-loading")}}},t.open("POST",this._ajaxUrl+"?action=aiovg_save_email_lead&security="+this._ajaxNonce,!0),t.setRequestHeader("Content-type","application/x-www-form-urlencoded"),t.send(e)})}_initPlayer(){if(this.player)return!1;this.player=videojs(this.querySelector("video-js"),this.settings.player),this.player.ready(()=>this._onReady()),this.player.one("loadedmetadata",()=>this._onMetadataLoaded()),this.player.on("play",()=>this._onPlay()),this.player.on("playing",()=>this._onPlaying()),this.player.on("ended",()=>this._onEnded()),this._initOffset(),this._initChapters(),this._initQualitySelector(),this._initOverlays(),this._initHotKeys(),this._initEmailCapture(),this._initContextMenu();let e={id:this._playerId,player_id:this._playerId,config:this.settings,settings:this.settings,player:this.player};this._dispatchEvent("player.init",e)}_onReady(){this.classList.remove("vjs-waiting"),this.playButtonEl=this.querySelector(".vjs-big-play-button"),null!==this.playButtonEl&&this.playButtonEl.addEventListener("click",()=>this._onPlayClicked())}_onMetadataLoaded(){let e=this.querySelector(".vjs-quality-selector");if(null!==e){let t=e.querySelectorAll(".vjs-menu-item");for(let i=0;i<t.length;i++){let s=t[i],a=s.querySelector(".vjs-menu-item-text"),l=a.innerHTML.replace(/\D/g,"");l>=2160?s.innerHTML+='<span class="vjs-quality-menu-item-sub-label">4K</span>':l>=720&&(s.innerHTML+='<span class="vjs-quality-menu-item-sub-label">HD</span>')}}if(this.settings.hasOwnProperty("tracks"))for(let r=0,n=this.settings.tracks.length;r<n;r++){let o=this.settings.tracks[r],h="";if(0==r&&1==this.settings.cc_load_policy&&(h="showing"),/srt/.test(o.src.toLowerCase()))this._addSrtTextTrack(o,h);else{let p={kind:"captions",src:o.src,label:o.label,srclang:o.srclang};h&&(p.mode=h),this.player.addRemoteTextTrack(p,!0)}}this.settings.hasOwnProperty("chapters")&&this._addMarkers()}_onPlayClicked(){this._hasVideoStarted||this.classList.add("vjs-waiting"),this.playButtonEl.removeEventListener("click",()=>this._onPlayClicked())}_onPlay(){this._hasVideoStarted||(this._hasVideoStarted=!0,this.classList.remove("vjs-waiting"),this._updateViewsCount());let e=document.querySelectorAll(".aiovg-player-element");for(let t=0;t<e.length;t++)e[t]!=this&&e[t].pause();window.postMessage({message:"aiovg-video-playing"},window.location.origin)}_onPlaying(){this.player.trigger("controlsshown")}_onEnded(){this.player.trigger("controlshidden")}_initOffset(){let e={};this.settings.hasOwnProperty("start")&&(e.start=this.settings.start),this.settings.hasOwnProperty("end")&&(e.end=this.settings.end),Object.keys(e).length>1&&(e.restart_beginning=!1,this.player.offset(e))}_initChapters(){if(!this.settings.hasOwnProperty("chapters"))return!1;let e=this;try{this.player.getDescendant(["ControlBar","ProgressControl","SeekBar","MouseTimeDisplay","TimeTooltip",]).update=function(t,i,s){let a=e.settings.chapters,l=a.findIndex(({time:t})=>t==e._formattedTimeToSeconds(s));if(l>-1){let r=a[l].label;return videojs.dom.emptyEl(this.el()),videojs.dom.appendContent(this.el(),[e._labelEl(r),e._timeEl(s)]),!1}this.write(s)}}catch(t){}}_initQualitySelector(){this.player.on("qualitySelected",(e,t)=>{let i=t.label.replace(/\D/g,"");this.player.removeClass("vjs-4k"),this.player.removeClass("vjs-hd"),i>=2160?this.player.addClass("vjs-4k"):i>=720&&this.player.addClass("vjs-hd")});let e=this.player.src();(/.m3u8/.test(e)||/.mpd/.test(e))&&-1!=this.settings.player.controlBar.children.indexOf("QualitySelector")&&this.player.qualityMenu()}_initOverlays(){let e=[];if((this.settings.hasOwnProperty("share")||this.settings.hasOwnProperty("embed"))&&e.push({content:'<button type="button" class="vjs-share-embed-button" title="Share"><span class="vjs-icon-share" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Share</span></button>',class:"vjs-share",align:"top-right",start:"controlsshown",end:"controlshidden",showBackground:!1}),this.settings.hasOwnProperty("download")){let t="vjs-download";(this.settings.hasOwnProperty("share")||this.settings.hasOwnProperty("embed"))&&(t+=" vjs-has-share"),e.push({content:'<a href="'+this.settings.download.url+'" class="vjs-download-button" title="Download" target="_blank"><span class="vjs-icon-file-download" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Download</span></a>',class:t,align:"top-right",start:"controlsshown",end:"controlshidden",showBackground:!1})}let i=this.settings.hasOwnProperty("logo"),s=this.settings.hasOwnProperty("trailer");if(i||s){let a="bottom-left",l="margin: 5px;";if(i)switch(this.settings.logo.margin&&(this.settings.logo.margin=this.settings.logo.margin-5),l="margin: "+this.settings.logo.margin+"px;",this.settings.logo.position){case"topleft":a="top-left";break;case"topright":a="top-right";break;case"bottomright":a="bottom-right"}let r=i?this.settings.logo.link:"javascript:void(0)";s&&this.settings.trailer.url&&(r=this.settings.trailer.url);let n="";i?n='<img src="'+this.settings.logo.image+'" alt="" />':s&&this.settings.trailer.url&&(n='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="#fff" aria-hidden="true"><path d="M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg>');let o='<a href="'+r+'" target="_top" style="'+l+'">'+n+(s?'<span class="vjs-logo-label">'+this.settings.trailer.label+"</span>":'<span class="vjs-control-text" aria-live="polite">Logo</span>')+"</a>";e.push({content:o,class:"vjs-logo",align:a,start:"controlsshown",end:"controlshidden",showBackground:!1})}if(e.length>0){if(this.player.overlay({content:"",overlays:e}),this.settings.hasOwnProperty("share")||this.settings.hasOwnProperty("embed")){let h={};h.content=this.querySelector(".vjs-share-embed"),h.temporary=!1;let p=videojs.getComponent("ModalDialog"),d=new p(this.player,h);d.addClass("vjs-modal-dialog-share-embed"),this.player.addChild(d);let c=!0;this.querySelector(".vjs-share-embed-button").addEventListener("click",()=>{c=!this.player.paused(),d.open()}),d.on("modalclose",()=>{c&&this.player.play()})}this.settings.hasOwnProperty("embed")&&this.querySelector(".vjs-input-embed-code").addEventListener("focus",function(){this.select(),navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(this.value).catch(()=>{}):document.execCommand("copy")})}}_initHotKeys(){this.settings.hotkeys&&this.player.hotkeys()}_initEmailCapture(){if(!this.emailCaptureEl)return!1;this.emailCaptureEl.style.backgroundImage="none",this.player.el().appendChild(this.emailCaptureEl);let e=!1,t=!1,i=()=>{if(!this.emailCaptureEl||e)return!1;e=!0,this.player&&!this.player.ended()&&(t=!this.player.paused(),this.player.pause()),this.classList.add("aiovg-show-email-capture");let i=this.emailCaptureEl.querySelector("input");i&&i.focus()},s=()=>{if(!this.emailCaptureEl||!e)return!1;e=!1,this.classList.remove("aiovg-show-email-capture"),this.emailCaptureEl.remove(),this.emailCaptureEl=null,t&&this.player.play()},a=e=>{if(!this.emailCaptureEl||this.emailCaptureEl.classList.contains("aiovg-is-loading"))return!1;this.emailCaptureEl.classList.add("aiovg-is-loading");let t=new XMLHttpRequest;t.onreadystatechange=()=>{if(4==t.readyState){let e=null;if(200==t.status&&t.responseText)try{e=JSON.parse(t.responseText)}catch(i){}if(e&&e.success){s();let a=document.querySelectorAll(".aiovg-player-element");for(let l=0;l<a.length;l++)a[l].removeCookieConsent(),a[l].removeEmailCapture();window.postMessage({message:"aiovg-email-captured"},window.location.origin)}else{let r=this.emailCaptureEl.querySelector(".aiovg-email-capture-error");r&&(r.textContent=e&&e.data&&"string"==typeof e.data?e.data:r.getAttribute("data-error_generic"),r.style.display="block"),this.emailCaptureEl.classList.remove("aiovg-is-loading")}}},t.open("POST",this._ajaxUrl+"?action=aiovg_save_email_lead&security="+this._ajaxNonce,!0),t.setRequestHeader("Content-type","application/x-www-form-urlencoded"),t.send(e)},l=parseInt(this.emailCaptureEl.dataset.mid_roll);if(l){let r=!1,n=()=>{if(!this.emailCaptureEl)return this.player.off("timeupdate",n),!1;if(r||this.settings.hasOwnProperty("ads")&&this.player.ads&&this.player.ads.isInAdMode())return!1;let e=this.player.duration(),t=this.player.currentTime();e&&t>=l/100*e&&(r=!0,this.player.off("timeupdate",n),i())};this.player.on("timeupdate",n)}let o=parseInt(this.emailCaptureEl.dataset.post_roll);o&&this.player.on("ended",()=>{i()}),this.player.on("play",()=>{if(!this.emailCaptureEl||!e)return!1;t=!0,this.player.pause()}),this.player.on("playing",()=>{if(!this.emailCaptureEl||!e)return!1;t=!0,this.player.pause()}),this._initEmailCaptureForm(e=>a(e))}_initEmailCaptureForm(e){let t=this.querySelector(".aiovg-email-capture-submit"),i=this.querySelector(".aiovg-email-capture-skip");if(t&&t.addEventListener("click",()=>{let t=this.emailCaptureEl.querySelector(".aiovg-email-capture-email"),i=this.emailCaptureEl.querySelector(".aiovg-email-capture-error"),s=t?t.value.trim():"";if(!s||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s)){if(i){let a=i.getAttribute("data-invalid_email")||"Please enter a valid email address.";i.textContent=a,i.style.display="block"}return t&&(t.classList.add("aiovg-is-invalid"),t.setAttribute("aria-invalid","true")),!1}i&&(i.style.display="none"),t&&(t.classList.remove("aiovg-is-invalid"),t.removeAttribute("aria-invalid"));let l="email="+encodeURIComponent(s),r=this.emailCaptureEl.querySelector(".aiovg-email-capture-name");r&&r.value.trim()&&(l+="&name="+encodeURIComponent(r.value.trim()));let n=this.emailCaptureEl.querySelector(".aiovg-email-capture-phone");n&&n.value.trim()&&(l+="&phone="+encodeURIComponent(n.value.trim())),"aiovg_videos"==this.settings.post_type&&this.settings.post_id?l+="&video_id="+encodeURIComponent(this.settings.post_id):(l+="&video_id=0",this.emailCaptureEl.dataset.video_url&&(l+="&video_url="+encodeURIComponent(this.emailCaptureEl.dataset.video_url))),e(l+="&page_url="+encodeURIComponent(window.location.href))}),i){let s=()=>e("skipped=1");i.addEventListener("click",s),i.addEventListener("keydown",e=>{(13===e.keyCode||32===e.keyCode)&&(e.preventDefault(),s())})}}_initContextMenu(){if(!this.settings.hasOwnProperty("contextmenu"))return!1;let e=document.querySelector("#aiovg-contextmenu");null===e&&((e=document.createElement("div")).id="aiovg-contextmenu",e.style.display="none",e.innerHTML='<div class="aiovg-contextmenu-content">'+this.settings.contextmenu.content+"</div>",document.body.appendChild(e),document.addEventListener("click",()=>{e.style.display="none"}));let t="";this.addEventListener("contextmenu",function(i){if(3==i.keyCode||3==i.which){i.preventDefault(),i.stopPropagation();let s=e.offsetWidth,a=e.offsetHeight,l=i.pageX,r=i.pageY,n=document.documentElement,o=(window.pageXOffset||n.scrollLeft)-(n.clientLeft||0),h=(window.pageYOffset||n.scrollTop)-(n.clientTop||0),p=l+s>window.innerWidth+o?l-s:l,d=r+a>window.innerHeight+h?r-a:r;e.style.display="",e.style.left=p+"px",e.style.top=d+"px",clearTimeout(t),t=setTimeout(()=>{e.style.display="none"},1500)}})}_addSrtTextTrack(e,t){let i;(i=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")).onreadystatechange=()=>{if(4==i.readyState&&200==i.status&&i.responseText){let s=this._srtToWebVTT(i.responseText);if(s){let a=new Blob([s],{type:"text/vtt"}),l=URL.createObjectURL(a),r={kind:"captions",src:l,label:e.label,srclang:e.srclang};t&&(r.mode=t),this.player.addRemoteTextTrack(r,!0)}}},i.open("GET",e.src,!0),i.send()}_srtToWebVTT(e){let t=e.replace(/\r+/g,""),i=(t=t.replace(/^\s+|\s+$/g,"")).split("\n\n"),s="";if(i.length>0){s+="WEBVTT\n\n";for(let a=0;a<i.length;a++)s+=this._convertSrtCue(i[a])}return s}_convertSrtCue(e){let t="",i=e.split(/\n/);for(;i.length>3;){for(let s=3;s<i.length;s++)i[2]+="\n"+i[s];i.splice(3,i.length-3)}let a=0;if(!i[0].match(/\d+:\d+:\d+/)&&i[1].match(/\d+:\d+:\d+/)&&(t+=i[0].match(/\w+/)+"\n",a+=1),!i[a].match(/\d+:\d+:\d+/))return"";{let l=i[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);if(!l)return"";t+=l[1]+":"+l[2]+":"+l[3]+"."+l[4]+" --> "+l[5]+":"+l[6]+":"+l[7]+"."+l[8]+"\n",a+=1}return i[a]&&(t+=i[a]+"\n\n"),t}_addMarkers(){let e=this.player.duration(),t=this.player.el_.querySelector(".vjs-progress-control .vjs-progress-holder");if(null!==t)for(let i=0;i<this.settings.chapters.length;i++){let s=document.createElement("div");s.className="vjs-marker",s.style.left=this.settings.chapters[i].time/e*100+"%",t.appendChild(s)}}_formattedTimeToSeconds(e){let t=e.split(":"),i=+t.pop();return t.reduce((e,t,i,s)=>2===s.length&&1===i?e+3600*+t:e+60*+t,i)}_timeEl(e){return videojs.dom.createEl("span",void 0,void 0,"("+e+")")}_labelEl(e){return videojs.dom.createEl("strong",void 0,void 0,e)}_dispatchEvent(t,i){e(this).trigger(t,i)}_fetch(t){e.post(this._ajaxUrl,t)}async _setCookie(){let e={action:"aiovg_set_cookie",security:this._ajaxNonce};this._fetch(e)}async _updateViewsCount(){if(this.settings.statistics&&"aiovg_videos"==this.settings.post_type){let e={action:"aiovg_update_views_count",post_id:this.settings.post_id,duration:this.player.duration()||0,security:this._ajaxNonce};this._fetch(e)}}static isValidUrl(e){if(""===e)return!1;try{return new URL(e),!0}catch(t){return!1}}removeCookieConsent(){if(!this.cookieConsentEl)return!1;this.cookieConsentEl.remove(),this.cookieConsentEl=null,this._initPlayer()}removeEmailCapture(){if(!this.emailCaptureEl)return!1;this.classList.remove("aiovg-show-email-capture"),this.emailCaptureEl.remove(),this.emailCaptureEl=null,this.player||this._initPlayer()}pause(){this.player&&this.player.pause()}seekTo(e){this.player&&(this.player.currentTime(e),this._hasVideoStarted||this.player.play())}}e(function(){customElements.get("aiovg-video")||customElements.define("aiovg-video",t),"undefined"!=typeof videojs&&videojs.hook("beforeerror",function(e,t){if(null==t)return e.error();if(2==t.code||4==t.code){let i=e.src();if(/.m3u8/.test(i)||/.mpd/.test(i))return{code:t.code,message:aiovg_player.i18n.stream_not_found}}return t}),window.addEventListener("message",function(e){if(e.origin!=window.location.origin||!e.data.hasOwnProperty("context")||"iframe"!=e.data.context||!e.data.hasOwnProperty("message"))return!1;if("aiovg-cookie-consent"==e.data.message){let t=document.querySelectorAll(".aiovg-player-element");for(let i=0;i<t.length;i++)t[i].removeCookieConsent()}if("aiovg-email-captured"==e.data.message){let s=document.querySelectorAll(".aiovg-player-element");for(let a=0;a<s.length;a++)s[a].removeEmailCapture()}if("aiovg-video-playing"==e.data.message){let l=document.querySelectorAll(".aiovg-player-element");for(let r=0;r<l.length;r++)l[r].pause()}})})}(jQuery);