Skip to content

Instantly share code, notes, and snippets.

@HenryVonfire
Created February 15, 2017 11:29
Show Gist options
  • Save HenryVonfire/ac1fc54bade8f42b71f63730553b3df8 to your computer and use it in GitHub Desktop.
Save HenryVonfire/ac1fc54bade8f42b71f63730553b3df8 to your computer and use it in GitHub Desktop.
ember-data-change-tracker
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions:{
undoChanges(){
let model = this.get('model');
console.log(model.changed());
model.rollback();
}
}
});
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'),
street: attr('string'),
age: attr('number')
});
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return this.store.createRecord('user');
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<input type="text" value={{model.name}} oninput={{action (mut model.name) value="target.value"}}>
<br>
<input type="text" value={{model.street}} oninput={{action (mut model.street) value="target.value"}}>
<br>
<input type="number" value={{model.age}} oninput={{action (mut model.age) value="target.value"}}>
<br>
<button {{action "undoChanges"}}>undo</button>
{
"version": "0.11.0",
"EmberENV": {
"FEATURES": {}
},
"changeTracker": { "trackHasMany": true, "auto": true },
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.10.2",
"ember-data": "2.11.0",
"ember-template-compiler": "2.10.2",
"ember-testing": "2.10.2"
},
"addons": {
"ember-data-change-tracker":"latest"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment