Skip to content

Instantly share code, notes, and snippets.

@HenryVonfire
Last active February 15, 2017 13:55
Show Gist options
  • Save HenryVonfire/b3eb23016b86e7cec661168b708f196a to your computer and use it in GitHub Desktop.
Save HenryVonfire/b3eb23016b86e7cec661168b708f196a to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
actions:{
deletePassport(){
this.get('model').set('passport',null);
},
deletePet(pet){
this.get('model.pets').removeObject(pet);
},
undoChanges(){
this.get('model').undoAll();
}
}
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
idNumber: attr('string'),
user: belongsTo('user')
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
petType: attr('string'),
user: belongsTo('user')
});
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'),
passport: belongsTo('passport'),
pets: hasMany('pet')
});
import Ember from 'ember';
import TimeMachine from 'ember-time-machine';
export default Ember.Route.extend({
model(){
let user = this.store.createRecord('user',{name:"Louis"});
let passport = this.store.createRecord('passport',{idNumber:"1234"});
let pet1 = this.store.createRecord('pet',{petType:"dog"});
let pet2 = this.store.createRecord('pet',{petType:"cat"});
user.set('passport',passport);
user.get('pets').pushObject(pet1);
user.get('pets').pushObject(pet2);
return TimeMachine.Object.create({ content: user });
}
});
<h1>User</h1>
name: {{model.name}}
<br>
is there a passport? {{if model.passport "yes" "no"}}
<br>
passportId: {{model.passport.idNumber}} <button {{action "deletePassport"}}>x</button>
<br>
pets:<br>
{{#each model.pets as |pet|}}
{{pet.petType}}<button {{action "deletePet" pet}}>x</button><br>
{{/each}}
<button {{action "undoChanges"}}>undo</button>
{
"version": "0.11.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.10.2",
"ember-data": "2.11.0",
"ember-template-compiler": "2.10.2",
"ember-testing": "2.10.2"
},
"addons": {
"ember-time-machine": "latest"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment