JSFiddle - React, Tailwind, and code Playground
by Eric Howe
HTML
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
JavaScript
function dump(rs) {
console.log('-----');
rs.each(function(m) {
console.log(m.id + ' ' + m.get('offers'));
});
}
var Request = Backbone.Model.extend({});
var Requests = Backbone.Collection.extend({
model: Request,
initialize: function() {
this._order_by_id = this.comparator;
},
comparator: function(ab) {
return -ab.id;
},
order_by_offers: function() {
this.comparator = this._order_by_offers;
this.sort();
},
order_by_default: function() {
this.comparator = this._order_by_id;
this.sort();
},
_order_by_offers: function(ab) {
return ab.get('offers');
}
});
var rs = new Requests();
rs.add({ id: 1, offers: 6 });
rs.add({ id: 2, offers: 11 });
rs.add({ id: 3, offers: 1 });
dump(rs);
rs.order_by_offers();
dump(rs);
rs.order_by_default();
dump(rs);