define(["exports","./../emby-apiclient/connectionmanager.js","./../dom.js","./../common/globalize.js","./../layoutmanager.js","./../loading/loading.js","./../dialoghelper/dialoghelper.js","./../cardbuilder/cardbuilder.js","./../focusmanager.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-input/emby-input.js","./../emby-elements/emby-select/emby-select.js","./../emby-elements/emby-scroller/emby-scroller.js","./../emby-elements/emby-toggle/emby-toggle.js","./../emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../emby-elements/emby-button/paper-icon-button-light.js"],function(_exports,_connectionmanager,_dom,_globalize,_layoutmanager,_loading,_dialoghelper,_cardbuilder,_focusmanager,_embyButton,_embyInput,_embySelect,_embyScroller,_embyToggle,_embyItemscontainer,_paperIconButtonLight){function ImageDownloader(){}function getDisplayUrl(url,apiClient){return apiClient.getUrl("Images/Remote",{api_key:apiClient.accessToken(),imageUrl:url})}function normalizeResult(result){var providersHtml=result.Providers.map(function(p){return'"}),selectImageProvider=this.dlg.querySelector(".selectImageProvider");return selectImageProvider.innerHTML='"+providersHtml,selectImageProvider.value=this.options.imageProvider||"",result.Items=result.Images,result.Images=null,result.Items.forEach(function(image){var options=this.options,options=_connectionmanager.default.getApiClient(options.item);return image.Name=image.ProviderName,image.ImageUrl=getDisplayUrl(image.ThumbnailUrl||image.Url,options),image.OriginalImageUrl=getDisplayUrl(image.Url,options),image}.bind(this)),result}function onItemsContainerUpgraded(){_loading.default.show(),this.itemsContainer.resume({refresh:!0}).then(function(){var dlg=this.dlg;_loading.default.hide(),_focusmanager.default.autoFocus(dlg,{skipIfNotEnabled:!0})}.bind(this))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["formDialogStyle","material-icons"]),ImageDownloader.prototype.getItems=function(query){var options=this.options,item=options.item;return _connectionmanager.default.getApiClient(item).getAvailableRemoteImages(Object.assign({Type:options.imageType||"Primary",IncludeAllLanguages:options.allLanguages,ProviderName:options.imageProvider,itemId:item.Id},query)).then(normalizeResult.bind(this))},ImageDownloader.prototype.getCardOptions=function(items){var options=this.options,imageType=options.imageType,currentItemType=options.item.Type,options=options.item.MediaType;return{shape:"Backdrop"===imageType||"Thumb"===imageType||"Art"===imageType||"Logo"===imageType||"LogoLight"===imageType||"LogoLightColor"===imageType?"backdrop":"Banner"===imageType?"banner":"Disc"===imageType?"square":"Episode"===currentItemType?"backdrop":"MusicAlbum"===currentItemType||"MusicArtist"===currentItemType||"Audio"===options?"square":"portrait",fields:["Name","DownloadableImageInfo"],coverImage:"Logo"!==imageType,overlayPlayButton:!1,multiSelect:!1,contextMenu:!1,hoverDownloadButton:!0,action:"custom",textLinks:!1,lazy:2,previewImageButton:!0,draggable:!1}},ImageDownloader.prototype.getListOptions=function(items){return{renderer:_cardbuilder.default,options:this.getCardOptions(items),virtualScrollLayout:"vertical-grid"}},ImageDownloader.prototype.show=function(options){var dialogOptions={removeOnClose:!0,scrollY:!1,autoFocus:!1},dialogOptions=(_layoutmanager.default.tv?dialogOptions.size="fullscreen":dialogOptions.size="fullscreen-border",_dialoghelper.default.createDialog(dialogOptions)),html=(dialogOptions.classList.add("formDialog"),""),html=(html=(html=(html=(html=(html+='
')+''+'

')+_globalize.default.translate("HeaderSearchForImages"))+"

"+"
")+function(){var html="";return(html+='
')+'
'+'
'+'
'+'
'+('"+"
"+'
'+('"+"
"+'"+"
"+'
'+"
"+"
"+"
"+"
"}(),dialogOptions.innerHTML=html,options.imageType||dialogOptions.querySelector(".fldSelectImageType").classList.remove("hide"),this.dlg=dialogOptions,this.options=options,dialogOptions.querySelector(".selectBrowsableImageType")),options=(html.value=options.imageType||"Primary",dialogOptions.querySelector(".btnCancel").addEventListener("click",function(){this.closeDialog()}.bind(this)),html.addEventListener("change",function(e){this.options.imageType=e.target.value,this.options.imageProvider=null,_loading.default.show(),this.itemsContainer.refreshItems().then(_loading.default.hide.bind(_loading.default))}.bind(this)),dialogOptions.querySelector(".selectImageProvider").addEventListener("change",function(e){this.options.imageProvider=e.target.value,_loading.default.show(),this.itemsContainer.refreshItems().then(_loading.default.hide.bind(_loading.default))}.bind(this)),dialogOptions.querySelector(".chkAllLanguages").addEventListener("change",function(e){this.options.allLanguages=e.target.checked,_loading.default.show(),this.itemsContainer.refreshItems().then(_loading.default.hide.bind(_loading.default))}.bind(this)),dialogOptions.querySelector(".itemsContainer")),html=(options.addEventListener("action-null",function(e){var options=this.options,e=e.detail.item,downloadOptions={itemId:(options=options.item).Id},e=(downloadOptions.Type=e.Type,downloadOptions.ImageUrl=e.Url,downloadOptions.ProviderName=e.ProviderName,_loading.default.show(),_connectionmanager.default.getApiClient(options)),instance=this;e.downloadRemoteImage(downloadOptions).then(function(){instance.result=!0,instance.closeDialog()})}.bind(this)),options.fetchData=this.getItems.bind(this),options.getListOptions=this.getListOptions.bind(this),this.itemsContainer=options,dialogOptions.addEventListener("opened",function(){var itemsContainer=this.itemsContainer;itemsContainer.resume?onItemsContainerUpgraded.call(this):_dom.default.addEventListener(itemsContainer,"upgraded",onItemsContainerUpgraded.bind(this),{once:!0})}.bind(this)),function(){var result=this.result;return this.cleanup(),_loading.default.hide(),result?Promise.resolve():Promise.reject()}.bind(this));return _dialoghelper.default.open(dialogOptions).then(html,html)},ImageDownloader.prototype.closeDialog=function(){var dlg=this.dlg;dlg&&_dialoghelper.default.close(dlg)},ImageDownloader.prototype.cleanup=function(){this.options=null,this.dlg=null,this.itemsContainer=null},_exports.default=ImageDownloader});