Ember Data (List from JSON)
by besign
HTML
<script src="http://lab.besign.com.ve/eurocrm/app/data/test.json"></script>
<script src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-latest.js"></script>
<script src="http://cloud.github.com/downloads/emberjs/data/ember-data-latest.js"></script>
<script type="text/x-handlebars">
<button {{action "loadFromFile" target="App.personController"}}>Load!</button>
---- Count: ({{App.personController.length }})
{{#each App.personController}}
<p>{{name}} {{surname}}</p>
{{/each}}
</script>
JavaScript
App = Em.Application.create();
App.Person = DS.Model.extend({
name: DS.attr('string'),
surname: DS.attr('string'),
}).reopenClass({
url: 'test.json'
});
App.store = DS.Store.create({
revision: 4,
adapter: App.adapter
});
App.adapter = DS.Adapter.create({
findAll: function(store, person) {
console.log('finding');
var url = person.url;
$.getJSON(url, function(data) {
store.loadMany(person, data);
});
}
});
App.personController = Ember.ArrayController.create({
content: [],
init: function() {
this._super();
this.set('content', App.store.findAll(App.Person));
},
loadFromFile: function() {
var self = this;
self.set('content', App.store.findAll(App.Person));
}
});