1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-12 22:12:38 +01:00
Radarr/UI/Cells/EpisodeStatusCell.js

59 lines
1.8 KiB
JavaScript
Raw Normal View History

2013-06-22 08:24:24 +02:00
'use strict';
define(
[
'backgrid',
'moment'
], function (Backgrid, Moment) {
return Backgrid.Cell.extend({
className: 'episode-status-cell',
2013-05-20 23:42:20 +02:00
render: function () {
this.$el.empty();
2013-05-20 23:05:48 +02:00
if (this.model) {
2013-05-20 23:05:48 +02:00
var icon;
2013-07-05 22:26:50 +02:00
var tooltip;
2013-05-20 23:05:48 +02:00
2013-07-26 07:19:50 +02:00
var hasAired = Moment(this.model.get('airDateUtc')).isBefore(Moment());
2013-07-17 05:25:42 +02:00
var hasFile = this.model.get('hasFile');
2013-07-17 01:54:45 +02:00
2013-07-17 05:25:42 +02:00
if (hasFile) {
var quality = this.model.get('episodeFile').quality;
if (quality.proper) {
this.$el.html('<span class="badge badge-info" title="Episode downloaded [PROPER]">{0}</span>'.format(quality.quality.name));
}
else {
this.$el.html('<span class="badge badge-inverse" title="Episode downloaded">{0}</span>'.format(quality.quality.name));
}
return this;
2013-05-20 23:06:01 +02:00
}
else {
2013-07-26 07:19:50 +02:00
if (!this.model.get('airDateUtc')) {
icon = 'icon-question-sign';
tooltip = 'TBA';
}
else if (hasAired) {
icon = 'icon-warning-sign';
2013-07-05 22:26:50 +02:00
tooltip = 'Episode missing from disk';
}
else {
icon = 'icon-time';
2013-07-05 22:26:50 +02:00
tooltip = 'Episode has not aired';
}
2013-05-20 23:06:01 +02:00
}
2013-07-05 22:26:50 +02:00
this.$el.html('<i class="{0}" title="{1}"/>'.format(icon, tooltip));
2013-05-20 23:06:01 +02:00
}
2013-05-20 23:05:48 +02:00
return this;
2013-05-20 23:05:48 +02:00
}
});
});