jellyfin-web/dashboard-ui/scripts/livetvrecording.js

130 lines
3.4 KiB
JavaScript
Raw Normal View History

(function ($, document, apiClient) {
2013-12-01 09:09:05 -07:00
var currentItem;
2013-12-01 09:09:05 -07:00
function deleteRecording() {
2013-12-01 09:09:05 -07:00
Dashboard.confirm("Are you sure you wish to delete this recording?", "Confirm Recording Deletion", function (result) {
2013-12-01 09:09:05 -07:00
if (result) {
2013-12-01 09:09:05 -07:00
Dashboard.showLoadingMsg();
2013-12-01 09:09:05 -07:00
ApiClient.deleteLiveTvRecording(currentItem.Id).done(function () {
Dashboard.alert('Recording deleted');
Dashboard.navigate('livetvrecordings.html');
});
}
});
}
2013-12-21 11:37:34 -07:00
function play() {
var userdata = currentItem.UserData || {};
var mediaType = currentItem.MediaType;
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, mediaType, userdata.PlaybackPositionTicks);
}
function renderRecording(page, item) {
currentItem = item;
2013-12-04 13:55:42 -07:00
var context = 'livetv';
var name = item.Name;
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
Dashboard.setPageTitle(name);
$('.itemName', page).html(name);
2013-12-12 21:06:38 -07:00
2013-12-21 11:37:34 -07:00
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
2014-01-17 22:55:21 -07:00
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
2013-12-04 13:55:42 -07:00
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
2013-12-04 13:55:42 -07:00
LibraryBrowser.renderGenres($('.itemGenres', page), item, context);
LibraryBrowser.renderOverview($('.itemOverview', page), item);
$('.itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
2013-12-21 11:37:34 -07:00
LiveTvHelpers.renderMiscProgramInfo($('.miscTvProgramInfo', page), item);
if (ApiClient.isWebSocketOpen()) {
var vals = [item.Type, item.Id, item.Name];
vals.push('livetv');
ApiClient.sendWebSocketMessage("Context", vals.join('|'));
}
2013-12-12 21:06:38 -07:00
$('.status', page).html('Status:   ' + item.Status);
2013-12-01 09:09:05 -07:00
Dashboard.getCurrentUser().done(function (user) {
if (MediaPlayer.canPlay(item, user)) {
$('#playButtonContainer', page).show();
} else {
$('#playButtonContainer', page).hide();
}
if (user.Configuration.IsAdministrator && item.LocationType !== "Offline") {
$('#deleteButtonContainer', page).show();
} else {
$('#deleteButtonContainer', page).hide();
}
});
2013-12-21 11:37:34 -07:00
LiveTvHelpers.renderOriginalAirDate($('.airDate', page), item);
Dashboard.hideLoadingMsg();
}
function reload(page) {
Dashboard.showLoadingMsg();
var id = getParameterByName('id');
2013-12-17 13:02:12 -07:00
apiClient.getLiveTvRecording(id, Dashboard.getCurrentUserId()).done(function (result) {
renderRecording(page, result);
});
}
$(document).on('pageinit', "#liveTvRecordingPage", function () {
var page = this;
$('#btnDelete', page).on('click', deleteRecording);
2013-12-21 11:37:34 -07:00
$('#btnPlay', page).on('click', play);
$('#btnRemote', page).on('click', function () {
RemoteControl.showMenuForItem({
item: currentItem,
context: 'livetv'
});
});
}).on('pagebeforeshow', "#liveTvRecordingPage", function () {
var page = this;
reload(page);
}).on('pagehide', "#liveTvRecordingPage", function () {
currentItem = null;
2013-12-01 09:09:05 -07:00
});
})(jQuery, document, ApiClient);