Sonarr/UI/Cells/EpisodeStatusCell.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2013-06-22 06:24:24 +00:00
'use strict';
define(
[
'backgrid'
], function (Backgrid) {
return Backgrid.Cell.extend({
className: 'episode-status-cell',
2013-05-20 21:42:20 +00:00
render: function () {
this.$el.empty();
2013-05-20 21:05:48 +00:00
if (this.model) {
2013-05-20 21:05:48 +00:00
var icon;
2013-07-05 20:26:50 +00:00
var tooltip;
2013-05-20 21:05:48 +00:00
2013-07-16 23:54:45 +00:00
var hasAired = Date.create(this.model.get('airDate')).isBefore(Date.create());
2013-07-17 03:25:42 +00:00
var hasFile = this.model.get('hasFile');
2013-07-16 23:54:45 +00:00
2013-07-17 03:25:42 +00:00
if (hasFile) {
icon = 'icon-ok';
2013-07-05 20:26:50 +00:00
tooltip = 'Episode downloaded';
2013-05-20 21:06:01 +00:00
}
else {
2013-07-17 03:25:42 +00:00
if (hasAired) {
icon = 'icon-warning-sign';
2013-07-05 20:26:50 +00:00
tooltip = 'Episode missing from disk';
}
else {
icon = 'icon-time';
2013-07-05 20:26:50 +00:00
tooltip = 'Episode has not aired';
}
2013-05-20 21:06:01 +00:00
}
2013-07-05 20:26:50 +00:00
this.$el.html('<i class="{0}" title="{1}"/>'.format(icon, tooltip));
2013-05-20 21:06:01 +00:00
}
2013-05-20 21:05:48 +00:00
return this;
2013-05-20 21:05:48 +00:00
}
});
});