bpmn-visualization
is a TypeScript library for visualizing process execution data on BPMN diagrams with:
Please check the ⊠live environment.
You will find there basic usage as well as detailed examples showing possible rendering customizations.
bpmn-visualization
is actively developed and maintained.
Before the release of version 1.0.0
, there may be some breaking changes. We avoid these as much as possible, and carefully document them in the release notes. As far as possible, we maintain compatibility for some minor versions.
Already available features:
Planned features:
Notes:
bpmn-visualization@0.26.0
:
The library is available from NPM.
We support various module formats such as:
dist/bpmn-visualization.js
dist/bpmn-visualization.esm.js
dist/bpmn-visualization.cjs.js
Install bpmn-visualization
in the project:
Then use this snippet to load your BPMN diagram in a page:
import { BpmnVisualization } from 'bpmn-visualization'; let bpmnContent; // your BPMN 2.0 XML content // initialize `bpmn-visualization` and load the BPMN diagram // 'bpmn-container' is the id of the HTMLElement that renders the BPMN Diagram const bpmnVisualization = new BpmnVisualization({ container: 'bpmn-container' }); bpmnVisualization.load(bpmnContent);
You can set the BPMN content using one of the following ways:
bpmn-visualization
provides type definitions, so the integration works out of the box in TypeScript projects.
bpmn-visualization
requires TypeScript 4.5 or greater.
Depending on the TypeScript configuration of the project, the following errors can occur:
In this case, declare the typed-mxgraph
types in the tsconfig.json
as in the following (see the typeRoots documentation for more explanations) đ
{ "compilerOptions": { "typeRoots": [ "node_modules/@types", "node_modules/@typed-mxgraph" ] } }
NOTE
This is also mandatory for users who want to extend the mxGraph
integration.
Alternatively, you can set skipLibCheck
to true
in the tsconfig.json
file, but this limits the definition checks.
âšī¸ For more details, see the TypeScript projects in the bpmn-visualization-examples repository.
In the HTML page:
bpmn-visualization
(replace {version}
by the recent version)<script src="https://cdn.jsdelivr.net/npm/bpmn-visualization@{version}/dist/bpmn-visualization.min.js"></script> ... <div id="bpmn-container"></div> ... <script> let bpmnContent; // your BPMN 2.0 XML content // initialize `bpmn-visualization` and load the BPMN diagram // 'bpmn-container' is the id of the HTMLElement that renders the BPMN Diagram const bpmnVisualization = new bpmnvisu.BpmnVisualization({ container: 'bpmn-container'}); bpmnVisualization.load(bpmnContent); </script>
The User documentation (with the feature list & the public API) is available in the documentation site.
đĄ Want to know more about bpmn-visualization
usage and extensibility? Have a look at the ⊠live examples site.
For more technical details and how-to, go to the bpmn-visualization-examples repository.
To contribute to bpmn-visualization
, fork and clone this repository locally and commit your code on a separate branch.
Please write tests for your code before opening a pull-request:
npm run test # run all unit & e2e tests
You can find more detail in our Contributing guide. Participation in this open source project is subject to a Code of Conduct.
⨠A BIG thanks to all our contributors đ
bpmn-visualization
is released under the Apache 2.0 license.
Copyright Š 2020-present, Bonitasoft S.A.
Some BPMN icons used by bpmn-visualization
are derived from existing projects. See the BPMN Support documentation for more details:
statically.io (demo and examples live environments)
surge.sh (demo and documentation preview environments)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4