EmbyCrackedClient/web/modules/subtitleeditor/subtitleeditor.js

1 line
10 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import loading from"./../loading/loading.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import layoutManager from"./../layoutmanager.js";import focusManager from"./../focusmanager.js";import{appHost}from"./../common/servicelocator.js";import globalize from"./../common/globalize.js";import userSettings from"./../common/usersettings/usersettings.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import events from"./../emby-apiclient/events.js";import"./../emby-elements/emby-select/emby-select.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-checkbox/emby-checkbox.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";import listView from"./../listview/listview.js";import itemHelper from"./../common/itemhelper.js";import serverNotifications from"./../common/input/api.js";function fillLanguages(context,apiClient,languages){let selectLanguage=context.querySelector(".selectLanguage");selectLanguage.innerHTML=languages.map(function(l){return'<option value="'+l.TwoLetterISOLanguageName+'">'+l.DisplayName+"</option>"});context=userSettings.get("subtitleeditor-language");context?selectLanguage.value=context:apiClient.getCurrentUser().then(function(user){user=user.Configuration.SubtitleLanguagePreference;user&&(selectLanguage.value=user)})}function getSubtitleSearchResults(){var context=this.context,apiClient=connectionManager.getApiClient(this.currentItem),language=context.querySelector(".selectLanguage").value;let itemId=this.currentItem.Id,mediaSourceId=this.currentMediaSource.Id;language=apiClient.getUrl("Items/"+itemId+"/RemoteSearch/Subtitles/"+language,{IsForced:context.querySelector(".chkForcedOnly").checked||null,MediaSourceId:mediaSourceId});let serverId=apiClient.serverId();return apiClient.getJSON(language).then(function(items){for(let i=0,length=items.length;i<length;i++){var item=items[i];item.Type="RemoteSubtitle",item.ServerId=serverId,item.ItemId=itemId,item.MediaSourceId=mediaSourceId,item.CanDownload=!0}return{Items:items,TotalRecordCount:items.length}})}function updateMode(instance){var context=instance.context;"lyrics"===instance.mode?(context.querySelector(".formDialogHeaderTitle").innerHTML=globalize.translate("Lyrics"),context.querySelector(".subtitleSearchHeaderText").innerHTML=globalize.translate("SearchForLyrics"),context.querySelector(".fldForcedOnly").classList.add("hide")):(context.querySelector(".formDialogHeaderTitle").innerHTML=globalize.translate("Subtitles"),context.querySelector(".subtitleSearchHeaderText").innerHTML=globalize.translate("SearchForSubtitles"),context.querySelector(".fldForcedOnly").classList.remove("hide"))}function onLibraryChanged(e,apiClient,data){var currentItem=this.currentItem;currentItem&&data.ItemsUpdated?.includes(currentItem.Id)&&!this.paused&&reload(this,apiClient,this.currentItem.Id,this.currentMediaSource.Id)}function onGetItem(instance,item,mediaSource,apiClient,autoSearch){let context=instance.context;instance.currentItem=item,instance.mode="Audio"===item.MediaType?"lyrics":"subtitles",updateMode(instance),instance.currentMediaSource=mediaSource,apiClient.getCurrentUser().then(function(user){user.Policy.EnableSubtitleDownloading?context.querySelector(".subtitleSearchContainer").classList.remove("hide"):context.querySelector(".subtitleSearchContainer").classList.add("hide"),instance.subtitleList.resume({refresh:!0}).then(function(){autoSearch||(loading.hide(),instance.autoFocus())});let file=instance.currentMediaSource.Path||"";user=Math.max(file.lastIndexOf("/"),file.lastIndexOf("\\"));(file=-1<user?file.substring(user+1):file)?(context.querySelector(".originalFile").innerHTML=file,context.querySelector(".originalFile").classList.remove("hide")):(context.querySelector(".originalFile").innerHTML="",context.querySelector(".originalFile").classList.add("hide")),autoSearch