2012-02-05 21:17:23 +01:00
|
|
|
|
/* Click on row, show details */
|
2012-02-26 09:36:47 +01:00
|
|
|
|
$(document).on('click', '.seriesTable a, .dataTable a', function (event) {
|
2012-02-26 19:53:00 +01:00
|
|
|
|
if ($(this).attr('data-ajax') === "true" || $(this).attr('onclick'))
|
2012-02-07 07:47:02 +01:00
|
|
|
|
return;
|
|
|
|
|
|
2012-02-06 08:47:10 +01:00
|
|
|
|
event.preventDefault();
|
2012-02-05 21:17:23 +01:00
|
|
|
|
var link = $(this).attr('href');
|
2012-05-03 00:42:21 +02:00
|
|
|
|
|
|
|
|
|
if ($(this).attr('target') === '_blank')
|
|
|
|
|
window.open(link);
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
window.location = link;
|
|
|
|
|
|
2012-02-06 08:47:10 +01:00
|
|
|
|
event.stopPropegation();
|
2012-02-05 21:17:23 +01:00
|
|
|
|
});
|
|
|
|
|
|
2012-02-06 23:13:33 +01:00
|
|
|
|
$('.seriesTable .data-row td:not(:last-child)').live('click', function () {
|
2012-02-10 06:26:30 +01:00
|
|
|
|
if ($(this).closest('table').hasClass('no-details'))
|
|
|
|
|
return;
|
2012-02-06 23:13:33 +01:00
|
|
|
|
$(this).parent('tr').next('.detail-row').toggle();
|
2012-02-05 21:17:23 +01:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function grid_onError(e) {
|
2012-01-30 02:38:44 +01:00
|
|
|
|
//Suppress the alert
|
|
|
|
|
e.preventDefault();
|
2012-01-30 07:14:46 +01:00
|
|
|
|
}
|
|
|
|
|
|
2012-02-08 09:17:40 +01:00
|
|
|
|
//Perform the details opening
|
|
|
|
|
var oTable;
|
2012-01-30 07:14:46 +01:00
|
|
|
|
|
2012-02-08 09:17:40 +01:00
|
|
|
|
$('.dataTable td:not(:last-child)').live('click', function () {
|
2012-02-10 06:26:30 +01:00
|
|
|
|
if ($(this).closest('table').hasClass('no-details'))
|
|
|
|
|
return;
|
|
|
|
|
|
2012-02-08 09:17:40 +01:00
|
|
|
|
var nTr = this.parentNode;
|
2012-01-30 07:14:46 +01:00
|
|
|
|
|
2012-02-08 09:17:40 +01:00
|
|
|
|
if ($(nTr).hasClass('details-opened')) {
|
|
|
|
|
oTable.fnClose(nTr);
|
|
|
|
|
$(nTr).removeClass('details-opened');
|
2012-01-30 07:14:46 +01:00
|
|
|
|
}
|
|
|
|
|
|
2012-02-08 09:17:40 +01:00
|
|
|
|
else {
|
2012-02-09 01:26:34 +01:00
|
|
|
|
oTable.fnOpen(nTr, fnFormatDetails(nTr), 'Details');
|
2012-02-08 09:17:40 +01:00
|
|
|
|
$(nTr).addClass('details-opened');
|
2012-01-30 07:14:46 +01:00
|
|
|
|
}
|
2012-02-08 09:17:40 +01:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//Datatables format display details
|
2012-02-09 01:26:34 +01:00
|
|
|
|
function fnFormatDetails(nTr) {
|
2012-02-08 09:17:40 +01:00
|
|
|
|
var aData = oTable.fnGetData(nTr);
|
2012-02-09 01:26:34 +01:00
|
|
|
|
return aData["Details"];
|
|
|
|
|
}
|
|
|
|
|
|
2012-02-11 06:00:22 +01:00
|
|
|
|
//Reload/Redraw the grid from the server (bServerSide == true)
|
|
|
|
|
function redrawGrid() {
|
|
|
|
|
oTable.fnDraw();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Force reload using Ajax Binding (bServerSide == false)
|
|
|
|
|
function reloadGrid() {
|
|
|
|
|
oTable.fnReloadAjax();
|
2012-02-12 10:52:51 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//SignalR
|
|
|
|
|
$(function () {
|
|
|
|
|
// Proxy created on the fly
|
2012-12-19 02:40:47 +01:00
|
|
|
|
var episodeHub = $.connection.episodeHub;
|
2012-02-12 10:52:51 +01:00
|
|
|
|
|
|
|
|
|
// Declare a function on the chat hub so the server can invoke it
|
2012-12-19 02:40:47 +01:00
|
|
|
|
episodeHub.updatedStatus = function (data) {
|
2012-10-01 00:39:08 +02:00
|
|
|
|
var row = $('[data-episode-id="' + data.EpisodeId + '"]');
|
2012-02-12 10:52:51 +01:00
|
|
|
|
|
|
|
|
|
if (row.length == 0)
|
|
|
|
|
return;
|
|
|
|
|
|
2012-10-12 05:16:57 +02:00
|
|
|
|
var statusElement = $(row).find('i.statusImage');
|
2012-02-12 10:52:51 +01:00
|
|
|
|
|
2012-10-12 05:16:57 +02:00
|
|
|
|
if (statusElement.length == 0)
|
2012-02-12 10:52:51 +01:00
|
|
|
|
return;
|
|
|
|
|
|
2012-10-12 05:16:57 +02:00
|
|
|
|
statusElement.attr('data-status', data.EpisodeStatus);
|
2012-02-12 10:52:51 +01:00
|
|
|
|
|
2012-02-28 06:52:03 +01:00
|
|
|
|
if (data.EpisodeStatus != "Missing") {
|
2012-10-12 05:16:57 +02:00
|
|
|
|
statusElement.parent('td').removeClass('episodeMissing');
|
2012-02-12 10:52:51 +01:00
|
|
|
|
}
|
2012-02-28 06:52:03 +01:00
|
|
|
|
|
|
|
|
|
if (data.Quality != null) {
|
|
|
|
|
var qualityColumn = $(row).find('.episodeQuality');
|
|
|
|
|
|
|
|
|
|
if (qualityColumn)
|
|
|
|
|
qualityColumn.text(data.Quality);
|
|
|
|
|
}
|
2012-02-12 10:52:51 +01:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Start the connection
|
2012-04-22 20:53:00 +02:00
|
|
|
|
$.connection.hub.start({ transport: 'longPolling' });
|
2012-02-12 10:52:51 +01:00
|
|
|
|
});
|