Skip to content

Instantly share code, notes, and snippets.

@olivierlesnicki
Created April 13, 2016 15:26
Show Gist options
  • Save olivierlesnicki/ee7e8110efb1b090f2505fb75870d22c to your computer and use it in GitHub Desktop.
Save olivierlesnicki/ee7e8110efb1b090f2505fb75870d22c to your computer and use it in GitHub Desktop.
async
import DS from 'ember-data';
export default DS.RESTAdapter;
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
click() {
this.sendAction('action', this.get('model'));
}
}
});
import Ember from 'ember';
export function eq(params/*, hash*/) {
return Ember.isEqual(params[0], params[1]);
}
export default Ember.Helper.helper(eq);
import DS from 'ember-data';
export default DS.Model;
import DS from 'ember-data';
export default DS.Model.extend({
child: DS.belongsTo('child-model', {async: true})
});
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return {
child: this.store.createRecord('child-model'),
parent: this.store.createRecord('parent-model')
}
},
actions: {
click(child) {
var model = this.modelFor('index');
this.set('controller.clicked', true);
model.parent.set('child', child);
}
}
});
<button {{action (action "click")}}>Click me</button>
{{yield}}
{{my-component
model=model.child
action="click"
}}
<br>
{{#if clicked}}
{{#if (eq model.parent.child model.child)}}
It worked
{{else}}
It didn't work
{{/if}}
<br>
<br>
To be selected: {{model.child}}
<br>
Selected: {{model.parent.child}}
{{/if}}
{
"version": "0.7.2",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "1.13.13",
"ember-data": "1.13.15",
"ember-template-compiler": "1.13.13"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment