import connectionManager from"./../emby-apiclient/connectionmanager.js";import dom from"./../dom.js";import globalize from"./../common/globalize.js";import layoutManager from"./../layoutmanager.js";import itemManager from"./../common/itemmanager/itemmanager.js";import imageLoader from"./../common/imagehelper.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-itemscontainer/emby-itemscontainer.js";import appRouter from"./../approuter.js";import focusManager from"./../focusmanager.js";import listView from"./../listview/listview.js";import itemShortcuts from"./../shortcuts.js";import browser from"./../browser.js";import textEncoding from"./../common/textencoding.js";function onCancelClick(e){dialogHelper.close(this.closest(".actionSheet"))}function getTextLinkButton(item){var href=appRouter.getRouteUrl(item);return''+textEncoding.htmlEncode(item.Name)+""}function getItemPreviewHtml(options,item){let html="";html+='
';var apiClient=connectionManager.getApiClient(item),imageUrlInfo=imageLoader.getImageUrl(item,apiClient,{height:60,width:200}),imageUrl=imageUrlInfo.imgUrl;let imgClass="";var round="MusicArtist"===item.Type,lines=(html=imageUrl?(imgClass+=" actionsheetItemPreviewImage-bg",imageUrlInfo=imageUrlInfo.aspect||1,shape=imageLoader.getShapeFromAspect(imageUrlInfo),imgClass+=" actionsheetItemPreviewImage-bg-"+shape,round&&"square"===shape&&(imgClass+=" actionsheetItemPreviewImage-round"),html+('
'):(imgClass+=" actionsheetItemPreviewImage-iconcontainer",round&&(imgClass+=" actionsheetItemPreviewImage-round"),(html=(html=html+('
')+itemManager.getDefaultIcon(item))+"
"),html+='
',[]),shape=(item.SeriesName?item.SeriesId?lines.push(getTextLinkButton({Type:"Series",Id:item.SeriesId,Name:item.SeriesName,IsFolder:!0,ServerId:item.ServerId})):lines.push(textEncoding.htmlEncode(item.SeriesName||"")):"Program"===item.Type&&lines.push(textEncoding.htmlEncode(item.Name||"")),textEncoding.htmlEncode(itemManager.getDisplayName(item,{})||""));let nameHtml='
'+shape+"
";"Audio"!==item.MediaType||layoutManager.tv||!1===options.linkToItem||(nameHtml+=''),lines.push(nameHtml),"Server"===item.Type&&(apiClient&&apiClient.serverVersion()&&lines.push(apiClient.serverVersion()),apiClient)&&apiClient.serverAddress()&&lines.push(apiClient.serverAddress()),"User"===item.Type&&options.showServerName&&(imageUrlInfo=apiClient.serverName())&&lines.push(textEncoding.htmlEncode(imageUrlInfo)),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}));imageUrl=[];item.Album&&item.AlbumId?imageUrl.push(getTextLinkButton({Type:"Photo"===item.MediaType?"PhotoAlbum":"MusicAlbum",Id:item.AlbumId,Name:item.Album,ServerId:item.ServerId})):item.Album&&imageUrl.push('
'+textEncoding.htmlEncode(item.Album)+"
"),item.ProductionYear&&"Episode"!==item.Type&&"Audio"!==item.Type&&imageUrl.push('
'+item.ProductionYear+"
"),imageUrl.length&&lines.push(imageUrl.join(""));for(let i=0,length=Math.min(lines.length,3);i')+lines[i]+"
":(html+='
')+lines[i]+"
";return html=html+"
"+""}function autoFocusInternal(dlg,options){var focused=focusManager.autoFocus(dlg.querySelector(".itemsContainer"),options);focused||options?.skipIfNotEnabled&&!focusManager.isAutoFocusEnabled()||focusManager.autoFocus(dlg,options)}function autoFocus(){var skipIfNotEnabled;this.classList.contains("dlg-autofocus")&&(skipIfNotEnabled=!this.classList.contains("dlg-autofocus-force"),autoFocusInternal(this,{skipIfNotEnabled:skipIfNotEnabled}))}function onItemsContainerUpgraded(){return this.querySelector(".itemsContainer").resume({refresh:!0})}function refreshItemsContainerWithEvent(instance,itemsContainer){return new Promise(function(resolve,reject){dom.addEventListener(itemsContainer,"upgraded",function(){onItemsContainerUpgraded.call(instance).then(resolve,reject)},{once:!0})})}function refreshItemsContainer(){var itemsContainer=this.querySelector(".itemsContainer");return itemsContainer.resume?onItemsContainerUpgraded.call(this):refreshItemsContainerWithEvent(this,itemsContainer)}function onUpdateElement(element,item,index,options){var classList;element&&(classList=element.classList)&&(item&&item.Selected?classList.add("autofocus"):classList.remove("autofocus"),options.borderAll||!options.clearBorder&&!options.hasDivider||(classList=element.querySelector(".listItem-content"))&&(!options.clearBorder&&item?.hasDivider?classList.classList.remove("actionsheet-noborder"):classList.classList.add("actionsheet-noborder")))}function getListViewItemFromInputItem(option,options){var isSelected,item={Name:option.Name||option.name||option.textContent||option.innerText,ServerId:option.ServerId||null,MediaType:option.MediaType||null,IsFolder:option.IsFolder,Type:option.Type,Overview:option.Overview,PrimaryImageAspectRatio:option.PrimaryImageAspectRatio,RunTimeTicks:option.RunTimeTicks,IndexNumber:option.IndexNumber,IndexNumberEnd:option.IndexNumberEnd,SupportsResume:option.SupportsResume,ParentIndexNumber:option.ParentIndexNumber,ProductionYear:option.ProductionYear,PremiereDate:option.PremiereDate,SeriesName:option.SeriesName,NameSubtitle:option.nameSubtitle,Artists:option.Artists,ArtistItems:option.ArtistItems,AlbumArtists:option.AlbumArtists,Composers:option.Composers,AlbumArtist:option.AlbumArtist,Album:option.Album,AlbumId:option.AlbumId,SeriesId:option.SeriesId,SeasonId:option.SeasonId,SeasonName:option.SeasonName,ImageTags:option.ImageTags,BackdropImageTags:option.BackdropImageTags,PrimaryImageTag:option.PrimaryImageTag,AlbumPrimaryImageTag:option.AlbumPrimaryImageTag,SeriesPrimaryImageTag:option.SeriesPrimaryImageTag,ParentThumbItemId:option.ParentThumbItemId,ParentThumbImageTag:option.ParentThumbImageTag,ParentLogoItemId:option.ParentLogoItemId,ParentLogoImageTag:option.ParentLogoImageTag,ParentBackdropItemId:option.ParentBackdropItemId,ParentBackdropImageTags:option.ParentBackdropImageTags,ImageUrl:option.ImageUrl,hasDivider:option.dividerAfter,CanReorder:option.CanReorder},selectedValuesIncludesId=(options.nameProperty&&null!=option[options.nameProperty]&&(item.Name=option[options.nameProperty]),options.getItemId?item.Id=options.getItemId(option):null!=option.Id?item.Id=option.Id:null!=option.id&&""!==option.id?item.Id=option.id:null!=option.value?item.Id=option.value:item.Id=option.Name||option.name,null!=item.Id&&options.selectedValuesClone.includes(item.Id));return options.multiple?(isSelected=options.emptyValueSetEqualsAll&&!options.selectedValuesClone.length||selectedValuesIncludesId,item.Selected=isSelected):item.Selected=option.selected||option.Selected||selectedValuesIncludesId,item.Icon=option.icon||option.Icon||(options.useIconForSelection&&item.Selected&&options.hasItemSelectionState?"":null),item.iconClass=option.iconClass,item.asideText=option.asideText,item.asideIcon=option.asideIcon||(options.useAsideIconForSelection&&item.Selected&&options.hasItemSelectionState?"":null),item.ShortOverview=options.getItemSecondaryText?options.getItemSecondaryText(option):option.secondaryText||option.title||option.ShortOverview,item.originalItem=option,item}function getItemsFromOptions(options,query){return options.getItems(query).then(function(result){var items=result.Items.slice(0);for(let i=0,length=items.length;iquery.Limit&&(items.length=Math.min(items.length,query.Limit)),Promise.resolve({Items:items,TotalRecordCount:totalRecordCount})}}function onItemsChecked(options){var items=options.items,checked=options.checked;for(let i=0,length=items.length;i=arr.length)throw new Error("out of bounds");return arr.splice(new_index,0,arr.splice(old_index,1)[0]),arr}function callUpdateElement(itemsContainer,options){var items=itemsContainer.querySelectorAll(itemsContainer.getItemSelector());for(let i=0,length=items.length;i':useVirtualScroller&&(html+=''),(options.title&&!options.hasItemIcon&&!options.hasItemImage&&!options.hasItemSelectionState||isFullscreen)&&dlg.classList.add("actionsheet-centered"),"");if(options.item&&(previewHtml=getItemPreviewHtml(options,options.item)),html+=previewHtml,options.title){let headerClass="actionSheetTitle";options.hideTitleWhenNotFullscreen&&!isFullscreen&&(headerClass+=" actionSheetTitle-hideNonFullscreen"),html=isFullscreen?(html+='

')+options.title+"

":(html+='

')+options.title+"

"}options.text&&(html=(html+='

')+options.text+"

");let scrollerClassName="actionSheetScroller focuscontainer-x",scrollSliderClass=" actionsheetScrollSlider scrollSlider flex flex-direction-column itemsContainer";isFullscreen?(scrollerClassName+=" actionSheetScroller-fullscreen",useVirtualScroller&&(scrollerClassName+=" actionSheetScroller-fullscreen-virtual")):(useVirtualScroller&&(scrollerClassName+=" flex-grow"),options.title&&!options.hideTitleWhenNotFullscreen&&(enablePaddingTop=!1)),dialogOptions&&(scrollerClassName+=" actionSheetScroller-focusscale",enablePaddingBottom=!0,enablePaddingTop=!0),(options.title||options.text)&&(scrollerClassName+=" actionSheetScroller-withheader");isFullscreen||options.multiple&&!useVirtualScroller||!1!==options.highlight||(enablePaddingBottom=!0),enablePaddingInline&&(scrollerClassName+=" actionSheetScroller-padding-inline"),enablePaddingTop&&(scrollSliderClass+=" actionSheetScroller-padding-top"),enablePaddingBottom&&(scrollSliderClass+=" actionSheetScroller-padding-bottom"),html+='
',options.multiple&&(scrollSliderClass+=" actionsheet-scrollSlider-multiple",layoutManager.tv)&&(scrollSliderClass+=" actionsheet-scrollSlider-multiple-tv");let attributes="";if(useVirtualScroller&&(attributes+=' data-virtualscrolllayout="vertical-grid"'),html=(html+='
")+"
"+"
",options.bottomText&&(html=(html+='
')+options.bottomText+"
"),options.multiple&&useVirtualScroller){html=html+'
'+'
';let selectNoneText,btnActionSheetSelectNoneClass="btnActionSheetSelectNone";options.selectAllOnSelectNone?(selectNoneText=globalize.translate("SelectAll"),btnActionSheetSelectNoneClass+=" dlg-close"):selectNoneText=globalize.translate("SelectNone"),html=(html+='")+"
"+"
"}dlg.innerHTML=html;var btnCloseActionSheets=dlg.querySelectorAll(".btnCloseActionSheet");for(let i=0,length=btnCloseActionSheets.length;i=options.selectedValuesClone.length||(options.selectedValuesClone=array_move(options.selectedValuesClone,item,e.newIndex),onValueChange())}),itemsContainer.afterRefresh=function(){itemsContainer.virtualScroller||callUpdateElement(itemsContainer,options)};let openingPromise=new Promise(function(resolve,reject){dlg.addEventListener("open",resolve)}),openedPromise=new Promise(function(resolve,reject){dlg.addEventListener("opened",resolve)}),closePromise=dialogHelper.open(dlg);(useVirtualScroller?Promise.resolve():refreshItemsContainer.call(dlg)).then(function(){dlg.dialogOptions.setDialogSize=!0,dialogHelper.positionDialog(dlg);let timeout;options.timeout&&(timeout=setTimeout(function(){dialogHelper.close(dlg)},options.timeout));let refreshPromise;return useVirtualScroller&&(refreshPromise=refreshItemsContainer.call(dlg)),openingPromise.then(function(){dialogHelper.positionDialog(dlg)}),openedPromise.then(function(){return(refreshPromise||Promise.resolve()).then(autoFocus.bind(dlg)),itemsContainer.virtualScroller&&itemsContainer.virtualScroller.onResized(),closePromise.then(function(){var resolveResult;if(instance.dlg=null,timeout&&(clearTimeout(timeout),timeout=null),!isResolved)return null!=(resolveResult=getResolveResult())?(options.callback&&options.callback(resolveResult),resolveResult):Promise.reject()})})}).then(resolve,reject)})},ActionSheet.prototype.refreshItems=function(){var itemsContainer=this.dlg?.querySelector(".itemsContainer");itemsContainer&&itemsContainer.refreshItems()},ActionSheet.prototype.isShowing=function(){return null!=this.dlg},ActionSheet.prototype.autoFocus=function(options){console.log("focusing actionsheet"),autoFocusInternal(this.dlg,options)},ActionSheet.prototype.close=function(){var dlg=this.dlg;dlg&&dialogHelper.close(dlg)},ActionSheet.prototype.destroy=function(){this.dlg=null};export default{show:show,constructor:ActionSheet};