mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-21 22:05:43 -04:00
New: Manual Import episodes
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
var _ = require('underscore');
|
||||
var vent = require('vent');
|
||||
var Marionette = require('marionette');
|
||||
var Backgrid = require('backgrid');
|
||||
var EpisodeCollection = require('../../Series/EpisodeCollection');
|
||||
var LoadingView = require('../../Shared/LoadingView');
|
||||
var SelectAllCell = require('../../Cells/SelectAllCell');
|
||||
var EpisodeNumberCell = require('../../Series/Details/EpisodeNumberCell');
|
||||
var RelativeDateCell = require('../../Cells/RelativeDateCell');
|
||||
var SelectEpisodeRow = require('./SelectEpisodeRow');
|
||||
|
||||
module.exports = Marionette.Layout.extend({
|
||||
template : 'ManualImport/Episode/SelectEpisodeLayoutTemplate',
|
||||
|
||||
regions : {
|
||||
episodes : '.x-episodes'
|
||||
},
|
||||
|
||||
events : {
|
||||
'click .x-select' : '_selectEpisodes'
|
||||
},
|
||||
|
||||
columns : [
|
||||
{
|
||||
name : '',
|
||||
cell : SelectAllCell,
|
||||
headerCell : 'select-all',
|
||||
sortable : false
|
||||
},
|
||||
{
|
||||
name : 'episodeNumber',
|
||||
label : '#',
|
||||
cell : EpisodeNumberCell
|
||||
},
|
||||
{
|
||||
name : 'title',
|
||||
label : 'Title',
|
||||
hideSeriesLink : true,
|
||||
cell : 'string',
|
||||
sortable : false
|
||||
},
|
||||
{
|
||||
name : 'airDateUtc',
|
||||
label : 'Air Date',
|
||||
cell : RelativeDateCell
|
||||
}
|
||||
],
|
||||
|
||||
initialize : function(options) {
|
||||
this.series = options.series;
|
||||
this.seasonNumber = options.seasonNumber;
|
||||
},
|
||||
|
||||
onRender : function() {
|
||||
this.episodes.show(new LoadingView());
|
||||
|
||||
this.episodeCollection = new EpisodeCollection({ seriesId : this.series.id });
|
||||
this.episodeCollection.fetch();
|
||||
|
||||
this.listenToOnce(this.episodeCollection, 'sync', function () {
|
||||
|
||||
this.episodeView = new Backgrid.Grid({
|
||||
columns : this.columns,
|
||||
collection : this.episodeCollection.bySeason(this.seasonNumber),
|
||||
className : 'table table-hover season-grid',
|
||||
row : SelectEpisodeRow
|
||||
});
|
||||
|
||||
this.episodes.show(this.episodeView);
|
||||
});
|
||||
},
|
||||
|
||||
_selectEpisodes : function () {
|
||||
var episodes = _.map(this.episodeView.getSelectedModels(), function (episode) {
|
||||
return episode.toJSON();
|
||||
});
|
||||
|
||||
this.trigger('manualimport:selected:episodes', { episodes: episodes });
|
||||
vent.trigger(vent.Commands.CloseModal2Command);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user