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

130 lines
3.5 KiB
JavaScript
Raw Normal View History

2014-10-15 23:26:39 -04:00
(function ($, document) {
2013-12-01 11:09:05 -05:00
var currentItem;
2013-12-01 11:09:05 -05:00
function deleteRecording() {
2013-12-01 11:09:05 -05:00
2014-06-09 15:16:14 -04:00
Dashboard.confirm(Globalize.translate('MessageConfirmRecordingDeletion'), Globalize.translate('HeaderConfirmRecordingDeletion'), function (result) {
2013-12-01 11:09:05 -05:00
if (result) {
2013-12-01 11:09:05 -05:00
Dashboard.showLoadingMsg();
2013-12-01 11:09:05 -05:00
ApiClient.deleteLiveTvRecording(currentItem.Id).done(function () {
2014-06-09 15:16:14 -04:00
Dashboard.alert(Globalize.translate('MessageRecordingDeleted'));
2015-06-29 14:45:42 -04:00
Dashboard.navigate('livetvsuggested.html#liveTvRecordingsPage');
});
}
});
}
2013-12-21 13:37:34 -05:00
function play() {
var userdata = currentItem.UserData || {};
var mediaType = currentItem.MediaType;
2015-06-19 18:01:47 -04:00
LibraryBrowser.showPlayMenu(null, currentItem.Id, currentItem.Type, false, mediaType, userdata.PlaybackPositionTicks);
2013-12-21 13:37:34 -05:00
}
function renderRecording(page, item) {
currentItem = item;
2013-12-04 15:55:42 -05:00
var context = 'livetv';
var name = item.Name;
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
Dashboard.setPageTitle(name);
$('.itemName', page).html(name);
2013-12-12 23:06:38 -05:00
2013-12-21 13:37:34 -05:00
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
2014-01-18 00:55:21 -05:00
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
2013-12-04 15:55:42 -05:00
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
2013-12-04 15:55:42 -05:00
LibraryBrowser.renderGenres($('.itemGenres', page), item, context);
2015-06-28 11:43:49 -04:00
LibraryBrowser.renderOverview(page.querySelector('.itemOverview'), item);
$('.itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
2013-12-21 13:37:34 -05:00
LiveTvHelpers.renderMiscProgramInfo($('.miscTvProgramInfo', page), item);
2014-04-13 13:27:13 -04:00
$(page).trigger('displayingitem', [{
2014-04-13 13:27:13 -04:00
item: item,
context: 'livetv'
}]);
2014-03-15 00:14:07 -04:00
$('.recordingStatus', page).html('Status:   ' + item.Status);
2013-12-01 11:09:05 -05:00
2015-02-06 00:39:07 -05:00
if (MediaController.canPlay(item)) {
$('#playButtonContainer', page).show();
} else {
$('#playButtonContainer', page).hide();
}
if (item.CanDelete) {
$('#deleteButtonContainer', page).show();
} else {
$('#deleteButtonContainer', page).hide();
}
2013-12-21 13:37:34 -05:00
LiveTvHelpers.renderOriginalAirDate($('.airDate', page), item);
Dashboard.hideLoadingMsg();
2015-04-13 01:12:02 -04:00
Dashboard.getCurrentUser().done(function(user) {
if (SyncManager.isAvailable(item, user)) {
$('.btnSync', page).removeClass('hide');
} else {
$('.btnSync', page).addClass('hide');
}
});
}
function reload(page) {
Dashboard.showLoadingMsg();
var id = getParameterByName('id');
2014-10-15 23:26:39 -04:00
ApiClient.getLiveTvRecording(id, Dashboard.getCurrentUserId()).done(function (result) {
renderRecording(page, result);
});
}
2015-05-22 15:16:14 -04:00
$(document).on('pageinitdepends', "#liveTvRecordingPage", function () {
var page = this;
2015-06-20 20:49:42 -04:00
$('.btnDelete', page).on('click', deleteRecording);
$('.btnPlay', page).on('click', play);
2015-04-13 01:12:02 -04:00
$('.btnSync', page).on('click', function () {
SyncManager.showMenu({
items: [currentItem]
});
});
2015-05-22 15:16:14 -04:00
}).on('pagebeforeshowready', "#liveTvRecordingPage", function () {
var page = this;
reload(page);
2015-06-20 20:49:42 -04:00
}).on('pagebeforehide', "#liveTvRecordingPage", function () {
currentItem = null;
2013-12-01 11:09:05 -05:00
});
2014-10-15 23:26:39 -04:00
})(jQuery, document);