import dom from"./../dom.js";import browser from"./../browser.js";import layoutManager from"./../layoutmanager.js";import globalize from"./../common/globalize.js";import datetime from"./../common/datetime.js";import textEncoding from"./../common/textencoding.js";import mediaInfo from"./../mediainfo/mediainfo.js";import indicators from"./../indicators/indicators.js";import focusManager from"./../focusmanager.js";import itemManager from"./../common/itemmanager/itemmanager.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import imageLoader from"./../common/imagehelper.js";import lazyImageLoader from"./../lazyloader/lazyimageloader.js";import itemShortcuts from"./../shortcuts.js";import playbackManager from"./../common/playback/playbackmanager.js";import EmbyRatingButton from"./../emby-elements/userdatabuttons/emby-ratingbutton.js";import EmbyPlaystateButton from"./../emby-elements/userdatabuttons/emby-playstatebutton.js";import dataFormatter from"./../common/dataformatter.js";import"./../emby-elements/emby-button/emby-button.js";require(["css!modules/listview/listview.css"]);let supportsNativeLazyLoading="loading"in HTMLImageElement.prototype,supportsAsyncDecodedImages=dom.supportsAsyncDecodedImages(),decodingAttribute=supportsAsyncDecodedImages?' decoding="async"':"",supportsObjectFit=CSS.supports("object-fit","contain")&&!browser.edge,enableFocusTransfrom=dom.allowFocusScaling(),supportsCssVariables=CSS.supports("color","var(--fake-var)"),secondaryTextClass=supportsCssVariables?"secondaryText":"",DownloadIcon="",embyCheckboxLoaded;function loadEmbyCheckbox(){embyCheckboxLoaded||(embyCheckboxLoaded=!0,Emby.importModule("./modules/emby-elements/emby-checkbox/emby-checkbox.js"))}function getIndex(item,options){return"disc"!==options.index||null==(options=item.ParentIndexNumber)?"":globalize.translate("ValueDiscNumber",options)}function getTextLinesHtml(textlines,options){let html="",isFirst=!0,listItemBodyTextTagName=options.listItemBodyTextTagName;var cssClass=options.listItemBodyTextClass;for(let i=0,length=textlines.length;i',isFirst=!1,listItemBodyTextTagName="div"):html+='
',html=(html+=text)+("")}return html}function getId(item){return item.Id}function getTextActionButton(options,item,text,serverId,parentId,isSameItemAsCard){if(text=text||itemManager.getDisplayName(item),layoutManager.tv)return textEncoding.htmlEncode(text);if(!1===options.textLinks)return textEncoding.htmlEncode(text);if(!item.Id&&!isSameItemAsCard)return textEncoding.htmlEncode(text);text=textEncoding.htmlEncode(text);let dataAttributes;dataAttributes=isSameItemAsCard?"":itemShortcuts.getShortcutAttributesHtml(item,{serverId:serverId,parentId:parentId});item=!options.draggable||isSameItemAsCard?"":' draggable="true"',serverId='"}function isUsingLiveTvNaming(itemType){return"Program"===itemType||"Timer"===itemType||"Recording"===itemType}function getAirTimeText(item,showAirDateTime,showAirEndTime){let airTimeText="";if(item.StartDate)try{var date=new Date(Date.parse(item.StartDate));showAirDateTime&&(airTimeText+=datetime.toLocaleDateString(date,{weekday:"short",month:"short",day:"numeric"})+" "),airTimeText+=datetime.getDisplayTime(date),item.EndDate&&showAirEndTime&&(date=new Date(Date.parse(item.EndDate)),airTimeText+=" – "+datetime.getDisplayTime(date))}catch(e){console.log("Error parsing date: "+item.StartDate)}return airTimeText}function mapArtistsToTextButtons(item,artistItems,options){return artistItems.map(function(a){return a.Type="MusicArtist",a.IsFolder=!0,getTextActionButton(options,a,null,item.ServerId)}).join(", ")}function getMdIconClass(icon){switch(icon){case"":case"":case"":case"":case"":case"":case"":case"":case"":return" md-icon-fill";case"":case"":return" md-icon-pushdown-bubble";default:return""}}function getPlayAction(item,options){return item.IsFolder?"resume":"Photo"===item.MediaType?"playallfromhere":options.playAction}function getListItemHtml(item,index,options){var enableSideMediaInfo=options.enableSideMediaInfo,tagName=options.tagName,action=options.action;let html="";var downloadWidth=options.imageDownloadWidth,hoverPlayButtonRequested=!layoutManager.tv&&!1!==options.hoverPlayButton,enableHoverPlayButton=hoverPlayButtonRequested&&playbackManager.canPlay(item),itemType=item.Type,itemController=itemManager.getItemController(itemType),titleAttribute=options.tooltip?' title="'+textEncoding.htmlEncode(itemController.getDisplayName(item,{}))+'"':"",serverId=(html+="',options.enableBottomOverview&&(html+='
'),item.ServerId),titleAttribute=serverId?connectionManager.getApiClient(serverId):null,fieldMap=(options.multiSelect&&(html+=''),options.fieldMap);if(fieldMap.ItemCheckbox){let checkbox=options.itemCheckbox,checked;(checked=options.getIsItemChecked?options.getIsItemChecked(item):item.Selected||!1===item.Disabled)&&(checkbox=checkbox.replace('type="checkbox"','type="checkbox" checked')),html+=checkbox}if(options.treeButton&&(item.IsFolder?html+=options.treeButtonHtml:html+=options.disabledTreeButtonHtml),!1!==options.image){let imageItem;imageItem=options.showCurrentProgramImage?item.CurrentProgram||item:item.ProgramInfo||item;var downloadWidth=imageLoader.getImageUrl(imageItem,titleAttribute,{width:downloadWidth,showChannelLogo:"channel"===options.imageSource,uiAspect:options.aspectInfo.aspect}),imgUrl=options.preferIcon?null:downloadWidth.imgUrl;let imageContainerClass=options.imageContainerClass,imageClass="listItemImage";options.imageSize&&(imageClass+=" listItemImage-"+options.imageSize),options.roundImage&&(imageClass+=" listItemImage-round",imgUrl||(imageContainerClass+=" listItemImageContainer-round"));var playOnImageClick=options.imagePlayButton&&!layoutManager.tv,imageAction=(options.playQueueIndicator&&item.PlaylistItemId&&(playbackManager.currentItem()||{}).PlaylistItemId===item.PlaylistItemId&&(imageContainerClass+=" playlistIndexIndicatorImage"),playOnImageClick?"resume":action),color=((imgUrl||options.preferIcon||!1===options.defaultBackground)&&!options.defaultBackground||(imageContainerClass+=" defaultCardBackground"),"Error"===item.Severity||"Fatal"===item.Severity||"Warn"===item.Severity?"background-color:#cc0000;color:#fff;":""),styleRules=[],color=(color&&styleRules.push(color),styleRules.push("aspect-ratio:"+options.aspectInfo.aspectCss),styleRules.length?' style="'+styleRules.join(";")+'"':""),styleRules=(html+='
",indicators.getProgressBarHtml(item,{containerClass:"listItemProgressBar"}));if(imgUrl){var imageAction=downloadWidth.aspect?imageLoader.getShapeFromAspect(downloadWidth.aspect):imageLoader.getShape([item],options)||"square",color=imageLoader.getAspectFromShape(imageAction,options),imageAction=(imageClass+=" listItemImage-"+imageAction,imageLoader.getCoveredImageClass(imageItem,titleAttribute,downloadWidth,color.aspect));imageAction&&(imageClass+=imageAction);let isImg;2===options.lazy?supportsObjectFit?(html+='',isImg=!0):html+='
':supportsNativeLazyLoading&&supportsObjectFit?(html+='',isImg=!0):html+='
',styleRules&&(html+=styleRules),isImg||(html+="
")}else{let icon=item.Icon;if(icon=!icon&&options.enableDefaultIcon?itemController.getDefaultIcon(item):icon){let iconClass=options.iconClass;item.iconClass&&(iconClass+=" "+item.iconClass),iconClass+=getMdIconClass(icon),html+=''+icon+""}styleRules&&(html+=styleRules)}options.iconSpacing||(downloadWidth=indicators.getPlayedIndicatorHtml(item,options.indicatorClass))&&(html+=downloadWidth),enableHoverPlayButton&&(imageAction=getPlayAction(item,options),html+=''),playOnImageClick&&(html+=''),html+="
"}if(options.showIndexNumberLeft||options.showChapterTimeLeft){let indexNumberClass="listItem-indexnumberleft secondaryText";if(hoverPlayButtonRequested&&(indexNumberClass+=" listItem-indexnumberleft-withhoverbutton"),options.showChapterTimeLeft?(html+='
',null==item.StartPositionTicks?html+=" ":html+=datetime.getDisplayRunningTime(item.StartPositionTicks)):options.showIndexNumberLeft&&(html+='
',null==item.IndexNumber?html+=" ":html+=item.IndexNumber),enableHoverPlayButton){let playButtonAction=getPlayAction(item,options);html+=''}html+="
"}html+="<"+options.listItemBodyTagName+' class="'+options.listItemBodyClassName+'">';let listItemBodyTextTagName=options.listItemBodyTextTagName;var textCssClass=options.listItemBodyTextClass;let listItemBodyTextOpen="<"+listItemBodyTextTagName+' class="'+textCssClass+'">',listItemBodyTextClose="";var secondaryListItemBodyTextOpen='
',color=item.ProgramInfo||item;let fields;switch(itemType){case"MusicAlbum":case"Audio":case"MusicVideo":case"Game":fields=options.fieldsParentNameAfter||options.fields;break;default:fields=options.fields}let displayName=itemManager.getDisplayName(color,{includeParentInfo:options.includeParentInfoInTitle,includeIndexNumber:options.includeIndexNumberInTitle||(!item.SupportsResume||"Audio"!==item.Type)&&null});options.showIndexNumber&&null!=color.IndexNumber&&(displayName=color.IndexNumber+". "+displayName);for(let i=0,length=fields.length;i'+mediaInfoHtml:html+=listItemBodyTextOpen,html=(html+=textEncoding.htmlEncode(displayName))+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="
"):displayName&&(html+=listItemBodyTextOpen+textEncoding.htmlEncode(displayName)+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="
");break;case"ParentNameOrName":"Episode"===itemType&&item.SeriesName?item.SeriesId?(html+=listItemBodyTextOpen+getTextActionButton(options,{Id:item.SeriesId,ServerId:serverId,Name:item.SeriesName,Type:"Series",IsFolder:!0})+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="
"):item.SeriesName&&(html+=listItemBodyTextOpen+textEncoding.htmlEncode(item.SeriesName||"")+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="
"):isUsingLiveTvNaming(itemType)?(html+=listItemBodyTextOpen+textEncoding.htmlEncode(item.Name||"")+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="
"):(mediaInfoHtml=item.SeriesName||item.Series||item.Album||(item.AlbumArtist?item.AlbumArtist.Name||item.AlbumArtist:null)||item.GameSystem||"")&&(html+=listItemBodyTextOpen+textEncoding.htmlEncode(mediaInfoHtml||"")+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="");break;case"ParentName":let showArtist;var containerAlbumArtistIds=options.containerAlbumArtistIds,artistItems="MusicAlbum"===item.Type?item.AlbumArtists:item.ArtistItems;(!artistItems||!artistItems.length||1";break;case"ItemCheckbox":case"ProductionYear":case"Overview":break;case"Type":html+=listItemBodyTextOpen+itemController.getItemTypeName(item.Type)+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"StartDateTime":html+=listItemBodyTextOpen+datetime.toLocaleString(new Date(Date.parse(item.StartDate)),{weekday:"long",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"StartToEndDateTime":html=(html=(html+='
'+datetime.toLocaleString(new Date(Date.parse(item.StartDate)),{weekday:"long",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}))+(" – "+datetime.toLocaleString(new Date(Date.parse(item.EndDate)),{hour:"numeric",minute:"2-digit"})))+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="
";break;case"ChannelName":html=html+listItemBodyTextOpen+'
';containerAlbumArtistIds=[];"TvChannel"===item.Type?containerAlbumArtistIds.push(item.Name):item.ChannelName?containerAlbumArtistIds.push(item.ChannelName):item.ProgramInfo&&item.ProgramInfo.ChannelName&&containerAlbumArtistIds.push(item.ProgramInfo.ChannelName),item.ChannelNumber?containerAlbumArtistIds.push(item.ChannelNumber):item.ProgramInfo&&item.ProgramInfo.ChannelNumber&&containerAlbumArtistIds.push(item.ProgramInfo.ChannelNumber),html+=textEncoding.htmlEncode(containerAlbumArtistIds.join(" "))+"
"+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"MappedChannelInfo":html+=listItemBodyTextOpen;let mappingInfo;item.ListingsChannelName&&(mappingInfo=item.ListingsChannelName,item.ListingsChannelNumber&&(mappingInfo=item.ListingsChannelNumber+" "+mappingInfo),item.AffiliateCallSign&&(mappingInfo+=" - "+item.AffiliateCallSign),(artistItems=item.ListingsId||item.ListingsPath)&&(mappingInfo+=" - "+textEncoding.htmlEncode(artistItems)),mappingInfo=globalize.translate("MappedToValue",mappingInfo)),html=(html+=mappingInfo||globalize.translate("NotMappedToGuideData"))+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"CurrentProgramParentName":item.CurrentProgram&&(html+=listItemBodyTextOpen+textEncoding.htmlEncode(item.CurrentProgram.Name||"")+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="");break;case"CurrentProgramName":item.CurrentProgram?.EpisodeTitle&&(html+=listItemBodyTextOpen+textEncoding.htmlEncode(itemManager.getDisplayName(item.CurrentProgram))+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="");break;case"CurrentProgramTime":item.CurrentProgram&&(html+=listItemBodyTextOpen+getAirTimeText(item.CurrentProgram,!1,!0)+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="");break;case"LogLine":html+=listItemBodyTextOpen+textEncoding.htmlEncode(item)+listItemBodyTextClose,listItemBodyTextTagName="div",listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"DeviceUserInfo":let deviceHtml="";item.LastUserName&&(item.LastUserId?deviceHtml+=getTextActionButton(options,{Id:item.LastUserId,Name:item.LastUserName,ServerId:serverId,Type:"User"},item.LastUserName+", "+dataFormatter.formatRelativeTime(item.DateLastActivity),null,null):item.LastUserName&&(deviceHtml+=item.LastUserName+", "+dataFormatter.formatRelativeTime(item.DateLastActivity))),html+=listItemBodyTextOpen+deviceHtml+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"ChannelNumber":item.ChannelNumber&&(html+=listItemBodyTextOpen+textEncoding.htmlEncode(item.ChannelNumber)+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="");break;case"ShortOverview":item.ShortOverview&&(html+=listItemBodyTextOpen+(item.ShortOverview?textEncoding.htmlEncode(item.ShortOverview):" ")+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="");break;case"Date":html+=listItemBodyTextOpen+datetime.toLocaleString(new Date(Date.parse(item.Date)))+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"ChapterTime":html+=listItemBodyTextOpen+(null==item.StartPositionTicks?"":datetime.getDisplayRunningTime(item.StartPositionTicks))+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"PathOrTitle":html+=listItemBodyTextOpen+(item.Path||item.Title?textEncoding.htmlEncode(item.Path||item.Title):" ")+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"Text":html+=listItemBodyTextOpen+(item.Text?textEncoding.htmlEncode(item.Text):" ")+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"Path":html+=listItemBodyTextOpen+(item.Path?textEncoding.htmlEncode(item.Path):" ")+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"ProviderName":html+=listItemBodyTextOpen+(item.ProviderName?textEncoding.htmlEncode(item.ProviderName):" ")+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose="";break;case"MediaInfo":{let mediaInfoHtml=mediaInfo.getPrimaryMediaInfoHtml(item,{episodeTitle:!1,subtitles:!1,endsAt:!1});mediaInfoHtml&&(mediaInfoClass="listItemMediaInfo mediaInfoItems listItemBodyText listItemBodyText-withmediainfo "+options.listItemBodyTextSecondaryClass+" listItemBodyText-nowrap",html+='
'+mediaInfoHtml+"
");break}default:let fieldValue=itemController.resolveField(item,field);null==fieldValue&&(fieldValue=""),html+=listItemBodyTextOpen+fieldValue+listItemBodyTextClose,listItemBodyTextOpen=secondaryListItemBodyTextOpen,listItemBodyTextClose=""}}imgUrl=[];if(fieldMap.MediaStreamInfo&&mediaInfo.pushMediaStreamLines(item,options,imgUrl,itemController.getDefaultIcon(item)),html+=getTextLinesHtml(imgUrl,options),!1!==options.mediaInfo&&!enableSideMediaInfo){let mediaInfoClass="listItemMediaInfo mediaInfoItems listItemBodyText "+options.listItemBodyTextSecondaryClass+" listItemBodyText-nowrap";html+='
'+mediaInfo.getPrimaryMediaInfoHtml(item,{episodeTitle:!1,subtitles:!1,endsAt:!1})+"
"}if(fieldMap.Overview&&(html=(html+='
')+(item.Overview?dom.stripScripts(item.Overview):"")+"
"),html+="",item.SyncStatus){let syncIconClass="listItem-syncStatusIcon";layoutManager.tv||(syncIconClass+=" listItem-syncStatusIcon-smallfont"),html+='
'+DownloadIcon+"
"}if(!1!==options.mediaInfo&&enableSideMediaInfo){styleRules=mediaInfo.getPrimaryMediaInfoHtml(item,{year:!1,container:!1,episodeTitle:!1,criticRating:!1,endsAt:!1});if(styleRules){let mediaInfoClass="listItemMediaInfo mediaInfoItems secondaryText";!1!==options.autoHideMediaInfo&&(mediaInfoClass+=" listItemMediaInfo-autohide"),html+='
'+styleRules+"
"}}if(options.recordButton||"Timer"!==itemType&&"Program"!==itemType||(html+=indicators.getTimerIndicator(item).replace("indicatorIcon","indicatorIcon listItemAside")),item.asideText&&(html=(html+='
')+item.asideText+"
"),item.asideIcon&&(html=(html+='
')+item.asideIcon+"
"),options.clickEntireItem)options.itemAccessSelection&&(html+='
',"Write"===item.UserItemShareLevel?html+=globalize.translate("Edit"):"Read"===item.UserItemShareLevel?html+=globalize.translate("View"):html+=globalize.translate("None"),html=(html+="
")+getItemAccessSelectContainer(item,!0));else{if(options.allowButtonCommands){if(options.contextMenu&&options.moreButton&&itemController.supportsContextMenu(item)){let contextMenuButtonClass="listItemContextMenuButton";options.hideMoreButtonOnTouch&&(contextMenuButtonClass+=" listItemContextMenuButton-autohide"),html+=''}if(options.overviewButton&&item.Overview&&(html+=''),options.enableUserDataButtons&&(downloadWidth=item.UserData||{},itemController.canMarkPlayed(item)&&(html+=EmbyPlaystateButton.getHtml(downloadWidth.Played,"listViewUserDataButton listItemButton paper-icon-button-light itemAction")),itemController.canRate(item))&&(html+=EmbyRatingButton.getHtml(downloadWidth.IsFavorite,"listViewUserDataButton listItemButton paper-icon-button-light itemAction")),options.buttonCommands?.length){let commands=itemController.getCommands({items:[item],user:titleAttribute?.getCurrentUserCached()});for(let i=0,length=(commands=commands.filter(function(c){return options.buttonCommands.includes(c.id)})).length;i'+cmd.icon+""}}options.dragReorder&&!1!==item.CanReorder&&(html+='')}options.itemAccessSelection&&(html+=getItemAccessSelectContainer(item))}if(options.enableBottomOverview&&(html=(html=(html+="")+'
')+(item.Overview?dom.stripScripts(item.Overview):"")+"
"),html+="",options.listItemParts)return imageAction=itemShortcuts.getShortcutAttributes(item,options),action&&imageAction.push({name:"data-action",value:action}),options.isVirtualList||imageAction.push({name:"data-index",value:index}),{attributes:imageAction,html:html};let dataAttributes=itemShortcuts.getShortcutAttributesHtml(item,options);action&&(dataAttributes+=' data-action="'+action+'"'),options.isVirtualList||(dataAttributes+=' data-index="'+index+'"');playOnImageClick=options.fixedAttributes;playOnImageClick&&(dataAttributes+=" "+playOnImageClick);let className=options.className;return item.ItemClass&&(className+=" "+item.ItemClass),"<"+tagName+' class="'+className+'"'+dataAttributes+">"+html+""}function getItemAccessSelectContainer(item,hide){let html="";return html=(html+='
')+('"+"
"}function getItemParts(item,index,options){return options.listItemParts=!0,getListItemHtml(item,index,options)}function setListOptions(items,options){null==options.iconSpacing&&(options.preferIcon||options.code||!1!==options.image&&options.roundImage)&&(options.iconSpacing=!0),null==options.isBoundListItem&&(options.isBoundListItem=!0),options.itemSelector=".listItem",options.enableDefaultIcon=!1!==options.enableDefaultIcon;var nameIndex,contentWrapperClass=((options.contentWrapperClass||"")+" listItem-content").trim(),fieldMap=(options.contentWrapperClass=contentWrapperClass,options.containerAlbumArtistIds=(options.containerAlbumArtists||[]).map(getId),options.contextMenu=!1!==options.contextMenu,options.enableUserDataButtons=!1!==options.enableUserDataButtons,options.moreButton=options.contextMenu&&!1!==options.moreButton,options.fields||(options.fields=[],options.fields.push("Name")),options.fields=Array.from(new Set(options.fields)),options.autoMoveParentName&&(options.fieldsParentNameAfter=options.fields.slice(0),contentWrapperClass=options.fieldsParentNameAfter.indexOf("ParentName"),nameIndex=options.fieldsParentNameAfter.indexOf("Name"),-1!==contentWrapperClass&&-1!==nameIndex&&contentWrapperClass',options.enableBottomOverview&&(innerHTML+='
'),fieldMap.ItemCheckbox){let itemCheckboxLabelClass="listItem-checkboxLabel";options.roundCheckbox&&(itemCheckboxLabelClass+=" listItem-checkboxLabel-round"),options.itemCheckbox='',innerHTML+=options.itemCheckbox}if(options.treeButton&&(options.disabledTreeButtonHtml='',options.treeButtonHtml='',innerHTML+=options.treeButtonHtml),!1!==options.image){let imageContainerClass=((options.imageContainerClass||"")+" listItemImageContainer").trim();options.imageSize&&(imageContainerClass+=" listItemImageContainer-"+options.imageSize,layoutManager.tv)&&(imageContainerClass+=" listItemImageContainer-"+options.imageSize+"-tv"),options.clickEntireItem||(imageContainerClass+=" itemAction"),options.iconSpacing&&(imageContainerClass+=" listItemImageContainer-margin"),imageContainerClass+=" listItemImageContainer-"+options.shape,options.imageContainerClass=imageContainerClass,innerHTML+='
'}let listItemBodyClassName=((options.listItemBodyClassName||"")+" listItemBody").trim();options.clickEntireItem||(listItemBodyClassName+=" itemAction"),contentWrapperClass||(listItemBodyClassName+=" listItemBody-noleftpadding"),!1===options.verticalPadding&&(listItemBodyClassName+=" listItemBody-noverticalpadding"),options.code&&(listItemBodyClassName+=" listItemBody-code"),options.dragReorder&&(listItemBodyClassName+=" listItemBody-draghandle"),options.iconSpacing||(listItemBodyClassName+=" listItemBody-reduceypadding");options.iconClass?options.iconClass+=" listItemIcon md-icon autortl":options.iconClass="listItemIcon md-icon autortl";var textlines=[];for(let i=0,length=options.fields.length;i')+getTextLinesHtml(textlines,options),fieldMap.Overview&&(options.mediaInfo&&!options.enableSideMediaInfo&&(innerHTML+='
'),options.topOverviewClassName="listItem-overview listItem-topoverview listItemBodyText "+options.listItemBodyTextSecondaryClass,options.enableBottomOverview&&(options.topOverviewClassName+=" listItem-overview-autohide"),options.topOverviewClassName+=" "+options.overviewClass,innerHTML+='
'),innerHTML+="",options.dragReorder&&(innerHTML+=''),options.enableBottomOverview&&(innerHTML+="
",options.bottomOverviewClassName="listItem-bottomoverview secondaryText",options.bottomOverviewClassName+=" "+options.overviewClass,innerHTML+='
 
'),innerHTML+="","");options.addTabIndex&&(fixedAttributes+=' tabindex="0"'),options.anyDraggable&&(fixedAttributes+=' draggable="true"'),"button"===options.tagName&&(fixedAttributes+=' type="button"'),options.fixedAttributes=fixedAttributes.trim(),options.templateInnerHTML=innerHTML}function getItemsHtml(items,options){setListOptions(items,options);let groupTitle="",html="";for(let i=0,length=items.length;i':html+='

',html=html+itemGroupTitle+"

",groupTitle=itemGroupTitle),html+=getListItemHtml(item,i,options)}return html}function buildItems(items,options){var itemsContainer=options.itemsContainer;if(document.body.contains(itemsContainer)){var parentContainer=options.parentContainer;if(parentContainer){if(!items.length)return void parentContainer.classList.add("hide");parentContainer.classList.remove("hide")}parentContainer=getItemsHtml(items,options);itemsContainer.innerHTML=parentContainer,itemsContainer.items=items,options.multiSelect&&(itemsContainer.enableMultiSelect?itemsContainer.enableMultiSelect(!0):itemsContainer.setAttribute("data-multiselect","true")),options.contextMenu&&(itemsContainer.enableContextMenu?itemsContainer.enableContextMenu(!0):itemsContainer.setAttribute("data-contextmenu","true")),parentContainer&&lazyImageLoader.lazyChildren(itemsContainer),options.autoFocus&&focusManager.autoFocus(itemsContainer)}}function setListClasses(elem){elem=elem.classList;elem.remove("vertical-wrap"),elem.add("vertical-list")}export default{getItemsHtml:getItemsHtml,setListOptions:setListOptions,getItemParts:getItemParts,buildItems:buildItems,virtualChunkSize:30,setListClasses:setListClasses};