You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/src/UI/ManualImport/ManualImportCollection.js

74 lines
1.7 KiB

var PageableCollection = require('backbone.pageable');
var ManualImportModel = require('./ManualImportModel');
var AsSortedCollection = require('../Mixins/AsSortedCollection');
var Collection = PageableCollection.extend({
model : ManualImportModel,
url : window.NzbDrone.ApiRoot + '/manualimport',
state : {
sortKey : 'quality',
order : 1,
pageSize : 100000
},
mode : 'client',
originalFetch : PageableCollection.prototype.fetch,
initialize : function (options) {
options = options || {};
if (!options.folder && !options.downloadId) {
throw 'folder or downloadId is required';
}
this.folder = options.folder;
this.downloadId = options.downloadId;
},
fetch : function(options) {
options = options || {};
options.data = { folder : this.folder, downloadId : this.downloadId };
return this.originalFetch.call(this, options);
},
sortMappings : {
series : {
sortValue : function(model, attr, order) {
var series = model.get(attr);
if (series) {
return series.sortTitle;
}
return '';
}
},
quality : {
sortKey : 'qualityWeight'
}
},
comparator : function(model1, model2) {
var quality1 = model1.get('quality');
var quality2 = model2.get('quality');
if (quality1 < quality2) {
return 1;
}
if (quality1 > quality2) {
return -1;
}
return 0;
}
});
Collection = AsSortedCollection.call(Collection);
module.exports = Collection;