SignalR will now update quality in UI as well (when applicable)
This commit is contained in:
parent
c5df00cc87
commit
03a7643b75
|
@ -202,7 +202,7 @@ namespace NzbDrone.Core.Providers
|
|||
_externalNotificationProvider.OnDownload(message, series);
|
||||
|
||||
foreach(var episode in episodes)
|
||||
_signalRProvider.UpdateEpisodeStatus(episode.EpisodeId, EpisodeStatusType.Ready);
|
||||
_signalRProvider.UpdateEpisodeStatus(episode.EpisodeId, EpisodeStatusType.Ready, parseResult.Quality);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -67,7 +67,7 @@ namespace NzbDrone.Core.Providers
|
|||
_historyProvider.Add(history);
|
||||
_episodeProvider.MarkEpisodeAsFetched(episode.EpisodeId);
|
||||
|
||||
_signalRProvider.UpdateEpisodeStatus(episode.EpisodeId, EpisodeStatusType.Downloading);
|
||||
_signalRProvider.UpdateEpisodeStatus(episode.EpisodeId, EpisodeStatusType.Downloading, null);
|
||||
}
|
||||
|
||||
_externalNotificationProvider.OnGrab(downloadTitle);
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using SignalR;
|
||||
using SignalR.Hosting.AspNet;
|
||||
using SignalR.Hubs;
|
||||
|
@ -15,11 +16,25 @@ namespace NzbDrone.Core.Providers
|
|||
{
|
||||
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public virtual void UpdateEpisodeStatus(int episodeId, EpisodeStatusType episodeStatus)
|
||||
public virtual void UpdateEpisodeStatus(int episodeId, EpisodeStatusType episodeStatus, Quality quality)
|
||||
{
|
||||
logger.Trace("Sending Status update to client. EpisodeId: {0}, Status: {1}", episodeId, episodeStatus);
|
||||
try
|
||||
{
|
||||
logger.Trace("Sending Status update to client. EpisodeId: {0}, Status: {1}", episodeId, episodeStatus);
|
||||
|
||||
GetClients().updatedStatus(episodeId, episodeStatus.ToString());
|
||||
GetClients().updatedStatus(new
|
||||
{
|
||||
EpisodeId = episodeId,
|
||||
EpisodeStatus = episodeStatus.ToString(),
|
||||
Quality = (quality == null ? String.Empty : quality.QualityType.ToString())
|
||||
});
|
||||
var test = 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Trace("Error");
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
private dynamic GetClients()
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 760 B |
|
@ -63,9 +63,9 @@ $(function () {
|
|||
var signalRProvider = $.connection.signalRProvider;
|
||||
|
||||
// Declare a function on the chat hub so the server can invoke it
|
||||
signalRProvider.updatedStatus = function (episodeId, episodeStatus) {
|
||||
var imageSrc = '../../Content/Images/' + episodeStatus + '.png';
|
||||
var row = $('tr.episodeId_' + episodeId);
|
||||
signalRProvider.updatedStatus = function (data) {
|
||||
var imageSrc = '../../Content/Images/' + data.EpisodeStatus + '.png';
|
||||
var row = $('tr.episodeId_' + data.EpisodeId);
|
||||
|
||||
if (row.length == 0)
|
||||
return;
|
||||
|
@ -75,13 +75,20 @@ $(function () {
|
|||
if (statusImage.length == 0)
|
||||
return;
|
||||
|
||||
statusImage.attr('alt', episodeStatus);
|
||||
statusImage.attr('title', episodeStatus);
|
||||
statusImage.attr('alt', data.EpisodeStatus);
|
||||
statusImage.attr('title', data.EpisodeStatus);
|
||||
statusImage.attr('src', imageSrc);
|
||||
|
||||
if (episodeStatus != "Missing") {
|
||||
if (data.EpisodeStatus != "Missing") {
|
||||
statusImage.parent('td').removeClass('episodeMissing');
|
||||
}
|
||||
|
||||
if (data.Quality != null) {
|
||||
var qualityColumn = $(row).find('.episodeQuality');
|
||||
|
||||
if (qualityColumn)
|
||||
qualityColumn.text(data.Quality);
|
||||
}
|
||||
};
|
||||
|
||||
// Start the connection
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<td>@Model.EpisodeNumber</td>
|
||||
<td>@Model.Title</td>
|
||||
<td>@Model.AirDate</td>
|
||||
<td>@Model.Quality</td>
|
||||
<td class="episodeQuality">@Model.Quality</td>
|
||||
|
||||
@{
|
||||
string cellColourClass = String.Empty;
|
||||
|
|
Loading…
Reference in New Issue