EmbyCrackedClient/web/list/list.js

1 line
17 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import events from"./../modules/emby-apiclient/events.js";import globalize from"./../modules/common/globalize.js";import playbackManager from"./../modules/common/playback/playbackmanager.js";import appHeader from"./../modules/appheader/appheader.js";import backdrop from"./../modules/backdrop/backdrop.js";import itemManager from"./../modules/common/itemmanager/itemmanager.js";import layoutManager from"./../modules/layoutmanager.js";import userSettings from"./../modules/common/usersettings/usersettings.js";import BaseView from"./../modules/viewmanager/baseview.js";import SearchFields from"./../search/searchfields.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-tabs/emby-tabs.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import ListController from"./../modules/tabbedview/listcontroller.js";function hideOrShowAll(elems,hide){for(let i=0,length=elems.length;i<length;i++)hide?elems[i].classList.add("hide"):elems[i].classList.remove("hide")}function onSearch(e,value){var activeSearchTab=this.view.querySelector(".emby-searchable-tab-button.emby-tab-button-active");activeSearchTab&&activeSearchTab.classList.remove("emby-searchable-tab-button"),this.itemsContainer.refreshItems()}function ItemsView(view,params){BaseView.apply(this,arguments),ListController.apply(this,arguments);var leftNavValue;this.params=params,null==this.supportsViewSettings&&(this.supportsViewSettings="downloads"!==params.parentId&&"search"!==params.type),null==this.enableTotalRecordCountDisplay&&(this.enableTotalRecordCountDisplay="search"!==params.type),this.initItemsContainer(),params.parentId?this.itemsContainer.setAttribute("data-parentid",params.parentId):"nextup"===params.type?this.itemsContainer.setAttribute("data-monitor","videoplayback"):"favoritemovies"===params.type?this.itemsContainer.setAttribute("data-monitor","markfavorite"):"Program"!==params.type&&"OnNow"!==params.type&&"TvChannel"!==params.type||this.itemsContainer.setAttribute("data-refreshinterval","300000"),"search"===params.type&&(view.querySelector(".searchContainer").classList.remove("hide"),leftNavValue=layoutManager.tv?null:document.querySelector(".txtNavDrawerSearch ")?.value,params=params.query||leftNavValue,this.searchFields=new SearchFields({element:view.querySelector(".searchFields"),serverId:this.getApiClient().serverId(),value:params,autoFocus:!params}),events.on(this.searchFields,"search",onSearch.bind(this))),this.initButtons()}function dispatchItemShowEvent(view,eventName,item){view.dispatchEvent(new CustomEvent(eventName,{detail:{item:item},bubbles:!0,cancelable:!1}))}function getTopLevelDownloadFolders(apiClient){return apiClient.getLocalFolders()}function getDownloads(initialQuery){return Promise.all(connectionManager.getApiClients().map(getTopLevelDownloadFolders)).then(function(responses){let list=[];for(let i=0,length=responses.length;i<length;i++)list=list.concat(responses[i]);return list})}function onSearchTabChange(){this.itemsContainer.refreshItems()}Object.assign(ItemsView.prototype,BaseView.prototype),Object.assign(ItemsView.prototype,ListController.prototype),ItemsView.prototype.getFocusContainerElement=function(){return this.scroller?.querySelector(".scrollSlider")||BaseView.prototype.getFocusContainerElement.apply(this,arguments)},ItemsView.prototype.onInputCommand=function(e){switch(e.detail.command){case"refresh":return this.itemsContainer.refreshItems(),e.preventDefault(),void e.stopPropagation();case"search":if(this.searchFields)return e.detail.originalEvent?.target.closest(".txtNavDrawerSearch")?this.searchFields.setSearchTerm(e.detail.commandOptions?.value||""):(console.log("focusing search fields"),this.searchFields.focus()),e.preventDefault(),void e.stopPropagation()}BaseView.prototype.onInputCommand.apply(this,arguments)},ItemsView.prototype.getTitle=function(){var params=this.params;return"search"===params.type?globalize.translate("Search"):"downloads"===params.parentId?globa