diff --git a/backgrid-select-all.js b/backgrid-select-all.js index e2584e0..2b83a53 100644 --- a/backgrid-select-all.js +++ b/backgrid-select-all.js @@ -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) { @@ -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); + } } } diff --git a/backgrid-select-all.min.js b/backgrid-select-all.min.js index ba8d996..34062f1 100644 --- a/backgrid-select-all.min.js +++ b/backgrid-select-all.min.js @@ -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} */ -b.Grid.prototype.getSelectedModels=function(){for(var a,b=this.header.row.cells,c=0,d=b.length;c