// Backbone.Picky, v0.2.0 // Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license // http://github.com/derickbailey/backbone.picky Backbone.Picky=function(a,b){var c={};c.SingleSelect=function(a){this.collection=a},b.extend(c.SingleSelect.prototype,{select:function(a){a&&this.selected===a||(this.deselect(),this.selected=a,this.selected.select(),this.trigger("select:one",a))},deselect:function(a){this.selected&&(a=a||this.selected,this.selected===a&&(this.selected.deselect(),this.trigger("deselect:one",this.selected),delete this.selected))}}),c.MultiSelect=function(a){this.collection=a,this.selected={}},b.extend(c.MultiSelect.prototype,{select:function(a){this.selected[a.cid]||(this.selected[a.cid]=a,a.select(),d(this))},deselect:function(a){this.selected[a.cid]&&(delete this.selected[a.cid],a.deselect(),d(this))},selectAll:function(){this.each(function(a){a.select()}),d(this)},selectNone:function(){0!==this.selectedLength&&(this.each(function(a){a.deselect()}),d(this))},toggleSelectAll:function(){this.selectedLength===this.length?this.selectNone():this.selectAll()}}),c.Selectable=function(a){this.model=a},b.extend(c.Selectable.prototype,{select:function(){this.selected||(this.selected=!0,this.trigger("selected",this),this.collection&&this.collection.select(this))},deselect:function(){this.selected&&(this.selected=!1,this.trigger("deselected",this),this.collection&&this.collection.deselect(this))},toggleSelected:function(){this.selected?this.deselect():this.select()}});var d=function(a){a.selectedLength=b.size(a.selected);var c=a.selectedLength,d=a.length;return c===d?(a.trigger("select:all",a),void 0):0===c?(a.trigger("select:none",a),void 0):c>0&&d>c?(a.trigger("select:some",a),void 0):void 0};return c}(Backbone,_); /* //@ sourceMappingURL=backbone.picky.map */