embed recording button into video player
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
define(["globalize","connectionManager","require","loading","apphost","dom","recordingHelper","events","registrationServices","paper-icon-button-light","emby-button","css!./recordingfields"],function(globalize,connectionManager,require,loading,appHost,dom,recordingHelper,events,registrationServices){"use strict";function onRecordingButtonClick(e){var item=this.item;if(item){var serverId=item.ServerId,programId=item.Id,timerId=item.TimerId,timerStatus=item.Status,seriesTimerId=item.SeriesTimerId,instance=this;recordingHelper.toggleRecording(serverId,programId,timerId,timerStatus,seriesTimerId).then(function(){instance.refresh(serverId,programId)})}}function RecordingButton(options){this.options=options,options.item?this.refreshItem(options.item):options.itemId&&options.serverId&&this.refresh(options.itemId,options.serverId);var button=options.button;button.querySelector("i").innerHTML="";var clickFn=onRecordingButtonClick.bind(this);this.clickFn=clickFn,dom.addEventListener(button,"click",clickFn,{passive:!0})}function getIndicatorIcon(item){var status;if("SeriesTimer"===item.Type)return"";if(item.TimerId||item.SeriesTimerId)status=item.Status||"Cancelled";else{if("Timer"!==item.Type)return"";status=item.Status}return item.SeriesTimerId&&"Cancelled"!==status?"":""}return RecordingButton.prototype.refresh=function(serverId,itemId){var apiClient=connectionManager.getApiClient(serverId),self=this;apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(function(item){self.refreshItem(item)})},RecordingButton.prototype.refreshItem=function(item){var options=this.options,button=options.button;this.item=item,button.querySelector("i").innerHTML=getIndicatorIcon(item),item.TimerId&&"Cancelled"!==(item.Status||"Cancelled")?button.classList.add("recordingIcon-active"):button.classList.remove("recordingIcon-active")},RecordingButton.prototype.destroy=function(){var options=this.options;if(options){var button=options.button,clickFn=this.clickFn;clickFn&&dom.removeEventListener(button,"click",clickFn,{passive:!0})}this.options=null,this.item=null},RecordingButton});
|
||||
+1
-1
@@ -1 +1 @@
|
||||
define(["globalize","loading","connectionManager"],function(globalize,loading,connectionManager){"use strict";function changeRecordingToSeries(apiClient,timerId,programId){loading.show(),apiClient.getItem(apiClient.getCurrentUserId(),programId).then(function(item){item.IsSeries?cancelTimer(apiClient,timerId,!1).then(function(){apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(timerDefaults){apiClient.createLiveTvSeriesTimer(timerDefaults).then(function(){loading.hide(),sendToast(globalize.translate("sharedcomponents#SeriesRecordingScheduled"))})})}):cancelTimer(apiClient,timerId,!0)})}function cancelTimerWithConfirmation(timerId,serverId){return new Promise(function(resolve,reject){require(["confirm"],function(confirm){confirm({text:globalize.translate("sharedcomponents#MessageConfirmRecordingCancellation"),primary:"cancel",confirmText:globalize.translate("sharedcomponents#HeaderCancelRecording"),cancelText:globalize.translate("sharedcomponents#HeaderKeepRecording")}).then(function(){loading.show();var apiClient=connectionManager.getApiClient(serverId);apiClient.cancelLiveTvTimer(timerId).then(function(){require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#RecordingCancelled"))}),loading.hide(),resolve()},reject)},reject)})})}function cancelSeriesTimerWithConfirmation(timerId,serverId){return new Promise(function(resolve,reject){require(["confirm"],function(confirm){confirm({text:globalize.translate("sharedcomponents#MessageConfirmRecordingCancellation"),primary:"cancel",confirmText:globalize.translate("sharedcomponents#HeaderCancelSeries"),cancelText:globalize.translate("sharedcomponents#HeaderKeepSeries")}).then(function(){loading.show();var apiClient=connectionManager.getApiClient(serverId);apiClient.cancelLiveTvSeriesTimer(timerId).then(function(){require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SeriesCancelled"))}),loading.hide(),resolve()},reject)},reject)})})}function cancelTimer(apiClient,timerId,hideLoading){return loading.show(),apiClient.cancelLiveTvTimer(timerId).then(function(){hideLoading&&(loading.hide(),sendToast(globalize.translate("sharedcomponents#RecordingCancelled")))})}function createRecording(apiClient,programId,isSeries){return loading.show(),apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(item){var promise=isSeries?apiClient.createLiveTvSeriesTimer(item):apiClient.createLiveTvTimer(item);return promise.then(function(){loading.hide(),sendToast(globalize.translate("sharedcomponents#RecordingScheduled"))})})}function sendToast(msg){require(["toast"],function(toast){toast(msg)})}function toggleRecording(serverId,programId,timerId,timerStatus,seriesTimerId){var apiClient=connectionManager.getApiClient(serverId),hasTimer=timerId&&"Cancelled"!==timerStatus;return seriesTimerId&&hasTimer?cancelTimer(apiClient,timerId,!0):hasTimer&&programId?changeRecordingToSeries(apiClient,timerId,programId):programId?createRecording(apiClient,programId):Promise.reject()}return{cancelTimer:cancelTimer,createRecording:createRecording,changeRecordingToSeries:changeRecordingToSeries,toggleRecording:toggleRecording,cancelTimerWithConfirmation:cancelTimerWithConfirmation,cancelSeriesTimerWithConfirmation:cancelSeriesTimerWithConfirmation}});
|
||||
define(["globalize","loading","connectionManager"],function(globalize,loading,connectionManager){"use strict";function changeRecordingToSeries(apiClient,timerId,programId){return loading.show(),apiClient.getItem(apiClient.getCurrentUserId(),programId).then(function(item){return item.IsSeries?cancelTimer(apiClient,timerId,!1).then(function(){return apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(timerDefaults){return apiClient.createLiveTvSeriesTimer(timerDefaults).then(function(){loading.hide(),sendToast(globalize.translate("sharedcomponents#SeriesRecordingScheduled"))})})}):cancelTimer(apiClient,timerId,!0)})}function cancelTimerWithConfirmation(timerId,serverId){return new Promise(function(resolve,reject){require(["confirm"],function(confirm){confirm({text:globalize.translate("sharedcomponents#MessageConfirmRecordingCancellation"),primary:"cancel",confirmText:globalize.translate("sharedcomponents#HeaderCancelRecording"),cancelText:globalize.translate("sharedcomponents#HeaderKeepRecording")}).then(function(){loading.show();var apiClient=connectionManager.getApiClient(serverId);apiClient.cancelLiveTvTimer(timerId).then(function(){require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#RecordingCancelled"))}),loading.hide(),resolve()},reject)},reject)})})}function cancelSeriesTimerWithConfirmation(timerId,serverId){return new Promise(function(resolve,reject){require(["confirm"],function(confirm){confirm({text:globalize.translate("sharedcomponents#MessageConfirmRecordingCancellation"),primary:"cancel",confirmText:globalize.translate("sharedcomponents#HeaderCancelSeries"),cancelText:globalize.translate("sharedcomponents#HeaderKeepSeries")}).then(function(){loading.show();var apiClient=connectionManager.getApiClient(serverId);apiClient.cancelLiveTvSeriesTimer(timerId).then(function(){require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SeriesCancelled"))}),loading.hide(),resolve()},reject)},reject)})})}function cancelTimer(apiClient,timerId,hideLoading){return loading.show(),apiClient.cancelLiveTvTimer(timerId).then(function(){hideLoading&&(loading.hide(),sendToast(globalize.translate("sharedcomponents#RecordingCancelled")))})}function createRecording(apiClient,programId,isSeries){return loading.show(),apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(item){var promise=isSeries?apiClient.createLiveTvSeriesTimer(item):apiClient.createLiveTvTimer(item);return promise.then(function(){loading.hide(),sendToast(globalize.translate("sharedcomponents#RecordingScheduled"))})})}function sendToast(msg){require(["toast"],function(toast){toast(msg)})}function toggleRecording(serverId,programId,timerId,timerStatus,seriesTimerId){var apiClient=connectionManager.getApiClient(serverId),hasTimer=timerId&&"Cancelled"!==timerStatus;return seriesTimerId&&hasTimer?cancelTimer(apiClient,timerId,!0):hasTimer&&programId?changeRecordingToSeries(apiClient,timerId,programId):programId?createRecording(apiClient,programId):Promise.reject()}return{cancelTimer:cancelTimer,createRecording:createRecording,changeRecordingToSeries:changeRecordingToSeries,toggleRecording:toggleRecording,cancelTimerWithConfirmation:cancelTimerWithConfirmation,cancelSeriesTimerWithConfirmation:cancelSeriesTimerWithConfirmation}});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -9,7 +9,7 @@
|
||||
<div class="emby-button-foreground">${TabLatest}</div>
|
||||
</button>
|
||||
<button is="emby-button" class="emby-tab-button" data-index="2">
|
||||
<div class="emby-button-foreground">${TabSeries}</div>
|
||||
<div class="emby-button-foreground">${TabShows}</div>
|
||||
</button>
|
||||
<button is="emby-button" class="emby-tab-button" data-index="3">
|
||||
<div class="emby-button-foreground">${TabUpcoming}</div>
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
</div>
|
||||
|
||||
<div class="buttons">
|
||||
<button is="paper-icon-button-light" class="btnRecord autoSize hide">
|
||||
<i class="xlargePaperIconButton md-icon"></i>
|
||||
</button>
|
||||
|
||||
<button is="paper-icon-button-light" class="btnPreviousTrack autoSize hide">
|
||||
<i class="xlargePaperIconButton md-icon"></i>
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user