/* Click on row, show details */ $(document).on('click', '.seriesTable a, .dataTable a', function (event) { if ($(this).attr('data-ajax') === "true" || $(this).attr('onclick')) return; event.preventDefault(); var link = $(this).attr('href'); if ($(this).attr('target') === '_blank') window.open(link); else window.location = link; event.stopPropegation(); }); $('.seriesTable .data-row td:not(:last-child)').live('click', function () { if ($(this).closest('table').hasClass('no-details')) return; $(this).parent('tr').next('.detail-row').toggle(); }); function grid_onError(e) { //Suppress the alert e.preventDefault(); } //Perform the details opening var oTable; $('.dataTable td:not(:last-child)').live('click', function () { if ($(this).closest('table').hasClass('no-details')) return; var nTr = this.parentNode; if ($(nTr).hasClass('details-opened')) { oTable.fnClose(nTr); $(nTr).removeClass('details-opened'); } else { oTable.fnOpen(nTr, fnFormatDetails(nTr), 'Details'); $(nTr).addClass('details-opened'); } }); //Datatables format display details function fnFormatDetails(nTr) { var aData = oTable.fnGetData(nTr); return aData["Details"]; } //Reload/Redraw the grid from the server (bServerSide == true) function redrawGrid() { oTable.fnDraw(); } //Force reload using Ajax Binding (bServerSide == false) function reloadGrid() { oTable.fnReloadAjax(); } //SignalR $(function () { // Proxy created on the fly var episodeHub = $.connection.episodeHub; // Declare a function on the chat hub so the server can invoke it episodeHub.updatedStatus = function (data) { var row = $('[data-episode-id="' + data.EpisodeId + '"]'); if (row.length == 0) return; var statusElement = $(row).find('i.statusImage'); if (statusElement.length == 0) return; statusElement.attr('data-status', data.EpisodeStatus); if (data.EpisodeStatus != "Missing") { statusElement.parent('td').removeClass('episodeMissing'); } if (data.Quality != null) { var qualityColumn = $(row).find('.episodeQuality'); if (qualityColumn) qualityColumn.text(data.Quality); } }; // Start the connection $.connection.hub.start({ transport: 'longPolling' }); });