mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-18 21:34:28 -04:00
Episode file editor
New: Ability to delete all episode files in a series or season New: Ability to change quality for all episode files in a series or season
This commit is contained in:
@@ -9,6 +9,7 @@ var EpisodeActionsCell = require('../../Cells/EpisodeActionsCell');
|
||||
var EpisodeNumberCell = require('./EpisodeNumberCell');
|
||||
var EpisodeWarningCell = require('./EpisodeWarningCell');
|
||||
var CommandController = require('../../Commands/CommandController');
|
||||
var EpisodeFileEditorLayout = require('../../EpisodeFile/Editor/EpisodeFileEditorLayout');
|
||||
var moment = require('moment');
|
||||
var _ = require('underscore');
|
||||
var Messenger = require('../../Shared/Messenger');
|
||||
@@ -23,11 +24,12 @@ module.exports = Marionette.Layout.extend({
|
||||
},
|
||||
|
||||
events : {
|
||||
'click .x-season-monitored' : '_seasonMonitored',
|
||||
'click .x-season-search' : '_seasonSearch',
|
||||
'click .x-season-rename' : '_seasonRename',
|
||||
'click .x-show-hide-episodes' : '_showHideEpisodes',
|
||||
'dblclick .series-season h2' : '_showHideEpisodes'
|
||||
'click .x-season-episode-file-editor' : '_openEpisodeFileEditor',
|
||||
'click .x-season-monitored' : '_seasonMonitored',
|
||||
'click .x-season-search' : '_seasonSearch',
|
||||
'click .x-season-rename' : '_seasonRename',
|
||||
'click .x-show-hide-episodes' : '_showHideEpisodes',
|
||||
'dblclick .series-season h2' : '_showHideEpisodes'
|
||||
},
|
||||
|
||||
regions : {
|
||||
@@ -104,7 +106,7 @@ module.exports = Marionette.Layout.extend({
|
||||
|
||||
initialize : function(options) {
|
||||
if (!options.episodeCollection) {
|
||||
throw 'episodeCollection is needed';
|
||||
throw 'episodeCollection is required';
|
||||
}
|
||||
|
||||
this.series = options.series;
|
||||
@@ -117,7 +119,7 @@ module.exports = Marionette.Layout.extend({
|
||||
this.listenTo(this.model, 'sync', this._afterSeasonMonitored);
|
||||
this.listenTo(this.episodeCollection, 'sync', this.render);
|
||||
|
||||
this.listenTo(this.fullEpisodeCollection, 'sync', this._refreshEpsiodes);
|
||||
this.listenTo(this.fullEpisodeCollection, 'sync', this._refreshEpisodes);
|
||||
},
|
||||
|
||||
onRender : function() {
|
||||
@@ -281,8 +283,18 @@ module.exports = Marionette.Layout.extend({
|
||||
});
|
||||
},
|
||||
|
||||
_refreshEpsiodes : function() {
|
||||
_refreshEpisodes : function() {
|
||||
this._updateEpisodeCollection();
|
||||
this.render();
|
||||
},
|
||||
|
||||
_openEpisodeFileEditor : function() {
|
||||
var view = new EpisodeFileEditorLayout({
|
||||
model : this.model,
|
||||
series : this.series,
|
||||
episodeCollection : this.episodeCollection
|
||||
});
|
||||
|
||||
vent.trigger(vent.Commands.OpenModalCommand, view);
|
||||
}
|
||||
});
|
||||
@@ -24,6 +24,9 @@
|
||||
{{/if_eq}}
|
||||
|
||||
<span class="season-actions pull-right">
|
||||
<div class="x-season-episode-file-editor">
|
||||
<i class="icon-sonarr-episode-file" title="Modify episode files for season"/>
|
||||
</div>
|
||||
<div class="x-season-rename">
|
||||
<i class="icon-sonarr-rename" title="Preview rename for all episodes in season {{seasonNumber}}"/>
|
||||
</div>
|
||||
|
||||
@@ -12,6 +12,7 @@ var SeasonCollectionView = require('./SeasonCollectionView');
|
||||
var InfoView = require('./InfoView');
|
||||
var CommandController = require('../../Commands/CommandController');
|
||||
var LoadingView = require('../../Shared/LoadingView');
|
||||
var EpisodeFileEditorLayout = require('../../EpisodeFile/Editor/EpisodeFileEditorLayout');
|
||||
require('backstrech');
|
||||
require('../../Mixins/backbone.signalr.mixin');
|
||||
|
||||
@@ -34,11 +35,12 @@ module.exports = Marionette.Layout.extend({
|
||||
},
|
||||
|
||||
events : {
|
||||
'click .x-monitored' : '_toggleMonitored',
|
||||
'click .x-edit' : '_editSeries',
|
||||
'click .x-refresh' : '_refreshSeries',
|
||||
'click .x-rename' : '_renameSeries',
|
||||
'click .x-search' : '_seriesSearch'
|
||||
'click .x-episode-file-editor' : '_openEpisodeFileEditor',
|
||||
'click .x-monitored' : '_toggleMonitored',
|
||||
'click .x-edit' : '_editSeries',
|
||||
'click .x-refresh' : '_refreshSeries',
|
||||
'click .x-rename' : '_renameSeries',
|
||||
'click .x-search' : '_seriesSearch'
|
||||
},
|
||||
|
||||
initialize : function() {
|
||||
@@ -219,5 +221,14 @@ module.exports = Marionette.Layout.extend({
|
||||
|
||||
this._setMonitoredState();
|
||||
this._showInfo();
|
||||
},
|
||||
|
||||
_openEpisodeFileEditor : function() {
|
||||
var view = new EpisodeFileEditorLayout({
|
||||
series : this.model,
|
||||
episodeCollection : this.episodeCollection
|
||||
});
|
||||
|
||||
vent.trigger(vent.Commands.OpenModalCommand, view);
|
||||
}
|
||||
});
|
||||
@@ -8,6 +8,9 @@
|
||||
<i class="x-monitored" title="Toggle monitored state for entire series"/>
|
||||
{{title}}
|
||||
<div class="series-actions pull-right">
|
||||
<div class="x-episode-file-editor">
|
||||
<i class="icon-sonarr-episode-file" title="Modify episode files for series"/>
|
||||
</div>
|
||||
<div class="x-refresh">
|
||||
<i class="icon-sonarr-refresh icon-can-spin" title="Update series info and scan disk"/>
|
||||
</div>
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
}
|
||||
|
||||
.season-actions {
|
||||
width: 70px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.season-actions, .series-actions {
|
||||
|
||||
Reference in New Issue
Block a user