BB: Backbone Collection Save

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>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.css">
<div class="js-ctn"></div>

<script type="text/html" class="js-template">
    <h1>Hey, <%= name %></h1>
</script>

CSS

@import url(http://fonts.googleapis.com/css?family=Roboto:300,400,500);

body {
    font-family: Roboto;
    color: #191919;
}

a {
    color: #191919;
}

JavaScript

console.clear();

var data = [
    {
        "id": 1,
        "name": "John Doe",
        "sessions": ["A1234", "E3456"],
        "teams": {
            "PL678": {
                "id": 12,
                "name": "Manchester United",
                "manager": "Louis van Gaal",
                "location": "Manchester"
            }, 
            "PL876": {
                "id": 18,
                "name": "Everton",
                "manager": "Roberto Martinez",
                "location": "Liverpool"
            }
        },
        "playerPoints": 14789,
    	"teamsAvailable": 2,
        "teamsDeleted": 8
	}, {
        "id": 2,
        "name": "Joe Bloggs",
        "sessions": ["E4598", "E4987", "F9870"],
        "teams": {
            "PL989": {
                "id": 4,
                "name": "Arsenal",
                "manager": "Arsene Wenger",
                "location": "London"
            }
        },
        "playerPoints": 4899,
    	"teamsAvailable": 3,
        "teamsDeleted": 2
    }
]

var myCollection = new Backbone.Collection(data, {parse:true});

var plucked = myCollection.map(function(model) {
    return _.pick( model.toJSON(), ["id","name", "teams"] );  
});

console.log('%cPOST:plucked items', 'background: #222; color: #bada55', plucked);