1 line
8.9 KiB
JavaScript
1 line
8.9 KiB
JavaScript
|
|
import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import itemManager from"./../modules/common/itemmanager/itemmanager.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import globalize from"./../modules/common/globalize.js";import appRouter from"./../modules/approuter.js";import spotlight from"./spotlight.js";import BaseTab from"./../modules/tabbedview/basetab.js";function fetchResumeItems(){var options={IncludeItemTypes:"Movie",Limit:6,ParentId:this.params.parentId,ImageTypeLimit:1,EnableImageTypes:this.getRequestedImageTypes(),EnableTotalRecordCount:!1},apiClient=this.getApiClient();return apiClient.getResumableItems(apiClient.getCurrentUserId(),options)}function getResumeListOptions(){return{renderer:cardBuilder,options:{shape:"backdrop",preferThumb:!0,scalable:!1,multiSelect:!1,horizontalGrid:!0},virtualScrollLayout:"vertical-grid"}}function fetchLatestItems(){var options={IncludeItemTypes:"Movie",Limit:12,ParentId:this.params.parentId,EnableImageTypes:this.getRequestedImageTypes(),Fields:this.getRequestedItemFields()+",PrimaryImageAspectRatio",ImageTypeLimit:1,EnableTotalRecordCount:!1};return this.getApiClient().getLatestItems(options)}function getLatestListOptions(){return{renderer:cardBuilder,options:{shape:"auto",scalable:!1,multiSelect:!1,horizontalGrid:!0},virtualScrollLayout:"vertical-grid"}}function setRecommendationItems(itemsContainer,recommendation){cardBuilder.buildCards(recommendation.Items,{shape:"auto",scalable:!1,multiSelect:!1,itemsContainer:itemsContainer,horizontal:!0,horizontalGrid:!0})}function loadRecommendations(instance,element,apiClient,parentId){return apiClient.getMovieRecommendations({categoryLimit:4,ItemLimit:8,UserId:apiClient.getCurrentUserId(),ImageTypeLimit:1,EnableImageTypes:instance.getRequestedImageTypes(),Fields:instance.getRequestedItemFields()+",PrimaryImageAspectRatio"}).then(function(recommendations){var html=recommendations.map(getRecommendationHtml).join("");let itemsContainers=element.querySelectorAll(".recommendationsItemsContainer");for(let i=0,length=itemsContainers.length;i<length;i++)itemsContainers[i].remove();element.querySelector(".scrollSlider").insertAdjacentHTML("beforeend",html),itemsContainers=element.querySelectorAll(".recommendationsItemsContainer");for(let i=0,length=recommendations.length;i<length;i++)setRecommendationItems(itemsContainers[i],recommendations[i]),instance.addFocusBehavior(itemsContainers[i])})}function getRecommendationHtml(recommendation){let title="";switch(recommendation.RecommendationType){case"SimilarToRecentlyPlayed":title=globalize.translate("BecauseYouWatchedValue",recommendation.BaselineItemName);break;case"SimilarToLikedItem":title=globalize.translate("BecauseYouLikeValue",recommendation.BaselineItemName);break;case"HasDirectorFromRecentlyPlayed":case"HasLikedDirector":title=globalize.translate("DirectedByValue",recommendation.BaselineItemName);break;case"HasActorFromRecentlyPlayed":case"HasLikedActor":title=globalize.translate("StarringValue",recommendation.BaselineItemName)}var html="";return(html+='<div class="horizontalSection">')+('<div class="sectionTitle">'+title+"</div>")+'<div is="emby-itemscontainer" class="itemsContainer recommendationsItemsContainer itemsContainer-horizontalgrid">'+"</div>"+"</div>"}function backdropImageUrl(item,options){return(options=options||{}).type=options.type||"Backdrop",options.maxWidth||options.width||options.maxHeight||options.height||(options.quality=100),item.BackdropImageTags&&item.BackdropImageTags.length?(options.tag=item.BackdropImageTags[0],connectionManager.getApiClient(item.ServerId).getImageUrl(item.Id,options)):null}function getCategoryItems(){let apiClient=this.getApiClient(),parentId=this.params.parentId,instance=this;return apiClient.getItems(apiClient.getCurrentUserId(),{SortBy:"IsFavoriteOrLiked,Random",SortOrder:"Descending",IncludeItemTypes:"BoxSet",Limit:1,Recursive:!0,ParentId:parentId,EnableImageTypes:instance.getRequestedImageTypes(),ImageTypes
|