EmbyCrackedClient/web/livetv/recordings.js

1 line
2.7 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import VideosTab from"./../modules/tabbedview/videostab.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import globalize from"./../modules/common/globalize.js";function onAddRecordingClick(e){let instance=this;return require(["channelRecordingCreator"]).then(function(responses){return responses[0].createRecordingForChannel(null,{serverId:instance.getApiClient().serverId(),positionTo:e.target.closest("button")})})}function RecordingsTab(view,params,options){VideosTab.call(this,view,params,options)}function initElements(instance){var btnCreateRecordings=instance.view.querySelectorAll(".btnCreateRecording"),boundOnAddRecordingClick=onAddRecordingClick.bind(instance);for(let i=0,length=btnCreateRecordings.length;i<length;i++)btnCreateRecordings[i].addEventListener("click",boundOnAddRecordingClick)}Object.assign(RecordingsTab.prototype,VideosTab.prototype),RecordingsTab.prototype.getApiClientQueryMethodName=function(){return"getLiveTvRecordings"},RecordingsTab.prototype.getCardOptions=function(items){var options=VideosTab.prototype.getCardOptions.apply(this,arguments);return options.fields.push("ParentName"),options.fields.push("ChannelName"),options.fields.push("AirTime"),options.preferThumb="auto",options.showAirEndTime=!0,options},RecordingsTab.prototype.getListViewOptions=function(items){var options=VideosTab.prototype.getListViewOptions.apply(this,arguments);return options.fields.unshift("ParentName"),options},RecordingsTab.prototype.getDefaultSorting=function(){return this.getDefaultSortingForField("DateCreated")||VideosTab.prototype.getDefaultSorting.apply(this,arguments)},RecordingsTab.prototype.getSettingsKey=function(){return"livetvrecordings"},RecordingsTab.prototype.loadTemplate=function(){return this.loadItemsTemplate()},RecordingsTab.prototype.onTemplateLoaded=function(){VideosTab.prototype.onTemplateLoaded.apply(this,arguments);var elem=this.view.querySelector(".listTotalRecordCount"),html=(html=(html=(html="")+'<button is="emby-button" class="itemsViewSettingsContainer-button btnCreateRecording raised raised-mini listTextButton-autohide">'+'<i class="md-icon button-icon button-icon-left">&#xe145;</i>')+("<span>"+globalize.translate("HeaderAddRecording")+"</span>")+"</button>")+('<button title="'+globalize.translate("HeaderAddRecording")+'" is="paper-icon-button-light" class="itemsViewSettingsContainer-button btnCreateRecording listIconButton-autohide">');elem.insertAdjacentHTML("afterend",html=html+'<i class="md-icon autortl">&#xe145;</i>'+"</button>"),initElements(this),this.itemsContainer.setAttribute("data-monitor","RecordingStarted,RecordingEnded")};export default RecordingsTab;