ember-poetic-crud-mixins

1.0.2 • Public • Published

Ember-poetic-crud-mixins

To install:

ember install:addon ember-poetic-crud-mixins

This ember-cli addon provides a collection of mixins for performing crud in the Route. You can use these mixins like this:

// In your awesome-route.js:
import Ember from 'ember';
import { ActionBack } from 'ember-poetic-crud-mixins';

export default Ember.Route.extend(ActionBack, {
});

All mixins are in the root name space. These mixins are opinionated. Please read these code before you use them. They are very simple.

ActionBack

This mixin provide back action which use history back. You need to put this mixin into your application route, other mixins depend on it.

SingleModel

This mixin is the model method in a route. It will create a new record if params.id is new, otherwise it use store.find to get the record.

extra attributes in the route:

  • modelName {required}

CleanSingleModelBeforeLeave

This mixin provides back and willTransition actions and will clean the model when the user confirms leaving without save.

extra attributes in the route:

  • actions.confirmLeave { required }
    • @param: {Function} callback. Use callback(true) to leave and callback(false) to stay.
    • @param: {String} message. Confirmation message generated for the record.

ActionSave

This mixin provides save action which taks a model as an argument. This action returns a Promise of record.

extra attributes in the route:

  • routeAfterSave {optional, '<-' for back}
  • actions.hideErrors { required }
  • actions.showErrors { required }
    • @param: {Object} error. The error object coming from record.save()

ActionDelete

This mixin provides delete action which taks a model as an argument.

extra attributes in the route:

  • routeAfterDelete {optional, '<-' for back}
  • actions.hideErrors { required }
  • actions.showErrors { required }
    • @param: error
  • actions.confirmDelete { required }
    • @param: {Function} callback. Use callback(true) to delete and callback(false) to cancel delete. callback returns a Promise of record.
    • @param: {String} message, Confirmation message generated for the record.

SingleCRUD

This mixin is a combination of SingleModel, CleanSingleModelBeforeLeave, ActionSave, and ActionDelete mixins.

TODO

  1. explan how to handle history back and crud.
  2. write tests, setup integration tests.

Package Sidebar

Install

npm i ember-poetic-crud-mixins

Weekly Downloads

5

Version

1.0.2

License

MIT

Last publish

Collaborators

  • young_spring