Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

bpmn-js-ygsoft-rc

bpmn-io9SEE LICENSE IN LICENSE0.0.2

A bpmn 2.0 toolkit and web modeler

bpmn, bpmn-js, toolkit, web modeler, modeler, modeling, process modeling

readme

bpmn-js - BPMN 2.0 for the web

Build Status

View and edit BPMN 2.0 diagrams in the browser.

bpmn-js screencast

Installation

Use the library pre-packaged or include it via npm into your node-style web-application.

Usage

To get started, create a bpmn-js instance and render BPMN 2.0 diagrams in the browser:

var xml; // my BPMN 2.0 xml
var viewer = new BpmnJS({
  container: 'body'
});

viewer.importXML(xml, function(err) {

  if (err) {
    console.log('error rendering', err);
  } else {
    console.log('rendered');
  }
});

Checkout our examples for many more supported usage scenarios.

Dynamic Attach/Detach

You may attach or detach the viewer dynamically to any element on the page, too:

var viewer = new BpmnJS();

// attach it to some element
viewer.attachTo('#container');

// detach the panel
viewer.detach();

Resources

Building the Project

Perform the following steps to build the library, including running all tests:

cd bpmn-js
npm install
npm run all

You may need to perform additional project setup when building the latest development snapshot.

Please checkout our contributing guidelines if you plan to file an issue or pull request.

bpmn-js builds on top of a few additional powerful tools:

  • bpmn-moddle: Read / write support for BPMN 2.0 XML in the browsers
  • diagram-js: Diagram rendering and editing toolkit

License

Use under the terms of the bpmn.io license.

changelog

Changelog

All notable changes to bpmn-js are documented here. We use semantic versioning for releases.

Unreleased

_Note: Yet to be released changes appear here._

3.2.2

  • FIX: gracefully handle missing waypoints (45486f2)

3.2.1

3.2.0

  • FEAT: set isHorizontal=true for new and updated participant/lane DIs (#934)

3.1.1

3.1.0

3.0.4

  • FIX: render labels always on top (#920)

3.0.3

  • FIX: do not join incoming/outgoing flows other than sequence flows on element deletion (#917)

3.0.2

  • FIX: correct IE 11 delete keybinding (#904)

3.0.1

  • FIX: restore copy-paste behavior

3.0.0

  • FEAT: improve context pad tooltip titles for EventBasedGateway (350a5ab)
  • FEAT: display group names (#844)
  • FEAT: add ability to move selection with keyboard arrows (#376)
  • FEAT: support SHIFT modifier to move elements / canvas with keyboard arrows at accelerated speed
  • FEAT: require Ctrl/Cmd to be pressed as a modifier key to move the canvas via keyboard errors
  • FEAT: auto-expand elements when children resize (#786)
  • CHORE: bind editor actions and keyboard shortcuts for explicitly added features only (#887)
  • CHORE: update to diagram-js@3.0.0
  • FIX: disallow attaching of BoundaryEvent to a ReceiveTask following an EventBasedGateway (#874)
  • FIX: fix date in license (#882)

Breaking Changes

  • BpmnGlobalConnect provider got removed. Use connection.start rule to customize whether connection should allowed to be started (#565, #870)
  • EditorActions / Keyboard do not pull in features implicitly anymore. If you roll your own editor, include features you would like to ship with manually to provide the respective actions / keyboard bindings (645265ad)
  • Moving the canvas with keyboard arrows now requires the Ctrl/Cmd modifiers to be pressed.

2.5.2

  • FIX: correct horizontal embedded label padding

2.5.1

  • FIX: prevent error to be thrown on lane move (#855)

2.5.0

  • FEAT: snap message flows to bpmn:Event center during connect (#850)
  • CHORE: bump to `diagram-js@2.6.0`
  • FIX: allow label movement over message flow (#849)

2.4.1

  • FIX: make viewer IE 9 compatible
  • FIX: prevent duplicate connections after drop on flow (#774)
  • FIX: fix rules not preventing redundant loop (#836)

2.4.0

  • FEAT: improve layouting of boundary event to host loops (#467)
  • FEAT: allow circular activity to activity loops (#824)
  • FEAT: create label on appropriate free position (#825)
  • CHORE: bump to `diagram-js@2.5.0`
  • FIX: repair label position not being adapted on host move

2.3.1

  • FIX: revert to Arial as the default rendering font (#819)
  • FIX: keep event definitions when switching from interrupting to non-interrupting boundary event (#799)

2.3.0

2.2.1

  • FIX: correct updating of multiple data stores (300e7010)

2.2.0

  • FEAT: emit export events (#813)
  • FEAT: unset businessObject name if empty (6c081d85)
  • FEAT: resize text annotation on text change (100f3fb2)
  • FIX: apply data store behavior in collaboration only (5cc28d5d)
  • FIX: create/update labels when updating element name via Modeling#updateProperties (4a0f6da8)

2.1.0

  • FEAT: support specifying lineHeight for text rendering (#256)
  • FEAT: bpmn:LaneSet elements get an ID assigned on creation
  • FEAT: external labels can be deleted, clearing the elements name (#791)
  • FEAT: add ability to override default element colors (#713)
  • FEAT: add ability to override font family and size of rendered labels (4bb270f1)

2.0.1

Republish of v2.0.0 due to registry error.

2.0.0

  • FEAT: allow data store to be modeled between participants (#483)
  • CHORE: update to diagram-js@2.0.0
  • FIX: correctly handle missing bpmndi:Label bounds during model updating (#794)

Breaking Changes

  • The PopupMenu API got rewritten, cf. b1852e1d

1.3.3

1.3.2

  • FIX: correctly serialize extension attributes on bpmn:Expression

1.3.1

  • FIX: correctly auto-place from boundary events attached to host edges (#788)

1.3.0

  • FEAT: expose additional BpmnTreeWalker APIs for advanced import use-cases
  • CHORE: bump diagram-js and object-refs version

1.2.1

  • FIX: correct side-effects config to not include *.css files

1.2.0

  • FEAT: add initial snapping when creating associations
  • CHORE: update to `diagram-js@1.3.0`
  • FIX: allow message flows between collapsed pools
  • FIX: complete direct editing on popup menu use
  • FIX: focus label editing box on element creation

1.1.1

  • FIX: escape data-element-id in CSS selectors

1.1.0

  • FEAT: show gateway icon on context pad without marker (15dfab6b)

1.0.4

  • FIX: properly wire $parent on copy + paste
  • FIX: improve boundary event rendering to correct SVG to image conversion

1.0.3

  • FIX: re-expose TestHelper#bootstrapBpmnJS util

1.0.2

  • FIX: correct library default export

1.0.1

Republished 1.0.0 with CHANGELOG entries.

1.0.0

  • CHORE: convert code base to ES modules
  • CHORE: update utility toolbelt

Breaking Changes

  • You must now configure a module transpiler such as Babel or Webpack to handle ES module imports and exports.

0.31.0

  • FEAT: encode entities in body properties during XML export
  • CHORE: bump to bpmn-moddle@4.0.0
  • CHORE: bump utility version

0.30.0

...

Check git log for earlier history.