import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import globalize from"./../modules/common/globalize.js";import appRouter from"./../modules/approuter.js";import BaseTab from"./../modules/tabbedview/basetab.js";function fetchOnNow(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecommendedPrograms({UserId:apiClient.getCurrentUserId(),IsAiring:!0,Limit:12,ImageTypeLimit:1,EnableImageTypes:this.getRequestedImageTypes(),EnableTotalRecordCount:!1,Fields:this.getRequestedItemFields()+",ChannelInfo,PrimaryImageAspectRatio"})}function getOnNowListOptions(items){return getListOptions(items,"play")}function fetchEpisodes(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecommendedPrograms({UserId:apiClient.getCurrentUserId(),HasAired:!1,IsAiring:!1,Limit:12,IsMovie:!1,IsSports:!1,IsKids:!1,IsNews:!1,IsSeries:!0,EnableTotalRecordCount:!1,Fields:this.getRequestedItemFields()+",ChannelInfo,PrimaryImageAspectRatio",EnableImageTypes:this.getRequestedImageTypes()})}function getEpisodesListOptions(items){return getListOptions(items)}function fetchMovies(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecommendedPrograms({userId:apiClient.getCurrentUserId(),HasAired:!1,IsAiring:!1,Limit:12,IsMovie:!0,EnableTotalRecordCount:!1,Fields:this.getRequestedItemFields()+",ChannelInfo,PrimaryImageAspectRatio",EnableImageTypes:this.getRequestedImageTypes()})}function getMoviesListOptions(items){return getListOptions(items,null,{})}function fetchSports(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecommendedPrograms({userId:apiClient.getCurrentUserId(),HasAired:!1,IsAiring:!1,Limit:12,IsSports:!0,EnableTotalRecordCount:!1,Fields:this.getRequestedItemFields()+",ChannelInfo,PrimaryImageAspectRatio",EnableImageTypes:this.getRequestedImageTypes()})}function getSportsListOptions(items){return getListOptions(items,null,{})}function fetchKids(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecommendedPrograms({userId:apiClient.getCurrentUserId(),HasAired:!1,IsAiring:!1,Limit:12,IsKids:!0,EnableTotalRecordCount:!1,Fields:this.getRequestedItemFields()+",ChannelInfo,PrimaryImageAspectRatio",EnableImageTypes:this.getRequestedImageTypes()})}function getKidsListOptions(items){return getListOptions(items,null,{})}function fetchNews(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecommendedPrograms({userId:apiClient.getCurrentUserId(),HasAired:!1,IsAiring:!1,Limit:12,IsNews:!0,EnableTotalRecordCount:!1,Fields:this.getRequestedItemFields()+",ChannelInfo,PrimaryImageAspectRatio",EnableImageTypes:this.getRequestedImageTypes()})}function getNewsListOptions(items){return getListOptions(items,null,{})}function getListOptions(items,overlayButton,cardOptions){return cardOptions=cardOptions||{},(cardOptions=Object.assign({preferThumb:"auto",inheritThumb:!1,shape:"auto",defaultShape:"backdrop",overlayPlayButton:"play"===overlayButton,showAirDateTime:!0,multiSelect:!1,horizontal:!0,horizontalGrid:!0},cardOptions)).fields=[],{renderer:cardBuilder,options:cardOptions}}function fetchLatestItems(){var apiClient=this.getApiClient();return apiClient.getLiveTvRecordings({Limit:6,UserId:apiClient.getCurrentUserId(),ImageTypeLimit:1,Fields:this.getRequestedItemFields()+",PrimaryImageAspectRatio",EnableImageTypes:this.getRequestedImageTypes()})}function getLatestListOptions(){return{renderer:cardBuilder,options:{shape:"auto",preferThumb:"auto",fields:["ParentNameOrName"],overlayText:!0,multiSelect:!1,horizontalGrid:!0}}}function getCategoryItems(){var apiClient=this.getApiClient(),items=[];return items.push({Name:globalize.translate("Channels"),Id:"livetv_channels",ServerId:apiClient.serverId(),Icon:"",IsCategory:!0}),items.push({Name:globalize.translate("Guide"),Id:"livetv_guide",ServerId:apiClient.serverId(),Icon:"dvr",IsCategory:!0}),items.push({Name:globalize.translate("Recordings"),Id:"livetv_recordings",ServerId:apiClient.serverId(),Icon:"",IsCategory:!0}),Promise.resolve({Items:items,TotalRecordCount:items.length})}function getCategoryListOptions(){return{renderer:cardBuilder,options:{shape:"square",multiSelect:!1,contextMenu:!1,overlayText:!0,fields:["Name"],action:"custom",horizontalGrid:!0}}}function onCategoryCardAction(e){var e=e.detail.item,tab=e.Id.split("_")[1];appRouter.show("/livetv?tab="+tab+"&serverId="+e.ServerId)}function LiveTVTab(view,params){BaseTab.apply(this,arguments)}Object.assign(LiveTVTab.prototype,BaseTab.prototype),LiveTVTab.prototype.scrollDirection=function(){return"x"},LiveTVTab.prototype.onTemplateLoaded=function(){BaseTab.prototype.onTemplateLoaded.apply(this,arguments);var view=this.view;this.latestItemsContainer=view.querySelector(".latestSection .itemsContainer"),this.latestItemsContainer.fetchData=fetchLatestItems.bind(this),this.latestItemsContainer.getListOptions=getLatestListOptions.bind(this),this.latestItemsContainer.parentContainer=this.latestItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.latestItemsContainer),this.onNowItemsContainer=view.querySelector(".activePrograms .itemsContainer"),this.onNowItemsContainer.fetchData=fetchOnNow.bind(this),this.onNowItemsContainer.getListOptions=getOnNowListOptions.bind(this),this.onNowItemsContainer.parentContainer=this.onNowItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.onNowItemsContainer),this.episodeItemsContainer=view.querySelector(".upcomingEpisodes .itemsContainer"),this.episodeItemsContainer.fetchData=fetchEpisodes.bind(this),this.episodeItemsContainer.getListOptions=getEpisodesListOptions.bind(this),this.episodeItemsContainer.parentContainer=this.episodeItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.episodeItemsContainer),this.movieItemsContainer=view.querySelector(".upcomingTvMovies .itemsContainer"),this.movieItemsContainer.fetchData=fetchMovies.bind(this),this.movieItemsContainer.getListOptions=getMoviesListOptions.bind(this),this.movieItemsContainer.parentContainer=this.movieItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.movieItemsContainer),this.sportsItemsContainer=view.querySelector(".upcomingSports .itemsContainer"),this.sportsItemsContainer.fetchData=fetchSports.bind(this),this.sportsItemsContainer.getListOptions=getSportsListOptions.bind(this),this.sportsItemsContainer.parentContainer=this.sportsItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.sportsItemsContainer),this.kidsItemsContainer=view.querySelector(".upcomingKids .itemsContainer"),this.kidsItemsContainer.fetchData=fetchKids.bind(this),this.kidsItemsContainer.getListOptions=getKidsListOptions.bind(this),this.kidsItemsContainer.parentContainer=this.kidsItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.kidsItemsContainer),this.newsItemsContainer=view.querySelector(".upcomingNews .itemsContainer"),this.newsItemsContainer.fetchData=fetchNews.bind(this),this.newsItemsContainer.getListOptions=getNewsListOptions.bind(this),this.newsItemsContainer.parentContainer=this.newsItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.newsItemsContainer),this.categoryItemsContainer=view.querySelector(".categoryItemsContainer"),this.categoryItemsContainer.fetchData=getCategoryItems.bind(this),this.categoryItemsContainer.getListOptions=getCategoryListOptions.bind(this),this.categoryItemsContainer.addEventListener("action-null",onCategoryCardAction.bind(this)),this.addFocusBehavior(this.categoryItemsContainer)},LiveTVTab.prototype.onResume=function(options){BaseTab.prototype.onResume.apply(this,arguments);let instance=this;var promises=[];return promises.push(this.categoryItemsContainer.resume(options).then(function(){return options.autoFocus&&instance.autoFocus(),Promise.resolve()})),promises.push(this.latestItemsContainer.resume(options)),promises.push(this.onNowItemsContainer.resume(options)),promises.push(this.episodeItemsContainer.resume(options)),promises.push(this.movieItemsContainer.resume(options)),promises.push(this.sportsItemsContainer.resume(options)),promises.push(this.kidsItemsContainer.resume(options)),promises.push(this.newsItemsContainer.resume(options)),Promise.all(promises)},LiveTVTab.prototype.onPause=function(){BaseTab.prototype.onPause.apply(this,arguments),this.categoryItemsContainer.pause(),this.latestItemsContainer.pause(),this.onNowItemsContainer.pause(),this.episodeItemsContainer.pause(),this.movieItemsContainer.pause(),this.sportsItemsContainer.pause(),this.kidsItemsContainer.pause(),this.newsItemsContainer.pause()},LiveTVTab.prototype.destroy=function(){BaseTab.prototype.destroy.apply(this,arguments),this.categoryItemsContainer=null,this.latestItemsContainer=null,this.onNowItemsContainer=null,this.episodeItemsContainer=null,this.movieItemsContainer=null,this.sportsItemsContainer=null,this.kidsItemsContainer=null,this.newsItemsContainer=null},LiveTVTab.prototype.loadTemplate=function(){return require(["text!home_horiz/views.livetv.html"])};export default LiveTVTab;