mirror of
https://github.com/Radarr/Radarr.git
synced 2024-09-11 03:52:33 +02:00
Added history details modal
This commit is contained in:
parent
932012d7f9
commit
1c4a687854
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Messaging;
|
||||
@ -89,9 +90,12 @@ public void Handle(EpisodeImportedEvent message)
|
||||
Quality = message.EpisodeFile.Quality,
|
||||
SourceTitle = message.EpisodeFile.Path,
|
||||
SeriesId = message.EpisodeFile.SeriesId,
|
||||
EpisodeId = episode.Id,
|
||||
EpisodeId = episode.Id
|
||||
};
|
||||
|
||||
history.Data.Add("Path", message.EpisodeFile.Path);
|
||||
history.Data.Add("Filename", Path.GetFileNameWithoutExtension(message.EpisodeFile.Path));
|
||||
|
||||
_historyRepository.Insert(history);
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace NzbDrone.Core.MediaFiles.Events
|
||||
{
|
||||
public class EpisodeImportedEvent:IEvent
|
||||
public class EpisodeImportedEvent : IEvent
|
||||
{
|
||||
public EpisodeFile EpisodeFile { get; private set; }
|
||||
|
||||
|
@ -47,4 +47,13 @@ td.episode-status-cell, td.quality-cell {
|
||||
.badge {
|
||||
font-size: 9px;
|
||||
}
|
||||
}
|
||||
|
||||
.history-details-cell {
|
||||
.clickable();
|
||||
width: 10px;
|
||||
|
||||
i {
|
||||
.clickable();
|
||||
}
|
||||
}
|
10
UI/History/Details/HistoryDetailsView.js
Normal file
10
UI/History/Details/HistoryDetailsView.js
Normal file
@ -0,0 +1,10 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'marionette'
|
||||
], function (Marionette) {
|
||||
|
||||
return Marionette.ItemView.extend({
|
||||
template: 'History/Details/HistoryDetailsViewTemplate'
|
||||
});
|
||||
});
|
58
UI/History/Details/HistoryDetailsViewTemplate.html
Normal file
58
UI/History/Details/HistoryDetailsViewTemplate.html
Normal file
@ -0,0 +1,58 @@
|
||||
<div class="history-detail-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h3>
|
||||
Details
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{{#if_eq eventType compare="grabbed"}}
|
||||
<dl class="dl-horizontal">
|
||||
|
||||
<dt>Name</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
|
||||
{{#with data}}
|
||||
{{#if indexer}}
|
||||
<dt>Indexer</dt>
|
||||
<dd>{{indexer}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if releaseGroup}}
|
||||
<dt>Release Group</dt>
|
||||
<dd>{{releaseGroup}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if nzbInfoUrl}}
|
||||
<dt>Info</dt>
|
||||
<dd><a href="{{nzbInfoUrl}}">{{nzbInfoUrl}}o</a></dd>
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{else}}
|
||||
{{#if data}}
|
||||
{{#with data}}
|
||||
<dl class="dl-horizontal">
|
||||
{{#if filename}}
|
||||
<dt>Filename</dt>
|
||||
<dd>{{filename}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if path}}
|
||||
<dt>Path</dt>
|
||||
<dd>{{path}}</dd>
|
||||
{{/if}}
|
||||
</dl>
|
||||
{{/with}}
|
||||
{{else}}
|
||||
No details available
|
||||
{{/if}}
|
||||
{{/if_eq}}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
||||
</div>
|
||||
|
27
UI/History/HistoryDetailsCell.js
Normal file
27
UI/History/HistoryDetailsCell.js
Normal file
@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
define(
|
||||
[
|
||||
'app',
|
||||
'Cells/NzbDroneCell'
|
||||
], function (App, NzbDroneCell) {
|
||||
return NzbDroneCell.extend({
|
||||
|
||||
className: 'history-details-cell',
|
||||
|
||||
events: {
|
||||
'click': '_showDetails'
|
||||
},
|
||||
|
||||
render: function () {
|
||||
this.$el.empty();
|
||||
this.$el.html('<i class="icon-info-sign"></i>');
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
_showDetails: function () {
|
||||
App.vent.trigger(App.Commands.ShowHistoryDetails, { history: this.model });
|
||||
}
|
||||
});
|
||||
});
|
@ -10,9 +10,21 @@ define(
|
||||
'Cells/EpisodeTitleCell',
|
||||
'Cells/QualityCell',
|
||||
'Cells/RelativeDateCell',
|
||||
'History/HistoryDetailsCell',
|
||||
'Shared/Grid/Pager',
|
||||
'Shared/LoadingView'
|
||||
], function (Marionette, Backgrid, HistoryCollection, EventTypeCell, SeriesTitleCell, EpisodeNumberCell, EpisodeTitleCell, QualityCell, RelativeDateCell, GridPager, LoadingView) {
|
||||
], function (Marionette,
|
||||
Backgrid,
|
||||
HistoryCollection,
|
||||
EventTypeCell,
|
||||
SeriesTitleCell,
|
||||
EpisodeNumberCell,
|
||||
EpisodeTitleCell,
|
||||
QualityCell,
|
||||
RelativeDateCell,
|
||||
HistoryDetailsCell,
|
||||
GridPager,
|
||||
LoadingView) {
|
||||
return Marionette.Layout.extend({
|
||||
template: 'History/HistoryLayoutTemplate',
|
||||
|
||||
@ -56,6 +68,12 @@ define(
|
||||
name : 'date',
|
||||
label: 'Date',
|
||||
cell : RelativeDateCell
|
||||
},
|
||||
{
|
||||
name : 'this',
|
||||
label : '',
|
||||
cell : HistoryDetailsCell,
|
||||
sortable: false
|
||||
}
|
||||
],
|
||||
|
||||
|
@ -5,9 +5,9 @@ define(
|
||||
'marionette',
|
||||
'Series/Edit/EditSeriesView',
|
||||
'Series/Delete/DeleteSeriesView',
|
||||
'Episode/Layout'
|
||||
|
||||
], function (App, Marionette, EditSeriesView, DeleteSeriesView, EpisodeLayout) {
|
||||
'Episode/Layout',
|
||||
'History/Details/HistoryDetailsView'
|
||||
], function (App, Marionette, EditSeriesView, DeleteSeriesView, EpisodeLayout, HistoryDetailsView) {
|
||||
|
||||
var router = Marionette.AppRouter.extend({
|
||||
|
||||
@ -16,6 +16,7 @@ define(
|
||||
App.vent.on(App.Commands.EditSeriesCommand, this._editSeries, this);
|
||||
App.vent.on(App.Commands.DeleteSeriesCommand, this._deleteSeries, this);
|
||||
App.vent.on(App.Commands.ShowEpisodeDetails, this._showEpisode, this);
|
||||
App.vent.on(App.Commands.ShowHistoryDetails, this._showHistory, this);
|
||||
},
|
||||
|
||||
_closeModal: function () {
|
||||
@ -35,6 +36,11 @@ define(
|
||||
_showEpisode: function (options) {
|
||||
var view = new EpisodeLayout({ model: options.episode, hideSeriesLink: options.hideSeriesLink });
|
||||
App.modalRegion.show(view);
|
||||
},
|
||||
|
||||
_showHistory: function (options) {
|
||||
var view = new HistoryDetailsView({ model: options.history });
|
||||
App.modalRegion.show(view);
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user