2013-06-22 06:24:24 +00:00
|
|
|
'use strict';
|
2013-05-15 01:17:24 +00:00
|
|
|
|
2013-06-24 23:41:59 +00:00
|
|
|
define(
|
|
|
|
[
|
|
|
|
'backgrid'
|
|
|
|
], function (Backgrid) {
|
|
|
|
return Backgrid.Cell.extend({
|
2013-05-15 01:17:24 +00:00
|
|
|
|
2013-06-24 23:41:59 +00:00
|
|
|
className: 'episode-status-cell',
|
2013-05-20 21:42:20 +00:00
|
|
|
|
2013-06-24 23:41:59 +00:00
|
|
|
render: function () {
|
|
|
|
this.$el.empty();
|
2013-05-20 21:05:48 +00:00
|
|
|
|
2013-06-24 23:41:59 +00:00
|
|
|
if (this.model) {
|
2013-05-20 21:05:48 +00:00
|
|
|
|
2013-06-24 23:41:59 +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());
|
|
|
|
|
|
|
|
if (hasAired) {
|
2013-06-24 23:41:59 +00:00
|
|
|
icon = 'icon-ok';
|
2013-07-05 20:26:50 +00:00
|
|
|
tooltip = 'Episode downloaded';
|
2013-05-20 21:06:01 +00:00
|
|
|
}
|
|
|
|
else {
|
2013-06-24 23:41:59 +00:00
|
|
|
if (this.model.get('hasAired')) {
|
|
|
|
icon = 'icon-warning-sign';
|
2013-07-05 20:26:50 +00:00
|
|
|
tooltip = 'Episode missing from disk';
|
2013-06-24 23:41:59 +00:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
icon = 'icon-time';
|
2013-07-05 20:26:50 +00:00
|
|
|
tooltip = 'Episode has not aired';
|
2013-06-24 23:41:59 +00:00
|
|
|
}
|
2013-05-20 21:06:01 +00:00
|
|
|
}
|
2013-06-24 23:41:59 +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
|
|
|
|
2013-06-24 23:41:59 +00:00
|
|
|
return this;
|
2013-05-20 21:05:48 +00:00
|
|
|
}
|
2013-06-24 23:41:59 +00:00
|
|
|
});
|
2013-05-15 01:17:24 +00:00
|
|
|
});
|