Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion backgrid-select-all.js
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@
if (_.keys(selectedModels).length === (collection.fullCollection|| collection).length) {
this.checkbox().prop("checked", true);
}
collection.trigger('backgrid:selection:updated');
});

this.listenTo(collection.fullCollection || collection, "remove", function (model) {
Expand Down Expand Up @@ -270,7 +271,10 @@
var selectedModels = selectAllHeaderCell.selectedModels;
var collection = this.collection.fullCollection || this.collection;
for (var modelId in selectedModels) {
result.push(collection.get(modelId));
var model = collection.get(modelId);
if (model instanceof Backbone.Model) {
result.push(model);
}
}
}

Expand Down
4 changes: 2 additions & 2 deletions backgrid-select-all.min.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ tagName:"th",/**
@param {Backgrid.Column} options.column
@param {Backbone.Collection} options.collection
*/
initialize:function(a){this.column=a.column,this.column instanceof b.Column||(this.column=new b.Column(this.column));var d=this.collection,e=this.selectedModels={};this.listenTo(d.fullCollection||d,"backgrid:selected",function(a,b){b?e[a.id||a.cid]=1:(delete e[a.id||a.cid],this.checkbox().prop("checked",!1)),c.keys(e).length===(d.fullCollection||d).length&&this.checkbox().prop("checked",!0)}),this.listenTo(d.fullCollection||d,"remove",function(a){delete e[a.id||a.cid],0===(d.fullCollection||d).length&&this.checkbox().prop("checked",!1)}),this.listenTo(d,"backgrid:refresh",function(){if(0===(d.fullCollection||d).length)this.checkbox().prop("checked",!1);else for(var a=this.checkbox().prop("checked"),b=0;b<d.length;b++){var c=d.at(b);(a||e[c.id||c.cid])&&c.trigger("backgrid:select",c,!0)}});var f=this.column,g=this.$el;this.listenTo(f,"change:renderable",function(a,b){g.toggleClass("renderable",b)}),b.callByNeed(f.renderable(),f,d)&&g.addClass("renderable")},/**
initialize:function(a){this.column=a.column,this.column instanceof b.Column||(this.column=new b.Column(this.column));var d=this.collection,e=this.selectedModels={};this.listenTo(d.fullCollection||d,"backgrid:selected",function(a,b){b?e[a.id||a.cid]=1:(delete e[a.id||a.cid],this.checkbox().prop("checked",!1)),c.keys(e).length===(d.fullCollection||d).length&&this.checkbox().prop("checked",!0),d.trigger("backgrid:selection:updated")}),this.listenTo(d.fullCollection||d,"remove",function(a){delete e[a.id||a.cid],0===(d.fullCollection||d).length&&this.checkbox().prop("checked",!1)}),this.listenTo(d,"backgrid:refresh",function(){if(0===(d.fullCollection||d).length)this.checkbox().prop("checked",!1);else for(var a=this.checkbox().prop("checked"),b=0;b<d.length;b++){var c=d.at(b);(a||e[c.id||c.cid])&&c.trigger("backgrid:select",c,!0)}});var f=this.column,g=this.$el;this.listenTo(f,"change:renderable",function(a,b){g.toggleClass("renderable",b)}),b.callByNeed(f.renderable(),f,d)&&g.addClass("renderable")},/**
Propagates the checked value of this checkbox to all the models of the
underlying collection by triggering a Backbone `backgrid:select` event on
the models on the current page, passing each model and the current
Expand All @@ -88,7 +88,7 @@ onChange:function(){var a=this.checkbox().prop("checked"),b=this.collection;b.ea
@member Backgrid.Grid
@return {Array.<Backbone.Model>}
*/
b.Grid.prototype.getSelectedModels=function(){for(var a,b=this.header.row.cells,c=0,d=b.length;c<d;c++){var f=b[c];if(f instanceof e){a=f;break}}var g=[];if(a){var h=a.selectedModels,i=this.collection.fullCollection||this.collection;for(var j in h)g.push(i.get(j))}return g},/**
b.Grid.prototype.getSelectedModels=function(){for(var b,c=this.header.row.cells,d=0,f=c.length;d<f;d++){var g=c[d];if(g instanceof e){b=g;break}}var h=[];if(b){var i=b.selectedModels,j=this.collection.fullCollection||this.collection;for(var k in i){var l=j.get(k);l instanceof a.Model&&h.push(l)}}return h},/**
Convenient method to deselect the selected models. This method is only
available when the `SelectAll` extension has been included.

Expand Down