EmbyCrackedClient/web/livetvsetup/setuptab.js

1 line
5.3 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import BaseTab from"./../modules/tabbedview/basetab.js";import globalize from"./../modules/common/globalize.js";import"./../modules/emby-elements/emby-input/emby-input.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../modules/emby-elements/emby-select/emby-select.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../modules/emby-elements/emby-premierecontainer/emby-premierecontainer.js";import TaskButton from"./../components/taskbutton.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import appRouter from"./../modules/approuter.js";function showActionSheet(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)})}function setTunerProperties(devices,apiClient){for(let i=0,length=devices.length;i<length;i++){var tuner=devices[i];tuner.Type="LiveTVTunerDevice",tuner.Name=tuner.FriendlyName,tuner.ServerId=apiClient.serverId()}}function setProviderProperties(providers,apiClient){for(let i=0,length=providers.length;i<length;i++){var provider=providers[i];provider.Name||(provider.Name=provider.Type),provider.Url||(provider.Url=provider.Path||provider.ListingsId),provider.SetupUrl||(provider.SetupUrl="#"),provider.ProviderType=provider.Type,provider.Type="LiveTVGuideSource",provider.ServerId=apiClient.serverId()}}function getListingProviders(){let apiClient=this.apiClient;return apiClient.getJSON(ApiClient.getUrl("LiveTv/ListingProviders")).catch(function(){return apiClient.getNamedConfiguration("livetv").then(function(config){return config.ListingProviders})}).then(function(results){return setProviderProperties(results,apiClient),results})}function getTunerDevices(){let apiClient=this.apiClient;return apiClient.getJSON(ApiClient.getUrl("LiveTv/TunerHosts")).catch(function(){return apiClient.getNamedConfiguration("livetv").then(function(config){return config.TunerHosts})}).then(function(results){return setTunerProperties(results,apiClient),results})}function addProvider(button){appRouter.show("livetvsetup/guideprovider.html")}function onTunerTypeSelected(allTunerTypes,typeId){let url=allTunerTypes.filter(function(t){return t.Id===typeId})[0].SetupUrl;url=url||"livetvsetup/livetvtuner.html?type="+typeId,appRouter.show(url)}function addDevice(button){return ApiClient.getJSON(ApiClient.getUrl("LiveTv/TunerHosts/Types")).then(function(types){let allTunerTypes=types;return showActionSheet({items:types=allTunerTypes.map(function(t){return{id:t.Id,name:t.Name}}),title:globalize.translate("HeaderAddTvSource"),positionTo:button,positionY:"bottom",bottomText:globalize.translate("ForAdditionalLiveTvOptions",'<a is="emby-linkbutton" href="'+appRouter.getRouteUrl("PluginCatalog")+'" class="button-link">',"</a>")}).then(function(typeId){onTunerTypeSelected(allTunerTypes,typeId)})})}function getTunerListOptions(){return{renderer:cardBuilder,options:{fields:["Name","Url"],multiSelect:!1,draggable:!1,action:"edit",shape:"backdrop",defaultBackground:!0},virtualScrollLayout:"vertical-grid"}}function getProviderListOptions(){return{renderer:cardBuilder,options:{fields:["Name","Url"],multiSelect:!1,draggable:!1,action:"edit",shape:"backdrop",defaultBackground:!0},virtualScrollLayout:"vertical-grid"}}function LiveTVSetupTab(view,params){BaseTab.apply(this,arguments)}require(["flexStyles","material-icons"]),Object.assign(LiveTVSetupTab.prototype,BaseTab.prototype),LiveTVSetupTab.prototype.loadTemplate=function(){return require(["text!livetvsetup/setuptab.html"])},LiveTVSetupTab.prototype.onTemplateLoaded=function(){BaseTab.prototype.onTemplateLoaded.apply(this,arguments);var view=this.view;view.querySelector(".btnAddDevice").addEventListener("click",function(){addDevice(this)}),view.querySelector(".btnAddProvider").addEventListener("click",function(){addProvider(this)}),view.querySelector(".premiereInfo").innerHTML=globalize.translate("DvrSubscriptionRequire