1
0
Fork 0
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:
Luke Pulverenti 2013-12-18 00:44:46 -05:00
parent a3b95de459
commit b0d84e5046
9 changed files with 208 additions and 150 deletions

View file

@ -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 () {

View file

@ -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();

View file

@ -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:&nbsp;&nbsp;&nbsp;' + 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;
}