1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update recording scheduler

This commit is contained in:
Luke Pulverenti 2015-07-28 23:42:03 -04:00
parent 7790a5b573
commit 65f5de02c1
14 changed files with 130 additions and 271 deletions

View file

@ -24,6 +24,7 @@
LibraryBrowser.renderName(item, $('.itemName', page), false, context);
LibraryBrowser.renderParentName(item, $('.parentName', page), context);
LibraryMenu.setTitle(item.Name);
Dashboard.getCurrentUser().done(function (user) {
@ -39,7 +40,17 @@
LibraryBrowser.renderDetailPageBackdrop(page, item);
}
if (MediaController.canPlay(item)) {
if (item.Type == 'Program') {
var now = new Date();
if (now >= parseISO8601Date(item.StartDate, { toLocal: true }) && now < parseISO8601Date(item.EndDate, { toLocal: true })) {
$('.btnPlay', page).removeClass('hide');
} else {
$('.btnPlay', page).addClass('hide');
}
}
else if (MediaController.canPlay(item)) {
$('.btnPlay', page).removeClass('hide');
}
else {
@ -64,6 +75,18 @@
$('.btnShare', page).addClass('hide');
}
if (item.Type == 'Program' && item.TimerId) {
$('.btnCancelRecording', page).removeClass('hide');
} else {
$('.btnCancelRecording', page).addClass('hide');
}
if (item.Type == 'Program' && (!item.TimerId && !item.SeriesTimerId)) {
$('.btnRecord', page).removeClass('hide');
} else {
$('.btnRecord', page).addClass('hide');
}
if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') {
$('.btnPlayExternalTrailer', page).removeClass('hide').attr('href', item.RemoteTrailers[0].Url);
@ -90,6 +113,8 @@
} else {
$('.chapterSettingsButton', page).hide();
}
LiveTvHelpers.renderOriginalAirDate($('.airDate', page), item);
});
if (item.LocationType == "Offline") {
@ -1548,20 +1573,54 @@
}
}
function playCurrentItem(button) {
if (currentItem.Type == 'Program') {
ApiClient.getLiveTvChannel(currentItem.ChannelId, Dashboard.getCurrentUserId()).done(function (channel) {
LibraryBrowser.showPlayMenu(null, channel.Id, channel.Type, false, channel.MediaType, (channel.UserData || {}).PlaybackPositionTicks);
});
return;
}
var userdata = currentItem.UserData || {};
var mediaType = currentItem.MediaType;
if (currentItem.Type == "MusicArtist" || currentItem.Type == "MusicAlbum") {
mediaType = "Audio";
}
LibraryBrowser.showPlayMenu(button, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
}
function deleteTimer(page, id) {
Dashboard.confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation'), function (result) {
if (result) {
Dashboard.showLoadingMsg();
ApiClient.cancelLiveTvTimer(id).done(function () {
Dashboard.alert(Globalize.translate('MessageRecordingCancelled'));
reload(page);
});
}
});
}
$(document).on('pageinitdepends', "#itemDetailPage", function () {
var page = this;
$('.btnPlay', page).on('click', function () {
var userdata = currentItem.UserData || {};
var mediaType = currentItem.MediaType;
if (currentItem.Type == "MusicArtist" || currentItem.Type == "MusicAlbum") {
mediaType = "Audio";
}
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
playCurrentItem(this);
});
$('.btnPlayTrailer', page).on('click', function () {
@ -1580,6 +1639,19 @@
});
});
$('.btnRecord', page).on('click', function () {
var id = getParameterByName('id');
Dashboard.navigate('livetvnewrecording.html?programid=' + id);
});
$('.btnCancelRecording', page).on('click', function () {
deleteTimer(page, currentItem.TimerId);
});
$('.btnShare', page).on('click', function () {
require(['sharingmanager'], function () {

View file

@ -197,7 +197,6 @@
tabs.alignBottom = true;
tabs.classList.add('bottomTabs');
}
tabs.noink = true;
if (LibraryBrowser.enableFullPaperTabs()) {
@ -207,8 +206,8 @@
// Not very iOS-like I suppose
tabs.noSlide = true;
tabs.noink = true;
tabs.noBar = true;
tabs.noink = true;
}
else {
LibraryBrowser.configureSwipeTabs(ownerpage, tabs, pages);
@ -219,7 +218,6 @@
} else {
tabs.noSlide = true;
tabs.noink = true;
tabs.noBar = true;
tabs.scrollable = true;
@ -801,7 +799,7 @@
return "channelitems.html?id=" + item.ChannelId + '&folderId=' + item.Id;
}
if (item.Type == "Program") {
return "livetvprogram.html?id=" + id;
return "itemdetails.html?id=" + id;
}
if (item.Type == "Series") {
return "itemdetails.html?id=" + id + contextSuffix;
@ -2302,6 +2300,8 @@
} else if (item.Album) {
html.push(item.Album);
} else if (item.Type == 'Program' && item.EpisodeTitle) {
html.push(item.Name);
}
if (html.length) {

View file

@ -32,7 +32,7 @@
html += '<paper-icon-button icon="person" class="headerButton headerButtonRight headerUserButton" onclick="return Dashboard.showUserFlyout(this);"></paper-icon-button>';
}
if (!$.browser.mobile && !AppInfo.isNativeApp) {
if (!$.browser.mobile && !Dashboard.isConnectMode()) {
html += '<paper-icon-button icon="settings" class="headerButton headerButtonRight dashboardEntryHeaderButton hide" onclick="return LibraryMenu.onSettingsClicked(event);"></paper-icon-button>';
}
@ -469,7 +469,7 @@
}
function showUserAtTop() {
return AppInfo.isNativeApp;
return Dashboard.isConnectMode();
}
var requiresLibraryMenuRefresh = false;
@ -797,7 +797,7 @@
document.body.classList.add('hideMainDrawer');
}
if (!AppInfo.isNativeApp) {
if (!Dashboard.isConnectMode()) {
darkDrawer = true;
}

View file

@ -26,7 +26,7 @@
currentIndexValue = startDateText;
}
html += '<a href="livetvprogram.html?id=' + program.Id + '" class="tvProgram">';
html += '<a href="itemdetails.html?id=' + program.Id + '" class="tvProgram">';
var cssClass = "tvProgramTimeSlot";

View file

@ -214,7 +214,7 @@
cssClass += " plainProgramInfo";
}
html += '<a href="livetvprogram.html?id=' + program.Id + '" class="' + cssClass + '" data-programid="' + program.Id + '">';
html += '<a href="itemdetails.html?id=' + program.Id + '" class="' + cssClass + '" data-programid="' + program.Id + '">';
html += '<div class="guideProgramName">';
html += program.Name;

View file

@ -163,7 +163,7 @@
var programId = getParameterByName('programid');
Dashboard.navigate('livetvprogram.html?id=' + programId);
Dashboard.navigate('itemdetails.html?id=' + programId);
});

