1 line
9.9 KiB
JavaScript
1 line
9.9 KiB
JavaScript
define(["exports","./../modules/emby-apiclient/connectionmanager.js","./../modules/tabbedview/basetab.js","./../modules/cardbuilder/cardbuilder.js","./../modules/common/globalize.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-elements/emby-button/emby-button.js"],function(_exports,_connectionmanager,_basetab,_cardbuilder,_globalize,_embyItemscontainer,_embyScroller,_embyButton){function MusicSuggestionsTab(view,params,options){_basetab.default.apply(this,arguments),this.view=view,this.params=params,this.apiClient=_connectionmanager.default.getApiClient(params.serverId),"audiobooks"===options.item.CollectionType&&(view.querySelector(".latestSection .sectionTitle").innerHTML=_globalize.default.translate("HeaderLatestAudioBooks"),view.querySelector(".favoriteArtistsSection .sectionTitle").innerHTML=_globalize.default.translate("HeaderFavoriteAuthors"),view.querySelector(".favoriteAlbumsSection .sectionTitle").innerHTML=_globalize.default.translate("HeaderFavoriteAudioBooks"),view.querySelector(".favoriteSongsSection .sectionTitle").innerHTML=_globalize.default.translate("HeaderFavoriteEpisodes"),this.enableResume=!0),this.continueListeningItemsContainer=view.querySelector(".continueListeningSection .itemsContainer"),this.continueListeningItemsContainer.fetchData=function(query){var apiClient,parentId;return this.enableResume?(apiClient=this.apiClient,parentId=this.params.parentId,apiClient.getResumableItems(apiClient.getCurrentUserId(),{Recursive:!0,Fields:this.getRequestedItemFields()+",PrimaryImageAspectRatio,ProductionYear",ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Thumb",MediaTypes:"Audio",ParentId:parentId})):Promise.resolve({Items:[],TotalRecordCount:0})}.bind(this),this.continueListeningItemsContainer.getListOptions=function(items){var fields=[];return fields.push("Name"),fields.push("Album"),fields.push("ParentName"),{renderer:_cardbuilder.default,options:{preferThumb:"auto",shape:"auto",fields:fields,showDetailsMenu:!0,overlayPlayButton:!0,context:"home",centerText:!0,cardLayout:!1,albumFirst:!0,focusTransformTitleAdjust:!0,animateProgressBar:!0},virtualScrollLayout:"horizontal-grid",commandOptions:{removeFromResume:!0}}}.bind(this),this.continueListeningItemsContainer.parentContainer=view.querySelector(".continueListeningSection"),this.addFocusBehavior(this.continueListeningItemsContainer),this.latestItemsContainer=view.querySelector(".latestSection .itemsContainer"),this.latestItemsContainer.fetchData=function(query){var apiClient=this.apiClient,parentId=this.params.parentId;return apiClient.getLatestItems({Fields:this.getRequestedItemFields()+",PrimaryImageAspectRatio",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary",Limit:24})}.bind(this),this.latestItemsContainer.getListOptions=function(items){return getListOptions(0,{cardLayout:!0,vibrant:!0})}.bind(this),this.latestItemsContainer.parentContainer=view.querySelector(".latestSection"),this.latestItemsContainer.maxTotalRecordCount=24,this.addFocusBehavior(this.latestItemsContainer),this.recentlyPlayedItemsContainer=view.querySelector(".recentlyPlayedSection .itemsContainer"),this.recentlyPlayedItemsContainer.fetchData=function(query){var apiClient=this.apiClient,parentId=this.params.parentId;return apiClient.getItems(apiClient.getCurrentUserId(),Object.assign({SortBy:"DatePlayed",SortOrder:"Descending",IncludeItemTypes:"Audio",Recursive:!0,Fields:this.getRequestedItemFields(),Filters:"IsPlayed",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Logo"},query))}.bind(this),this.recentlyPlayedItemsContainer.getListOptions=function(items){return getListOptions(0,{action:"playallfromhere",overlayPlayButton:!1,sideFooter:!0,centerText:!1})}.bind(this),this.recentlyPlayedItemsContainer.parentContainer=view.querySelector(".recentlyPlayedSection"),this.recentlyPlayedItemsContainer.maxTotalRecordCount=50,this.addFocusBehavior(this.recentlyPlayedItemsContainer),this.frequentlyPlayedItemsContainer=view.querySelector(".frequentlyPlayedSection .itemsContainer"),this.frequentlyPlayedItemsContainer.fetchData=function(query){var apiClient=this.apiClient,parentId=this.params.parentId;return apiClient.getItems(apiClient.getCurrentUserId(),Object.assign({SortBy:"PlayCount",SortOrder:"Descending",IncludeItemTypes:"Audio",Recursive:!0,Fields:this.getRequestedItemFields(),Filters:"IsPlayed",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Logo"},query))}.bind(this),this.frequentlyPlayedItemsContainer.getListOptions=function(items){return getListOptions(0,{action:"playallfromhere",overlayPlayButton:!1,sideFooter:!0,centerText:!1})}.bind(this),this.frequentlyPlayedItemsContainer.parentContainer=view.querySelector(".frequentlyPlayedSection"),this.frequentlyPlayedItemsContainer.maxTotalRecordCount=50,this.addFocusBehavior(this.frequentlyPlayedItemsContainer),this.favoriteArtistsItemsContainer=view.querySelector(".favoriteArtistsSection .itemsContainer"),this.favoriteArtistsItemsContainer.fetchData=function(query){var apiClient=this.apiClient,parentId=this.params.parentId;return apiClient.getArtists(apiClient.getCurrentUserId(),Object.assign({SortBy:"SortName",SortOrder:"Ascending",Recursive:!0,Fields:this.getRequestedItemFields()+",PrimaryImageAspectRatio",Filters:"IsFavorite",StartIndex:0,ImageTypeLimit:1,EnableImageTypes:"Primary",ParentId:parentId},query))}.bind(this),this.favoriteArtistsItemsContainer.getListOptions=function(items){return getListOptions(0,{overlayPlayButton:!0,fields:["Name"],round:!0})}.bind(this),this.favoriteArtistsItemsContainer.parentContainer=view.querySelector(".favoriteArtistsSection"),this.addFocusBehavior(this.favoriteArtistsItemsContainer),this.favoriteAlbumsItemsContainer=view.querySelector(".favoriteAlbumsSection .itemsContainer"),this.favoriteAlbumsItemsContainer.fetchData=function(query){var apiClient=this.apiClient,parentId=this.params.parentId;return apiClient.getItems(apiClient.getCurrentUserId(),Object.assign({SortBy:"Random",IncludeItemTypes:"MusicAlbum",Recursive:!0,Fields:this.getRequestedItemFields(),Filters:"IsFavorite",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary"},query))}.bind(this),this.favoriteAlbumsItemsContainer.getListOptions=function(items){return getListOptions(0,{overlayPlayButton:!0})}.bind(this),this.favoriteAlbumsItemsContainer.parentContainer=view.querySelector(".favoriteAlbumsSection"),this.addFocusBehavior(this.favoriteAlbumsItemsContainer),this.favoriteSongsItemsContainer=view.querySelector(".favoriteSongsSection .itemsContainer"),this.favoriteSongsItemsContainer.fetchData=function(query){var apiClient=this.apiClient,parentId=this.params.parentId;return apiClient.getItems(apiClient.getCurrentUserId(),Object.assign({SortBy:"Random",IncludeItemTypes:"Audio",Recursive:!0,Fields:this.getRequestedItemFields(),Filters:"IsFavorite",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Logo"},query))}.bind(this),this.favoriteSongsItemsContainer.getListOptions=function(items){return getListOptions(0,{action:"playallfromhere",overlayPlayButton:!1,sideFooter:!0,centerText:!1})}.bind(this),this.favoriteSongsItemsContainer.parentContainer=view.querySelector(".favoriteSongsSection"),this.addFocusBehavior(this.favoriteSongsItemsContainer),params.parentId&&(this.continueListeningItemsContainer.setAttribute("data-parentid",params.parentId),this.latestItemsContainer.setAttribute("data-parentid",params.parentId),this.recentlyPlayedItemsContainer.setAttribute("data-parentid",params.parentId),this.frequentlyPlayedItemsContainer.setAttribute("data-parentid",params.parentId),this.favoriteArtistsItemsContainer.setAttribute("data-parentid",params.parentId),this.favoriteAlbumsItemsContainer.setAttribute("data-parentid",params.parentId),this.favoriteSongsItemsContainer.setAttribute("data-parentid",params.parentId)),function(view,params){[].forEach.call(view.querySelectorAll(".sectionTitleTextButton-link"),function(link){var href=link.getAttribute("data-href");href&&(link.href=href+"&serverId="+params.serverId)})}(view,params)}function getListOptions(items,options){return{renderer:_cardbuilder.default,options:Object.assign({showUnplayedIndicator:!1,showLatestItemsPopup:!1,shape:"autooverflow",fields:["ParentName","Name"],centerText:!0,overlayPlayButton:!0,focusTransformTitleAdjust:!0},options),virtualScrollLayout:"horizontal-grid"}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(MusicSuggestionsTab.prototype,_basetab.default.prototype),MusicSuggestionsTab.prototype.onResume=function(options){_basetab.default.prototype.onResume.apply(this,arguments);var promises=[],instance=(promises.push(this.continueListeningItemsContainer.resume(options)),promises.push(this.latestItemsContainer.resume(options)),promises.push(this.recentlyPlayedItemsContainer.resume(options)),promises.push(this.frequentlyPlayedItemsContainer.resume(options)),promises.push(this.favoriteArtistsItemsContainer.resume(options)),promises.push(this.favoriteAlbumsItemsContainer.resume(options)),promises.push(this.favoriteSongsItemsContainer.resume(options)),this);Promise.all(promises).then(function(){options.autoFocus&&instance.autoFocus()})},MusicSuggestionsTab.prototype.onPause=function(){_basetab.default.prototype.onPause.apply(this,arguments),this.continueListeningItemsContainer.pause(),this.latestItemsContainer.pause(),this.recentlyPlayedItemsContainer.pause(),this.frequentlyPlayedItemsContainer.pause(),this.favoriteArtistsItemsContainer.pause(),this.favoriteAlbumsItemsContainer.pause(),this.favoriteSongsItemsContainer.pause()},MusicSuggestionsTab.prototype.destroy=function(){_basetab.default.prototype.destroy.apply(this,arguments),this.view=null,this.params=null,this.apiClient=null,this.continueListeningItemsContainer=null,this.latestItemsContainer=null,this.recentlyPlayedItemsContainer=null,this.frequentlyPlayedItemsContainer=null,this.favoriteArtistsItemsContainer=null,this.favoriteAlbumsItemsContainer=null,this.favoriteSongsItemsContainer=null,this.enableResume=null},_exports.default=MusicSuggestionsTab}); |