Updated underscore - quality profiles in table
This commit is contained in:
parent
e635e816f6
commit
1dfd78c0c9
File diff suppressed because it is too large
Load Diff
|
@ -1,47 +1,21 @@
|
|||
define(['app'], function () {
|
||||
NzbDrone.Quality.QualityProfileModel = Backbone.Model.extend({
|
||||
initialize: function () {
|
||||
this.validators = {};
|
||||
|
||||
this.validators.name = function (value) {
|
||||
return value.length > 0 ? { isValid: true } : { isValid: false, message: 'You must enter a name' };
|
||||
};
|
||||
mutators: {
|
||||
allowed: function() {
|
||||
return _.where(this.get('qualities'), { allowed: true });
|
||||
},
|
||||
|
||||
//this.validators.allowed = function (value) {
|
||||
// return value.length > 0 ? { isValid: true } : { isValid: false, message: 'You must have allowed qualities' };
|
||||
//};
|
||||
//Todo: Cutoff should be something that is allowed (double check)
|
||||
this.validators.cutoff = function (value) {
|
||||
return value !== null ? { isValid: true } : { isValid: false, message: 'You must have a valid cutoff' };
|
||||
};
|
||||
},
|
||||
|
||||
validateItem: function (key) {
|
||||
return (this.validators[key]) ? this.validators[key](this.get(key)) : { isValid: true };
|
||||
},
|
||||
|
||||
// TODO: Implement Backbone's standard validate() method instead.
|
||||
validateAll: function () {
|
||||
|
||||
var messages = {};
|
||||
|
||||
for (var key in this.validators) {
|
||||
if (this.validators.hasOwnProperty(key)) {
|
||||
var check = this.validators[key](this.get(key));
|
||||
if (check.isValid === false) {
|
||||
messages[key] = check.message;
|
||||
}
|
||||
}
|
||||
cutoffName: function() {
|
||||
return _.findWhere(this.get('qualities'), { id: this.get('cutoff') }).name;
|
||||
}
|
||||
|
||||
return _.size(messages) > 0 ? { isValid: false, messages: messages } : { isValid: true };
|
||||
},
|
||||
|
||||
defaults: {
|
||||
Id: null,
|
||||
Name: '',
|
||||
id: null,
|
||||
name: '',
|
||||
//allowed: {},
|
||||
Cutoff: null
|
||||
cutoff: null
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
onRender: function () {
|
||||
this.qualityStandard.show(new NzbDrone.Settings.Quality.QualityView({model: this.settings, qualityProfiles: qualityProfileCollection}));
|
||||
this.qualityProfile.show(new NzbDrone.Settings.Quality.QualityProfileCollectionView({collection: this.qualityProfileCollection}));
|
||||
this.qualityProfile.show(new NzbDrone.Settings.Quality.QualityProfileCollectionView({collection: qualityProfileCollection}));
|
||||
this.qualitySize.show(new NzbDrone.Settings.Quality.QualitySizeCollectionView({collection: this.qualitySizeCollection}));
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
<fieldset>
|
||||
<legend>Quality Profiles</legend>
|
||||
<div id="quality-profiles-container"></div>
|
||||
Quality Profiles will be edited here
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Allowed</th>
|
||||
<th>Cutoff</th>
|
||||
<th>Controls</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</fieldset>
|
|
@ -3,11 +3,10 @@
|
|||
define(['app', 'Settings/Quality/QualityProfileView'], function (app) {
|
||||
NzbDrone.Settings.Quality.QualityProfileCollectionView = Backbone.Marionette.CompositeView.extend({
|
||||
itemView: NzbDrone.Settings.Quality.QualityProfileView,
|
||||
itemViewContainer: '#quality-profiles-container',
|
||||
itemViewContainer: 'tbody',
|
||||
template: 'Settings/Quality/QualityProfileCollectionTemplate',
|
||||
|
||||
initialize: function (options) {
|
||||
|
||||
},
|
||||
|
||||
ui:{
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<td name="name"></td>
|
||||
<td>
|
||||
{{#each allowed}}
|
||||
{{name}} |
|
||||
{{/each}}
|
||||
</td>
|
||||
<td name="cutoffName"></td>
|
||||
<td>Edit | Delete</td>
|
|
@ -6,7 +6,7 @@ define([
|
|||
|
||||
], function () {
|
||||
|
||||
NzbDrone.Settings.QualityProfileView = Backbone.Marionette.ItemView.extend({
|
||||
NzbDrone.Settings.Quality.QualityProfileView = Backbone.Marionette.ItemView.extend({
|
||||
template: 'Settings/Quality/QualityProfileTemplate',
|
||||
tagName: 'tr',
|
||||
|
||||
|
@ -19,8 +19,8 @@ define([
|
|||
'click .x-remove': 'removeSeries'
|
||||
},
|
||||
|
||||
initialize: function (options) {
|
||||
this.qualityProfileCollection = options.qualityProfiles;
|
||||
initialize: function () {
|
||||
var test = 1;
|
||||
},
|
||||
|
||||
onRender: function () {
|
||||
|
|
Loading…
Reference in New Issue