mirror of https://github.com/Radarr/Radarr
89 lines
2.8 KiB
JavaScript
89 lines
2.8 KiB
JavaScript
'use strict';
|
||
define(
|
||
[
|
||
'backbone',
|
||
'Quality/QualityProfileCollection',
|
||
], function (Backbone, QualityProfileCollection) {
|
||
return Backbone.Model.extend({
|
||
|
||
urlRoot: Constants.ApiRoot + '/series',
|
||
|
||
mutators: {
|
||
percentOfEpisodes: function () {
|
||
var episodeCount = this.get('episodeCount');
|
||
var episodeFileCount = this.get('episodeFileCount');
|
||
|
||
var percent = 100;
|
||
|
||
if (episodeCount > 0) {
|
||
percent = episodeFileCount / episodeCount * 100;
|
||
}
|
||
|
||
return percent;
|
||
},
|
||
poster : function () {
|
||
var poster = _.find(this.get('images'), function (image) {
|
||
return image.coverType === 'poster';
|
||
});
|
||
|
||
if (poster) {
|
||
return poster.url;
|
||
}
|
||
|
||
return undefined;
|
||
},
|
||
fanArt : function () {
|
||
var poster = _.find(this.get('images'), function (image) {
|
||
return image.coverType === 'fanart';
|
||
});
|
||
|
||
if (poster) {
|
||
return poster.url;
|
||
}
|
||
|
||
return undefined;
|
||
},
|
||
traktUrl : function () {
|
||
return 'http://trakt.tv/show/' + this.get('titleSlug');
|
||
},
|
||
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();
|
||
},
|
||
route : function () {
|
||
return '/series/details/' + this.get('titleSlug');
|
||
//return '/series/details/' + this.get('id');
|
||
},
|
||
|
||
qualityProfile: function () {
|
||
|
||
var profile = QualityProfileCollection.get(this.get('qualityProfileId'));
|
||
|
||
if (profile) {
|
||
return profile.toJSON();
|
||
}
|
||
|
||
return undefined;
|
||
}
|
||
},
|
||
|
||
defaults: {
|
||
episodeFileCount: 0,
|
||
episodeCount : 0,
|
||
isExisting : false,
|
||
status : 0
|
||
}
|
||
});
|
||
});
|