Releases: process-analytics/bpmn-visualization-js
0.16.0
This new release focuses on improving the documentation and removing the demo code from the packaging.
Thanks to all the contributors of this release 🌈: @aibcmars and @tbouffard
See milestone 0.16.0 to get the list of issues covered by this release.
Highlights
User documentation
Now, you can find in the user documentation the following new sections: Process Data, Overlays and Custom Behavior.
What's Changed
⤵️ Library Integration
- [REFACTOR] Remove the demo code from the packaging (#1324) @tbouffard
📝 Documentation
- [DOC] Update example image used in README and user documentation (#1332) @tbouffard
- [DOC] Add user documentation for 'Overlays' (#1331) @aibcmars
- [DOC] Add user documentation for the 'custom behavior' features (#1330) @tbouffard
- [DOC] Do not use the 'interaction' term when possible (#1328) @tbouffard
- [DOC] Improve the mxgraph bump guidelines (#1325) @tbouffard
- [DOC] process execution data - examples of data (#1310) @aibcmars
📦 Dependency updates
- [INFRA] dev - Bump postcss from 8.2.15 to 8.3.0 (#1321) @dependabot
- [INFRA] dev - Bump eslint from 7.26.0 to 7.27.0 (#1319) @dependabot
- [INFRA] dev - Bump cssnano from 5.0.2 to 5.0.4 (#1320) @dependabot
- [INFRA] dev - Bump typed-mxgraph from 1.0.1 to 1.0.2 (#1309) @tbouffard
- [INFRA] dev - Bump playwright from 1.10.0 to 1.11.1 (#1316) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.22.1 to 4.24.0 (#1307) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.22.1 to 4.24.0 (#1306) @dependabot
- [INFRA] dev - Bump postcss from 8.2.14 to 8.2.15 (#1308) @dependabot
- [INFRA] dev - Bump jest-html-reporter from 3.3.0 to 3.4.0 (#1303) @dependabot
- [INFRA] dev - Bump rollup from 2.47.0 to 2.48.0 (#1301) @dependabot
👻 Maintenance
- [INFRA] Skip GitHub workflow elements when secrets are not available (#1334) @tbouffard
- [REFACTOR] Move static resources out of the main source folder (#1318) @tbouffard
- [TEST] Avoid Jest warning about missing TS sourcemap (#1317) @tbouffard
- [TEST] Rename some integration and e2e tests (#1327) @tbouffard
- [INFRA] Automate npm publishing (#1315) @tbouffard
- [INFRA] Simplify cache retrieval in a GitHub workflow (#1314) @tbouffard
- [INFRA] Improve the eslint config for js files (#1313) @tbouffard
- [INFRA] Rename npm doc generation scripts (#1312) @tbouffard
- [INFRA] Add new release-drafter categories (#1311) @aibcmars
0.15.0
This new release focuses on diagram navigation and documentation improvements.
It contains the initial support for diagram navigation on touch screen devices. The diagram navigation on macOS has also been reviewed.
Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet and @tbouffard
See milestone 0.15.0 to get the list of issues covered by this release.
Highlights
You are now able to use diagram navigation on touch screen devices. For current limitations, see #847.
What's Changed
🧲 BPMN diagram usability
- [FEAT] Only trigger zoom with the CTRL on macOS (#1305) @tbouffard
📝 Documentation
- [DOC] Use 'behavior' instead of 'interaction' when possible (#1299) @tbouffard
- [DOC] Improve the Overlay API TSDoc (#1298) @tbouffard
- [DOC] wording: replace diagram rendering -> diagram navigation (#1297) @aibcmars
- [DOC] Create a glossary to explain all the concepts (#1275) @csouchet
- [DOC] Review Configuration vs Customization (#1285) @aibcmars
- [DOC] Replace 'diagram display' by 'BPMN rendering' (#1273) @csouchet
📦 Dependency updates
- [INFRA]: Bump hosted-git-info from 2.8.8 to 2.8.9 (#1296) @dependabot
- [INFRA]: Bump lodash from 4.17.19 to 4.17.21 (#1292) @dependabot
- [INFRA] dev - Bump lint-staged from 10.5.4 to 11.0.0 (#1290) @dependabot
- [INFRA] dev - Bump prettier from 2.2.1 to 2.3.0 (#1289) @dependabot
- [INFRA] dev - Bump eslint from 7.25.0 to 7.26.0 (#1288) @dependabot
- [INFRA] dev - Bump ts-jest from 26.5.5 to 26.5.6 (#1287) @dependabot
- [INFRA] dev - Bump postcss from 8.2.13 to 8.2.14 (#1291) @dependabot
- [INFRA] dev - Bump fs-extra from 9.1.0 to 10.0.0 (#1281) @dependabot
- [INFRA] dev - Bump rollup from 2.46.0 to 2.47.0 (#1280) @dependabot
- [INFRA] dev - Bump asciidoctor from 2.2.2 to 2.2.4 (#1240) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.22.0 to 4.22.1 (#1284) @dependabot
- [INFRA] dev - Bump @rollup/plugin-node-resolve from 11.2.1 to 13.0.0 (#1283) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.22.0 to 4.22.1 (#1282) @dependabot
- [INFRA] dev - Bump rollup from 2.45.2 to 2.46.0 (#1278) @dependabot
- [INFRA] dev - Bump cssnano from 5.0.1 to 5.0.2 (#1276) @dependabot
- [INFRA] dev - Bump jest-image-snapshot from 4.4.1 to 4.5.0 (#1277) @dependabot
👻 Maintenance
- [INFRA] Restore Typescript sourcemap for development (#1294) @tbouffard
- [FIX] Fix lint after bump of prettier library (#1295) @csouchet
- [TEST] Fix panning tests on webkit (#1237) @tbouffard
0.14.1
Improved documentation and tests, update of dependencies
This new release consists of:
- Documentation update
- Tests improvement
- Dependencies update
Thanks to all the contributors of this release 🌈: @csouchet and @tbouffard
See milestone 0.14.1 to get the list of issues covered by this release.
Highlights
Although no new functionality was introduced, the important improvement concerning Documentation, Tests, and update of dependencies were done.
What's Changed
📝 Documentation
- [DOC] Improve the Diagram Navigation paragraph in user documentation (#1258) @tbouffard
- [DOC] Improve the bpmn-visualization presentation sentence (#1255) @tbouffard
- [DOC] Fix typo on the example for the RemoveAllOverlays in the documentation (#1243) @csouchet
📦 Dependency updates
- [INFRA] dev - Bump typedoc from 0.20.35 to 0.20.36 (#1249) @dependabot
- [INFRA] dev - Bump postcss from 8.2.10 to 8.2.13 (#1253) @dependabot
- [INFRA] dev - Bump @types/jest from 26.0.22 to 26.0.23 (#1254) @dependabot
- [INFRA] dev - Bump tailwindcss from 2.1.1 to 2.1.2 (#1251) @dependabot
- [INFRA] dev - Bump jest-playwright-preset from 1.5.1 to 1.5.2 (#1252) @dependabot
- [INFRA] dev - Bump eslint-config-prettier from 8.2.0 to 8.3.0 (#1248) @dependabot
- [INFRA] dev - Bump eslint from 7.24.0 to 7.25.0 (#1250) @dependabot
- [INFRA] dev - Bump cssnano from 5.0.0 to 5.0.1 (#1246) @dependabot
- [INFRA] dev - Bump ts-jest from 26.5.4 to 26.5.5 (#1247) @dependabot
- [INFRA] dev - Bump rollup from 2.45.1 to 2.45.2 (#1241) @dependabot
- [INFRA] dev - Bump eslint-plugin-prettier from 3.3.1 to 3.4.0 (#1244) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.21.0 to 4.22.0 (#1245) @dependabot
- [INFRA] dev - Bump eslint-config-prettier from 8.1.0 to 8.2.0 (#1242) @dependabot
- [INFRA] dev - Bump husky from 5.1.3 to 6.0.0 (#1204) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.21.0 to 4.22.0 (#1239) @dependabot
👻 Maintenance
- [TEST] Improve thresholds configuration for overlay styles visual tests (#1235) @tbouffard
0.14.0
This new release focuses on the improvement of the API to add one or several Overlays, on implementation of the new API to remove all the overlays of a specific BPMN element, on adding automatic tests on Webkit, on the improvement of the coverage.
Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet, and @tbouffard
See milestone 0.14.0 to get the list of issues covered by this release.
Highlights
Add one or several Overlays
API
class BpmnElementsRegistry {
/**
* Add one/several overlays to a BPMN element.
*
* Notice that if you pass an id that is not related to an existing BPMN element, nothing happens on the rendering side.
*
* @param bpmnElementId The BPMN id of the element where to add the overlays
* @param overlays The overlays to add to the BPMN element
*/
addOverlays(bpmnElementId: string, overlays: Overlay | Overlay[]): void {
...
}
...
}
New position for Ovelay on Shape: top-center
, bottom-center
, middle-left
, middle-right
Position for Ovelay on Edge: start
, middle
, end
Usage
Add one or several Overlays, with default style, on an Edge of the BPMN Diagram
// Add an overlay to BPMN elements with id 'sequence_flow_1'
bpmnVisualization.bpmnElementsRegistry.addOverlays('sequence_flow_1', { position: 'middle', label: '40' });
// Add several overlays to BPMN element with id 'sequence_flow_3'
bpmnVisualization.bpmnElementsRegistry.addOverlays('sequence_flow_3', [{ position: 'end', label: '110' }, { position: 'start', label: '40' }]);
Add one or several stylized Overlays
// Add an overlay to BPMN elements with id 'task_1'
bpmnVisualization.bpmnElementsRegistry.addOverlays('task_1', {
position: 'top-left',
label: '40',
style: {
font: { color: 'Chartreuse', size: 8 },
fill: { color: 'Pink', opacity: 50 },
stroke: { color: 'DarkSeaGreen', width: 2 }
}
});
// Add several overlays to BPMN element with id 'task_3'
bpmnVisualization.bpmnElementsRegistry.addOverlays('task_3', [
{
position: 'bottom-right',
label: '110',
style: {
font: { color: '#663399', size: 8 },
fill: { color: '#FFDAB9', opacity: 50 },
stroke: { color: 'DarkSeaGreen', width: 2 }
}
},
{
position: 'top-left',
label: '40',
style: {
font: { color: 'MidnightBlue', size: 30 },
fill: { color: 'Aquamarine', opacity: 70 },
stroke: { color: '#4B0082', width: 1 }
}
}
]);
Rendering
Add one or several Overlays, with default style, on an Shape of the BPMN Diagram
Add one or several Overlays, with default style, on an Edge of the BPMN Diagram
Add one or several stylized Overlays
Remove all the overlays of a specific BPMN element
API
class BpmnElementsRegistry {
/**
* Remove all overlays of a BPMN element.
*
* <b>WARNING</b>: could be renamed when adding support for removal of one or several specific overlays.
*
* @param bpmnElementId The BPMN id of the element where to remove the overlays
*/
removeAllOverlays(bpmnElementId: string): void {
...
}
...
}
Usage
// all overlays of the BPMN element with id: activity_1
bpmnVisualization.bpmnElementsRegistry.removeAllOverlays('activity_1');
Automatic tests on Webkit
Github actions
The e2e tests are automatically run on Webkit on MacOs with Github actions on Pull request.
Locally
To execute the e2e tests on Webkit locally, run the following command:
BROWSERS=webkit npm run test:e2e
Coverage improvement
0.13.0
0.14.0
What's Changed
🧲 BPMN diagram usability
- [FEAT] Provide styling options for Overlay (#1218) @csouchet
- [FEAT] Add overlays on Edge (#1207) @aibcmars
- [FEAT] Remove all overlays of a given bpmn shape element (#1186) @csouchet
- [FEAT] Add new overlay positions (#1191) @tbouffard
📝 Documentation
- [DOC] Add various improvements (#1216) @tbouffard
📦 Dependency updates
- [INFRA] dev - Bump cssnano from 4.1.10 to 5.0.0 (#1229) @dependabot
- [INFRA] dev - Bump rollup from 2.44.0 to 2.45.1 (#1231) @dependabot
- [INFRA] dev - Bump postcss from 8.2.9 to 8.2.10 (#1233) @dependabot
- [INFRA] dev - Bump tailwindcss from 2.0.4 to 2.1.1 (#1228) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.20.0 to 4.21.0 (#1232) @dependabot
- [INFRA] dev - Bump eslint from 7.23.0 to 7.24.0 (#1230) @dependabot
- [INFRA] dev - Bump typed-mxgraph from 1.0.0 to 1.0.1 (#1224) @tbouffard
- [INFRA] dev - Bump @typescript-eslint/parser from 4.20.0 to 4.21.0 (#1226) @dependabot
- [INFRA] dev - Bump typescript from 4.2.3 to 4.2.4 (#1227) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.34 to 0.20.35 (#1220) @dependabot
- [INFRA] dev - Bump postcss from 8.2.8 to 8.2.9 (#1222) @dependabot
- [INFRA] dev - Bump jest-image-snapshot from 4.4.0 to 4.4.1 (#1219) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.19.0 to 4.20.0 (#1221) @dependabot
- [INFRA]: Bump y18n from 4.0.0 to 4.0.1 (#1215) @dependabot
- [INFRA] dev - Bump rollup from 2.42.2 to 2.44.0 (#1209) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.18.0 to 4.20.0 (#1213) @dependabot
- [INFRA] dev - Bump @rollup/plugin-node-resolve from 11.2.0 to 11.2.1 (#1210) @dependabot
- [INFRA] dev - Bump @types/jest from 26.0.21 to 26.0.22 (#1208) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.18.0 to 4.19.0 (#1200) @dependabot
- [INFRA] dev - Bump eslint from 7.22.0 to 7.23.0 (#1201) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.33 to 0.20.34 (#1205) @dependabot
- [INFRA] dev - Bump playwright from 1.9.2 to 1.10.0 (#1202) @dependabot
- [INFRA] dev - Bump asciidoctor from 2.2.1 to 2.2.2 (#1203) @dependabot
- [INFRA] dev - Bump rollup from 2.42.0 to 2.42.2 (#1189) @dependabot
👻 Maintenance
- [INFRA] Run WebKit e2e tests on macOS (#1197) @tbouffard
- [TEST] Simplify the directory layout of the shapes/edges overlay snapshots (#1225) @csouchet
- [TEST] Add overlays navigation visual tests (#1214) @csouchet
- [REFACTOR] Reorganize BpmnQuerySelectors usage (#1198) @tbouffard
- [INFRA] Simplify how workflows are triggered (#1153) @tbouffard
- [TEST] Refactor e2e tests for adding overlays (#1194) @csouchet
- [REFACTOR] Update types in mxCellRenderer overlays management (#1195) @tbouffard
- [REFACTOR] Don't use special prefix in private field name (#1196) @tbouffard
- [INFRA] Fix the trigger of the examples repository on release (#1192) @csouchet
- [TEST] Add more DOM integration tests (#1193) @tbouffard
0.13.0
This new release focuses on the documentation improvement and on the first implementation of the new API to add one or several Overlays on a Shape.
Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet and @tbouffard
See milestone 0.13.0 to get the list of issues covered by this release.
Highlights
API documentation
The internal types are no longer displayed on the API documentation.
Now, the API documentation is generated in the same time as the User documentation.
API to add one or several Overlays on a Shape of the BPMN Diagram
API
class BpmnElementsRegistry {
/**
* Add one/several overlays to a BPMN element.
*
* Notice that if you pass an id that is not related to an existing BPMN element, nothing happens on the rendering side.
*
*
* @param bpmnElementId The BPMN id of the element where to add the overlays
* @param overlays The overlays to add to the BPMN element
*/
addOverlays(bpmnElementId: string, overlays: Overlay | Overlay[]): void {
...
}
...
}
Usage
// Add an overlay to BPMN elements with id 'task_1'
bpmnVisualization.bpmnElementsRegistry.addOverlays('task_1', { position: 'top-left', label: '40' });
// Add several overlays to BPMN element with id 'task_3'
bpmnVisualization.bpmnElementsRegistry.addOverlays('task_3', [{ position: 'bottom-right', label: '110' }, { position: 'top-left', label: '40' }]);
Rendering
What's Changed
🧲 BPMN diagram usability
📝 Documentation
- [DOC] Rename the 'add overlays' API (#1190) @csouchet
- [DOC] Fix TSDoc example for the removeCssClasses API (#1185) @csouchet
- [INFRA] Hide types only used internally (#1084) @aibcmars
- [DOC] Improve the documentation for public API access (#1152) @csouchet
📦 Dependency updates
- [INFRA] dev - Bump typedoc from 0.20.32 to 0.20.33 (#1187) @dependabot
- [INFRA] dev - Bump rollup from 2.40.0 to 2.42.0 (#1176) @dependabot
- [INFRA] dev - Bump tailwindcss from 2.0.3 to 2.0.4 (#1177) @dependabot
- [INFRA] dev - Bump postcss from 8.2.7 to 8.2.8 (#1183) @dependabot
- [INFRA] dev - Bump @types/jest from 26.0.20 to 26.0.21 (#1184) @dependabot
- [INFRA] dev - Bump ts-jest from 26.5.3 to 26.5.4 (#1182) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.16.1 to 4.18.0 (#1175) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.16.1 to 4.18.0 (#1181) @dependabot
- [INFRA] dev - Bump eslint from 7.21.0 to 7.22.0 (#1156) @dependabot
- [INFRA]: Bump fast-xml-parser from 3.18.0 to 3.19.0 (#1155) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.30 to 0.20.32 (#1158) @dependabot
- [INFRA] dev - Bump playwright from 1.8.1 to 1.9.2 & jest-playwright-preset from 1.4.5 to 1.5.1 (#1147) @dependabot
- [INFRA] dev - Bump postcss from 8.2.6 to 8.2.7 (#1146) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.15.2 to 4.16.1 (#1151) @dependabot
- [INFRA] dev - Bump autoprefixer from 10.2.4 to 10.2.5 (#1150) @dependabot
- [INFRA] dev - Bump ts-jest from 26.5.2 to 26.5.3 (#1142) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.15.2 to 4.16.1 (#1149) @dependabot
- [INFRA] dev - Bump typescript from 4.1.5 to 4.2.3 (#1143) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.28 to 0.20.30 (#1144) @dependabot
👻 Maintenance
- [INFRA] Remove generated husky configuration files (#1164) @tbouffard
- [INFRA] Publish documentation preview for Pull Request (#1117) @tbouffard
0.12.2
This new release focuses on improving bpmn-visualization
internals.
Thanks to all the contributors of this release 🌈: @csouchet and @tbouffard
See milestone 0.12.2 to get the list of issues covered by this release.
Highlights
Dependencies
fast-xml-parser
, which is used to parse the BPMN xml source, has been upgraded from 3.17.6 to 3.18.0.
Internals
We now store parts of the BpmnModel
into memory and use it directly in BPMN elements retrieval (for instance, in BpmnElementsRegistry
) instead of relying on mxGraph
.
In the future, this will let bpmn-visualization
provide more features like
- diagram selection (#729 and #860)
- pools filtering (#592 and #859)
- search BPMN elements by name (or other criteria)
- more BPMN Semantic data associated to selected BPMN elements (#929)
Testing
We now rely on playwright instead of puppeteer to run tests relying on web browsers.
This allows to run frequent Firefox tests on windows and will allow to run tests on Safari soon.
What's Changed
🚀 BPMN support
- [FIX] Don't store 'edge without bpmn element' in the BpmnModel (#1113) @tbouffard
🐛 Bug Fixes
- [FIX] Don't store 'edge without bpmn element' in the BpmnModel (#1113) @tbouffard
🦾 Robustness
📝 Documentation
- [DOC] Improve the release process (#1091) @tbouffard
- [DOC] Update in progress features in the README (#1090) @tbouffard
📦 Dependency updates
- [INFRA] dev - Bump husky from 4.3.8 to 5.1.3 (#1101) @dependabot
- [INFRA] dev - Bump @typed-mxgraph/typed-mxgraph from 1.0.0-2 to 1.0.0 (#1132) @dependabot
- [INFRA] dev - Bump @types/jest-image-snapshot from 4.1.3 to 4.3.0 (#1128) @dependabot
- [INFRA] dev - Bump rollup-plugin-sizes from 1.0.3 to 1.0.4 (#1138) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.15.1 to 4.15.2 (#1137) @dependabot
- [INFRA] dev - Bump ts-jest from 26.5.1 to 26.5.2 (#1136) @dependabot
- [INFRA] dev - Bump eslint-config-prettier from 8.0.0 to 8.1.0 (#1135) @dependabot
- [INFRA] dev - Bump jest-image-snapshot from 4.3.0 to 4.4.0 (#1134) @dependabot
- [INFRA] dev - Bump eslint from 7.20.0 to 7.21.0 (#1133) @dependabot
- [INFRA] dev - Bump rollup from 2.39.0 to 2.40.0 (#1129) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.27 to 0.20.28 (#1130) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.15.1 to 4.15.2 (#1131) @dependabot
- [INFRA] dev - Bump rollup-plugin-copy from 3.3.0 to 3.4.0 (#1120) @dependabot
- [INFRA] dev - Bump eslint-config-prettier from 7.2.0 to 8.0.0 (#1126) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.15.0 to 4.15.1 (#1119) @dependabot
- [INFRA] dev - Bump rollup-plugin-typescript2 from 0.29.0 to 0.30.0 (#1125) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.25 to 0.20.27 (#1122) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.15.0 to 4.15.1 (#1121) @dependabot
- [INFRA] dev - Bump @rollup/plugin-node-resolve from 11.1.1 to 11.2.0 (#1100) @dependabot
- [INFRA] dev - Bump rollup from 2.38.5 to 2.39.0 (#1099) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.23 to 0.20.25 (#1111) @dependabot
- [INFRA] dev - Bump typescript from 4.1.3 to 4.1.5 (#1109) @dependabot
- [INFRA] dev - Bump eslint from 7.19.0 to 7.20.0 (#1110) @dependabot
- [INFRA] dev - Bump postcss from 8.2.5 to 8.2.6 (#1108) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.14.2 to 4.15.0 (#1105) @dependabot
- [INFRA] dev - Bump jest-sonar from 0.2.11 to 0.2.12 (#1106) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.14.2 to 4.15.0 (#1103) @dependabot
- [INFRA] dev - Bump ts-jest from 26.5.0 to 26.5.1 (#1102) @dependabot
- [INFRA] dev - Bump rollup from 2.38.4 to 2.38.5 (#1095) @dependabot
- [INFRA] dev - Bump tailwindcss from 2.0.2 to 2.0.3 (#1089) @dependabot
- [INFRA] dev - Bump @types/puppeteer from 5.4.2 to 5.4.3 (#1088) @dependabot
- [INFRA] dev - Bump postcss from 8.2.4 to 8.2.5 (#1093) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.20 to 0.20.23 (#1094) @dependabot
- [INFRA]: Bump fast-xml-parser from 3.17.6 to 3.18.0 (#1085) @dependabot
- [INFRA] dev - Bump lint-staged from 10.5.3 to 10.5.4 (#1086) @dependabot
👻 Maintenance
- [INFRA] Dispatch event to the examples repository in order to update it automatically on release (#1141) @csouchet
- [REFACTOR] Store part of the BpmnModel into memory for searches (#1115) @tbouffard
- [INFRA] Use playwright instead of puppeteer in end-to-end tests (#1097) @csouchet
- [INFRA] Publish demo preview for Pull Request (#1124) @csouchet
- [FIX] Fix the technical debt detected by Sonar (#1116) @csouchet
- [REFACTOR] Don't catch and only log warnings in the Json Parser (#1114) @tbouffard
0.12.1
This new release focuses on the export fixing to customize the BPMN rendering.
Thanks to all the contributors of this release 🌈: @aibcmars
No associated milestone
Highlights
API
Now, it's possible to access to the MxGraph object from the API: mxConstants.
What's Changed
👻 Maintenance
0.12.0
This new release focuses on new API to toggle CSS classes on elements of the BPMN Diagram, improvement of the library initialization, documentation improvements, improvement of the tests.
Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet and @tbouffard
See milestone 0.12.0 to get the list of issues covered by this release.
Highlights
API to toggle CSS classes on elements of the BPMN Diagram
API
class BpmnElementsRegistry {
/**
* Toggle one/several CSS class(es) for one/several BPMN element(s).
* Notice that if you pass ids that are not related to existing BPMN elements, their reference will be kept within the registry but nothing happens on the rendering side.
*
* @param bpmnElementIds The BPMN id of the element(s) where to remove the CSS classes
* @param classNames The name of the class(es) to remove from the BPMN element(s)
*/
toggleCssClasses(bpmnElementIds: string | string[], classNames: string | string[]): void;{
...
}
...
}
Usage
// Toggle 'highlight' for BPMN elements with id: activity_1 and activity_2
bpmnVisualization.bpmnElementsRegistry.toggleCssClasses(['activity_1', 'activity_2'], 'highlight');
// Toggle 'running' and 'additional-info' for BPMN element with id: task_3
bpmnVisualization.bpmnElementsRegistry.toggleCssClasses('task_3', ['running', 'additional-info']);
Library initialization
No need for a configuration file for mxGraph.
Before
<!-- load global settings for mxGraph -->
<script src="static/js/configureMxGraphGlobals.js"></script>
<!-- load mxGraph client library -->
<script src="./static/js/mxClient.min.js"></script>
<!-- load demo -->
<script src="index.esm.js" type="module"></script>
Now
<!-- load demo -->
<script src="index.esm.js" type="module"></script>
Test
Now, it's possible to run the End-to-End tests on Firefox.
To use Firefox instead of Chromium, use a PUPPETEER_PRODUCT
environment variable: first install Firefox for Puppeteer, then configure Puppeteer to use Firefox.
On Linux or macOS
# install Firefox for Puppeteer
PUPPETEER_PRODUCT=firefox npm install puppeteer
# Run tests with Firefox
PUPPETEER_PRODUCT=firefox npm run test:e2e
On Windows using cmd
⚠️ for some reasons, tests on Windows are working only in modeheadless: false
(update test/e2e/jest-puppeteer.config.js
or use extra environment variable, see below)⚠️ there is no space betweenfirefox
and&&
set PUPPETEER_PRODUCT=firefox&& npm install puppeteer
set PUPPETEER_PRODUCT=firefox&& npm run test:e2e
GitHub workflow
- Use of npm cache
- Manual publishing to gh-pages
Examples
With the new API, the customized view is persistent (before the added classes were disappearing on panning/zooming as mxGraph redraws everything).
What's Changed
🧲 BPMN diagram usability
- [FEAT] Add new API to toggle CSS classes for BPMN elements (#1058) @aibcmars
- [FEAT] Add new API to remove CSS classes from BPMN elements (#1045) @tbouffard
📝 Documentation
- [DOC] Document the release process as BPMN diagram (#1064) @tbouffard
- [DOC] Document the minimum public API (#1060) @aibcmars
- [DOC] example tsdoc for addCssClasses method (#1055) @aibcmars
📦 Dependency updates
- [INFRA] dev - Bump @rollup/plugin-node-resolve from 11.1.0 to 11.1.1 (#1079) @dependabot
- [INFRA] dev - Bump rollup from 2.38.0 to 2.38.4 (#1077) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.18 to 0.20.20 (#1066) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.14.0 to 4.14.2 (#1078) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.14.1 to 4.14.2 (#1080) @dependabot
- [INFRA] dev - Bump eslint from 7.18.0 to 7.19.0 (#1068) @dependabot
- [INFRA] dev - Bump ts-jest from 26.4.4 to 26.5.0 (#1072) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.14.0 to 4.14.1 (#1069) @dependabot
- [INFRA] dev - Bump autoprefixer from 10.2.3 to 10.2.4 (#1067) @dependabot
- [INFRA] dev - Bump autoprefixer from 10.2.1 to 10.2.3 (#1048) @dependabot
- [INFRA] dev - Bump rollup from 2.36.2 to 2.38.0 (#1051) @dependabot
- [INFRA]: Bump entities from 2.1.0 to 2.2.0 (#1053) @dependabot
- [INFRA] dev - Bump typedoc from 0.20.16 to 0.20.18 (#1052) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.13.0 to 4.14.0 (#1050) @dependabot
- [INFRA] dev - Bump eslint-config-prettier from 7.1.0 to 7.2.0 (#1049) @dependabot
- [INFRA] dev - Bump fs-extra from 9.0.1 to 9.1.0 (#1046) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.13.0 to 4.14.0 (#1047) @dependabot
👻 Maintenance
- [TEST] Run e2e tests on Firefox (#1076) @tbouffard
- [TEST] Generate visual test diff images close to test reports (#1083) @tbouffard
- [INFRA] Fix bad path in perf tests (#1075) @aibcmars
- [TEST] Fix timeout configuration for Puppeteer on MacOs (#1074) @csouchet
- [INFRA] Use npm cache in GitHub workflows (#1061) @tbouffard
- [INFRA] Use mxgraph npm package directly (#1040) @tbouffard
- [TEST] Add xml parsing test for Bonita Community 2021.1 (#1063) @tbouffard
- [TEST] Split integration, performance and end-to-end tests (#1056) @tbouffard
- [REFACTORING] Refactor BpmnElementsRegistry methods for css classes (#1059) @aibcmars
- [INFRA] Allow to publish documentation to gh-pages manually (#1057) @tbouffard
- [REFACTORING] Add CSS classes to BPMN elements (#1043) @csouchet
- [INFRA] Generate documentation on demand with GH workflows (#1054) @tbouffard
0.11.0
This new release focuses on new API to add CSS classes on elements of the BPMN Diagram, improvement of the library initialization, new bundle, new documentation for public API, and new workflow to add security check with GitHub CodeQL.
Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet and @tbouffard
See milestone 0.11.0 to get the list of issues covered by this release.
Highlights
Library initialization
Before
class BpmnVisualization {
constructor(protected container: HTMLElement, options?: GlobalOptions) {
...
}
...
}
interface GlobalOptions {
mouseNavigationSupport: boolean;
zoomConfiguration: ZoomConfiguration;
}
Now
class BpmnVisualization {
constructor(options: GlobalOptions) {
...
}
...
}
interface GlobalOptions {
/** The id of a DOM element or an HTML node where the BPMN diagram is rendered. */
container: string | HTMLElement;
/** Control the BPMN diagram navigation i.e. panning and zoom. */
navigation?: NavigationConfiguration;
}
interface NavigationConfiguration {
/**
* @default false
*/
enabled: boolean;
/** Tune how the zoom behaves when using the mouse wheel or with gesture/pinch on touch devices. */
zoom: ZoomConfiguration;
}
API to add CSS classes on elements of the BPMN Diagram
API
class BpmnElementsRegistry {
/**
* Add one/several CSS class(es) to one/several BPMN element(s)
*
* @param bpmnElementIds The BPMN id of the element(s) where to add the CSS classes
* @param classNames The name of the class(es) to add to the BPMN element(s)
*/
addCssClasses(bpmnElementIds: string | string[], classNames: string | string[]): void {
...
}
...
}
Usage
const bpmnVisualization = new BpmnVisualization({ containerId: 'my_id' });
bpmnVisualization.bpmnElementsRegistry.addCssClasses(bpmnElementId, classNames);
Non minified IIFE bundle
Before
Minified IIFE
Available in dist/bpmn-visualization.js
Non minified IIFE
Now
Minified IIFE
Available in dist/bpmn-visualization.min.js
Non minified IIFE
Available in dist/bpmn-visualization.js
Documentation of Public API
A HTML documentation is generated in build/docs/api from src/api/public/api.ts with npm run api-docs
or the new workflow generate-documentation-api.
It is available on Github pages.
What's Changed
🧲 BPMN diagram usability
⤵️ Library Integration
- [REFACTOR] simplify signature of IconPainter methods (#1002) @tbouffard
- [REFACTOR] Rework bpmn-visualization Global Options (#1022) @tbouffard
- [FEAT] Provide a non minified IIFE bundle (#997) @tbouffard
📝 Documentation
- [DOC] Fix TSDoc in BpmnElementsRegistry (#1042) @aibcmars
- [FEAT] Document the public API (#1038) @aibcmars
- [DOC] Add information for code coverage (#1033) @csouchet
- [DOC] Improve lib usage in the README (#1037) @tbouffard
📦 Dependency updates
- [INFRA] dev - Bump rollup from 2.36.1 to 2.36.2 (#1026) @dependabot
- [INFRA] dev - Bump @rollup/plugin-node-resolve from 11.0.1 to 11.1.0 (#1028) @dependabot
- [INFRA] dev - Bump husky from 4.3.7 to 4.3.8 (#1031) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.12.0 to 4.13.0 (#1027) @dependabot
- [INFRA] dev - Bump eslint from 7.17.0 to 7.18.0 (#1029) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.12.0 to 4.13.0 (#1025) @dependabot
- [INFRA] dev - Bump rollup from 2.35.1 to 2.36.1 (#1018) @dependabot
- [INFRA] dev - Bump postcss from 8.2.2 to 8.2.4 (#1016) @dependabot
- [INFRA] dev - Bump eslint-plugin-prettier from 3.3.0 to 3.3.1 (#1015) @dependabot
- [INFRA] dev - Bump autoprefixer from 10.1.0 to 10.2.1 (#1011) @dependabot
- [INFRA] dev - Bump husky from 4.3.6 to 4.3.7 (#1017) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.11.1 to 4.12.0 (#1012) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.11.1 to 4.12.0 (#1013) @dependabot
👻 Maintenance
- [REFACTORING] Introduce an array utils (#1044) @csouchet
- [INFRA] Add CodeQL analysis GitHub Workflow (#1032) @tbouffard
- [TEST] Add more BPMN rendering visual tests for labels and waypoints (#1023) @tbouffard
- [INFRA] Remove extra node installation check step in GitHub workflows (#1034) @tbouffard
- [INFRA] Fix release-drafter template (#1036) @tbouffard
- [TEST] Add automatic bundle tests (#1010) @tbouffard
- [INFRA] Split build output directories (#1004) @tbouffard
- [REFACTOR] Use a single way to load diagram in visual tests (#969) @csouchet
- [INFRA] Update the .eslintignore configuration (#1021) @tbouffard
- [FIX] Fix visual tests on MacOs (#1019) @csouchet
0.10.0
This new release focuses on refactoring, a new API (select elements by kind), and several new examples. New rendering for the event-based gateway is available.
Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet, @tbouffard
See milestone 0.10.0 to get the list of issues covered by this release.
Highlights
Event-based gateway
API - Search elements by BPMN Kinds
The following example shows how to display only the desired Pools within a diagram (either by hiding either collapsing all other pools).
What's Changed
🚄 BPMN rendering
- [FEAT] Render event-based gateway (#1001) @tbouffard
🧲 BPMN diagram usability
- [FEAT] Do not trigger panning on right click (#1003) @tbouffard
- [FEAT] Add API to search elements by BPMN Kinds (#954) @tbouffard
- [FEAT] distinguish class name for label elements (#956) @aibcmars
📝 Documentation
- [DOC] fix link to example in README (#957) @tbouffard
📦 Dependency updates
- [INFRA] dev - Bump @types/jest from 26.0.19 to 26.0.20 (#1014) @dependabot
- [INFRA] dev - Bump postcss from 8.2.1 to 8.2.2 (#1000) @dependabot
- [INFRA] dev - Bump eslint from 7.16.0 to 7.17.0 (#999) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.11.0 to 4.11.1 (#989) @dependabot
- [INFRA] dev - Bump postcss from 8.1.9 to 8.2.1 (#988) @dependabot
- [INFRA] dev - Bump @typescript-eslint/parser from 4.8.2 to 4.11.1 (#986) @dependabot
- [INFRA] dev - Bump eslint-config-prettier from 7.0.0 to 7.1.0 (#987) @dependabot
- [INFRA] dev - Bump eslint from 7.14.0 to 7.16.0 (#977) @dependabot
- [INFRA] dev - Bump eslint-plugin-prettier from 3.2.0 to 3.3.0 (#984) @dependabot
- [INFRA] dev - Bump typescript from 4.1.2 to 4.1.3 (#983) @dependabot
- [INFRA] dev - Bump tailwindcss from 2.0.1 to 2.0.2 (#982) @dependabot
- [INFRA] dev - Bump @types/jest from 26.0.16 to 26.0.19 (#981) @dependabot
- [INFRA] dev - Bump fast-xml-parser from 3.17.4 to 3.17.6 (#978) @dependabot
- [INFRA] dev - Bump postcss-cli from 8.3.0 to 8.3.1 (#976) @dependabot
- [INFRA] dev - Bump cross-env from 7.0.2 to 7.0.3 (#979) @dependabot
- [INFRA] dev - Bump husky from 4.3.0 to 4.3.6 (#975) @dependabot
- [INFRA] dev - Bump asciidoctor from 2.2.0 to 2.2.1 (#974) @dependabot
- [INFRA] dev - Bump rollup from 2.34.0 to 2.35.1 (#972) @dependabot
- [INFRA] dev - Bump @rollup/plugin-node-resolve from 11.0.0 to 11.0.1 (#962) @dependabot
- [INFRA] dev - Bump autoprefixer from 10.0.4 to 10.1.0 (#960) @dependabot
- [INFRA] dev - Bump node-notifier from 8.0.0 to 8.0.1 (#963) @dependabot
- [INFRA] dev - Bump jest-image-snapshot from 4.2.0 to 4.3.0 (#961) @dependabot
- [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 4.8.1 to 4.11.0 (#964) @dependabot
- [INFRA] dev - Bump @types/puppeteer from 5.4.1 to 5.4.2 (#958) @dependabot
👻 Maintenance
- [TEST] Generate local html coverage report (#1006) @tbouffard
- [REFACTOR] Remove mxgraph code related to error management (#1009) @tbouffard
- [REFACTOR] Remove MxClientConfigurator (#1007) @tbouffard
- [TEST] Add XML Parser tests (#1005) @tbouffard
- [INFRA] Simplify rollup plugins management (#998) @tbouffard
- [REFACTOR] Split visual test helpers (#968) @csouchet
- [REFACTOR] Refactor Visual Tests for Zoom (#967) @csouchet
- [REFACTOR] Simplify the initialization page on visual tests (#966) @csouchet
- [REFACTOR] Simplify BPMN Container management in Visual tests (#965) @csouchet
- [TEST] Add visual tests for association complex paths (#985) @tbouffard