1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/bower_components/emby-webcomponents/imageeditor/imageeditor.js

1 line
12 KiB
JavaScript
Raw Normal View History

2018-09-12 19:26:21 +02:00
define(["dialogHelper","connectionManager","loading","dom","layoutManager","focusManager","globalize","scrollHelper","imageLoader","require","browser","apphost","cardStyle","formDialogStyle","emby-button","paper-icon-button-light","css!./imageeditor"],function(dialogHelper,connectionManager,loading,dom,layoutManager,focusManager,globalize,scrollHelper,imageLoader,require,browser,appHost){"use strict";function getBaseRemoteOptions(){var options={};return options.itemId=currentItem.Id,options}function reload(page,item,focusContext){loading.show();var apiClient;item?(apiClient=connectionManager.getApiClient(item.ServerId),reloadItem(page,item,apiClient,focusContext)):(apiClient=connectionManager.getApiClient(currentItem.ServerId),apiClient.getItem(apiClient.getCurrentUserId(),currentItem.Id).then(function(item){reloadItem(page,item,apiClient,focusContext)}))}function addListeners(container,className,eventName,fn){container.addEventListener(eventName,function(e){var elem=dom.parentWithClass(e.target,className);elem&&fn.call(elem,e)})}function reloadItem(page,item,apiClient,focusContext){currentItem=item,apiClient.getRemoteImageProviders(getBaseRemoteOptions()).then(function(providers){for(var btnBrowseAllImages=page.querySelectorAll(".btnBrowseAllImages"),i=0,length=btnBrowseAllImages.length;i<length;i++)providers.length?btnBrowseAllImages[i].classList.remove("hide"):btnBrowseAllImages[i].classList.add("hide");apiClient.getItemImageInfos(currentItem.Id).then(function(imageInfos){renderStandardImages(page,apiClient,item,imageInfos,providers),renderBackdrops(page,apiClient,item,imageInfos,providers),renderScreenshots(page,apiClient,item,imageInfos,providers),loading.hide(),layoutManager.tv&&focusManager.autoFocus(focusContext||page)})})}function getImageUrl(item,apiClient,type,index,options){return options=options||{},options.type=type,options.index=index,options.tag="Backdrop"===type?item.BackdropImageTags[index]:"Screenshot"===type?item.ScreenshotImageTags[index]:"Primary"===type?item.PrimaryImageTag||item.ImageTags[type]:item.ImageTags[type],apiClient.getScaledImageUrl(item.Id||item.ItemId,options)}function getCardHtml(image,index,numImages,apiClient,imageProviders,imageSize,tagName,enableFooterButtons){var html="",cssClass="card scalableCard imageEditorCard",cardBoxCssClass="cardBox visualCardBox";return cssClass+=" backdropCard backdropCard-scalable","button"===tagName?(cssClass+=" btnImageCard",layoutManager.tv&&!browser.slow&&(cardBoxCssClass+=" cardBox-focustransform"),layoutManager.tv&&(cardBoxCssClass+=" card-focuscontent cardBox-withfocuscontent"),html+='<button type="button" class="'+cssClass+'"'):html+='<div class="'+cssClass+'"',html+=' data-id="'+currentItem.Id+'" data-serverid="'+apiClient.serverId()+'" data-index="'+index+'" data-numimages="'+numImages+'" data-imagetype="'+image.ImageType+'" data-providers="'+imageProviders.length+'"',html+=">",html+='<div class="'+cardBoxCssClass+'">',html+='<div class="cardScalable visualCardBox-cardScalable" style="background-color:transparent;">',html+='<div class="cardPadder-backdrop"></div>',html+='<div class="cardContent">',html+='<div class="cardImageContainer" style="background-image:url(\''+getImageUrl(currentItem,apiClient,image.ImageType,image.ImageIndex,{maxWidth:imageSize})+"');background-position:center bottom;\"></div>",html+="</div>",html+="</div>",html+='<div class="cardFooter visualCardBox-cardFooter">',html+='<h3 class="cardText cardTextCentered" style="margin:0;">'+globalize.translate("sharedcomponents#"+image.ImageType)+"</h3>",html+='<div class="cardText cardText-secondary cardTextCentered">',image.Width&&image.Height?html+=image.Width+" X "+image.Height:html+="&nbsp;",html+="</div>",enableFooterButtons&&(html+='<div class="cardText cardTextCentered">',"Backdrop"===image.ImageType||"Screenshot"===image.ImageType?(html+=index>0?'<button type="button" is="paper-icon-button-light" class="btnMoveImage autoSize" data-imagetype="'+image.ImageType+'" data-index="'+image.ImageIndex+'" data-newindex="'+(image.ImageIndex-1)+'" title="'+globalize.translate("shared