EmbyCrackedClient/web/modules/recordingcreator/recordingfields.js

1 line
6.1 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import connectionManager from"./../emby-apiclient/connectionmanager.js";import globalize from"./../common/globalize.js";import loading from"./../loading/loading.js";import events from"./../emby-apiclient/events.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import recordingHelper from"./../common/recordinghelper.js";import serverNotifications from"./../common/input/api.js";function showToast(options){return Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function loadData(parent,program){program.IsSeries?(parent.querySelector(".seriesRecordingButton").classList.remove("hide"),parent.querySelector(".btnManageSeriesRecording").classList.remove("hide")):(parent.querySelector(".seriesRecordingButton").classList.add("hide"),parent.querySelector(".btnManageSeriesRecording").classList.add("hide"));var btnManageSeriesRecording=parent.querySelector(".btnManageSeriesRecording");program.SeriesTimerId?(btnManageSeriesRecording&&btnManageSeriesRecording.classList.remove("hide"),parent.querySelector(".seriesRecordingButton .recordingIcon").classList.add("recordingIcon-active"),parent.querySelector(".seriesRecordingButtonText").innerHTML=globalize.translate("HeaderCancelSeries")):(btnManageSeriesRecording&&btnManageSeriesRecording.classList.add("hide"),parent.querySelector(".seriesRecordingButton .recordingIcon").classList.remove("recordingIcon-active"),parent.querySelector(".seriesRecordingButtonText").innerHTML=globalize.translate("HeaderRecordSeries")),program.TimerId&&"Cancelled"!==program.Status?(parent.querySelector(".btnManageRecording").classList.remove("hide"),parent.querySelector(".singleRecordingButton .recordingIcon").classList.add("recordingIcon-active"),"InProgress"===program.Status?parent.querySelector(".singleRecordingButtonText").innerHTML=globalize.translate("HeaderStopRecording"):parent.querySelector(".singleRecordingButtonText").innerHTML=globalize.translate("HeaderDoNotRecord")):(parent.querySelector(".btnManageRecording").classList.add("hide"),parent.querySelector(".singleRecordingButton .recordingIcon").classList.remove("recordingIcon-active"),parent.querySelector(".singleRecordingButtonText").innerHTML=globalize.translate("Record"))}function onDataFetched(item){var options=this.options;options.program=item,loadData(options.parent,item)}function onTimerChangedExternally(e,apiClient,data){var options=this.options;let refresh=!1;data.Id&&options.program.TimerId===data.Id&&(refresh=!0),(refresh=data.ProgramId&&options&&options.program.Id===data.ProgramId?!0:refresh)&&events.trigger(this,"recordingchanged")}function onSeriesTimerChangedExternally(e,apiClient,data){var options=this.options;let refresh=!1;data.Id&&options.program.SeriesTimerId===data.Id&&(refresh=!0),(refresh=data.ProgramId&&options&&options.program.Id===data.ProgramId?!0:refresh)&&events.trigger(this,"recordingchanged")}function RecordingEditor(options){this.options=options,this.embed();options=onTimerChangedExternally.bind(this),this.timerChangedHandler=options,events.on(serverNotifications,"TimerCreated",options),events.on(serverNotifications,"TimerCancelled",options),options=onSeriesTimerChangedExternally.bind(this);this.seriesTimerChangedHandler=options,events.on(serverNotifications,"SeriesTimerCreated",options),events.on(serverNotifications,"SeriesTimerCancelled",options)}function onRecordChange(e){this.changed=!0;let self=this;var options=this.options,apiClient=connectionManager.getApiClient(options.program),e=!e.target.closest("BUTTON").querySelector("i").classList.contains("recordingIcon-active"),hasEnabledTimer=options.program.TimerId&&"Cancelled"!==options.program.Status;e?hasEnabledTimer||(loading.show(),recordingHelper.createRecording(apiClient,options.program.Id,!1).then(function(){events.trigger(self,"recordingchanged")})):hasEnabledTimer&&recordingHelper.cancelTimer(apiClient,options.program.TimerId,!0).then(function(){events.trigger(self,"recordingchanged")})}function onRecordSeriesChange(e){this.changed=!0;let self=