EmbyCrackedClient/web/modules/commandprocessor.js

1 line
26 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import dom from"./dom.js";import globalize from"./common/globalize.js";import loading from"./loading/loading.js";import appRouter from"./approuter.js";import playbackManager from"./common/playback/playbackmanager.js";import playbackActions from"./common/playback/playbackactions.js";import connectionManager from"./emby-apiclient/connectionmanager.js";import itemManager from"./common/itemmanager/itemmanager.js";import responseHelper from"./common/responsehelper.js";import{appLogger}from"./common/servicelocator.js";function showPrompt(options){return Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)})}function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function showAlertAndResolve(options){return showAlert(options).catch(function(){return Promise.resolve()})}function showConfirm(options){return Emby.importModule("./modules/common/dialogs/confirm.js").then(function(confirm){return confirm(options)})}function downloadFiles(urls){return Emby.importModule("./modules/multidownload.js").then(function(multiDownload){multiDownload(urls)})}function downloadRemoteSubtitle(item,options,apiClient){return loading.show(),apiClient.downloadSubtitles(item.ItemId,item.MediaSourceId,item.Id).then(function(result){return loading.hide(),showToast(globalize.translate("SubtitlesDownloaded")),result})}function downloadAppLog(item){return appLogger.downloadLog(item.Name)}function downloadItems(items,options){var apiClient=connectionManager.getApiClient(items[0]);if(options=options||{},"RemoteSubtitle"===items[0].Type)return downloadRemoteSubtitle(items[0],options,apiClient);var downloadUrls=[];for(let i=0,length=items.length;i<length;i++){var url,item=items[i];"Log"===item.Type?item.ServerId?downloadUrls.push(apiClient.getLogDownloadUrl({Name:item.Name,Sanitize:!1!==options.Sanitize,SetFilename:!0})):downloadAppLog(item):"MediaStream"===item.Type&&"Subtitle"===item.StreamType?(url="Videos/"+item.ItemId+"/"+item.MediaSourceId+"/Subtitles/"+item.Index+"/Stream."+item.Codec,downloadUrls.push(apiClient.getUrl(url,{SetFilename:!0}))):(url=options.mediaSourceId,item=apiClient.getItemDownloadUrl(item.Id,url),downloadUrls.push(item))}return downloadFiles(downloadUrls)}function resetMetadata(items,options){return require(["itemIdentifier"]).then(function(responses){return responses[0].resetMetadata(items)})}function identifyItem(item){return require(["itemIdentifier"]).then(function(responses){return responses[0].show(item)})}function previewItem(item){var apiClient=connectionManager.getApiClient(item);let url;return url="RemoteSubtitle"===item.Type?apiClient.getUrl("Providers/Subtitles/Subtitles/"+item.Id):apiClient.getUrl("Videos/"+item.ItemId+"/"+item.MediaSourceId+"/Subtitles/"+item.Index+"/Stream."+item.Codec),apiClient.getText(url).then(function(result){return showAlertAndResolve({preFormattedText:dom.stripScripts(result),confirmButton:!1,title:globalize.translate("Subtitles"),item:item})})}function removeFromResume(items,options,mode){var item=items[0],confirmHeader="Audio"===item.MediaType?globalize.translate("HeaderRemoveFromContinueListening"):globalize.translate("HeaderRemoveFromContinueWatching");let apiClient=connectionManager.getApiClient(item);return showConfirm({title:confirmHeader,text:"Audio"===item.MediaType?globalize.translate("RemoveThisTitleFromContinueListening"):globalize.translate("RemoveThisTitleFromContinueWatching"),confirmText:globalize.translate("Remove"),primary:"cancel"}).then(function(){return apiClient.updateHideFromResume(items.map(mapToId),!0)})}function mapToId(i){return i.Id}function markPlayed(items,options){var apiClient=connectionManager.getApiClient(items[0]);return apiClient.markPlayed(apiClient.getCurrentUserId(),items.map(mapToId))}function markUnplayed(items,options){var apiClient=connectionManager.getApiClient(items[0]);return apiClient.markUnplayed(apiClient.getCurrentUserId(),items.map(mapToId))}function markFavorite(items,isFavorite){var apiClient=connectionManager.getApiClient(item