define(["exports","./dom.js","./common/globalize.js","./loading/loading.js","./approuter.js","./common/appsettings.js","./common/playback/playbackmanager.js","./emby-apiclient/connectionmanager.js","./common/itemmanager/itemmanager.js","./formhelper.js"],function(_exports,_dom,_globalize,_loading,_approuter,_appsettings,_playbackmanager,_connectionmanager,_itemmanager,_formhelper){function showPrompt(options){return Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)})}function showAlertAndResolve(options){return function(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}(options).catch(function(){return Promise.resolve()})}function showConfirm(options){return Emby.importModule("./modules/common/dialogs/confirm.js").then(function(confirm){return confirm(options)})}function downloadItems(items,options){var apiClient=_connectionmanager.default.getApiClient(items[0]);if(options=options||{},"RemoteSubtitle"===items[0].Type)return function(item,apiClient){return _loading.default.show(),apiClient.downloadSubtitles(item.ItemId,item.MediaSourceId,item.Id).then(function(result){return _loading.default.hide(),showToast(_globalize.default.translate("SubtitlesDownloaded")),result},_formhelper.default.handleErrorResponse)}(items[0],apiClient);for(var urls,downloadUrls=[],i=0,length=items.length;i"}function showLyrics(item){var apiClient=_connectionmanager.default.getApiClient(item);return apiClient.getItem(apiClient.getCurrentUserId(),item.Id).then(function(item){var mediaSource=item.MediaSources[0],stream=function(item,mediaSource){return mediaSource.MediaStreams.filter(function(s){return"Subtitle"===s.Type&&s.Index===item.DefaultSubtitleStreamIndex})[0]||mediaSource.MediaStreams.filter(function(s){return"Subtitle"===s.Type})[0]}(item,mediaSource);return apiClient.getJSON(apiClient.getUrl("Items/"+item.Id+"/"+mediaSource.Id+"/Subtitles/"+stream.Index+"/Stream.js")).then(function(result){return showAlertAndResolve({html:result.TrackEvents.map(getLyricsTrackEventHtml).join(""),confirmButton:!1,title:_itemmanager.default.getDisplayName(item),centerText:!1,confirmText:_globalize.default.translate("Close"),item:item})})})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default={executeCommand:function(command,items,options){var apiClient,virtualFolder,button,item=items[0];if("open"===command||"link"===command){if("photo"!==item.MediaType)return showItem(item,options);command="play"}if("download"===command)return downloadItems(items,options);if("identify"===command)return function(item){return require(["itemIdentifier"]).then(function(responses){return responses[0].show(item)})}(item);if("resetmetadata"===command)return function(items){return require(["itemIdentifier"]).then(function(responses){return responses[0].resetMetadata(items)})}(items);if("preview"===command)return function(item){var apiClient=_connectionmanager.default.getApiClient(item),url="RemoteSubtitle"===item.Type?apiClient.getUrl("Providers/Subtitles/Subtitles/"+item.Id):apiClient.getUrl("Videos/"+item.ItemId+"/"+item.MediaSourceId+"/Subtitles/"+item.Index+"/Stream."+item.Codec);return apiClient.getText(url).then(function(result){return showAlertAndResolve({preFormattedText:_dom.default.stripScripts(result),confirmButton:!1,title:_globalize.default.translate("Subtitles"),item:item})})}(item);if("removefromresume"===command)return removeFromResume(items);if("removefromnextup"===command)return removeFromResume(items);if("playtrailer"===command)return function(item){var apiClient=_connectionmanager.default.getApiClient(item);return apiClient.getLocalTrailers(apiClient.getCurrentUserId(),item.Id).then(function(trailers){_playbackmanager.default.play({items:trailers})})}(item);if("connecttoserver"===command)return function(item){return"AddServer"===item.Type||"Downloads"===item.Type?_approuter.default.showItem(item):"EmbyConnect"===item.Type?_approuter.default.showConnectLogin():(_loading.default.show(),item=_connectionmanager.default.getServerInfo(item.Id)||item,_connectionmanager.default.connectToServer(item,{enableAutoLogin:_appsettings.default.enableAutoLogin()}).then(function(result){return _approuter.default.handleConnectionResult(result)}))}(item);if("setplaylistindex"===command)return _playbackmanager.default.setCurrentPlaylistItem(item.PlaylistItemId);if("multiselect"===command)return function(options){return options.positionTo.closest(".itemsContainer").showMultiSelect(options.positionTo,!0),Promise.resolve()}(options);if("wakeserver"===command)return wakeServer(_connectionmanager.default.getApiClient(item));switch(command){case"delete":case"canceltimer":case"cancelseriestimer":return _itemmanager.default.deleteItems({items:items,navigate:options.navigateOnDelete||!1,positionTo:options.positionTo});case"edit":return function(items,options){var item=items[0];return"Device"===item.Type||"User"===item.Type||"ActiveSession"===item.Type||"SeriesTimer"===item.Type||"Timer"===item.Type||"LiveTVTunerDevice"===item.Type||"LiveTVGuideSource"===item.Type?showItem(item,options):_itemmanager.default.editItems(items,options)}(items,options);case"editimages":return function(item){return require(["imageEditor"]).then(function(responses){return responses[0].show({itemId:item.Id,serverId:item.ServerId})})}(item);case"instantmix":return _playbackmanager.default.instantMix(item);case"shuffle":return _playbackmanager.default.shuffle(item);case"playallfromhere":return playAllFromHere(options.itemElement,item.ServerId);case"queueallfromhere":return playAllFromHere(options.itemElement,item.ServerId,!0);case"play":return play(items,!0);case"playfrombeginning":return play(items,!1);case"resume":case"playpause":return play(items,!0);case"queue":return play(items,!1,!0);case"queuenext":return play(items,!1,!0,!0);case"artist":return _approuter.default.showItem(item.ArtistItems[0].Id,item.ServerId),Promise.resolve();case"album":return _approuter.default.showItem(item.AlbumId,item.ServerId),Promise.resolve();case"series":return _approuter.default.showItem(item.SeriesId,item.ServerId),Promise.resolve();case"season":return _approuter.default.showItem(item.SeasonId,item.ServerId),Promise.resolve();case"overview":return showAlertAndResolve(_dom.default.stripScripts(item.Overview||""));case"programlink":var program=item.CurrentProgram||item;return program.ServerId||(program.ServerId=item.ServerId),showItem(program,options);case"addtoplaylist":return _itemmanager.default.addToPlaylist(items,options);case"addtocollection":return _itemmanager.default.addToCollection(items,options);case"markplayed":return function(items){var apiClient=_connectionmanager.default.getApiClient(items[0]);return apiClient.markPlayed(apiClient.getCurrentUserId(),items.map(mapToId))}(items);case"markunplayed":return function(items){var apiClient=_connectionmanager.default.getApiClient(items[0]);return apiClient.markUnplayed(apiClient.getCurrentUserId(),items.map(mapToId))}(items);case"favorite":return markFavorite(items,!0);case"unfavorite":return markFavorite(items,!1);case"searchimageproviders":return function(item){return require(["imageDownloader"]).then(function(responses){return(new responses[0]).show({item:item.OwnerItem,imageType:item.ImageType})})}(item);case"addimage":return function(item){return require(["imageUploader"]).then(function(responses){return responses[0].show({imageType:item.ImageType,item:item.OwnerItem})})}(item);case"moveimageleft":return moveImage(item,0,item.ImageIndex-1);case"moveimageright":return moveImage(item,0,item.ImageIndex+1);case"addimagefromurl":return function(item){return showPrompt({title:_globalize.default.translate(item.ImageTag?"HeaderSetImageFromUrl":"HeaderAddImageFromUrl"),label:_globalize.default.translate("LabelUrl")}).then(function(url){return _connectionmanager.default.getApiClient(item).updateItemImageFromUrl(item.Id,item.ImageType,item.ImageIndex,url).catch(_formhelper.default.handleErrorResponse)})}(item);case"togglechanneldisabled":return function(item,options){var apiClient;return options.eventType&&"change"===options.eventType?(options=options.eventTarget.checked,apiClient=_connectionmanager.default.getApiClient(item),_loading.default.show(),apiClient.setChannelDisabled(item,!options).then(function(updatedChannel){_loading.default.hide()})):Promise.resolve()}(item,options);case"toggleitemselected":return function(item,options){var checked;return options.eventType&&"change"===options.eventType&&(checked=options.eventTarget.checked,item.Selected=checked,checked=options.itemElement)&&(options=checked.closest(".itemsContainer"))&&-1!==(checked=options.indexOfElement(checked))&&options.onItemUpdated(checked,item),Promise.resolve()}(item,options);case"togglecheckbox":return function(options){return(options=options.itemElement.querySelector(".chkItemCheckbox")).checked=!options.checked,options.dispatchEvent(new CustomEvent("change",{cancelable:!0,bubbles:!0})),Promise.resolve()}(options);case"movechannelup":return moveChannel(item,0,item.SortIndexNumber-1);case"movechanneldown":return moveChannel(item,0,item.SortIndexNumber+1);case"copytoclipboard":return function(item){return navigator.clipboard.writeText(item.AccessToken)}(item);case"share":return shareItems(items);case"seektoposition":return function(item){return"LyricsLine"===item.Type&&null==item.StartPositionTicks?Promise.resolve():_playbackmanager.default.seek(item.StartPositionTicks||0)}(item);case"sync":return function(items){return require(["syncDialog"]).then(function(responses){return responses[0].showMenu({items:items,mode:"sync"})})}(items);case"synclocal":return function(items){return require(["syncDialog"]).then(function(responses){return responses[0].showMenu({items:items,mode:"download"})})}(items);case"convert":return function(items){return require(["syncDialog"]).then(function(responses){return responses[0].showMenu({items:items,mode:"convert"})})}(items);case"editsubtitles":return editSubtitles(item,options);case"changelibrarycontenttype":return _connectionmanager.default.getApiClient(item),options.positionTo,showAlertAndResolve({title:_globalize.default.translate("HeaderChangeFolderType"),text:_globalize.default.translate("HeaderChangeFolderTypeHelp")});case"renamelibrary":return apiClient=_connectionmanager.default.getApiClient(item),virtualFolder=item,button=options.positionTo,showPrompt({label:_globalize.default.translate("LabelNewName"),confirmText:_globalize.default.translate("ButtonRename"),value:virtualFolder.Name}).then(function(newName){var refreshAfterChange;if(newName&&newName!==virtualFolder.Name)return refreshAfterChange="true"===button.closest(".page").getAttribute("data-refreshlibrary"),apiClient.renameVirtualFolder(virtualFolder,newName,refreshAfterChange)});case"refresh":return _itemmanager.default.refreshMetadata(items,options);case"scan":return _itemmanager.default.scanLibraryFiles(items,options);case"removefromplayqueue":return _itemmanager.default.removeFromPlayQueue(items,options);case"removefromplaylist":return _connectionmanager.default.getApiClient(item).removeItemsFromPlaylist(item.PlaylistId,items);case"removefromcollection":return _connectionmanager.default.getApiClient(item).removeItemsFromCollection(item.CollectionId,items);case"session_stop":return _connectionmanager.default.getApiClient(item).sendPlayStateCommand(item.Id,"Stop");case"session_playpause":return _connectionmanager.default.getApiClient(item).sendPlayStateCommand(item.Id,"PlayPause");case"session_sendmessage":return function(item){return showPrompt({title:_globalize.default.translate("HeaderSendMessage"),label:_globalize.default.translate("LabelMessageText"),confirmText:_globalize.default.translate("ButtonSend")}).then(function(text){return text?_connectionmanager.default.getApiClient(item).sendMessageCommand(item.Id,{Text:text,TimeoutMs:5e3}):Promise.reject()})}(item);case"session_shownowplayingitem":return item.NowPlayingItem?showItem(item.NowPlayingItem,options):Promise.reject();case"serverinfo":return function(item){var apiClient=_connectionmanager.default.getApiClient(item),html="";return html+='
',apiClient.serverVersion()&&(html=(html+='

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

")+"
"+apiClient.serverVersion()+"
"),item.LastConnectionMode?html+='

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

":html+='

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

",html+="
"+apiClient.serverAddress()+"
",item.RemoteAddress&&(html=(html+='

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

")+"
"+item.RemoteAddress+"
"),showAlertAndResolve({title:item.Name,html:html+="
",centerText:!1})}(item);case"record":return record(item,options);case"lyrics":return showLyrics(item);case"manageaccess":return function(item){return require(["ItemAccessDialog"]).then(function(responses){return(new responses[0]).show({item:item})})}(item);case"makepublic":return function(item){return showConfirm({title:_globalize.default.translate("HeaderMakePublic"),text:_globalize.default.translate("MakePublicConfirmation"),confirmText:_globalize.default.translate("HeaderMakePublic"),primary:"cancel"}).then(function(){return _connectionmanager.default.getApiClient(item).makePublic(item.Id).then(function(result){return showToast(_globalize.default.translate("MakingPublic")),Promise.resolve(result)})})}(item);case"makeprivate":return function(item){return showConfirm({title:_globalize.default.translate("HeaderMakePrivate"),text:_globalize.default.translate("MakePrivateConfirmation"),confirmText:_globalize.default.translate("HeaderMakePrivate"),primary:"cancel"}).then(function(){return _connectionmanager.default.getApiClient(item).makePrivate(item.Id).then(function(result){return showToast(_globalize.default.translate("MakingPrivate")),Promise.resolve(result)})})}(item);case"none":return Promise.resolve();case"mergeversions":return _itemmanager.default.groupVersions(items,options);default:return _itemmanager.default.executeCommand(command,items,options)}}}});