sonarr-repo-only/UI/Series/SeriesModel.js

64 lines
1.9 KiB
JavaScript
Raw Normal View History

2013-03-31 21:45:16 +00:00
define(['app', 'Quality/QualityProfileCollection', 'AddSeries/RootFolders/RootFolderCollection'], function (app, qualityProfileCollection, rootFolders) {
NzbDrone.Series.SeriesModel = Backbone.Model.extend({
2013-02-13 06:32:17 +00:00
urlRoot: NzbDrone.Constants.ApiRoot + '/series',
mutators: {
bestDateString: function () {
return bestDateString(this.get('nextAiring'));
},
percentOfEpisodes: function () {
var episodeCount = this.get('episodeCount');
var episodeFileCount = this.get('episodeFileCount');
2013-02-13 06:32:17 +00:00
var percent = 100;
2013-02-13 06:32:17 +00:00
if (episodeCount > 0) {
percent = episodeFileCount / episodeCount * 100;
}
return percent;
2013-03-31 21:45:16 +00:00
},
2013-04-04 04:38:51 +00:00
poster : function () {
var poster = _.find(this.get('images'), function (image) {
2013-03-31 21:45:16 +00:00
return image.coverType === 1;
});
2013-04-04 04:38:51 +00:00
if (poster) {
return poster.url;
2013-03-31 21:45:16 +00:00
}
return undefined;
2013-04-04 04:38:51 +00:00
},
2013-03-31 21:45:16 +00:00
traktUrl : function () {
return "http://trakt.tv/show/" + this.get('titleSlug');
},
isContinuing : function () {
2013-04-22 01:21:24 +00:00
if (this.get('status') === 0){
return true;
}
return false;
2013-04-22 01:21:24 +00:00
},
statusText: function () {
if (this.get('status') === 0) {
return 'Continuing';
}
return 'Ended';
}
},
2013-02-13 06:32:17 +00:00
defaults: {
episodeFileCount: 0,
episodeCount : 0,
2013-03-31 21:45:16 +00:00
qualityProfiles : qualityProfileCollection,
rootFolders : rootFolders,
2013-04-22 01:21:24 +00:00
isExisting : false,
status: 0
2013-02-13 06:32:17 +00:00
}
});
2013-02-13 06:32:17 +00:00
});