1
0
Fork 0
mirror of https://github.com/Radarr/Radarr synced 2025-03-17 17:25:42 +00:00
Radarr/UI/Series/SeriesModel.js

86 lines
2.5 KiB
JavaScript
Raw Normal View History

"use strict";
2013-06-08 15:23:17 -07:00
define(['app', 'Quality/QualityProfileCollection'], function (app, qualityProfiles) {
NzbDrone.Series.SeriesModel = Backbone.Model.extend({
2013-02-13 00:32:17 -06:00
urlRoot: NzbDrone.Constants.ApiRoot + '/series',
mutators: {
percentOfEpisodes: function () {
var episodeCount = this.get('episodeCount');
var episodeFileCount = this.get('episodeFileCount');
2013-02-13 00:32:17 -06:00
var percent = 100;
2013-02-13 00:32:17 -06:00
if (episodeCount > 0) {
percent = episodeFileCount / episodeCount * 100;
}
return percent;
2013-03-31 14:45:16 -07:00
},
2013-04-03 21:38:51 -07:00
poster : function () {
var poster = _.find(this.get('images'), function (image) {
return image.coverType === 'poster';
});
if (poster) {
return poster.url;
}
return undefined;
2013-04-03 21:38:51 -07:00
},
2013-04-22 19:07:21 -07:00
fanArt : function () {
var poster = _.find(this.get('images'), function (image) {
2013-06-13 17:39:53 -07:00
return image.coverType === 'fanart';
});
if (poster) {
return poster.url;
}
return undefined;
2013-04-22 19:07:21 -07:00
},
2013-03-31 14:45:16 -07:00
traktUrl : function () {
return "http://trakt.tv/show/" + this.get('titleSlug');
},
2013-06-08 15:23:17 -07:00
imdbUrl : function () {
return "http://imdb.com/title/" + this.get('imdbId');
},
isContinuing : function () {
return this.get('status') === 'continuing';
},
shortDate : function () {
var date = this.get('nextAiring');
if (!date) {
return '';
}
return Date.create(date).short();
},
2013-06-08 15:23:17 -07:00
route : function () {
return '/series/details/' + this.get('titleSlug');
2013-06-08 15:23:17 -07:00
//return '/series/details/' + this.get('id');
},
qualityProfile: function () {
var profile = qualityProfiles.get(this.get('qualityProfileId'));
if(profile){
return profile.toJSON();
}
return undefined;
}
},
2013-02-13 00:32:17 -06:00
defaults: {
episodeFileCount: 0,
episodeCount : 0,
2013-04-21 18:21:24 -07:00
isExisting : false,
2013-04-22 19:07:21 -07:00
status : 0
2013-02-13 00:32:17 -06:00
}
});
2013-02-13 00:32:17 -06:00
});