Ember Latest

The latest build of Ember.

by ppanagi

HTML

<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/ember-data-latest.js"></script>
<script type="text/x-handlebars" data-template-name="application">
    My name is {{content.lastName}}. {{content.firstName}} {{content.lastName}}.
</script>

CSS

h1 { font-size: 1.6em; padding-bottom: 10px; }
h2 { font-size: 1.4em; }
ul { padding: 15px; font-size: 1.4em; color: green; }

JavaScript

App = Ember.Application.create({
  addModelProperty: function(modelClass, propertyName, type) {
      var newProperty = {};
      newProperty[propertyName] = DS.attr(type); 
    
      modelClass.reopen(newProperty);
  }  
});

App.Store = DS.Store.extend({
    revision: 12,
    adapter: 'DS.FixtureAdapter'
});


App.MyModel = DS.Model.extend({
  lastName: DS.attr('string'),
    firstName: DS.attr('string')
});

App.MyModel.FIXTURES = [
    { id: 1, firstName: 'James', lastName: 'Bond' }
];

App.ApplicationRoute = Ember.Route.extend({
  setupController: function(controller) {
      var record = App.MyModel.find(1);
      controller.set('content', record);
      var store = controller.get('store');
      
      setTimeout(function() {
          App.addModelProperty(App.MyModel, 'firstName', 'string');
          store.reloadRecord(record);
      }, 1000);
  }
});

// Create an instance
//App.james = App.MyModel.createRecord({ firstName: 'James', lastName: 'Bond' });

// ... and then add a new property
//App.addModelProperty(App.MyModel, 'firstName', 'string');

// Create an instance, after adding a property
//App.jamesFullName = App.MyModel.create({ firstName: 'James', lastName: 'Bond' });