EmbyCrackedClient/web/modules/imageeditor/imageeditor.js

1 line
9 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import connectionManager from"./../emby-apiclient/connectionmanager.js";import dom from"./../dom.js";import globalize from"./../common/globalize.js";import layoutManager from"./../layoutmanager.js";import loading from"./../loading/loading.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import cardBuilder from"./../cardbuilder/cardbuilder.js";import focusManager from"./../focusmanager.js";import{appHost}from"./../common/servicelocator.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";require(["formDialogStyle","css!modules/imageeditor/imageeditor.css"]);let currentItemId,currentServerId,hasChanges=!1;function getItemInfo(){loading.show();let apiClient=connectionManager.getApiClient(currentServerId);return apiClient.getItem(apiClient.getCurrentUserId(),currentItemId,{ExcludeFields:"Chapters,MediaSources,MediaStreams,People,Overview,Subviews"}).then(function(item){return apiClient.getItemImageInfos(currentItemId).then(function(imageInfos){return apiClient.getRemoteImageProviders({itemId:currentItemId}).then(function(providers){providers={item:item,imageInfos:imageInfos,providers:providers};return loading.hide(),providers})})})}function addListeners(container,className,eventName,fn){container.addEventListener(eventName,function(e){var elem=e.target.closest("."+className);elem&&fn.call(elem,e)})}function getImageUrl(item,apiClient,type,index,options){(options=options||{}).type=type,options.index=index;let itemId;return itemId="Backdrop"===type?(options.tag=item.BackdropImageTags[index],item.Id||item.ItemId):"Primary"===type?(options.tag=item.PrimaryImageTag||item.ImageTags[type],item.PrimaryImageItemId||item.Id||item.ItemId):(options.tag=item.ImageTags[type],item.Id||item.ItemId),options.tag?apiClient.getImageUrl(itemId,options):null}function setImageProperties(image,itemInfo,apiClient){var item=itemInfo.item;image.Type="ItemImage",image.ServerId=item.ServerId,image.Id=item.Id+"_ItemImage_"+image.imageType+"_"+(image.ImageIndex||0),image.ItemId=item.Id,image.OwnerItem=item,image.Providers=itemInfo.providers,image.Name=globalize.translate(image.ImageType),"Backdrop"===image.ImageType?image.ImageUrl=getImageUrl(item,apiClient,image.ImageType,image.ImageIndex):(image.ImageTags={},image.ImageTags[image.ImageType]=item.ImageTags?item.ImageTags[image.ImageType]:null,"Primary"!==image.ImageType||image.ImageTags[image.ImageType]?image.ImageTags[image.ImageType]&&(image.ImageUrl=getImageUrl(item,apiClient,image.ImageType)):(image.PrimaryImageTag=item.PrimaryImageTag,image.PrimaryImageItemId=item.PrimaryImageItemId),image.ImageTag=image.ImageTags[image.ImageType],"Primary"===image.ImageType&&"TvChannel"===itemInfo.item.Type&&(image.Name=globalize.translate("LogoDark")))}function getImage(images,type){for(let i=0,length=images.length;i<length;i++){var image=images[i];if(image.ImageType===type)return image}return null}function getStandardImages(){return getItemInfo().then(function(itemInfo){var item=itemInfo.item,imageInfos=itemInfo.imageInfos,types=["Primary"],apiClient=(("TvChannel"!==item.Type||item.ImageTags&&item.ImageTags.Logo)&&types.push("Logo"),connectionManager.getApiClient(item)),result=("TvChannel"===item.Type&&(types.push("LogoLight"),types.push("LogoLightColor")),types.push("Thumb"),types.push("Banner"),types.push("Disc"),types.push("Art"),"Game"===item.Type&&types.push("Box"),[]);for(let i=0,length=types.length;i<length;i++){var imageInfo=getImage(imageInfos,types[i])||{ImageType:types[i]};setImageProperties(imageInfo,itemInfo,apiClient),result.push(imageInfo)}return{Items:result,TotalRecordCount:result.length}})}function getBackdropImages(){return getItemInfo().then(function(itemInfo){var item=itemInfo.item,imageInfos=itemInfo.imageInfos.filter(function(t){return"Backdrop"===t.ImageType}),result=[],backdropImageTags=item.BackdropImageTags||[],apiClient=connectionManager.getApiClient(item);for(let i=0,