function Sorted(superset) { // Save a reference to the original collection this._superset = superset; this._reverse = false; this._comparator = null; // The idea is to keep an internal backbone collection with the paginated // set, and expose limited functionality. this._collection = new Backbone.Collection(superset.toArray()); proxyCollection(this._collection, this); this.listenTo(this._superset, 'add', onAdd); this.listenTo(this._superset, 'remove', onRemove); this.listenTo(this._superset, 'change', onChange); this.listenTo(this._superset, 'reset', sort); }
function Filtered(superset) { // Save a reference to the original collection this._superset = superset; // The idea is to keep an internal backbone collection with the filtered // set, and expose limited functionality. this._collection = new Backbone.Collection(superset.toArray()); proxyCollection(this._collection, this); // Set up the filter data structures this.resetFilters(); this.listenTo(this._superset, 'reset sort', execFilter); this.listenTo(this._superset, 'add change', onAddChange); this.listenTo(this._superset, 'remove', onModelRemove); this.listenTo(this._superset, 'all', onAll); }