define(["exports","./../emby-apiclient/connectionmanager.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-input/emby-input.js","./../emby-elements/emby-scroller/emby-scroller.js","./../emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../loading/loading.js","./../dialoghelper/dialoghelper.js","./../layoutmanager.js","./../dom.js","./../common/globalize.js","./../common/usersettings/usersettings.js","./../focusmanager.js","./../common/playback/playbackmanager.js","./../listview/listview.js","./../dialog/dialog.js","./../common/textencoding.js"],function(_exports,_connectionmanager,_embyButton,_embyInput,_embyScroller,_embyItemscontainer,_loading,_dialoghelper,_layoutmanager,_dom,_globalize,_usersettings,_focusmanager,_playbackmanager,_listview,_dialog,_textencoding){function showToast(options){Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function AddToList(){}function onItemAction(e){e=e.detail.item;"Playlist"!==e.Type&&"BoxSet"!==e.Type||("new"===e.Id?function(){this.result="new",this.closeDialog()}.call(this):this.addToList(e))}function initAlphaNumericShortcuts(instance){require(["alphaNumericShortcuts"],function(AlphaNumericShortcuts){instance.alphaNumericShortcuts=new AlphaNumericShortcuts({itemsContainer:instance.itemsContainer}),instance.alphaNumericShortcuts.onAlphaNumericValueEntered=function(value){!function(instance,value,focus){value&&"#"!==value?instance.getItems({Limit:0}).then(function(totalResult){instance.getItems({Limit:0,NameStartsWithOrGreater:value}).then(function(result){instance.itemsContainer.scrollToIndex(Math.max(totalResult.TotalRecordCount-result.TotalRecordCount,0),{},focus)})}):instance.itemsContainer.scrollToIndex(0,{},focus)}(this,(this.scroller,this.view,value),!0)}.bind(instance)})}function onRecentItemsContainerUpgraded(){this.recentItemsContainer.resume({refresh:!0})}function onAllItemsContainerUpgraded(){this.itemsContainer.resume({refresh:!0}).then(function(){var dlg=this.dlg;_focusmanager.default.autoFocus(dlg,{skipIfNotEnabled:!0})}.bind(this))}function mapItem(i){return i.Id}function notifyAddedToList(listName,listType,numItems){listName=_textencoding.default.htmlEncode(listName);numItems=1===numItems?_globalize.default.translate("OneItemAddedTo",listName):_globalize.default.translate("ItemsAddedTo",numItems,listName);showToast({text:"Playlist"===listType?_globalize.default.translate("HeaderAddedToPlaylist"):_globalize.default.translate("HeaderAddedToCollection"),secondaryText:numItems,icon:""})}function onAddedToList(type,id){"Playlist"===type?_usersettings.default.set("playlisteditor-lastplaylistid",id):"Collection"===type&&_usersettings.default.set("collectioneditor-lastcollectionid",id)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons","formDialogStyle"]),AddToList.prototype.getRecentItems=function(query){var lastListId,options=this.options,type=options.type;return"Playlist"===type?lastListId=_usersettings.default.get("playlisteditor-lastplaylistid"):"Collection"===type&&(lastListId=_usersettings.default.get("collectioneditor-lastcollectionid")),lastListId?(type=_connectionmanager.default.getApiClient(options.items[0])).getItem(type.getCurrentUserId(),lastListId).then(function(item){return Promise.resolve({Items:[item],TotalRecordCount:1})},function(){return Promise.resolve({Items:[],TotalRecordCount:0})}):Promise.resolve({Items:[],TotalRecordCount:0})},AddToList.prototype.getItems=function(query){var options=this.options,apiClient=_connectionmanager.default.getApiClient(options.items[0]),buttonText="Collection"===options.type?_globalize.default.translate("HeaderNewCollection"):_globalize.default.translate("HeaderNewPlaylist");return(query=Object.assign({Recursive:!0,IncludeItemTypes:"Collection"===options.type?"Boxset":options.type,SortBy:"SortName",Fields:"PrimaryImageAspectRatio",EnableUserData:!1},query)).StartIndex&&query.StartIndex--,apiClient.getItems(apiClient.getCurrentUserId(),query).then(function(result){return!query.StartIndex&&query.Limit&&result.Items.unshift({Name:buttonText,Id:"new",Type:"Playlist",ServerId:apiClient.serverId(),IsFolder:!0,Icon:"add",Prefix:"0",iconClass:"accentText"}),!1===query.EnableTotalRecordCount||query.NameStartsWithOrGreater&&isNaN(query.NameStartsWithOrGreater[0])||result.TotalRecordCount++,result})},AddToList.prototype.getCardOptions=function(items){return{enableDefaultIcon:!0,action:"custom",fields:["Name"],draggable:!1,multiSelect:!1,contextMenu:!1,hoverPlayButton:!1,imageSize:"Collection"===this.options.type||_layoutmanager.default.tv?"smaller":"small",enableUserDataButtons:!1,mediaInfo:!1}},AddToList.prototype.getListOptions=function(items){return{renderer:_listview.default,options:this.getCardOptions(items),virtualScrollLayout:"vertical-list"}},AddToList.prototype.show=function(options){var dialogOptions={removeOnClose:!0,scrollY:!1,autoFocus:!1},dialogOptions=(_layoutmanager.default.tv?dialogOptions.size="fullscreen":dialogOptions.size="small",_dialoghelper.default.createDialog(dialogOptions)),html=(dialogOptions.classList.add("formDialog"),""),html=(html=(html=(html=(html=html+'
'+'')+'

'+("Collection"===options.type?_globalize.default.translate("HeaderAddToCollection"):_globalize.default.translate("HeaderAddToPlaylist")))+"

"+"
")+function(options){var html="",scrollerStyle="width:100%;",scrollerStyle=(_layoutmanager.default.tv&&(scrollerStyle+="max-width:70ch;"),html=(html=(html=(html=(html=html+'
'+('
'))+'
'+'
')+('

'+_globalize.default.translate("Recent")+"

"))+'
'+"
")+"
"+'

',"Collection"===options.type?_globalize.default.translate("AllCollections"):_globalize.default.translate("AllPlaylists"));return html=(html=(html=(html+=scrollerStyle)+"

"+'
')+"
"+"
")+"
"+"
"}(options),dialogOptions.innerHTML=html,this.dlg=dialogOptions,this.options=options,dialogOptions.querySelector(".btnCancel").addEventListener("click",function(){this.result=null,this.closeDialog()}.bind(this)),dialogOptions.querySelector(".btnQueue")),options=(html&&html.addEventListener("click",function(){this.result="queue",this.closeDialog()}.bind(this)),dialogOptions.querySelector(".allItemsContainer")),html=(options.addEventListener("action-null",onItemAction.bind(this)),options.fetchData=this.getItems.bind(this),options.getListOptions=this.getListOptions.bind(this),this.itemsContainer=options,dialogOptions.querySelector(".recentItemsContainer")),options=(html.addEventListener("action-null",onItemAction.bind(this)),html.fetchData=this.getRecentItems.bind(this),html.getListOptions=this.getListOptions.bind(this),html.parentContainer=html.closest(".verticalSection"),this.recentItemsContainer=html,dialogOptions.addEventListener("opened",function(){var recentItemsContainer=this.recentItemsContainer;recentItemsContainer.resume?onRecentItemsContainerUpgraded.call(this):_dom.default.addEventListener(recentItemsContainer,"upgraded",onRecentItemsContainerUpgraded.bind(this),{once:!0}),(recentItemsContainer=this.itemsContainer).resume?onAllItemsContainerUpgraded.call(this):_dom.default.addEventListener(recentItemsContainer,"upgraded",onAllItemsContainerUpgraded.bind(this),{once:!0}),initAlphaNumericShortcuts(this)}.bind(this)),function(){var result=this.result,options=this.options;return result?"new"===result?this.newList():("queue"===result&&(_playbackmanager.default.queue({serverId:_connectionmanager.default.getApiClient(options.items[0]).serverId(),ids:this.getItemIds()}),showToast({text:_globalize.default.translate("HeaderAddedToPlayQueue"),icon:""})),this.cleanup(),Promise.resolve()):(this.cleanup(),Promise.reject())}.bind(this));return _dialoghelper.default.open(dialogOptions).then(options,options)},AddToList.prototype.getItemIds=function(){return this.options.items.map(mapItem)},AddToList.prototype.addToList=function(list){var apiClient=_connectionmanager.default.getApiClient(list.ServerId),itemIds=this.getItemIds(),instance=this,userId=apiClient.getCurrentUserId();return function(apiClient,userId,type,id,addIds){return"Playlist"!==type?Promise.resolve():apiClient.getAddToPlaylistInfo(userId,id,addIds).then(function(result){return result.ContainsDuplicates?((result={text:1