1 line
5.8 KiB
JavaScript
1 line
5.8 KiB
JavaScript
define(["exports","./../modules/common/playback/playbackmanager.js","./../modules/common/globalize.js","./../modules/layoutmanager.js","./../modules/listview/listview.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-elements/emby-button/paper-icon-button-light.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js"],function(_exports,_playbackmanager,_globalize,_layoutmanager,_listview,_embyScroller,_paperIconButtonLight,_embyItemscontainer){function OsdPlayQueue(options){options=(this.options=options).parent;options.classList.add("osdPlayQueue-autosmall"),function(parent){var html="",html=(html=(html=(html+='<div is="emby-scroller" class="flex flex-grow osdPlaylist-scroller osdPlaylist" data-mousewheel="true" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true">')+'<div class="scrollSlider osdPlaylist-scrollSlider flex-grow flex-direction-column padded-left padded-right">'+'<div class="flex flex-shrink-zero flex-direction-row align-items-center" style="padding: 0 0 1em 0;">')+('<h3 class="flex-shrink-zero" style="margin:0;">'+_globalize.default.translate("HeaderPlayQueue")+"</h3>")+'<div class="flex flex-grow flex-direction-column justify-content-center align-items-flex-start" style="padding:0 .25em;">')+(' <button is="paper-icon-button-light" class="btnPlayQueueMode toggleButton" title="'+_globalize.default.translate("HeaderRepeatMode")+'" aria-label="'+_globalize.default.translate("HeaderRepeatMode")+'">\n <i class="md-icon toggleButtonIcon"></i>\n </button>');parent.innerHTML=html=(html=(html=html+"</div>"+"</div>")+'<div is="emby-itemscontainer" class="flex-grow flex-direction-column vertical-list itemsContainer osdPlaylistItemsContainer" data-skipplaycommands="true" data-dragreorder="true" data-virtualscrolllayout="vertical-grid">'+"</div>")+"</div>"+"</div>"}(options),this.playlistElement=options.querySelector(".osdPlaylist"),this.itemsContainer=options.querySelector(".itemsContainer"),this.itemsContainer.fetchData=function(query){return this.empty||!this.currentPlayer?Promise.resolve({Items:[],TotalRecordCount:0}):_playbackmanager.default.getPlaylist(query||{},this.currentPlayer)}.bind(this),this.itemsContainer.afterRefresh=function(){this.setScrollToTrack=!0,this.scrollToTrack&&(this.scrollToTrack=null,this.scrollCurrentTrackToTop())}.bind(this),this.itemsContainer.getListOptions=function(items){return{renderer:_listview.default,options:{smallIcon:!0,action:"setplaylistindex",playAction:"setplaylistindex",fields:["Name","ParentName"],enableUserDataButtons:!1,moreButton:!1,removeFromPlayQueueButton:!0,dragHandle:!_layoutmanager.default.tv,playQueueIndicator:!0,autoHideBorderOnTouch:!0,hideMoreButtonOnTouch:!0,autoMoveParentName:!0},virtualScrollLayout:"vertical-list"}}.bind(this),this.itemsContainer.scrollResizeObserver=!0,this.itemsContainer.addEventListener("itemdrop",function(e){var newIndex=e.detail.newIndex,e=e.detail.item.PlaylistItemId;_playbackmanager.default.movePlaylistItem(e,newIndex,this.currentPlayer)}.bind(this)),this.btnRepeatMode=options.querySelector(".btnPlayQueueMode"),this.btnRepeatMode.addEventListener("click",function(e){var player=this.currentPlayer;player&&_playbackmanager.default.toggleRepeatMode(player)}.bind(this))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!videoosd/playqueue.css"]),OsdPlayQueue.prototype.scrollCurrentTrackToTop=function(){var itemsContainer,index=_playbackmanager.default.getCurrentPlaylistIndex(this.currentPlayer);-1!==index&&(itemsContainer=this.playlistElement.querySelector(".itemsContainer"))&&itemsContainer.scrollToIndex(index,{behavior:"instant",skipWhenVisible:!0},!1)},OsdPlayQueue.prototype.setPausedState=function(paused){var elem=this.playlistElement.querySelector(".playlistIndexIndicatorImage");elem&&(paused?elem.classList.add("playlistIndexIndicatorImage-paused"):elem.classList.remove("playlistIndexIndicatorImage-paused"))},OsdPlayQueue.prototype.updatePlaylist=function(player,playlistItemId,playlistIndex,playlistLength){this.currentPlayer=player,!1!==this.setScrollToTrack&&(this.scrollToTrack=!0),this.empty=!playlistLength,this.refreshItems()},OsdPlayQueue.prototype.onPlaybackStopped=function(){this.empty=!0,this.refreshItems()},OsdPlayQueue.prototype.refreshItems=function(){this.itemsContainer.refreshItems?this.itemsContainer.refreshItems():setTimeout(this.refreshItems.bind(this),100)},OsdPlayQueue.prototype.onPlaylistItemMoved=function(player,e,info){this.itemsContainer.refreshItems()},OsdPlayQueue.prototype.onPlaylistItemRemoved=function(player,e,info){this.itemsContainer.refreshItems()},OsdPlayQueue.prototype.updateRepeatModeDisplay=function(repeatMode){var btnRepeatMode=this.btnRepeatMode,icon=btnRepeatMode.querySelector("i");"RepeatAll"===repeatMode?(icon.innerHTML="",icon.classList.add("toggleButtonIcon-active"),btnRepeatMode.classList.add("toggleButton-active")):"RepeatOne"===repeatMode?(icon.innerHTML="",icon.classList.add("toggleButtonIcon-active"),btnRepeatMode.classList.add("toggleButton-active")):(icon.innerHTML="",icon.classList.remove("toggleButtonIcon-active"),btnRepeatMode.classList.remove("toggleButton-active"))},OsdPlayQueue.prototype.pause=function(){this.paused=!0,this.itemsContainer.pause&&this.itemsContainer.pause()},OsdPlayQueue.prototype.resume=function(options){return this.paused=!1,this.itemsContainer.resume?this.itemsContainer.resume():(this.itemsContainer.addEventListener("upgraded",function(e){e.target.resume(this)}.bind(options)),Promise.resolve())},OsdPlayQueue.prototype.destroy=function(){var options=this.options;options&&(options=options.parent)&&(options.innerHTML=""),this.options=null,this.currentPlayer=null,this.itemsContainer=null,this.playlistElement=null,this.btnRepeatMode=null},_exports.default=OsdPlayQueue}); |