define(["exports","./dom.js","./common/globalize.js","./loading/loading.js","./approuter.js","./common/playback/playbackmanager.js","./common/playback/playbackactions.js","./emby-apiclient/connectionmanager.js","./common/itemmanager/itemmanager.js","./common/imagehelper.js","./common/datetime.js","./common/responsehelper.js","./common/servicelocator.js"],function(_exports,_dom,_globalize,_loading,_approuter,_playbackmanager,_playbackactions,_connectionmanager,_itemmanager,_imagehelper,_datetime,_responsehelper,_servicelocator){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 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})}(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,{ExcludeFields:"Chapters,People,Overview,MediaStreams"}).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})})})}function getItemsContainerParentId(itemsContainer){return(null==itemsContainer?void 0:itemsContainer.getAttribute("data-parentid"))||null}function executeCommandInternal(command,items,options){var apiClient,virtualFolder,button,item=items[0];if("open"===command||"link"===command||"linkdialog"===command){if("Photo"!==item.MediaType)return"linkdialog"===command&&((options=options||{}).asDialog=!0),showItem(item,options);command="play"}if("download"===command)return downloadItems(items,options);if("identify"===command)return function(item){return Emby.importModule("./modules/itemidentifier/itemidentifier.js").then(function(itemIdentifier){return itemIdentifier.show(item)})}(item);if("resetmetadata"===command)return function(items){return Emby.importModule("./modules/itemidentifier/itemidentifier.js").then(function(itemIdentifier){return itemIdentifier.resetMetadata(items)})}(items);if("preview"===command)return previewItem(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,{}).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"leaveshareditems":case"delete":case"canceltimer":case"cancelseriestimer":return function(items,options,command){return items={items:items,navigate:options.navigateOnDelete||!1,positionTo:options.positionTo,deleteType:command},null!=(command=options.itemsContainer)&&null!=(command=command.currentListOptions)&&null!=(command=command.options.commandActions)&&command.deleteItems?options.itemsContainer.currentListOptions.options.commandActions.deleteItems(items).then(function(result){!1!==(null==result?void 0:result.refreshItems)&&options.itemsContainer.notifyRefreshNeeded(!0)}):_itemmanager.default.deleteItems(items)}(items,options,command);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):null!=(item=options.itemsContainer)&&null!=(item=item.currentListOptions)&&null!=(item=item.options.commandActions)&&item.edit?options.itemsContainer.currentListOptions.options.commandActions.edit(items,options).then(function(result){!1!==(null==result?void 0:result.refreshItems)&&options.itemsContainer.notifyRefreshNeeded(!0)}):_itemmanager.default.editItems(items,options)}(items,options);case"editimages":return function(item){return Emby.importModule("./modules/imageeditor/imageeditor.js").then(function(ImageEditor){return ImageEditor.show({itemId:item.Id,serverId:item.ServerId})})}(item);case"instantmix":return _playbackmanager.default.instantMix(item);case"shuffle":return play(items,!1,null,null,!0,getItemsContainerParentId(options.itemsContainer));case"playallfromhereautoplay":return playAllFromHere(options.itemElement,item.ServerId,null,!0);case"playallfromhere":return playAllFromHere(options.itemElement,item.ServerId);case"queueallfromhere":return playAllFromHere(options.itemElement,item.ServerId,!0);case"play":return play(items,!0,null,null,null,getItemsContainerParentId(options.itemsContainer));case"playfrombeginning":return play(items,!1,null,null,null,getItemsContainerParentId(options.itemsContainer));case"resume":case"playpause":return play(items,!0,null,null,null,getItemsContainerParentId(options.itemsContainer));case"queue":return play(items,!1,!0,null,null,getItemsContainerParentId(options.itemsContainer));case"queuenext":return play(items,!1,!0,!0,null,getItemsContainerParentId(options.itemsContainer));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":var overviewParts=[];return item.Date&&overviewParts.push('

'+_datetime.default.toLocaleString(new Date(Date.parse(item.Date)))+"

"),item.Overview&&overviewParts.push(item.Overview),showAlertAndResolve({preFormattedText:overviewParts.join(""),confirmButton:!1,title:_itemmanager.default.getDisplayName(item)||item.Name,centerText:!1,item:item});case"programlink":overviewParts=item.CurrentProgram||item;return overviewParts.ServerId||(overviewParts.ServerId=item.ServerId),showItem(overviewParts,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 Emby.importModule("./modules/imagedownloader/imagedownloader.js").then(function(ImageDownloader){return(new ImageDownloader).show({item:item.OwnerItem,imageType:item.ImageType,imageIndex:item.ImageIndex})})}(item);case"addimage":return function(item){return Emby.importModule("./modules/imageuploader/imageuploader.js").then(function(imageUploader){return imageUploader.show({imageType:item.ImageType,imageIndex:item.ImageIndex,item:item.OwnerItem})})}(item);case"moveinorder":return moveInOrder(items,options,options.newIndex);case"moveupinorder":return moveByOffsetInOrder(items,options,-1);case"movedowninorder":return moveByOffsetInOrder(items,options,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.ItemId,item.ImageType,item.ImageIndex,url)})}(item);case"toggleitemchecked":return function(items,options){var checked,itemsContainer,promise;return"change"===options.eventType&&(checked=options.eventTarget.checked,promise=(itemsContainer=options.itemsContainer)?null==(options=itemsContainer.currentListOptions)?void 0:options.options.checkboxAction({items:items,checked:checked}).then(function(){for(var i=0,length=items.length;i'+_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 Emby.importModule("./modules/itemaccessdialog/itemaccessdialog.js").then(function(ItemAccessDialog){return(new ItemAccessDialog).show({item:item})})}(item);case"mergeversions":return _itemmanager.default.groupVersions(items,options);case"showmissingepisodes":return function(items){return Emby.importModule("./modules/missingepisodesdialog/missingepisodesdialog.js").then(function(MissingEpisodesDialog){return(new MissingEpisodesDialog).show({items:items})})}(items);case"none":case"toggletreenode":return Promise.resolve();default:return _itemmanager.default.executeCommand(command,items,options)}}_exports.default={executeCommand:function(command,items,options){var promise;try{promise=executeCommandInternal(command,items,options)}catch(err){promise=Promise.reject(err)}return!1===(null==options?void 0:options.showErrorMessage)?promise:promise.catch(function(err){return err?_responsehelper.default.handleErrorResponse(err):Promise.reject(err)})}}});