'use strict'; define( [ 'backgrid' ], function (Backgrid) { return Backgrid.Cell.extend({ className: 'episode-status-cell', render: function () { this.$el.empty(); if (this.model) { var icon; var tooltip; var hasAired = Date.create(this.model.get('airDate')).isBefore(Date.create()); if (hasAired) { icon = 'icon-ok'; tooltip = 'Episode downloaded'; } else { if (this.model.get('hasAired')) { icon = 'icon-warning-sign'; tooltip = 'Episode missing from disk'; } else { icon = 'icon-time'; tooltip = 'Episode has not aired'; } } this.$el.html(''.format(icon, tooltip)); } return this; } }); });