View file

@ -1,135 +0,0 @@
(function ($, document) {
var currentItem;
function deleteTimer(page, id) {
Dashboard.confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation'), function (result) {
if (result) {
Dashboard.showLoadingMsg();
ApiClient.cancelLiveTvTimer(id).done(function () {
Dashboard.alert(Globalize.translate('MessageRecordingCancelled'));
reload(page);
});
}
});
}
function reload(page) {
Dashboard.showLoadingMsg();
ApiClient.getLiveTvProgram(getParameterByName('id'), Dashboard.getCurrentUserId()).done(function (item) {
var context = 'livetv';
currentItem = item;
var name = item.Name;
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
Dashboard.setPageTitle(name);
$('.itemName', page).html(name);
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
LibraryBrowser.renderGenres($('.itemGenres', page), item, context);
LibraryBrowser.renderOverview(page.querySelectorAll('.itemOverview'), item);
$('.itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
LiveTvHelpers.renderMiscProgramInfo($('.miscTvProgramInfo', page), item);
Events.trigger(page, 'displayingitem', [{
item: item,
context: 'livetv'
}]);
if (item.TimerId) {
$('#cancelRecordingButtonContainer', page).show();
} else {
$('#cancelRecordingButtonContainer', page).hide();
}
if (!item.TimerId && !item.SeriesTimerId) {
$('#recordButtonContainer', page).show();
} else {
$('#recordButtonContainer', page).hide();
}
var startDateLocal = parseISO8601Date(item.StartDate, { toLocal: true });
var endDateLocal = parseISO8601Date(item.EndDate, { toLocal: true });
var now = new Date();
if (now >= startDateLocal && now < endDateLocal) {
$('#playButtonContainer', page).show();
} else {
$('#playButtonContainer', page).hide();
}
Dashboard.getCurrentUser().done(function (user) {
if (user.Policy.IsAdministrator && item.LocationType !== "Offline") {
$('#editButtonContainer', page).show();
} else {
$('#editButtonContainer', page).hide();
}
});
LiveTvHelpers.renderOriginalAirDate($('.airDate', page), item);
Dashboard.hideLoadingMsg();
});
}
$(document).on('pageinitdepends', "#liveTvProgramPage", function () {
var page = this;
$('.btnRecord', page).on('click', function() {
var id = getParameterByName('id');
Dashboard.navigate('livetvnewrecording.html?programid=' + id);
});
$('.btnPlay', page).on('click', function () {
ApiClient.getLiveTvChannel(currentItem.ChannelId, Dashboard.getCurrentUserId()).done(function (channel) {
var userdata = channel.UserData || {};
LibraryBrowser.showPlayMenu(null, channel.Id, channel.Type, false, channel.MediaType, userdata.PlaybackPositionTicks);
});
});
$('.btnCancelRecording', page).on('click', function () {
deleteTimer(page, currentItem.TimerId);
});
}).on('pagebeforeshowready', "#liveTvProgramPage", function () {
var page = this;
reload(page);
}).on('pagebeforehide', "#liveTvProgramPage", function () {
currentItem = null;
});
})(jQuery, document);

View file

@ -387,7 +387,7 @@
var menuItems = [];
menuItems.push({
name: 'Schedules Direct (USA / Canada)',
name: 'Schedules Direct',
id: 'SchedulesDirect'
});

View file

@ -63,9 +63,9 @@
$('.manualLoginForm', page).show();
if (focusPassword) {
$('#txtManualPassword', page).focus();
$('#txtManualPassword input', page).focus();
} else {
$('#txtManualName', page).focus();
$('#txtManualName input', page).focus();
}
if (showCancel) {