mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
live tv updates
This commit is contained in:
parent
a3b95de459
commit
b0d84e5046
9 changed files with 208 additions and 150 deletions
|
@ -1,7 +1,6 @@
|
|||
(function ($, document, apiClient) {
|
||||
|
||||
var currentProgram;
|
||||
var daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||||
|
||||
function renderRecording(page, defaultTimer, program) {
|
||||
|
||||
|
@ -29,21 +28,22 @@
|
|||
|
||||
$('.itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(program));
|
||||
|
||||
$('#txtRequestedPrePaddingSeconds', page).val(defaultTimer.RequestedPrePaddingSeconds);
|
||||
$('#txtRequestedPostPaddingSeconds', page).val(defaultTimer.RequestedPostPaddingSeconds);
|
||||
$('#txtRequiredPrePaddingSeconds', page).val(defaultTimer.RequiredPrePaddingSeconds);
|
||||
$('#txtRequiredPostPaddingSeconds', page).val(defaultTimer.RequiredPostPaddingSeconds);
|
||||
$('#chkNewOnly', page).checked(defaultTimer.RecordNewOnly).checkboxradio('refresh');
|
||||
$('#chkAllChannels', page).checked(defaultTimer.RecordAnyChannel).checkboxradio('refresh');
|
||||
$('#chkAnyTime', page).checked(defaultTimer.RecordAnyTime).checkboxradio('refresh');
|
||||
|
||||
try {
|
||||
|
||||
var startDate = parseISO8601Date(program.StartDate, { toLocal: true });
|
||||
|
||||
$('#chk' + daysOfWeek[startDate.getDay()], page).checked(true).checkboxradio('refresh');
|
||||
$('#txtPrePaddingSeconds', page).val(defaultTimer.PrePaddingSeconds);
|
||||
$('#txtPostPaddingSeconds', page).val(defaultTimer.PostPaddingSeconds);
|
||||
$('#chkPrePaddingRequired', page).checked(defaultTimer.IsPrePaddingRequired).checkboxradio('refresh');
|
||||
$('#chkPostPaddingRequired', page).checked(defaultTimer.IsPostPaddingRequired).checkboxradio('refresh');
|
||||
|
||||
if (program.IsSeries) {
|
||||
$('#eligibleForSeriesFields', page).show();
|
||||
} else {
|
||||
$('#eligibleForSeriesFields', page).hide();
|
||||
}
|
||||
catch (e) {
|
||||
console.log("Error parsing date: " + program.StartDate);
|
||||
}
|
||||
|
||||
selectDays(page, defaultTimer.Days);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
@ -52,10 +52,10 @@
|
|||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var programid = getParameterByName('programid');
|
||||
var programId = getParameterByName('programid');
|
||||
|
||||
var promise1 = apiClient.getNewLiveTvTimerDefaults();
|
||||
var promise2 = apiClient.getLiveTvProgram(programid, Dashboard.getCurrentUserId());
|
||||
var promise1 = apiClient.getNewLiveTvTimerDefaults({ programId: programId });
|
||||
var promise2 = apiClient.getLiveTvProgram(programId, Dashboard.getCurrentUserId());
|
||||
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
|
||||
|
@ -66,8 +66,24 @@
|
|||
});
|
||||
}
|
||||
|
||||
function selectDays(page, days) {
|
||||
|
||||
var daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||||
|
||||
for (var i = 0, length = daysOfWeek.length; i < length; i++) {
|
||||
|
||||
var day = daysOfWeek[i];
|
||||
|
||||
$('#chk' + day, page).checked(days.indexOf(day) != -1).checkboxradio('refresh');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getDays(page) {
|
||||
|
||||
var daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||||
|
||||
var days = [];
|
||||
|
||||
for (var i = 0, length = daysOfWeek.length; i < length; i++) {
|
||||
|
@ -89,12 +105,12 @@
|
|||
|
||||
var form = this;
|
||||
|
||||
apiClient.getNewLiveTvTimerDefaults().done(function (item) {
|
||||
apiClient.getNewLiveTvTimerDefaults({ programId: currentProgram.Id }).done(function (item) {
|
||||
|
||||
item.RequestedPrePaddingSeconds = $('#txtRequestedPrePaddingSeconds', form).val();
|
||||
item.RequestedPostPaddingSeconds = $('#txtRequestedPostPaddingSeconds', form).val();
|
||||
item.RequiredPrePaddingSeconds = $('#txtRequiredPrePaddingSeconds', form).val();
|
||||
item.RequiredPostPaddingSeconds = $('#txtRequiredPostPaddingSeconds', form).val();
|
||||
item.PrePaddingSeconds = $('#txtPrePaddingSeconds', form).val();
|
||||
item.PostPaddingSeconds = $('#txtPostPaddingSeconds', form).val();
|
||||
item.IsPrePaddingRequired = $('#chkPrePaddingRequired', form).checked();
|
||||
item.IsPostPaddingRequired = $('#chkPostPaddingRequired', form).checked();
|
||||
|
||||
item.RecordNewOnly = $('#chkNewOnly', form).checked();
|
||||
item.RecordAnyChannel = $('#chkAllChannels', form).checked();
|
||||
|
@ -102,14 +118,6 @@
|
|||
|
||||
item.Days = getDays(form);
|
||||
|
||||
item.Name = currentProgram.Name;
|
||||
item.ProgramId = currentProgram.Id;
|
||||
item.ChannelName = currentProgram.ChannelName;
|
||||
item.ChannelId = currentProgram.ChannelId;
|
||||
item.Overview = currentProgram.Overview;
|
||||
item.StartDate = currentProgram.StartDate;
|
||||
item.EndDate = currentProgram.EndDate;
|
||||
|
||||
if ($('#chkRecordSeries', form).checked()) {
|
||||
|
||||
apiClient.createLiveTvSeriesTimer(item).done(function () {
|
||||
|
@ -157,6 +165,12 @@
|
|||
}
|
||||
|
||||
});
|
||||
|
||||
$('#btnCancel', page).on('click', function () {
|
||||
|
||||
Dashboard.navigate('livetvchannel.html?id=' + currentProgram.ChannelId);
|
||||
|
||||
});
|
||||
|
||||
}).on('pagebeforeshow', "#liveTvNewRecordingPage", function () {
|
||||
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
$('.itemName', page).html(item.Name);
|
||||
$('.overview', page).html(item.Overview || '');
|
||||
|
||||
$('#txtRequestedPrePaddingSeconds', page).val(item.RequestedPrePaddingSeconds);
|
||||
$('#txtRequestedPostPaddingSeconds', page).val(item.RequestedPostPaddingSeconds);
|
||||
$('#txtRequiredPrePaddingSeconds', page).val(item.RequiredPrePaddingSeconds);
|
||||
$('#txtRequiredPostPaddingSeconds', page).val(item.RequiredPostPaddingSeconds);
|
||||
$('#txtPrePaddingSeconds', page).val(item.PrePaddingSeconds);
|
||||
$('#txtPostPaddingSeconds', page).val(item.PostPaddingSeconds);
|
||||
$('#chkPrePaddingRequired', page).checked(item.IsPrePaddingRequired).checkboxradio('refresh');
|
||||
$('#chkPostPaddingRequired', page).checked(item.IsPostPaddingRequired).checkboxradio('refresh');
|
||||
|
||||
$('#chkNewOnly', page).checked(item.RecordNewOnly).checkboxradio('refresh');
|
||||
$('#chkAllChannels', page).checked(item.RecordAnyChannel).checkboxradio('refresh');
|
||||
|
@ -97,10 +97,10 @@
|
|||
|
||||
apiClient.getLiveTvSeriesTimer(currentItem.Id).done(function (item) {
|
||||
|
||||
item.RequestedPrePaddingSeconds = $('#txtRequestedPrePaddingSeconds', form).val();
|
||||
item.RequestedPostPaddingSeconds = $('#txtRequestedPostPaddingSeconds', form).val();
|
||||
item.RequiredPrePaddingSeconds = $('#txtRequiredPrePaddingSeconds', form).val();
|
||||
item.RequiredPostPaddingSeconds = $('#txtRequiredPostPaddingSeconds', form).val();
|
||||
item.PrePaddingSeconds = $('#txtPrePaddingSeconds', form).val();
|
||||
item.PostPaddingSeconds = $('#txtPostPaddingSeconds', form).val();
|
||||
item.IsPrePaddingRequired = $('#chkPrePaddingRequired', form).checked();
|
||||
item.IsPostPaddingRequired = $('#chkPostPaddingRequired', form).checked();
|
||||
|
||||
item.RecordNewOnly = $('#chkNewOnly', form).checked();
|
||||
item.RecordAnyChannel = $('#chkAllChannels', form).checked();
|
||||
|
|
|
@ -29,10 +29,10 @@
|
|||
$('.channel', page).html('<a href="livetvchannel.html?id=' + item.ChannelId + '">' + item.ChannelName + '</a>').trigger('create');
|
||||
$('.overview', page).html(item.Overview || '');
|
||||
|
||||
$('#txtRequestedPrePaddingSeconds', page).val(item.RequestedPrePaddingSeconds);
|
||||
$('#txtRequestedPostPaddingSeconds', page).val(item.RequestedPostPaddingSeconds);
|
||||
$('#txtRequiredPrePaddingSeconds', page).val(item.RequiredPrePaddingSeconds);
|
||||
$('#txtRequiredPostPaddingSeconds', page).val(item.RequiredPostPaddingSeconds);
|
||||
$('#txtPrePaddingSeconds', page).val(item.PrePaddingSeconds);
|
||||
$('#txtPostPaddingSeconds', page).val(item.PostPaddingSeconds);
|
||||
$('#chkPrePaddingRequired', page).checked(item.IsPrePaddingRequired).checkboxradio('refresh');
|
||||
$('#chkPostPaddingRequired', page).checked(item.IsPostPaddingRequired).checkboxradio('refresh');
|
||||
|
||||
$('.itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
|
||||
$('.status', page).html('Status: ' + item.Status);
|
||||
|
@ -47,21 +47,21 @@
|
|||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
|
||||
function onSubmit() {
|
||||
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
||||
apiClient.getLiveTvTimer(currentItem.Id).done(function (item) {
|
||||
|
||||
item.RequestedPrePaddingSeconds = $('#txtRequestedPrePaddingSeconds', form).val();
|
||||
item.RequestedPostPaddingSeconds = $('#txtRequestedPostPaddingSeconds', form).val();
|
||||
item.RequiredPrePaddingSeconds = $('#txtRequiredPrePaddingSeconds', form).val();
|
||||
item.RequiredPostPaddingSeconds = $('#txtRequiredPostPaddingSeconds', form).val();
|
||||
item.PrePaddingSeconds = $('#txtPrePaddingSeconds', form).val();
|
||||
item.PostPaddingSeconds = $('#txtPostPaddingSeconds', form).val();
|
||||
item.IsPrePaddingRequired = $('#chkPrePaddingRequired', form).checked();
|
||||
item.IsPostPaddingRequired = $('#chkPostPaddingRequired', form).checked();
|
||||
|
||||
ApiClient.updateLiveTvTimer(item).done(function() {
|
||||
ApiClient.updateLiveTvTimer(item).done(function () {
|
||||
Dashboard.alert('Timer Saved');
|
||||
});
|
||||
});
|
||||
|
@ -104,11 +104,11 @@
|
|||
|
||||
currentItem = null;
|
||||
});
|
||||
|
||||
|
||||
function liveTvTimerPage() {
|
||||
|
||||
var self = this;
|
||||
|
||||
|
||||
self.onSubmit = onSubmit;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue