import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import layoutManager from"./../modules/layoutmanager.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import listView from"./../modules/listview/listview.js";import globalize from"./../modules/common/globalize.js";import userSettings from"./../modules/common/usersettings/usersettings.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";function getCardOptions(options,scrollX){return{renderer:cardBuilder,options:Object.assign({shape:"autooverflow",fields:["Name","ProductionYear"],centerText:!0,overlayPlayButton:!0,focusTransformTitleAdjust:!0},options),virtualScrollLayout:scrollX?"horizontal-grid":null}}function getGenericCardOptions(){var instance=this.instance,linkedItemType=this.linkedItemType,scrollX=this.scrollX,parentItemType=instance.options.item?.Type;switch(linkedItemType){case"MusicArtist":return getCardOptions({fields:["Name"],round:!0},scrollX);case"Playlist":return getCardOptions({fields:["Name"]},scrollX);case"MusicAlbum":case"MusicVideo":return getCardOptions({fields:"MusicArtist"===parentItemType?["Name","ProductionYear"]:["ParentName","Name"]},scrollX);case"Season":case"Episode":return getCardOptions({fields:["ParentName","Name"]},scrollX);case"Person":case"Folder":return getCardOptions({fields:["Name"]},scrollX);default:return getCardOptions({},scrollX)}}function getListViewOptions(items,options){return{renderer:listView,options:Object.assign({action:"playallfromhere",overlayPlayButton:!1,verticalWrap:!0,mediaInfo:!1,enableSideMediaInfo:!1,enableUserDataButtons:!1,fields:["Name","ParentName"]},options),virtualScrollLayout:"horizontal-grid"}}function enableWrappedListView(){return!layoutManager.tv}function addParentItemToQuery(instance,query){var instance=instance.options,params=instance.params,item=instance.item,instance=params.parentId,params=(instance&&(query.ParentId=instance),item.Type);switch(params){case"Genre":case"MusicGenre":case"GameGenre":query.GenreIds=item.Id;break;case"Studio":query.StudioIds=item.Id;break;case"Person":query.PersonIds=item.Id;break;case"MusicArtist":query.ArtistIds=item.Id;break;case"Tag":query.TagIds=item.Id;break;case"BoxSet":case"Folder":query.ParentId=item.Id}}function fetchArtists(query,instance,scrollX){var apiClient=instance.getApiClient();return query=Object.assign({SortBy:"SortName",SortOrder:"Ascending",Recursive:!0,Fields:instance.getRequestedItemFields()+",PrimaryImageAspectRatio",StartIndex:0,ImageTypeLimit:1,EnableTotalRecordCount:!!scrollX,EnableImageTypes:"Primary"},query),addParentItemToQuery(instance,query),apiClient.getArtists(apiClient.getCurrentUserId(),query)}function fetchBoxSetChildrenItems(query,instance,item,linkedItemType,scrollX){if("BoxSet"!==item.Type)return Promise.resolve({Items:[],TotalRecordCount:0});var apiClient=connectionManager.getApiClient(item);let sortBy=userSettings.itemSortBy(item.Id)||"default";"default"===sortBy&&(sortBy="DisplayOrder");var sortOrder=(sortBy=apiClient.isMinServerVersion("4.8.0.16")?sortBy:null)?userSettings.itemSortOrder(item.Id):null;return linkedItemType&&(query.IncludeItemTypes=linkedItemType),query=Object.assign({ParentId:item.Id,ImageTypeLimit:1,Fields:instance.getRequestedItemFields()+",PrimaryImageAspectRatio,ProductionYear,Status,EndDate",EnableTotalRecordCount:!!scrollX,sortBy:sortBy,sortOrder:sortOrder},query),console.log("query start index: "+query.StartIndex),apiClient.getItems(apiClient.getCurrentUserId(),query).then(function(result){for(let i=0,length=result.Items.length;i";if(href&&!layoutManager.tv){switch(item.Type){case"Genre":href+="&genreId="+params.id;break;case"MusicGenre":href+="&musicGenreId="+params.id;break;case"GameGenre":href+="&gameGenreId="+params.id;break;case"Studio":href+="&studioId="+params.id;break;case"Person":href+="&personId="+params.id;break;case"MusicArtist":href+="&artistId="+params.id;break;case"Tag":href+="&tagId="+params.id;break;case"BoxSet":case"Folder":href+="&parentId="+params.id}title=params.parentId;title&&(href+="&parentId="+title),href+="&serverId="+params.serverId,html=''+html+""}return html}function getSectionHtml(scrollX,params,item,linkedItemType,title,href){let className="linked-"+linkedItemType+"-section",html=(scrollX?className+=" autoScrollSection":href=null,"BoxSet"===item.Type&&(href=null),'
'),itemsContainerClass="",titleContainerClass="",cardSizeAttribute=("Audio"===linkedItemType&&(itemsContainerClass+=" itemsContainer-sideFooters"),enableWrappedListView()?titleContainerClass+="Audio"===linkedItemType?" sectionTitleContainer-wrappedlistview":" sectionTitleContainer-cards":titleContainerClass+=" sectionTitleContainer-cards",layoutManager.tv||(titleContainerClass+=" focusable"),"");layoutManager.tv||"MusicArtist"===linkedItemType&&(cardSizeAttribute=' data-cardsizeoffset="1"');linkedItemType=linkedItemType?' data-itemtype="'+linkedItemType+'"':"";return html=(html+='
')+getSectionHeaderHtml(params,item,href,title)+"
",html=scrollX?(html=(html+='
')+"')+"
":html+("',html+=""}function loadHtml(options){let html="";var item=options.item,params=options.params,itemTypes=options.itemTypes;let scrollX=!0;"BoxSet"===item.Type&&itemTypes.length<2&&(scrollX=!1),itemTypes.includes("MovieSeries")&&(html+=getSectionHtml(scrollX,params,item,"Movie,Series",globalize.translate("MoviesAndShows"),"list/list.html?type=Movie,Series")),itemTypes.includes("Movie")&&(html+=getSectionHtml(scrollX,params,item,"Movie",globalize.translate("Movies"),"list/list.html?type=Movie")),itemTypes.includes("Series")&&(html+=getSectionHtml(scrollX,params,item,"Series",globalize.translate("Shows"),"list/list.html?type=Series")),itemTypes.includes("Season")&&(html+=getSectionHtml(scrollX,params,item,"Season",globalize.translate("Seasons"),"list/list.html?type=Season")),itemTypes.includes("Episode")&&(html+=getSectionHtml(scrollX,params,item,"Episode",globalize.translate("Episodes"),"list/list.html?type=Episode")),itemTypes.includes("MusicArtist")&&(html+=getSectionHtml(scrollX,params,item,"MusicArtist",globalize.translate("Artists"),"list/list.html?type=MusicArtist")),itemTypes.includes("MusicAlbum")&&(html+=getSectionHtml(scrollX,params,item,"MusicAlbum",globalize.translate("Albums"),"list/list.html?type=MusicAlbum")),itemTypes.includes("Playlist")&&(html+=getSectionHtml(scrollX,params,item,"Playlist",globalize.translate("Playlists"),"list/list.html?type=Playlist")),itemTypes.includes("Audio")&&(html+=getSectionHtml(scrollX,params,item,"Audio",globalize.translate("Songs"),"list/list.html?type=Audio")),itemTypes.includes("MusicVideo")&&(html+=getSectionHtml(scrollX,params,item,"MusicVideo",globalize.translate("HeaderMusicVideos"),"list/list.html?type=MusicVideo")),itemTypes.includes("Trailer")&&(html+=getSectionHtml(scrollX,params,item,"Trailer",globalize.translate("Trailers"),"list/list.html?type=Trailer")),itemTypes.includes("Video")&&(html+=getSectionHtml(scrollX,params,item,"Video",globalize.translate("Videos"),"list/list.html?type=Video")),itemTypes.includes("Photo")&&(html+=getSectionHtml(scrollX,params,item,"Photo",globalize.translate("Photos"),"list/list.html?type=Photo")),itemTypes.includes("Game")&&(html+=getSectionHtml(scrollX,params,item,"Game",globalize.translate("Games"),"list/list.html?type=Game")),itemTypes.includes("Book")&&(html+=getSectionHtml(scrollX,params,item,"Book",globalize.translate("Books"),"list/list.html?type=Book")),itemTypes.includes("Folder")&&(html+=getSectionHtml(scrollX,params,item,"Folder",globalize.translate("Folders"))),itemTypes.includes("Person")&&(html+=getSectionHtml(scrollX,params,item,"Person",globalize.translate("People"))),itemTypes.includes("Items")&&(html+=getSectionHtml(scrollX,params,item,null,globalize.translate("Items"))),options.view.innerHTML=html}function LinkedItemsView(options){this.options=options}function onTemplateLoaded(instance){var options=instance.options;let view=options.view;var params=options.params,itemsContainers=Array.prototype.slice.call(view.querySelectorAll(".itemsContainer"),0);if(params.parentId)for(let i=0,length=itemsContainers.length;i