%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/js/fileman/player/ |
Current File : /home/bitrix/www/bitrix/js/fileman/player/fileman_player.min.js |
(function(){BX.namespace("BX.Fileman");if(window.BX.Fileman.PlayerManager){return}BX.Fileman.PlayerManager={isStarted:false,players:[],playing:false,slider:null,addPlayer:function(e){this.players.push(e);this.bindPlayerEvents(e);if(e.autostart||e.lazyload){this.init()}},init:function(){if(this.isStarted){return}this.isStarted=true;BX.ready(BX.proxy(function(){BX.bind(window,"scroll",BX.throttle(BX.Fileman.PlayerManager.onScroll,300,BX.Fileman.PlayerManager));setTimeout(BX.delegate(BX.Fileman.PlayerManager.onScroll,BX.Fileman.PlayerManager),50);if(window!==window.top){if(BX.getClass("top.BX.SidePanel.Instance")){var e=top.BX.SidePanel.Instance.getSliderByWindow(window);if(e){this.slider=e;BX.addCustomEvent("SidePanel.Slider:onCloseComplete",BX.proxy(function(e){if(e.getSlider()===this.slider){for(var t in this.players){this.players[t].pause()}}},this))}}}},this))},bindPlayerEvents:function(e){var t=e.getEventList();if(t){for(var i=0;i<t.length;i++){BX.addCustomEvent(e,t[i],BX.proxy(function(e,t){BX.onCustomEvent(BX.Fileman.PlayerManager,"PlayerManager."+t,[e])},this))}}},onScroll:function(){if(this.players.length==0){return}var e=false;var t=false;for(var i in this.players){var s=this.players[i];if(!BX(s.id)){this.players.splice(i,1);continue}if(s.lazyload&&!s.inited){if(this.isVisibleOnScreen(s.id,2)){s.init()}}if(!s.autostart){continue}if(s.active){continue}if(s.isEnded()){continue}if(this.isVisibleOnScreen(s.id,1)){if(e===false){e=s}}else{if(s.isPlaying()){s.pause()}}if(s.isPlaying()){t=true}}if(t){return}if(e!==false){if(!e.inited){e.autostart=true}else if(e.isReady()&&!e.isEnded()){e.mute(true);BX.addCustomEvent(e,"Player:onClick",BX.proxy(e.disableMute,e));e.play()}}},getElementCoords:function(e){var t=.25;var i=BX(e).getBoundingClientRect();var s=i.bottom-i.top;var r=i.top+t*s;var a=i.bottom-t*s;var n=i.right-i.left;var o=i.left+t*n;var l=i.right-t*n;coords={top:r+window.pageYOffset,bottom:a+window.pageYOffset,left:o+window.pageXOffset,right:l+window.pageXOffset,originTop:r,originLeft:o,originBottom:a,originRight:l};return coords},isVisibleOnScreen:function(e,t){var i,s=false;var r=this.getElementCoords(e);var a=document.documentElement.clientHeight;var n=window.pageYOffset||document.documentElement.scrollTop;var o=n+a;if(t){t=parseInt(t)}if(t>1){n-=a*(t-1);o+=a*(t-1)}var l=r.top>n&&r.top<o;var h=r.bottom<o&&r.bottom>n;i=l||h;if(i&&t>1){return true}if(!i){return false}var y=BX(e);var f=r.originLeft+(r.originRight-r.originLeft)/2;var u=r.originTop+(r.originBottom-r.originTop)/2+20;var p=document.elementFromPoint(f,u);if(!!p){if(p===y||p.parentNode===y||p.parentNode.parentNode===y){s=true}}return i&&s},getPlayerById:function(e){if(!e){return null}for(var t in this.players){if(this.players[t].id===e){return this.players[t]}}return null}};BX.Fileman.Player=function(e,t){this.inited=false;this.id=e;this.fillParameters(t);BX.Fileman.PlayerManager.addPlayer(this);this.fireEvent("onCreate");BX.bind(BX(this.id),"click",BX.proxy(this.onClick,this));BX.bind(BX(this.id),"keydown",BX.proxy(this.onKeyDown,this))};BX.Fileman.Player.prototype.onClick=function(){var e=BX.findChildByClassName(this.getElement(),"vjs-play-control");if(e){e.focus()}this.active=true;this.fireEvent("onClick")};BX.Fileman.Player.prototype.isPlaying=function(){if(this.vjsPlayer){return this.vjsPlayer.isReady_&&!this.vjsPlayer.paused()}return false};BX.Fileman.Player.prototype.pause=function(){try{this.vjsPlayer.pause()}catch(e){}this.fireEvent("onPause")};BX.Fileman.Player.prototype.isEnded=function(){if(this.vjsPlayer){return this.vjsPlayer.ended()}return false};BX.Fileman.Player.prototype.isReady=function(){return this.vjsPlayer.isReady_};BX.Fileman.Player.prototype.play=function(){this.setPlayedState();try{this.vjsPlayer.play()}catch(e){}this.fireEvent("onPlay")};BX.Fileman.Player.prototype.setPlayedState=function(){var e=this.__getStorageHash();if(BX.localStorage){BX.localStorage.set(e,"played",1209600)}};BX.Fileman.Player.prototype.isPlayed=function(){var e=this.__getStorageHash();if(BX.localStorage){return BX.localStorage.get(e)==="played"}return true};BX.Fileman.Player.prototype.__getStorageHash=function(){var e=this.id;if(this.params.sources&&BX.type.isArray(this.params.sources)&&this.params.sources[0].src){e=this.params.sources[0].src}return"player_"+e};BX.Fileman.Player.prototype.getElement=function(){return BX(this.id)};BX.Fileman.Player.prototype.createElement=function(){var e=this.getElement();if(e){return e}if(!this.id){return null}var t="video";if(this.isAudio){t="audio"}var i="video-js vjs-big-play-centered";if(this.skin){i+=" "+this.skin}var s={id:this.id,className:i,width:this.width,height:this.height,controls:true};if(this.muted){s["muted"]=true}e=BX.create(t,{attrs:s});if(this.params.sources){if(BX.type.isArray(this.params.sources)){for(var r in this.params.sources){if(!this.params.sources[r].src||!this.params.sources[r].type){continue}var a=BX.create("source",{attrs:{src:this.params.sources[r].src,type:this.params.sources[r].type}});BX.append(a,e)}}}return e};BX.Fileman.Player.prototype.fillParameters=function(e){this.autostart=e.autostart||false;this.hasFlash=e.hasFlash||false;if(e.playbackRate&&!e.hasFlash){e.playbackRate=parseInt(e.playbackRate);if(e.playbackRate!=1){if(e.playbackRate<=0){e.playbackRate=1}if(e.playbackRate>3){e.playbackRate=3}}if(e.playbackRate!=1){this.playbackRate=e.playbackRate}}this.volume=e.volume||.8;this.playlistParams=e.playlistParams||false;this.startTime=e.startTime||0;this.wmvConfig=e.wmvConfig||false;this.onInit=e.onInit;this.lazyload=e.lazyload;this.skin=e.skin||"";this.params=e;this.active=this.isPlayed();this.width=e.width||400;this.isAudio=e.isAudio||false;if(this.isAudio){this.height=e.height||30}else{this.height=e.height||300}};BX.Fileman.Player.prototype.onKeyDown=function(e){if(e.which==32){this.onClick();if(this.isPlaying()){this.pause()}else{this.play()}e.preventDefault();e.stopPropagation();return false}this.fireEvent("onKeyDown")};BX.Fileman.Player.prototype.setSource=function(e){if(!e){return false}this.vjsPlayer.src(e);this.fireEvent("onSetSource")};BX.Fileman.Player.prototype.getSource=function(){return this.vjsPlayer.src()};BX.Fileman.Player.prototype.init=function(){this.fireEvent("onBeforeInit");if(videojs.players[this.id]){delete videojs.players[this.id]}this.vjsPlayer=videojs(this.id,this.params);this.vjsPlayer.on("error",BX.proxy(function(){if(BX.type.isArray(this.params.sources)&&this.params.sources.length>1){for(var e in this.params.sources){if(this.params.sources.hasOwnProperty(e)){if(this.getAbsoluteURL(this.params.sources[e].src)===this.getSource()&&this.params.sources.length>e+1){console.log("set source");this.setSource(this.params.sources[parseInt(e+1)]);return}}}}this.fireEvent("onError");if(!this.isFlashErrrorShown&&this.hasFlash){this.isFlashErrrorShown=true;var t=this.vjsPlayer.error();if(t&&t.code===4){t.message=t.message+". "+BX.message("PLAYER_FLASH_CHECK");this.vjsPlayer.errorDisplay.content(t.message)}}},this));if(this.hasFlash){setTimeout(BX.proxy(function(){if(!this.inited){this.vjsPlayer.error(BX.message("PLAYER_FLASH_REQUIRED"));this.inited=true}},this),3e3)}this.vjsPlayer.ready(BX.proxy(function(){var e=BX.findChildByClassName(BX(this.id),"vjs-play-control");if(e){e.addEventListener("click",BX.proxy(this.onClick,this))}this.vjsPlayer.volume(this.volume);this.vjsPlayer.one("play",BX.proxy(function(){if(this.playbackRate!=1){this.vjsPlayer.playbackRate(this.playbackRate)}if(this.volume){this.vjsPlayer.volume(this.volume)}if(this.startTime>0){try{this.vjsPlayer.currentTime(this.startTime);var e=BX.findChild(BX(this.id),{class:"vjs-loading-spinner"},false);if(e){e.remove()}}catch(e){}}},this));if(this.playlistParams){this.vjsPlayer.playlist(this.playlistParams)}if(this.wmvConfig){this.vjsPlayer.wmvConfig=this.wmvConfig}this.inited=true;if(BX.type.isFunction(this.onInit)){this.onInit(this)}this.fireEvent("onAfterInit");this.proxyEvents()},this))};BX.Fileman.Player.prototype.getEventList=function(){return["Player:onBeforeInit","Player:onAfterInit","Player:onCreate","Player:onSetSource","Player:onKeyDown","Player:onPlay","Player:onPause","Player:onClick","Player:onError","Player:onEnded"]};BX.Fileman.Player.prototype.fireEvent=function(e){if(BX.type.isNotEmptyString(e)){e="Player:"+e;BX.onCustomEvent(this,e,[this,e])}};BX.Fileman.Player.prototype.mute=function(e){return this.vjsPlayer.muted(e)};BX.Fileman.Player.prototype.disableMute=function(){BX.removeCustomEvent(this,"Player:onClick",BX.proxy(this.disableMute,this));setTimeout(BX.proxy(function(){this.mute(false)},this),100)};BX.Fileman.Player.prototype.proxyEvents=function(){if(!this.inited){return}this.vjsPlayer.on("play",BX.proxy(function(){this.fireEvent("onPlay")},this));this.vjsPlayer.on("pause",BX.proxy(function(){this.fireEvent("onPause")},this));this.vjsPlayer.on("ended",BX.proxy(function(){this.fireEvent("onEnded")},this))};BX.Fileman.Player.prototype.getAbsoluteURL=function(e){if(!e.match(/^https?:\/\//)){var t=document.createElement("div");t.innerHTML='<a href="'+e+'">x</a>';e=t.firstChild.href}return e}})(window); //# sourceMappingURL=fileman_player.map.js