This is a simple project demonstrating how to integrate Angular (5 6 7) with the
BPMN-JS components. It is the start of a rewrite of my previous project integrating
Angular2 with BPMN-JS: https://github.com/narve/ang2-bpmnjs.
The previous project was created in an ancient period when Angular2 was still hot, and suffered from several problems, chief among them the complicated setup (lots of webpack configuration) and difficulty of upgrading components.
This time around I wanted to use the Angular CLI and as many defaults, standards and conventions as possible. The main objective is to have a simple, standardized solution, making it easy to maintain and upgrade the code.
NB: This project is not affiliated with / created by / endorsed by (etc) Camunda/BPMN.IO or anybody but myself.
Feedback is welcome, as issues, pull requests, comments, whatever. Without feedback this project will be left unmaintained.
The documentation is kept to a bare minimum in order to avoid out-of-date information.
Especially Angular is a moving target.
Consult the documentation for Typescript/Angular/AngularCLI/BPMN-JS. Remember to check that
you are viewing the correct version!
To run this project with live-reload etc:
git clone [email protected]:narve/angular-bpmn.git
cd angular-bpmn
npm install
npm start
Then look at http://localhost:4200.
Or else, to run using plain http-server
npm run build
npx run http-server dist
NB: The prod-mode is currently not working - it builds but fails at runtime.
To run in prod-mode:
npm run start-prod
or
npm run build-prod
npx run http-server dist
-
Linux (Mint)
-
Windows (plain Powershell, not Git Bash)
-
Linux-On-Windows (WSL)
-
npm v9.2.11 (probably works on other versions)
-
Angular CLI based project (see
docs
andpackage.json
for exact versions). -
No installation / setup required, besides
node
/npm
-
Async loading of a sample BPMN diagram
-
Properties panel
-
Custom properties (extending original)
-
Custom palette (extending original)
-
Surprisingly little actual code (including configuration files!)
-
Hopefully usable as a template / inspiration for actual production use
-
Hopefully as future-proof as any front-end code can be these days
- Let me know :)