mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-17 21:25:39 -04:00
Moved source code under src folder - massive change
This commit is contained in:
62
src/UI/Series/EpisodeCollection.js
Normal file
62
src/UI/Series/EpisodeCollection.js
Normal file
@@ -0,0 +1,62 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'backbone',
|
||||
'Series/EpisodeModel'
|
||||
], function (Backbone, EpisodeModel) {
|
||||
return Backbone.Collection.extend({
|
||||
url : window.NzbDrone.ApiRoot + '/episodes',
|
||||
model: EpisodeModel,
|
||||
|
||||
state: {
|
||||
sortKey: 'episodeNumber',
|
||||
order : -1
|
||||
},
|
||||
|
||||
originalFetch: Backbone.Collection.prototype.fetch,
|
||||
|
||||
initialize: function (options) {
|
||||
this.seriesId = options.seriesId;
|
||||
},
|
||||
|
||||
bySeason: function (season) {
|
||||
var filtered = this.filter(function (episode) {
|
||||
return episode.get('seasonNumber') === season;
|
||||
});
|
||||
|
||||
var EpisodeCollection = require('Series/EpisodeCollection');
|
||||
|
||||
return new EpisodeCollection(filtered);
|
||||
},
|
||||
|
||||
comparator: function (model1, model2) {
|
||||
var episode1 = model1.get('episodeNumber');
|
||||
|
||||
var episode2 = model2.get('episodeNumber');
|
||||
|
||||
if (episode1 < episode2){
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (episode1 > episode2){
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
},
|
||||
|
||||
fetch: function (options) {
|
||||
if (!this.seriesId) {
|
||||
throw 'seriesId is required';
|
||||
}
|
||||
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
options['data'] = { seriesId: this.seriesId };
|
||||
|
||||
return this.originalFetch.call(this, options);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user