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,
comparator: function(ab) {
if(this._order_by == 'offers')
return ab.get('offers');
else if(this._order_by == 'id')
return -ab.id;
else
return this._order_by == 'offers'
? ab.get('offers')
: -ab.id;
},
order_by_offers: function() {
this._order_by = 'offers';
this.sort();
},
order_by_default: function() {
this._order_by = 'id';
this.sort();
},
_order_by: 'id'
});
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);