Awesome
As of version
1.0.0
this library exposes ES modules. Use an ES module aware bundler such as Webpack or Rollup to bundle it for the browser.
bpmn-js-cli-modeling-dsl
A modeling DSL (domain specific language) for bpmn-js, built on top of bpmn-js-cli.
Usage
Use the extension for bpmn-js-cli to quickly model simple processes.
To model this process:
simply execute the following command
cli.model('StartEvent_1 -> and -> service -> user -> icatch -> xor -> or -> ithrow -> end');
You may use the full classified name of any BPMN element such as bpmn:ServiceTask
, too to model it.
Shortcuts
A number of aliases are registered for most commonly modeled BPMN elements:
var aliases = {
service: 'bpmn:ServiceTask',
user: 'bpmn:UserTask',
manual: 'bpmn:ManualTask',
task: 'bpmn:Task',
end: 'bpmn:EndEvent',
transaction: 'bpmn:Transaction',
sub: 'bpmn:SubProcess',
call: 'bpmn:CallActivity',
icatch: 'bpmn:IntermediateCatchEvent',
ithrow: 'bpmn:IntermediateThrowEvent',
xor: 'bpmn:ExclusiveGateway',
or: 'bpmn:InclusiveGateway',
and: 'bpmn:ParallelGateway'
};
Use any of the aliases instead of the full qualified BPMN name.
Setup
Deploy the cli-extension with bpmn-js:
import BpmnModeler from 'bpmn-js/lib/Modeler';
import ModelingDslModule from 'bpmn-js-cli-modeling-dsl';
var modeler = new BpmnModeler({
additionalModules: [
ModelingDslModule
],
cli: {
bindTo: 'cli'
}
});
modeler.importXML('some-bpmn-xml');
Access the cli as cli
in your developer console (open via F12
in most browsers).
Create a simple process from <start>
via
cli.model('<start> -> and -> service -> user -> icatch -> xor -> or -> ithrow -> end');
License
MIT