filesafe/dist/js/player.js

3 lines
3.7 KiB
JavaScript
Raw Normal View History

var lsKeys={},page={urlPrefix:null,urlIdentifier:null,urlInput:document.querySelector("#identifier"),reloadBtn:document.querySelector("#reloadBtn"),downloadBtn:document.querySelector("#downloadBtn"),uploadRoot:null,titleFormat:null,videoContainer:document.querySelector("#playerContainer"),player:null};window.HELP_IMPROVE_VIDEOJS=!1,page.onError=function(e){console.error(e);var r=document.createElement("div");return r.innerHTML="\n <p><code>"+e.toString()+"</code></p>\n <p>Please check your console for more information.</p>\n ",swal({title:"An error occurred!",icon:"error",content:r})},page.onAxiosError=function(e){var r={520:"Unknown Error",521:"Web Server Is Down",522:"Connection Timed Out",523:"Origin Is Unreachable",524:"A Timeout Occurred",525:"SSL Handshake Failed",526:"Invalid SSL Certificate",527:"Railgun Error",530:"Origin DNS Error"}[e.response.status]||e.response.statusText,o=e.response.data&&e.response.data.description?e.response.data.description:"";return swal(e.response.status+" "+r,o,"error")},page.toggleReloadBtn=function(e){e?(page.reloadBtn.classList.remove("is-loading"),page.reloadBtn.removeAttribute("disabled")):(page.reloadBtn.classList.add("is-loading"),page.reloadBtn.setAttribute("disabled","disabled"))},page.reloadVideo=function(){if(page.urlInput.value){page.toggleReloadBtn(!1);var e=page.uploadRoot+"/"+page.urlInput.value;axios.head(e).then((function(r){if(![200,304].includes(r.status))return page.toggleReloadBtn(!0),page.onAxiosError(r);var o=r.headers["content-type"]||"",t=o.startsWith("video/"),a=o.startsWith("audio/");if(!t&&!a)return page.toggleReloadBtn(!0),swal("An error occurred!","The requested upload does not appear to be a media file.","error");page.urlIdentifier=page.urlInput.value,page.player&&(page.player.dispose(),page.videoContainer.innerHTML="");var n=document.createElement("video-js");n.id="video-js",n.className="video-js vjs-default-skin vjs-fluid vjs-big-play-centered",n.setAttribute("controls",!0),n.setAttribute("preload","auto"),page.videoContainer.appendChild(n);var i={language:"en",playbackRates:[.25,.5,.75,1,1.25,1.5,1.75,2],responsive:!0};a&&(i.plugins={wavesurfer:{backend:"WebAudio",responsive:!0}}),page.player=videojs("video-js",i,(function(){var r="Using video.js "+videojs.VERSION;a&&(r+=" with videojs-wavesurfer "+videojs.getPluginVersion("wavesurfer")+" and wavesurfer.js "+WaveSurfer.VERSION),videojs.log(r),page.player.src({src:e,type:o})})),page.player.seekButtons({forward:10,back:10}),page.titleFormat&&(document.title=page.titleFormat.replace(/%identifier%/g,page.urlIdentifier)),page.downloadBtn&&page.downloadBtn.setAttribute("href",e),window.history.pushState(null,null,page.urlPrefix+page.urlIdentifier),page.toggleReloadBtn(!0)})).catch((function(e){page.toggleReloadBtn(!0),void 0!==e.response?page.onAxiosError(e):page.onError(e)}))}},window.addEventListener("DOMContentLoaded",(function(){var e=document.querySelector("#mainScript");if(e&&void 0!==e.dataset.uploadRoot){page.uploadRoot=e.dataset.uploadRoot,page.titleFormat=e.dataset.titleFormat;var r=window.location.protocol+"//"+window.location.host,o=window.location.pathname.match(/.*\/(.*)$/);if(!o||!o[1])return swal("An error occurred!","Failed to parse upload identifier from URL.","error");if(page.urlIdentifier=o[1],r+=window.location.pathname.substring(0,window.location.pathname.indexOf(o[1])),page.urlPrefix=r,page.urlInput){page.urlInput.value=page.urlIdentifier;var t=document.querySelector("#inputForm");t.addEventListener("submit",(function(e){e.preventDefault()})),page.videoContainer&&(page.reloadBtn=document.querySelector("#reloadBtn"),page.reloadBtn&&page.reloadBtn.addEventListener("click",(function(e){t.checkValidity()&&page.reloadVideo()})),page.reloadVideo())}}}));
//# sourceMappingURL=player.js.map