From e79bef905d50d20dbc9d40721829f97640f95119 Mon Sep 17 00:00:00 2001 From: Wilbert van de Ridder Date: Sun, 8 Jun 2014 17:45:33 +0200 Subject: [PATCH] Extension support added Added support for the following extensions: Reorderable columns, Grouped columns and (re)sizeable columns. --- lib/backgrid.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/backgrid.js b/lib/backgrid.js index 091e7b8a..b13d2c35 100644 --- a/lib/backgrid.js +++ b/lib/backgrid.js @@ -2153,6 +2153,7 @@ var HeaderCell = Backgrid.HeaderCell = Backbone.View.extend({ this.$el.append(label); this.$el.addClass(column.get("name")); this.$el.addClass(column.get("direction")); + if (column.get('attributes')) { this.$el.attr(column.get('attributes'));} this.delegateEvents(); return this; } @@ -2222,19 +2223,29 @@ var Header = Backgrid.Header = Backbone.View.extend({ this.columns = new Columns(this.columns); } - this.row = new Backgrid.HeaderRow({ - columns: this.columns, - collection: this.collection - }); + var createRow = function() { + this.row = new Backgrid.HeaderRow({ + columns: this.columns, + collection: this.collection + }); + }; + createRow.call(this); + + this.listenTo(this.columns, "sort", function() { + createRow.call(this); + this.render(); + }.bind(this)); }, /** Renders this table head with a single row of header cells. */ render: function () { + this.$el.empty(); this.$el.append(this.row.render().$el); this.delegateEvents(); - return this; + // Trigger event + this.collection.trigger("backgrid:header:rendered"); }, /** @@ -2881,4 +2892,4 @@ var Grid = Backgrid.Grid = Backbone.View.extend({ }); return Backgrid; -})); \ No newline at end of file +}));