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/Release/ReleaseCollection.js

56 lines
1.5 KiB

var PagableCollection = require('backbone.pageable');
var ReleaseModel = require('./ReleaseModel');
var AsSortedCollection = require('../Mixins/AsSortedCollection');
var Collection = PagableCollection.extend({
url : window.NzbDrone.ApiRoot + '/release',
model : ReleaseModel,
state : {
pageSize : 2000,
sortKey : 'download',
order : -1
},
mode : 'client',
sortMappings : {
'quality' : {
sortKey : 'qualityWeight'
},
'rejections' : {
sortValue : function(model) {
var rejections = model.get('rejections');
var releaseWeight = model.get('releaseWeight');
if (rejections.length !== 0) {
return releaseWeight + 1000000;
}
return releaseWeight;
}
},
'download' : {
sortKey : 'releaseWeight'
},
'seeders' : {
sortValue : function(model) {
var seeders = model.get('seeders') || 0;
var leechers = model.get('leechers') || 0;
return seeders * 1000000 + leechers;
}
},
'age' : {
sortKey : 'ageMinutes'
}
},
fetchEpisodeReleases : function(episodeId) {
return this.fetch({ data : { episodeId : episodeId } });
}
});
Collection = AsSortedCollection.call(Collection);
module.exports = Collection;