process-analytics / bpmn-visualization-js

A TypeScript library for visualizing process execution data on BPMN diagrams
https://process-analytics.github.io/bpmn-visualization-js/
Apache License 2.0
224 stars 31 forks source link

[BUG] Boundary Event of a task in a Expanded Call Activity is partially hidden #2247

Open tbouffard opened 2 years ago

tbouffard commented 2 years ago

Describe the bug The boundary events of a task in a expanded call activity are displayed below the task, whereas they should be displayed on top of it to be fully visible.

To Reproduce Steps to reproduce the behavior:

  1. Go to https://cdn.statically.io/gh/process-analytics/bpmn-visualization-examples/v0.26.1/demo/load-and-navigation/index.html
  2. Load the B.2.0 miwg reference file
  3. The boundary event of the User Task 13 located in the "Expanded Call Activity" is below the task, so it is not fully displayed

Expected behavior The boundary event was correctly displayed with bpmn-visualization@0.26.0. The issue occurs with bpmn-visualization@0.26.1

Screenshots

demo v0.26.0 demo v0.26.1
B 2 0_expanded_call_activity_task_boundary-events_01_v0 26 0_ok B 2 0_expanded_call_activity_task_boundary-events_02_v0 26 1_behind

Desktop (please complete the following information):

Additional context May have been introduced in the refactoring about participants #2129. I also did some manual tests with subprocesses and at a first glance, there is no issue. To be confirmed with new tests. I used https://github.com/process-analytics/bpmn-visualization-examples/blob/v0.26.1/bpmn-files/subprocesses.bpmn (a task with a boundary event in a subprocess included in a main subprocess)

The issue can be easily reproduced with automatic visual tests

It can be also done with unit tests about the internal Model by ensuring that the boundary events are added/placed after the other elements in the list of flownodes. AFAIK, we already have some tests about that but probably none involving expanded call activities.

csouchet commented 2 years ago

Good catch 👍🏻