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+='
"}(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});