Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery.min.js"></script>
<link href="http://getbootstrap.com/dist/css/bootstrap.css" rel="stylesheet" type="text/css" />
<script src="http://getbootstrap.com/dist/js/bootstrap.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0/handlebars.js"></script>
    <script src="http://builds.emberjs.com/release/ember.min.js"></script>
  <script src="http://builds.emberjs.com/beta/ember-data.min.js"></script>  
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <script type="text/x-handlebars" id="index">
<h1>Posts Page</h1>
{{#if addingNew}}
  {{partial 'new'}}
{{else}}
  <button {{action 'showNew'}} class="btn btn-default">Add New</button>
{{/if}}
<table class="table table-striped table-hover">
  <thead>
    <tr>
      <th>Name</th>
      <th>Total</th>
      <th>Type</th>
    </tr>
  </thead>
  <tbody>
  {{#each}}
    <tr>
      <td>{{this.name}}</td>
  {{/each}}
  </tbody>
</table>
  </script>
  
  <script type="text/x-handlebars" id="new">
  <p>{{input class="form-control" type="text" value=name placeholder="Post name"}}</p>
<button {{action 'createPost'}} class="btn btn-default">Create Post</button>
<button {{action 'cancelNew'}} class="btn btn-warning">Cancel</button>
  </script>
</body>
</html>
 
App = Ember.Application.create({
  LOG_TRANSITIONS: true
});
App.Store = DS.Store.extend({
  adapter: DS.FixtureAdapter
});
App.Router.map(function() {
  this.resource('posts');
});
App.IndexRoute = Ember.Route.extend({
  model: function() {
    this.get('store').find('post');
  }
});
App.Post = DS.Model.extend({
  name: DS.attr('string')
});
App.IndexController = Ember.ArrayController.extend({
  addingNew: false,
  actions: {
    createPost: function() {
     console.log('heres');
      var post = this.store.createRecord('post', {
        name: 'howdy'
      });
      post.save();
      //todo: reset form by calling cancel new
    },
    showNew: function() {
      this.set('addingNew', true);
    },
    cancelNew: function() {
      this.set('name', '');
      this.set('addingNew', false);
    }
  }
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers