Skip to content

Instantly share code, notes, and snippets.

@alexspeller
Created January 9, 2018 17:43
Show Gist options
  • Save alexspeller/dceb0b66059d35247cb4bad6231064f5 to your computer and use it in GitHub Desktop.
Save alexspeller/dceb0b66059d35247cb4bad6231064f5 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
newPost: Ember.computed(function() {
return this.store.createRecord('post');
}),
posts: Ember.computed(function() {
return this.store.peekAll('post');
}),
actions: {
done() {
this.set('newPost', this.store.createRecord('post'));
},
cancel() {
this.get('newPost').rollbackAttributes();
this.set('newPost', this.store.createRecord('post'));
}
}
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
name: attr('string')
});
<h1>New Post</h1>
<input value={{newPost.name}} oninput={{action (mut newPost.name) value="target.value"}}>
<button onclick={{action 'cancel'}}>Cancel</button>
<button onclick={{action 'done'}}>Done</button>
<ul>
{{#each posts as |post|}}
<li>{{post.name}}</li>
{{/each}}
</ul>
{
"version": "0.13.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.16.2",
"ember-template-compiler": "2.16.2",
"ember-testing": "2.16.2"
},
"addons": {
"ember-data": "2.16.3"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment