BB Skeleton

by kyllle

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.2/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.min.js"></script>

SCSS

* {
  -webkit-font-smoothing: antialiased;
}

body {
    padding: 5%;
}

JavaScript

console.clear();

//http://thejsguy.com/2015/03/18/overriding-backbone-sync.html
//http://backbonejs.org/#Sync

var Person = Backbone.Model.extend({

    sync: function(method, model, options) {
    	console.log('Sync::method', method);
        switch (method) {
            case 'delete':
            	console.log('delete');
                options.url = '/api/orders/cancelOrder';
                return Backbone.sync('create', model, options);
            case 'read':
            	console.log('read');
                options.url = '/api/orders/' + model.get('order_id');
                return Backbone.sync(method, model, options);
            case 'update':
                console.log('update');
            case 'create':
                console.log('model.save::create, collection.create');
        }
    }
});

var Persons = Backbone.Collection.extend({
	model: Person
});

var person = new Person();
var persons = new Persons();
persons.add({'id': 1, 'name': 'kyle'});
console.log(persons.toJSON());
persons.reset();
console.log(persons.toJSON());