EmbyCrackedClient/web/modules/metadataeditor/metadataeditor.js

1 line
33 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import connectionManager from"./../emby-apiclient/connectionmanager.js";import events from"./../emby-apiclient/events.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import layoutManager from"./../layoutmanager.js";import globalize from"./../common/globalize.js";import datetime from"./../common/datetime.js";import textEncoding from"./../common/textencoding.js";import itemManager from"./../common/itemmanager/itemmanager.js";import loading from"./../loading/loading.js";import focusManager from"./../focusmanager.js";import{shell}from"./../common/servicelocator.js";import"./../emby-elements/emby-checkbox/emby-checkbox.js";import"./../emby-elements/emby-input/emby-input.js";import"./../emby-elements/emby-select/emby-select.js";import"./../emby-elements/emby-textarea/emby-textarea.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";import serverNotifications from"./../common/input/api.js";import listView from"./../listview/listview.js";function showPrompt(options){return Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)})}function isDialog(context){return context.classList.contains("dialog")}function closeDialog(context,isSubmitted){isDialog(context)&&dialogHelper.close(context)}function updateChannelMappings(instance,form,item,apiClient){return"TvChannel"!==(item=instance.currentItem).Type||(instance=form.querySelector(".selectGuideDataProvider").value||null,form=form.querySelector(".selectGuideChannel").value||null,instance===item.ListingsProviderId&&form===item.ListingsChannelId)?Promise.resolve():apiClient.ajax({type:"POST",url:apiClient.getUrl("LiveTv/ChannelMappings"),data:{providerId:instance,tunerChannelId:item.ManagementId,providerChannelId:form},dataType:"json"})}function showToast(options){return Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function submitUpdatedItem(instance,form,item){let apiClient=connectionManager.getApiClient(instance.currentItem);updateChannelMappings(instance,form,item,apiClient).then(function(){apiClient.updateItem(item).then(function(){instance.hasChanges=!0,showToast(globalize.translate("MessageItemSaved")),loading.hide(),closeDialog(instance.context,!0)})})}function getAlbumArtists(form){return form.querySelector(".txtAlbumArtist").value.trim().split(";").filter(function(s){return 0<s.length}).map(function(a){return{Name:a}})}function getArtists(form){return form.querySelector(".txtArtist").value.trim().split(";").filter(function(s){return 0<s.length}).map(function(a){return{Name:a}})}function onSubmit(e){loading.show();var currentItem=this.currentItem,form=e.target.closest("form");let item=Object.assign({},currentItem);item=Object.assign(item,{Name:form.querySelector(".txtName").value,ChannelNumber:form.querySelector(".txtChannelNumber").value,OriginalTitle:form.querySelector(".txtOriginalName").value,ForcedSortName:form.querySelector(".txtSortName").value,SortName:form.querySelector(".txtSortName").value,CommunityRating:form.querySelector(".txtCommunityRating").value,CriticRating:form.querySelector(".txtCriticRating").value,IndexNumber:form.querySelector(".txtIndexNumber").value||null,ParentIndexNumber:form.querySelector(".txtParentIndexNumber").value||null,SortParentIndexNumber:form.querySelector(".txtDisplaySeason").value,SortIndexNumber:form.querySelector(".txtDisplayEpisode").value,Album:form.querySelector(".txtAlbum").value,AlbumArtists:getAlbumArtists(form),ArtistItems:getArtists(form),Overview:form.querySelector(".txtOverview").value,Status:form.querySelector(".selectStatus").value,PremiereDate:form.querySelector(".txtPremiereDate").valueAsDateUtc?.toISOString(),DateCreated:form.querySelector(".txtDateAdded").valueAsDateUtc?.toISOString(),EndDate:form.querySelector(".txtEndDate").valueAsDateUtc?.toISOString(),ProductionYear:form.querySelector(".txtProductionYear").value,Vid