A BPMN 2.0 rendering toolkit and web modeler. https://bpmn.io/toolkit/bpmn-js/
Go to file
Nico Rehwaldt 04ca31fac9 feat(lib): Promisify public APIs
This commit promisifies following APIs:

   BaseViewer#importXML
   BaseViewer#importDefinitions
   BaseViewer#open
   BaseViewer#saveXML
   BaseViewer#saveSVG
   Modeler#createDiagram

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

BREAKING CHANGES:

* Users are now expected to have Promises either by default or
polyfilled as the APIs return a Promise now.
2020-04-29 11:12:23 +02:00
.github chore(project): rework issue templates 2019-11-29 18:15:01 +01:00
docs chore(CONTRIBUTING): link conventional commits 2018-09-27 14:34:48 +02:00
lib feat(lib): Promisify public APIs 2020-04-29 11:12:23 +02:00
resources chore(project): update screencast 2019-04-11 09:35:56 +02:00
tasks chore(tasks/update-website): do not read and write at the same time 2020-02-04 09:49:21 +01:00
test feat(lib): Promisify public APIs 2020-04-29 11:12:23 +02: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
.npmignore chore(project): remove coverage directory from the package 2019-08-22 13:55:30 +02:00
.travis.yml chore(tasks): update examples and websites on stable release only 2020-02-05 11:26:11 +00:00
CHANGELOG.md chore(CHANGELOG): update 2020-04-28 20:10:08 +02:00
LICENSE chore(LICENSE): update date 2019-02-28 10:22:35 +01:00
README.md feat(lib): Promisify public APIs 2020-04-29 11:12:23 +02:00
index.js fix(project): correct library default export 2018-04-05 09:47:37 +02:00
package-lock.json chore(deps): update to bpmn-moddle v7.0.1 2020-04-29 11:12:23 +02:00
package.json chore(deps): update to bpmn-moddle v7.0.1 2020-04-29 11:12:23 +02:00
rollup.config.js chore(project): minify using terser 2019-07-31 13:03:32 +02: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:

var xml; // my BPMN 2.0 xml
var 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:

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 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.