Skip to content

Instantly share code, notes, and snippets.

@Subtletree
Last active September 16, 2017 04:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Subtletree/fd2f5dd0b610a64061f4bb0604bcd5ea to your computer and use it in GitHub Desktop.
Save Subtletree/fd2f5dd0b610a64061f4bb0604bcd5ea to your computer and use it in GitHub Desktop.
Ember Twiddle Demo: Mirage with Ember Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
computedModel: Ember.computed('model.[]', function() {
return this.get('model').map(function(m) {
return `Computed: ${m.id}`;
});
}),
computedModelChanged: Ember.observer('model', function() {
console.log('computedModelChanged');
}),
init() {
this._super(...arguments);
this.get('computedModelChanged');
},
actions: {
refreshModel() {
this.sendAction('invalidateModel');
}
}
});
export default function() {
this.get('/posts', ({ posts }, request) => {
this.create('post');
return posts.all();
});
};
import { Factory } from 'ember-cli-mirage';
export default Factory.extend();
import { Model } from 'ember-cli-mirage';
export default Model;
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
});
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.get('store').findAll('post');
},
actions: {
invalidateModel() {
this.refresh();
}
}
});
{{foo-component model=model invalidateModel="invalidateModel"}}
Model:<br>
{{#each computedModel as |m|}}{{m}}<br>{{/each}}
<br>
<button {{action "refreshModel"}}>Refresh model</button>
{
"version": "0.11.3",
"ENV": {
"ember-cli-mirage": {
"enabled": true
}
},
"EmberENV": {},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.11.0",
"ember-data": "2.11.0",
"ember-template-compiler": "2.11.0"
},
"addons": {
"ember-cli-mirage": "0.2.4"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment