Skip to content

Instantly share code, notes, and snippets.

@grapho
Last active September 7, 2016 18:32
Show Gist options
  • Save grapho/2535d2c39af13415a5ab5e48c24d3972 to your computer and use it in GitHub Desktop.
Save grapho/2535d2c39af13415a5ab5e48c24d3972 to your computer and use it in GitHub Desktop.
Changeset Test
import Ember from 'ember';
export default Ember.Controller.extend({
init() {
this.fauxModel = Ember.Object.create({
foo: "foo",
bar: "bar",
baz: "baz",
street: "Street",
city: "City",
state: "State"
})
},
appName: 'Ember Twiddle',
actions: {
save(address) {
console.log("save");
address.save().then(saved => {
console.log(saved);
});
},
cancel(address) {
console.log("cancel");
address.rollback();
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<p>{{fauxModel.foo}}</p>
<p>{{fauxModel.bar}}</p>
<p>{{fauxModel.baz}}</p>
<p>{{fauxModel.street}}</p>
<p>{{fauxModel.city}}</p>
<p>{{fauxModel.state}}</p>
{{#with (changeset (hash
street=fauxModel.street
city=fauxModel.city
state=fauxModel.state
)) as |address|
}}
<input value={{address.street}} onchange={{action (mut address.street) value="target.value"}}>
<input value={{address.city}} onchange={{action (mut address.city) value="target.value"}}>
<input value={{address.state}} onchange={{action (mut address.state) value="target.value"}}>
<button onclick={{action "cancel" address}}>Cancel</button>
<button onclick={{action "save" address}}>Save</button>
{{/with}}
{
"version": "0.10.4",
"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.6.0",
"ember-data": "2.6.0",
"ember-template-compiler": "2.6.0"
},
"addons": {
"ember-changeset": "1.1.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment