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:
43
src/UI/ManualImport/Quality/SelectQualityLayout.js
Normal file
43
src/UI/ManualImport/Quality/SelectQualityLayout.js
Normal 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);
|
||||
}
|
||||
});
|
||||
19
src/UI/ManualImport/Quality/SelectQualityLayoutTemplate.hbs
Normal file
19
src/UI/ManualImport/Quality/SelectQualityLayoutTemplate.hbs
Normal 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">×</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>
|
||||
37
src/UI/ManualImport/Quality/SelectQualityView.js
Normal file
37
src/UI/ManualImport/Quality/SelectQualityView.js
Normal 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
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
33
src/UI/ManualImport/Quality/SelectQualityViewTemplate.hbs
Normal file
33
src/UI/ManualImport/Quality/SelectQualityViewTemplate.hbs
Normal 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>
|
||||
Reference in New Issue
Block a user