This Ember addon support some basic model layer for ajax request like find, create, delete and so on. When you use this addon, please remove ember-data. It also support some mixin for component to easily manage form
In your ember-cli project, install this addon from npm
ember install ember-easy-orm
or install the latest version from github
npm install https://github.com/wecatch/ember-easy-orm --save-dev
In ember-cli project, create one model
ember g model user
modify model/user.js code like this
import EmberObject from '@ember/object';
import model, {DS} from 'ember-easy-orm/mixins/model'
const {attr} = DS;
export default EmberObject.extend(model, {
url: '/v1/food',
init(){
this._super(...arguments);
this.model = EmberObject.extend({
'name': attr('string'),
'desc': attr('string'),
'pic': attr('array'),
'province_id': attr('string'),
'city_id': attr('string'),
'area_id': attr('string'),
'town_id': attr('string'),
'country_id': attr('string'),
'url': attr('string'),
'host': attr('string'),
'tag': attr('array'),
'user': attr({defaultValue: function(){
return {name: '', 'gender': ''};
}})
});
}
})
then in any route, you can use store service to connect to your backend server api
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
export default class IndexRoute extends Route {
@service store;
model() {
return this.store.find('user');
}
}
ember test
ember test --server
npm test
(Runs ember try:testall
to test your addon against multiple Ember versions)
- find
- findOne
- save
- createRecord
- deleteRecord
- ajax
- request.get
- request.post
- request.put
- request.delete
- Model add glimmer tracked for template rerender
- Rewrite to native class
- Bump to 4.3
- Bump ember-cli to 3.21.0
- Serialize request data into json when use post and put method
- Bump ember-cli to 3.1.0
- Replace sendAction with normal function call.
- Bump ember-cli to 2.3.0
- fix #19
2016-06-01
- add docs
- add dummy app
2016-01-08
- fix issues#11
2016-01-06
- add ajax mixin to support lower level ajax request
- add ajax, model unit test
- redesign model mixin for custome response data
- more flexible model api
2015-10-21
- fix form mixin to support component
- fix all model mixin ajax request to return promise