1 line
33 KiB
JavaScript
1 line
33 KiB
JavaScript
|
|
import{appHost}from"./../common/servicelocator.js";import layoutManager from"./../layoutmanager.js";import globalize from"./../common/globalize.js";import cardBuilder from"./../cardbuilder/cardbuilder.js";import userSettings from"./../common/usersettings/usersettings.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import appSettings from"./../common/appsettings.js";import registrationServices from"./../registrationservices/registrationservices.js";import appRouter from"./../approuter.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../emby-elements/emby-scroller/emby-scroller.js";function loadSections(options){let elem=options.element;var apiClient=options.apiClient,user=options.user,requestedItemFields=options.requestedItemFields,enableFocusPreview=options.enableFocusPreview,requestedImageTypes=options.requestedImageTypes;let i,length;var sections=userSettings.getHomeScreenSections();let html="";for(i=0,length=sections.length;i<length;i++)html+='<div class="verticalSection verticalSection-cards hide section'+i+'"></div>',0===i&&(html+='<div class="verticalSection verticalSection-cards section-downloads hide"></div><div class="verticalSection verticalSection-cards section-appinfo hide"></div>');html+='<div class="padded-bottom-page"></div>',elem.innerHTML=html,elem.classList.add("homeSectionsContainer");var promises=[];for(i=0,length=sections.length;i<length;i++)promises.push(loadSection(elem,apiClient,user,requestedItemFields,enableFocusPreview,requestedImageTypes,sections,i)),0===i&&(promises.push(loadDownloadsSection(elem.querySelector(".section-downloads"),apiClient,enableFocusPreview)),promises.push(loadAppInfoSection(elem.querySelector(".section-appinfo"),apiClient,enableFocusPreview)));return Promise.all(promises).then(function(){return resume(elem,{refresh:!0,returnPromise:!1})})}function pause(elem){var elems=elem.querySelectorAll(".itemsContainer");let i,length;for(i=0,length=elems.length;i<length;i++)elems[i].pause()}function resume(elem,options){var elems=elem.querySelectorAll(".itemsContainer");let i,length;var promises=[];for(i=0,length=elems.length;i<length;i++)promises.push(elems[i].resume(options));elem=Promise.all(promises);return options&&!1===options.returnPromise?promises[0]:elem}function loadSection(page,apiClient,user,requestedItemFields,enableFocusPreview,requestedImageTypes,allSections,index){var section=allSections[index],userId=apiClient.getCurrentUserId(),elem=page.querySelector(".section"+index);switch(section){case"latestmedia":return loadRecentlyAdded(elem,apiClient,user,requestedItemFields,requestedImageTypes,enableFocusPreview);case"smalllibrarytiles":return loadLibraryTiles(elem,apiClient,index,!1,requestedItemFields,enableFocusPreview);case"librarybuttons":return loadLibraryTiles(elem,apiClient,index,!0,requestedItemFields,enableFocusPreview);case"resume":return loadResumeVideo(elem,apiClient,userId,allSections,requestedItemFields,requestedImageTypes,enableFocusPreview);case"resumeaudio":return loadResumeAudio(elem,apiClient,userId,requestedItemFields,requestedImageTypes,enableFocusPreview);case"latestmoviereleases":return loadLatestMovieReleases(elem,apiClient,userId,requestedItemFields,enableFocusPreview);case"playlists":return loadPlaylists(elem,apiClient,userId,requestedItemFields,enableFocusPreview);case"collections":return loadCollections(elem,apiClient,userId,requestedItemFields,enableFocusPreview);case"activerecordings":return loadLatestLiveTvRecordings(elem,!0,apiClient,userId,requestedItemFields,enableFocusPreview);case"nextup":return loadNextUp(elem,apiClient,userId,requestedItemFields,requestedImageTypes,enableFocusPreview);case"livetv":return loadOnNow(elem,apiClient,user,requestedItemFields,requestedImageTypes,enableFocusPreview);default:return elem.innerHTML="",Promise.resolve()}}function getUserViews(apiClient,userId){return apiClient.getUserViews({},userId||apiClient.getCurrentUserId()).the
|