EmbyCrackedClient/web/home_horiz/views.videos.js
2025-06-25 11:46:04 +08:00

1 line
No EOL
5.3 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 BaseTab from"./../modules/tabbedview/basetab.js";function fetchResumeItems(){var options={IncludeItemTypes:"Video",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",horizontalGrid:!0,preferThumb:!0,scalable:!1,multiSelect:!1}}}function fetchLatestItems(){var options={IncludeItemTypes:"Video",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",horizontalGrid:!0,scalable:!1,multiSelect:!1}}}function getCategoryItems(){var apiClient=this.getApiClient(),parentId=this.params.parentId,items=[],subviews=(items.push({Name:globalize.translate("Videos"),Id:"videos_videos",ServerId:apiClient.serverId(),ParentId:parentId,Icon:itemManager.getDefaultIcon({Type:"Video",MediaType:"Video"}),IsCategory:!0}),this.item.Subviews);return subviews.includes("photos")&&items.push({Name:globalize.translate("Photos"),Id:"videos_photos",ServerId:apiClient.serverId(),ParentId:parentId,Icon:itemManager.getDefaultIcon({Type:"Photo",MediaType:"Photo"}),IsCategory:!0}),subviews.includes("artists")&&items.push({Name:globalize.translate("Artists"),Id:"videos_artists",ServerId:apiClient.serverId(),ParentId:parentId,Icon:itemManager.getDefaultIcon({Type:"MusicArtist"}),IsCategory:!0}),items.push({Name:globalize.translate("Folders"),Id:"videos_folders",ServerId:apiClient.serverId(),ParentId:parentId,Icon:itemManager.getDefaultIcon({Type:"Folder"}),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){e=e.detail.item;let url="/videos?serverId="+connectionManager.getApiClient(e).serverId()+"&parentId="+e.ParentId;e=e.Id.split("_");1<e.length&&(url+="&tab="+e[1]),appRouter.show(url)}function VideosTab(view,params){BaseTab.apply(this,arguments)}Object.assign(VideosTab.prototype,BaseTab.prototype),VideosTab.prototype.scrollDirection=function(){return"x"},VideosTab.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.resumeItemsContainer=view.querySelector(".resumeSection .itemsContainer"),this.resumeItemsContainer.fetchData=fetchResumeItems.bind(this),this.resumeItemsContainer.getListOptions=getResumeListOptions.bind(this),this.resumeItemsContainer.parentContainer=this.resumeItemsContainer.closest(".horizontalSection"),this.addFocusBehavior(this.resumeItemsContainer),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)},VideosTab.prototype.getItem=function(){var apiClient=this.getApiClient();let instance=this;return instance.item?Promise.resolve():apiClient.getItem(apiClient.getCurrentUserId(),this.params.parentId).then(function(item){return instance.view.querySelector(".latestHeader").innerHTML=globalize.translate("LatestFromLibrary",item.Name),instance.item=item})},VideosTab.prototype.onResume=function(options){BaseTab.prototype.onResume.apply(this,arguments);let instance=this;return this.getItem().then(function(){var promises=[instance.categoryItemsContainer.resume(options).then(function(){return options.autoFocus&&instance.autoFocus(),Promise.resolve()}),instance.resumeItemsContainer.resume(options),instance.latestItemsContainer.resume(options)];return Promise.all(promises)})},VideosTab.prototype.onPause=function(){BaseTab.prototype.onPause.apply(this,arguments),this.latestItemsContainer.pause(),this.resumeItemsContainer.pause(),this.categoryItemsContainer.pause()},VideosTab.prototype.destroy=function(){BaseTab.prototype.destroy.apply(this,arguments),this.latestItemsContainer=null,this.resumeItemsContainer=null,this.categoryItemsContainer=null},VideosTab.prototype.loadTemplate=function(){return require(["text!home_horiz/views.videos.html"])};export default VideosTab;