define(["exports","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/layoutmanager.js","./../modules/common/globalize.js","./../modules/common/usersettings/usersettings.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/tabbedview/sectionscontroller.js"],function(_exports,_embyScroller,_layoutmanager,_globalize,_usersettings,_connectionmanager,_sectionscontroller){function addParentItemToQuery(instance,section,query){var item=instance.options.item,instance=instance.params.parentId;switch(instance&&(query.ParentId=instance),item.Type){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"MusicAlbum":query.AlbumIds=item.Id;break;case"Tag":query.TagIds=item.Id;break;case"BoxSet":query.ParentId=item.Id;break;case"Folder":"Person"!==section.LinkedItemType&&(query.ParentId=item.Id)}}function getSupportedSections(item,collectionType){var item=null==item?void 0:item.Type,wrappedList=!_layoutmanager.default.tv,sortBy="ProductionYear,PremiereDate,SortName",sortOrder="Descending,Descending,Ascending",sections=[{LinkedItemType:"TvChannel",Name:_globalize.default.translate("Channels"),CollectionType:"livetv",ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"TvChannel",SortBy:"SortName",SortOrder:"Ascending"}},{LinkedItemType:"MovieSeries",Name:_globalize.default.translate("MoviesAndShows"),ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Movie,Series",SortBy:sortBy,SortOrder:sortOrder}},{LinkedItemType:"Movie",Name:_globalize.default.translate("Movies"),CollectionType:"movies",ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Movie",SortBy:sortBy,SortOrder:sortOrder}},{LinkedItemType:"Series",Name:_globalize.default.translate("Shows"),CollectionType:"tvshows",ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Series",SortBy:sortBy,SortOrder:sortOrder}},{LinkedItemType:"Season",Name:_globalize.default.translate("Seasons"),CollectionType:"tvshows",ListOptions:{fields:["ParentName","Name"]},QueryOptions:{IncludeItemTypes:"Season",SortBy:sortBy,SortOrder:sortOrder}},{LinkedItemType:"Episode",Name:_globalize.default.translate("Episodes"),CollectionType:"tvshows",ListOptions:{fields:["ParentName","Name"]},QueryOptions:{IncludeItemTypes:"Episode",SortBy:"SeriesName,SortParentIndexNumber,SortIndexNumber,SortName",SortOrder:"Ascending"}},{LinkedItemType:"BoxSet",Name:_globalize.default.translate("Collections"),CollectionType:"boxsets",disableLink:!0,ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"BoxSet",SortBy:sortBy,SortOrder:sortOrder}},{}];return sections.push("BoxSet"===item?{LinkedItemType:"MusicArtist",Name:"audiobooks"===collectionType?_globalize.default.translate("Authors"):_globalize.default.translate("Artists"),CollectionType:collectionType,CardSizeOffset:-1,ListOptions:{fields:["Name"],round:!0},QueryOptions:{SortBy:"SortName",SortOrder:"Ascending",IncludeItemTypes:"MusicArtist"}}:{LinkedItemType:"MusicArtist",Name:"audiobooks"===collectionType?_globalize.default.translate("Authors"):_globalize.default.translate("Artists"),SectionType:"artists",CollectionType:collectionType,CardSizeOffset:-1,ListOptions:{fields:["Name"],round:!0},QueryOptions:{SortBy:"SortName",SortOrder:"Ascending"}}),sections.push({LinkedItemType:"MusicAlbum",Name:"audiobooks"===collectionType?_globalize.default.translate("HeaderAudioBooks"):_globalize.default.translate("Albums"),CollectionType:collectionType,ListOptions:{fields:"MusicArtist"===item?["Name","ProductionYear"]:["ParentName","Name"]},QueryOptions:{IncludeItemTypes:"MusicAlbum",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Playlist",Name:_globalize.default.translate("Playlists"),CollectionType:"playlists",ListOptions:{fields:["Name"]},QueryOptions:{IncludeItemTypes:"Playlist",SortBy:"SortName",SortOrder:"Ascending"}}),sections.push({LinkedItemType:"Audio",Name:"audiobooks"===collectionType?_globalize.default.translate("Episodes"):_globalize.default.translate("Songs"),CollectionType:collectionType,ListOptions:wrappedList?{action:"playallfromhere",verticalWrap:!0,mediaInfo:!1,enableSideMediaInfo:!1,enableUserDataButtons:!1,fields:["Name","ParentName"]}:{fields:["Name","ParentName"],action:"playallfromhere",sideFooter:!0},ViewType:wrappedList?"list":null,QueryOptions:{IncludeItemTypes:"Audio",SortBy:"Album,ParentIndexNumber,IndexNumber,SortName",SortOrder:"Ascending"}}),sections.push({LinkedItemType:"MusicVideo",Name:_globalize.default.translate("HeaderMusicVideos"),CollectionType:"musicvideos",ListOptions:{fields:"MusicArtist"===item?["Name","ProductionYear"]:["ParentName","Name"]},QueryOptions:{IncludeItemTypes:"MusicVideo",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Trailer",Name:_globalize.default.translate("Trailers"),CollectionType:"movies",ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Trailer",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Video",Name:_globalize.default.translate("Videos"),CollectionType:collectionType,ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Video",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Photo",Name:_globalize.default.translate("Photos"),CollectionType:collectionType,ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Photo",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Game",Name:_globalize.default.translate("Games"),CollectionType:collectionType,ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Game",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Book",Name:_globalize.default.translate("Books"),CollectionType:collectionType,ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{IncludeItemTypes:"Book",SortBy:sortBy,SortOrder:sortOrder}}),sections.push({LinkedItemType:"Folder",Name:_globalize.default.translate("Folders"),ListOptions:{fields:["Name"]},QueryOptions:{IncludeItemTypes:"Folder",SortBy:"SortName",SortOrder:"Ascending"},disableLink:!0}),sections.push("BoxSet"===item?{LinkedItemType:"Person",Name:_globalize.default.translate("People"),ListOptions:{fields:["Name"]},QueryOptions:{IncludeItemTypes:"Person",SortBy:"SortName",SortOrder:"Ascending"},disableLink:!0}:{LinkedItemType:"Person",Name:_globalize.default.translate("People"),SectionType:"people",ListOptions:{fields:["Name"]},QueryOptions:{SortBy:"SortName",SortOrder:"Ascending"},disableLink:!0}),sections.push({LinkedItemType:"Item",Name:_globalize.default.translate("Items"),ListOptions:{fields:["Name","ProductionYear"]},QueryOptions:{SortBy:sortBy,SortOrder:sortOrder},disableLink:!0,disableLinkedItemType:!0}),sections}function LinkedItemsView(view,params,options){this.options=options,this.params=params,_sectionscontroller.default.apply(this,arguments)}function addRecursive(instance,section,query){"BoxSet"!==(null==(instance=instance.options.item)?void 0:instance.Type)&&(query.Recursive=!0)}function loadItemTypes(instance,parent){var itemType=parent.Type,itemTypes=[];switch(itemType){case"Person":case"Tag":case"Genre":itemTypes.push("Movie"),itemTypes.push("Video"),itemTypes.push("Trailer")}switch(itemType){case"Person":case"Tag":case"Genre":itemTypes.push("Series")}switch(itemType){case"Person":case"Tag":case"Genre":itemTypes.push("Episode")}switch(itemType){case"MusicGenre":case"Tag":itemTypes.push("MusicArtist"),itemTypes.push("MusicAlbum")}switch(itemType){case"Genre":case"MusicGenre":case"Tag":itemTypes.push("Playlist")}switch(itemType){case"Studio":case"MusicGenre":case"Tag":itemTypes.push("Audio")}switch(itemType){case"Person":case"MusicArtist":case"Tag":case"MusicGenre":case"MusicAlbum":itemTypes.push("MusicVideo")}switch("Tag"===itemType&&(itemTypes.push("Game"),itemTypes.push("Photo"),itemTypes.push("Person")),"GameGenre"===itemType&&itemTypes.push("Game"),itemType){case"BoxSet":break;case"Tag":case"Person":if(_connectionmanager.default.getApiClient(parent).isMinServerVersion("4.9.0.30"))break;return Promise.resolve(itemTypes);default:return Promise.resolve(itemTypes)}return function(instance,parent){var parent=_connectionmanager.default.getApiClient(parent),query={};return addParentItemToQuery(instance,{},query),addRecursive(instance,0,query),parent.getItemTypes(parent.getCurrentUserId(),query).then(function(result){return result.Items.map(function(i){return i.Name})})}(instance,parent).then(function(types){return types.length||(types=["Item"]),types="BoxSet"===itemType&&!_usersettings.default.groupCollectionItems()&&1