The default blueprint for ember-cli addons.
npm install @cardstack/workflowThe workflow package gives host apps a workflow system where each workflow can
have a priority (which might change over time) and several tags.
It displays a notification counter and, when opened, a couple of panels to see
the workflows grouped by priority and by tag. It allows to see at a glance
which workflows need to be acted on, and then act on them.
Host apps need to render the {{cardstack-workflow}} component where they want
the workflow panels to appear (preferably in the left edge of the screen).
The component accesses data through the cardstack-workflow service which also
defines the following methods for the host app to use:
* createThread(message1, message2, ...)
* createMessageFor(cardModel, properties)
Creating a message for each card model in your application is required (the
workflows work with messages under the hood) and is supported by thecreateMessageFor method above.
(We'll probably need a 3rd method to get the thread for a given card model).
Let's see an example.
Assume you have a rental model in your application and the corresponding card
model, rental-card. To create a workflow where a new rental is offered, you'd
do as follows:
``js
workflow: inject('cardstack-workflow'),
let urgent = this.get('store').queryRecord('priority', { name: 'urgent' });
let bayArea = this.get('store').queryRecord('tag', { name: 'Bay Area' });
let rentalCard = this.get('store').createRecord('rental-card');
rentalCard.save(() => {
let message = this.get('workflow').createMessageFor(rentalCard, {
priority: urgent,
tags: [ bayArea ],
});
return this.get('workflow').createThread(message);
});
`
In your app you define your models and then use the above methods to create a
workflow around them.
For a detailed example, see the dummy app in this package.
* git clone this repositorycd @cardstack/workflow
* yarn install
*
DEBUG=cardstack/ DEBUG_LEVEL=info ember s
* Visit your app at http://localhost:4200.
Run tests locally:
* ember test --server
TravisCI runs the tests for each ember version listed in .travis.yml.
* ember build
For more information on using ember-cli, visit https://ember-cli.com/.