Skip to content

Instantly share code, notes, and snippets.

@luxzeitlos
Last active February 24, 2016 07:12
Show Gist options
  • Save luxzeitlos/d90a335bb2ad52813402 to your computer and use it in GitHub Desktop.
Save luxzeitlos/d90a335bb2ad52813402 to your computer and use it in GitHub Desktop.
meta on model
import Ember from 'ember';
import DS from 'ember-data';
const {set} = Ember;
export function initialize(application) {
DS.Model.reopen({
meta: null,
didCommit() {
this._super(...arguments);
set(this, 'meta', this.store._metadataFor(this.constructor.modelName));
}
});
};
export default {
name: 'meta',
initialize: initialize
};
import Ember from 'ember';
import DS from 'ember-data';
const {get} = Ember;
export default DS.JSONAPIAdapter.extend({
deleteRecord(store, type, snapshot) {
return {
meta: {
message: 'delete ok'
}
};
},
createRecord (store, type, snapshot) {
return {
meta: {
message: 'now created',
},
data: {
type: 'demo',
id: '1'
}
};
}
});
import Ember from 'ember';
const{get} = Ember;
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
test() {
let store = this.store;
let demo = this.store.createRecord('demo');
demo.save().then(() => {
console.log('saved meta:', get(demo, 'meta'));
return demo.destroyRecord();
}).then(() => {
console.log('destroyed meta:', get(demo, 'meta'));
});
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<button {{action "test"}}>Test</button>
<br>
<br>
import DS from 'ember-data';
export default DS.Model.extend({
});
{
"version": "0.6.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.3.1/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.3.3/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment