A BPMN 2.0 rendering toolkit and web modeler. https://bpmn.io/toolkit/bpmn-js/
Go to file
Martin Stamm 2b11d871cd feat: decouple DI from businessObject
In the diagram `di` is now accessed via the diagram element, not the
business object. This has the benefit that elements in multiple diagrams
can easily be represented.

Related to https://github.com/bpmn-io/bpmn-js/issues/1472

BREAKING CHANGE:

* Instead of referencing the `di` from the business object, reference it
  from the diagram element representing it.
2021-09-03 15:14:00 +02:00
.github ci: wait for published before executing post release steps 2021-08-20 09:04:07 +00:00
docs docs: move single run to CONTRIBUTING guide 2020-12-21 22:43:43 +01:00
lib feat: decouple DI from businessObject 2021-09-03 15:14:00 +02:00
resources chore(logo): update local file 2020-05-26 14:42:45 +02:00
tasks ci: fix wiredeps branch ref 2021-05-31 18:31:39 +00:00
test fix(import): pass context during collaboration import 2021-08-30 09:41:34 +00:00
.babelrc chore(project): build using ES6 ready deps 2018-04-03 16:30:05 +02:00
.eslintignore chore(project): don't lint coverage folder 2018-10-04 16:37:28 +02:00
.eslintrc chore(project): declare Promise as a global variable for linting 2020-04-29 11:12:23 +02:00
.gitignore chore(project): re-introduce package-lock 2018-11-27 08:38:38 +00:00
CHANGELOG.md chore(CHANGELOG): update to v8.7.3 2021-08-27 16:39:11 +02:00
LICENSE chore(project): update license 2020-05-20 16:09:03 +00:00
README.md ci: remove Travis CI config 2021-05-03 12:10:41 +00:00
index.js fix(project): correct library default export 2018-04-05 09:47:37 +02:00
package-lock.json 8.7.3 2021-08-27 16:44:30 +02:00
package.json 8.7.3 2021-08-27 16:44:30 +02:00
rollup.config.js deps: bump development dependencies 2020-12-02 20:28:33 +00:00

README.md

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:

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

try {
  const { warnings } = await viewer.importXML(xml);

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

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:

const viewer = new BpmnJS();

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

// detach the panel
viewer.detach();

Resources

Build and Run

Prepare the project by installing all dependencies:

npm install

Then, depending on your use-case you may run any of the following commands:

# build the library and run all tests
npm run all

# spin up a single local modeler instance
npm start

# run the full development setup
npm run dev

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

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

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

Contributing

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

Code of Conduct

By participating to this project, please uphold to our Code of Conduct.

License

Use under the terms of the bpmn.io license.