EmbyCrackedClient/web/modules/dialog/dialog.js

1 line
9.4 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import layoutManager from"./../layoutmanager.js";import globalize from"./../common/globalize.js";import appRouter from"./../approuter.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import dom from"./../dom.js";import inputManager from"./../common/inputmanager.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import imageLoader from"./../common/imagehelper.js";import itemManager from"./../common/itemmanager/itemmanager.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";function onInputCommand(e){var command=e.detail.command;if("up"===command)this.querySelector(".emby-scroller").scrollBackwards(),e.preventDefault();else if("down"===command){let scroller=this.querySelector(".emby-scroller");scroller.scrollForwards(),e.preventDefault()}}function addDirectionalScrolling(dlg){inputManager.on(dlg,onInputCommand.bind(dlg))}function wrapTextWithButtonIfNeeded(text,enableScrollWithDirectionButtons){return enableScrollWithDirectionButtons&&(text='<button type="button" is="emby-button" class="button-link text-align-start button-link-no-focus-bg dialog-btn-textscroll" style="font-weight:normal;color:inherit!important;transform:none!important;text-decoration:none!important;background:none!important;">'+text,text+="</button>"),text}function getTextLinkButton(item){var href=appRouter.getRouteUrl(item);return'<a is="emby-linkbutton" class="button-link noautofocus" data-href="'+href+'" href="'+href+'" style="max-width:100%;overflow:hidden;">'+item.Name+"</a>"}function getItemPreviewHtml(options,item){let html="";html+='<div class="dialogItemPreview flex flex-direction-row align-items-center">';var apiClient=connectionManager.getApiClient(item),imageUrlInfo=imageLoader.getImageUrl(item,apiClient,{height:60,width:200}),imageUrl=imageUrlInfo.imgUrl;let imgClass="";var shape,round="MusicArtist"===item.Type,lines=(html=imageUrl?(imgClass+=" dialogItemPreviewImage-bg",imageUrlInfo=imageUrlInfo.aspect||1,shape=imageLoader.getShapeFromAspect(imageUrlInfo),imgClass+=" dialogItemPreviewImage-bg-"+shape,round&&"square"===shape&&(imgClass+=" dialogItemPreviewImage-round"),html+('<div class="'+imgClass.trim())+'" style="aspect-ratio:'+imageUrlInfo+";background-image:url("+imageUrl+');"></div>'):(imgClass+=" dialogItemPreviewImage-iconcontainer",round&&(imgClass+=" dialogItemPreviewImage-round"),(html=(html=html+('<div class="'+imgClass.trim())+'"><i class="dialogItemPreviewImage-icon md-icon autortl">')+itemManager.getDefaultIcon(item))+"</i></div>"),html+='<div class="dialogItemPreviewContent">',[]),imageUrlInfo=(item.SeriesName?item.SeriesId?lines.push(getTextLinkButton({Type:"Series",Id:item.SeriesId,Name:item.SeriesName,IsFolder:!0,ServerId:item.ServerId})):lines.push(item.SeriesName):"Program"===item.Type&&lines.push(item.Name),lines.push(itemManager.getDisplayName(item,{})),"Server"===item.Type&&(apiClient&&apiClient.serverVersion()&&lines.push(apiClient.serverVersion()),apiClient)&&apiClient.serverAddress()&&lines.push(apiClient.serverAddress()),"User"===item.Type&&options.showServerName&&(shape=apiClient.serverName())&&lines.push(shape),item.IsFolder&&item.AlbumArtists&&item.AlbumArtists.length?lines.push(getTextLinkButton({Type:"MusicArtist",Id:item.AlbumArtists[0].Id,Name:item.AlbumArtists[0].Name,ServerId:item.ServerId})):item.ArtistItems&&item.ArtistItems.length?lines.push(getTextLinkButton({Type:"MusicArtist",Id:item.ArtistItems[0].Id,Name:item.ArtistItems[0].Name,ServerId:item.ServerId})):item.AlbumArtists&&item.AlbumArtists.length&&lines.push(getTextLinkButton({Type:"MusicArtist",Id:item.AlbumArtists[0].Id,Name:item.AlbumArtists[0].Name,ServerId:item.ServerId})),[]);item.Album&&item.AlbumId?imageUrlInfo.push(getTextLinkButton({Type:"Photo"===item.MediaType?"PhotoAlbum":"MusicAlbum",Id:item.AlbumId,Name:item.Album,ServerId:item.ServerId})):item.Album&&imageUrlInfo.push(item.Album),item.ProductionYear&&"Episode"!==item.Type&&imageUrlInfo.push(item.Productio