mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-22 22:15:17 -04:00
New: Manual Import episodes
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
var _ = require('underscore');
|
||||
var vent = require('../../vent');
|
||||
var NzbDroneCell = require('../../Cells/NzbDroneCell');
|
||||
var SelectEpisodeLayout = require('../Episode/SelectEpisodeLayout');
|
||||
|
||||
module.exports = NzbDroneCell.extend({
|
||||
className : 'episodes-cell editable',
|
||||
|
||||
events : {
|
||||
'click' : '_onClick'
|
||||
},
|
||||
|
||||
render : function() {
|
||||
this.$el.empty();
|
||||
|
||||
var episodes = this.model.get('episodes');
|
||||
|
||||
if (episodes)
|
||||
{
|
||||
var episodeNumbers = _.map(episodes, 'episodeNumber');
|
||||
|
||||
this.$el.html(episodeNumbers.join(', '));
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
_onClick : function () {
|
||||
var series = this.model.get('series');
|
||||
var seasonNumber = this.model.get('seasonNumber');
|
||||
|
||||
if (series === undefined || seasonNumber === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
var view = new SelectEpisodeLayout({ series: series, seasonNumber: seasonNumber });
|
||||
|
||||
this.listenTo(view, 'manualimport:selected:episodes', this._setEpisodes);
|
||||
|
||||
vent.trigger(vent.Commands.OpenModal2Command, view);
|
||||
},
|
||||
|
||||
_setEpisodes : function (e) {
|
||||
this.model.set('episodes', e.episodes);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
var NzbDroneCell = require('../../Cells/NzbDroneCell');
|
||||
|
||||
module.exports = NzbDroneCell.extend({
|
||||
className : 'path-cell',
|
||||
|
||||
render : function() {
|
||||
this.$el.empty();
|
||||
|
||||
var relativePath = this.model.get('relativePath');
|
||||
var path = this.model.get('path');
|
||||
|
||||
this.$el.html('<div title="{0}">{1}</div>'.format(path, relativePath));
|
||||
|
||||
return this;
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,23 @@
|
||||
var vent = require('../../vent');
|
||||
var QualityCell = require('../../Cells/QualityCell');
|
||||
var SelectQualityLayout = require('../Quality/SelectQualityLayout');
|
||||
|
||||
module.exports = QualityCell.extend({
|
||||
className : 'quality-cell editable',
|
||||
|
||||
events : {
|
||||
'click' : '_onClick'
|
||||
},
|
||||
|
||||
_onClick : function () {
|
||||
var view = new SelectQualityLayout();
|
||||
|
||||
this.listenTo(view, 'manualimport:selected:quality', this._setQuality);
|
||||
|
||||
vent.trigger(vent.Commands.OpenModal2Command, view);
|
||||
},
|
||||
|
||||
_setQuality : function (e) {
|
||||
this.model.set('quality', e.quality);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
var vent = require('../../vent');
|
||||
var NzbDroneCell = require('../../Cells/NzbDroneCell');
|
||||
var SelectSeasonLayout = require('../Season/SelectSeasonLayout');
|
||||
|
||||
module.exports = NzbDroneCell.extend({
|
||||
className : 'season-cell editable',
|
||||
|
||||
events : {
|
||||
'click' : '_onClick'
|
||||
},
|
||||
|
||||
render : function() {
|
||||
this.$el.empty();
|
||||
|
||||
if (this.model.has('seasonNumber')) {
|
||||
this.$el.html(this.model.get('seasonNumber'));
|
||||
}
|
||||
|
||||
this.delegateEvents();
|
||||
return this;
|
||||
},
|
||||
|
||||
_onClick : function () {
|
||||
var series = this.model.get('series');
|
||||
|
||||
if (!series) {
|
||||
return;
|
||||
}
|
||||
|
||||
var view = new SelectSeasonLayout({ seasons: series.seasons });
|
||||
|
||||
this.listenTo(view, 'manualimport:selected:season', this._setSeason);
|
||||
|
||||
vent.trigger(vent.Commands.OpenModal2Command, view);
|
||||
},
|
||||
|
||||
_setSeason : function (e) {
|
||||
if (this.model.has('seasonNumber') && e.seasonNumber === this.model.get('seasonNumber')) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.model.set({
|
||||
seasonNumber : e.seasonNumber,
|
||||
episodes : []
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
var vent = require('../../vent');
|
||||
var NzbDroneCell = require('../../Cells/NzbDroneCell');
|
||||
var SelectSeriesLayout = require('../Series/SelectSeriesLayout');
|
||||
|
||||
module.exports = NzbDroneCell.extend({
|
||||
className : 'series-title-cell editable',
|
||||
|
||||
events : {
|
||||
'click' : '_onClick'
|
||||
},
|
||||
|
||||
render : function() {
|
||||
this.$el.empty();
|
||||
|
||||
var series = this.model.get('series');
|
||||
|
||||
if (series)
|
||||
{
|
||||
this.$el.html(series.title);
|
||||
}
|
||||
|
||||
this.delegateEvents();
|
||||
return this;
|
||||
},
|
||||
|
||||
_onClick : function () {
|
||||
var view = new SelectSeriesLayout();
|
||||
|
||||
this.listenTo(view, 'manualimport:selected:series', this._setSeries);
|
||||
|
||||
vent.trigger(vent.Commands.OpenModal2Command, view);
|
||||
},
|
||||
|
||||
_setSeries : function (e) {
|
||||
if (this.model.has('series') && e.model.id === this.model.get('series').id) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.model.set({
|
||||
series : e.model.toJSON(),
|
||||
seasonNumber : undefined,
|
||||
episodes : []
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user