Backgrid.TemplateBackedCell = Backgrid.Cell.extend({ className: '', template: 'Series/Index/Table/ControlsColumnTemplate', render: function () { var data = this.model.toJSON(); var html = Marionette.Renderer.render(this.template, data); this.$el.html(html); return this; } }); Backgrid.SeriesIndexTableRow = Backgrid.Row.extend({ events: { 'click .x-edit' : 'editSeries', 'click .x-remove': 'removeSeries' }, editSeries: function () { var view = new NzbDrone.Series.Edit.EditSeriesView({ model: this.model}); NzbDrone.vent.trigger(NzbDrone.Events.OpenModalDialog, { view: view }); }, removeSeries: function () { var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model }); NzbDrone.vent.trigger(NzbDrone.Events.OpenModalDialog, { view: view }); } }); Backgrid.NzbDroneHeaderCell = Backgrid.HeaderCell.extend({ events: { 'click': 'onClick' }, render: function () { this.$el.empty(); var test = this.column.get('label'); this.$el.append(this.column.get("label")); if (this.column.get('sortable')) { this.$el.append(" "); } this.delegateEvents(); return this; }, direction: function (dir) { if (arguments.length) { if (this._direction) this.$el.children('i').removeClass(this._convertDirectionToIcon(this._direction)); if (dir) this.$el.children('i').addClass(this._convertDirectionToIcon(dir)); this._direction = dir; } return this._direction; }, _convertDirectionToIcon: function (dir) { if (dir === 'ascending') { return 'icon-sort-up'; } return 'icon-sort-down'; } });