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.
Sonarr/src/UI/Activity/History/HistoryCollection.js

56 lines
1.9 KiB

9 years ago
var HistoryModel = require('./HistoryModel');
var PageableCollection = require('backbone.pageable');
var AsFilteredCollection = require('../../Mixins/AsFilteredCollection');
var AsSortedCollection = require('../../Mixins/AsSortedCollection');
var AsPersistedStateCollection = require('../../Mixins/AsPersistedStateCollection');
module.exports = (function(){
var Collection = PageableCollection.extend({
url : window.NzbDrone.ApiRoot + '/history',
model : HistoryModel,
state : {
pageSize : 15,
sortKey : 'date',
order : 1
},
queryParams : {
totalPages : null,
totalRecords : null,
pageSize : 'pageSize',
sortKey : 'sortKey',
order : 'sortDir',
directions : {
"-1" : 'asc',
"1" : 'desc'
}
},
filterModes : {
"all" : [null, null],
"grabbed" : ['eventType', '1'],
"imported" : ['eventType', '3'],
"failed" : ['eventType', '4'],
"deleted" : ['eventType', '5']
},
sortMappings : {"series" : {sortKey : 'series.sortTitle'}},
initialize : function(options){
delete this.queryParams.episodeId;
if(options) {
if(options.episodeId) {
this.queryParams.episodeId = options.episodeId;
}
}
9 years ago
},
parseState : function(resp){
return {totalRecords : resp.totalRecords};
},
parseRecords : function(resp){
if(resp) {
return resp.records;
}
return resp;
}
11 years ago
});
9 years ago
Collection = AsFilteredCollection.call(Collection);
Collection = AsSortedCollection.call(Collection);
return AsPersistedStateCollection.call(Collection);
}).call(this);