1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-17 21:26:22 -04:00

New: Manual Import episodes

This commit is contained in:
Mark McDowall
2015-03-03 16:42:37 -08:00
parent 29ca1bc9da
commit 6dd22e7dcb
66 changed files with 1766 additions and 117 deletions

View File

@@ -0,0 +1,43 @@
var _ = require('underscore');
var vent = require('../../vent');
var Marionette = require('marionette');
var LoadingView = require('../../Shared/LoadingView');
var ProfileSchemaCollection = require('../../Settings/Profile/ProfileSchemaCollection');
var SelectQualityView = require('./SelectQualityView');
module.exports = Marionette.Layout.extend({
template : 'ManualImport/Quality/SelectQualityLayoutTemplate',
regions : {
quality : '.x-quality'
},
events : {
'click .x-select' : '_selectQuality'
},
initialize : function() {
this.profileSchemaCollection = new ProfileSchemaCollection();
this.profileSchemaCollection.fetch();
this.listenTo(this.profileSchemaCollection, 'sync', this._showQuality);
},
onRender : function() {
this.quality.show(new LoadingView());
},
_showQuality : function () {
var qualities = _.map(this.profileSchemaCollection.first().get('items'), function (quality) {
return quality.quality;
});
this.selectQualityView = new SelectQualityView({ qualities: qualities });
this.quality.show(this.selectQualityView);
},
_selectQuality : function () {
this.trigger('manualimport:selected:quality', { quality: this.selectQualityView.selectedQuality() });
vent.trigger(vent.Commands.CloseModal2Command);
}
});

View File

@@ -0,0 +1,19 @@
<div class="modal-content">
<div class="manual-import-modal">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>
Manual Import - Select Quality
</h3>
</div>
<div class="modal-body">
<div class="x-quality"></div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal">cancel</button>
<button class="btn btn-success x-select" data-dismiss="modal">select quality</button>
</div>
</div>
</div>

View File

@@ -0,0 +1,37 @@
var _ = require('underscore');
var Marionette = require('marionette');
module.exports = Marionette.ItemView.extend({
template : 'ManualImport/Quality/SelectQualityViewTemplate',
ui : {
select : '.x-select-quality',
proper : 'x-proper'
},
initialize : function(options) {
this.qualities = options.qualities;
this.templateHelpers = {
qualities: this.qualities
};
},
selectedQuality : function () {
var selected = parseInt(this.ui.select.val(), 10);
var proper = this.ui.proper.prop('checked');
var quality = _.find(this.qualities, function(q) {
return q.id === selected;
});
return {
quality : quality,
revision : {
version : proper ? 2 : 1,
real : 0
}
};
}
});

View File

@@ -0,0 +1,33 @@
<div class="form-horizontal">
<div class="form-group">
<label class="col-sm-4 control-label">Quality</label>
<div class="col-sm-4">
<select class="form-control x-select-quality">
<option value="-1">Select Quality</option>
{{#each qualities}}
<option value="{{id}}">{{name}}</option>
{{/each}}
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Proper</label>
<div class="col-sm-8">
<div class="input-group">
<label class="checkbox toggle well">
<input type="checkbox" class="x-proper"/>
<p>
<span>Yes</span>
<span>No</span>
</p>
<div class="btn btn-primary slide-button"/>
</label>
</div>
</div>
</div>
</div>