Philipp Fromme
d6b8acc715
fix(copy-paste): copy name property
...
Closes #921
2019-08-08 07:50:23 +00:00
Philipp Fromme
194b963959
chore(copy-paste): rework and base upon diagram-js@5
...
* use <copyPaste.canCopyProperty> event to copy category value when copying group
* add camunda-bpmn-moddle for integration tests
BREAKING CHANGES
* CopyPaste: remove <property.clone>, add <moddleCopy.canCopyProperties>, <moddleCopy.canCopyProperty>, <moddleCopy.canSetCopiedProperty>
* BpmnRules: removed <elements.paste> rule in favor of <elements.create> rule
* BpmnRules: removed <element.paste> rule
* ElementFactory: use <attrs.di> property instead of <attrs.colors> for fill and stroke when creating element through ElementFactory#createBpmnElement
2019-08-07 16:03:55 +00:00
Philipp Fromme
14bf3a32ee
feat(create): create multiple elements
...
* add <elements.create> rule for creating multiple elements
* handle creating multiple elements in CreateParticipantBehavior
* create sub process with start event through palette
2019-08-07 16:03:55 +00:00
Nico Rehwaldt
1f706fd9b8
Merge branch 'master' into develop
2019-08-05 14:14:07 +02:00
Niklas Kiefer
5d5f33c38b
fix(create-participant-behavior): ensure available children
...
* Ensure there are leftover children to calculate createConstraints
Closes #1133
2019-08-05 09:56:18 +00:00
Maciej Barelkowski
4ca0a6c9fb
Merge branch 'master' into develop
2019-07-22 15:37:51 +02:00
Nico Rehwaldt
e7d66b4461
fix(rules): disallow dropping on labels and groups
...
* test create
* disallow drop on label
* disallow drop on group
* verify create group everywhere
Required by https://github.com/camunda/camunda-modeler/issues/1431
2019-07-22 15:37:07 +02:00
Philipp Fromme
d0044f8313
fix(graphics-factory): add test case verifying fix
...
Related to #1129
2019-07-18 15:46:08 +02:00
Philipp Fromme
ab56fc21ad
feat(modeling): prevent accidential dragging of container elements
...
This implements custom hit areas for participants, lanes and
expanded subprocesses.
Given these changes, users need to grab container elements
on the boarder or the label area to move them.
Closes https://github.com/bpmn-io/bpmn-js/issues/957
2019-07-18 15:42:05 +02:00
Maciej Barelkowski
9ee90ef089
fix(modeling): correctly create connection replacement
...
Closes https://github.com/bpmn-io/bpmn-js/issues/1072
2019-07-02 12:21:49 +00:00
Maciej Barelkowski
23505a4783
Revert "feat(modeling): prevent accidential dragging of container elements"
...
This reverts commit 7b0e304062
.
Related to https://github.com/camunda/camunda-modeler/issues/1416
Opens https://github.com/bpmn-io/bpmn-js/issues/957
2019-07-02 08:12:41 +00:00
Niklas Kiefer
9e52e4ee3e
feat(group-behavior): set copied name value to pasted group elements
...
Closes camunda/camunda-modeler#1417
2019-07-02 07:42:22 +00:00
Niklas Kiefer
e31c4d13ed
chore(copy-paste): ensure pasted group has new category value
...
Relates to camunda/camunda-modeler#1417
2019-07-02 07:42:22 +00:00
Niklas Kiefer
b7d6d62184
feat(label-behavior): correctly retrieve label from element
...
Relates to camunda/camunda-modeler#1417
2019-07-02 07:42:22 +00:00
Maciej Barelkowski
9c063f867b
feat(Viewer): restore Viewer#importDefinitions
...
This was removed in f8f9334, but it occurred that
the method is used productively by some of the clients.
This commit restores the method as part of public API.
Use `Viewer#importDefinitions` to import previously
parsed definitions. Now it is also possible to pass
the diagram or diagram id to be rendered during
graphical import.
2019-06-28 10:26:58 +02:00
Maciej Barelkowski
ff45cab7c1
test(Viewer): correctly call done
2019-06-28 10:26:58 +02:00
Nico Rehwaldt
3b4251967d
feat(snapping): add TRBL snapping against containers
...
Adds TRBL snapping with containers only.
Closes #1104
2019-06-27 13:09:22 +00:00
Nico Rehwaldt
fdb299dc88
feat(modeling): allow to drag participant via nested lane
...
Related to https://github.com/bpmn-io/bpmn-js/issues/957
2019-06-25 18:01:40 +02:00
Philipp Fromme
7b0e304062
feat(modeling): prevent accidential dragging of container elements
...
This implements custom hit areas for participants, lanes and
expanded subprocesses.
Given these changes, users need to grab container elements
on the boarder or the label area to move them.
Closes https://github.com/bpmn-io/bpmn-js/issues/957
2019-06-25 18:01:40 +02:00
Maciej Barelkowski
890e466161
fix(bpmn-rules): allow to drop Boundary Events only on containers
...
Closes https://github.com/bpmn-io/bpmn-js/issues/1095
2019-06-24 13:47:08 +00:00
Niklas Kiefer
827df52e4b
test(modeling): add test for center-to-center connection
...
Relates to #1087
2019-06-19 13:26:17 +00:00
Niklas Kiefer
9b9ff934d2
feat(snapping): snap to task mid on center interaction
...
Closes #1086
2019-06-19 13:26:17 +00:00
Niklas Kiefer
cfad2f49aa
feat(snapping): restore center snapping for Gateways and Events
...
Closes #1079
2019-06-19 13:26:17 +00:00
Nico Rehwaldt
19be51abc7
feat(modeling): ignore lanes when connecting message flows
...
Closes #950
Related to camunda/camunda-modeler#1213
2019-06-18 07:07:03 +00:00
Nico Rehwaldt
055fdf75e1
feat(modeling): allow label and group movement everywhere, round two
...
This partially reverts 0c0932d4c6f54181d7f06a626ef109ae7c00dccb.
Closes #1076
2019-06-18 07:07:03 +00:00
Nico Rehwaldt
5a69f9c0bc
chore(modeling/behavior): rename Create -> FixHover behavior
2019-06-18 07:07:03 +00:00
Philipp Fromme
bef75b2435
fix(snapping): snap to docking points
...
Closes #1081
2019-06-17 18:54:28 +00:00
Nico Rehwaldt
06cd481146
fix(grid-snapping): correctly update snapped waypoints
...
* make side-effect free
* use Modeling#updateWaypoints for actual update
2019-06-17 12:34:09 +00:00
Niklas Kiefer
405669e376
feat(bpmn-rules): ignore labels movement visually
...
* Set canMove to null if external label
Closes #1054
2019-06-13 08:44:41 +00:00
Maciej Barelkowski
a09e0a3bed
feat(bpmn-snapping): snap boundary event loop when close to source
...
Closes #903
2019-06-12 20:46:39 +02:00
Maciej Barelkowski
085cedfda1
feat(layout): correctly lay out Boundary Event loops
...
Loops will now be laid out with respect to minimum
second segment width.
2019-06-12 20:46:39 +02:00
Maciej Barelkowski
d80076a034
feat(bpmn-snapping): snap inside the target instead of target center
2019-06-12 20:46:39 +02:00
Maciej Barelkowski
eadc1fb159
test(layout): remove awesome test
2019-06-12 20:46:39 +02:00
Maciej Barelkowski
6eba64d666
test(layout): extract boundary event loop tests
2019-06-12 20:46:39 +02:00
Niklas Kiefer
144157f9eb
feat(label-behavior): move external label after resizing
...
* Generate reference point for external label
* Adjust label position after resizing due to reference point delta
Closes #1051
2019-06-11 22:15:18 +00:00
Niklas Kiefer
4777b42f63
chore(label-behavior): move test file
...
* Adjust to fit the existing behavior test file structure
2019-06-11 22:15:18 +00:00
Maciej Barelkowski
debb96f49d
test(modeling): ensure reconnecting data association works
...
Closes #1008
2019-06-06 17:42:48 +00:00
Maciej Barelkowski
dd3d7e9c64
fix(modeling): fix selection during reconnection with replacement
...
Closes #896
2019-06-06 09:10:56 +00:00
Maciej Barelkowski
4c10420017
feat(modeling): replace connection with correct type if rules allow
...
As a side effect, this corrects also the layout of the replacement.
Closes #1049
2019-06-06 09:10:56 +00:00
Philipp Fromme
8815b73599
feat(grid-snapping): snap width and height on create first participant
...
Closes #1061
2019-06-05 15:50:47 +02:00
Philipp Fromme
a98c8e3bc8
chore(bpmn-snapping): seperate snapping into create/move and connect
...
* move create/move snapping to BpmnCreateMoveSnapping
* move connect snapping to BpmnConnectSnapping
* refactor tests
Related camunda/camunda-modeler#1290
2019-06-05 14:36:39 +02:00
Philipp Fromme
a4e160c48b
chore(bpmn-snapping): move create behavior to seperate behavior
2019-06-05 14:36:39 +02:00
Philipp Fromme
d42d5e3448
chore(resize-behavior): move resize behavior to seperate behavior
...
* setting minimum bounds and resize constraints moved to ResizeBehavior
Related to #1290
2019-06-05 14:36:39 +02:00
Philipp Fromme
ca12ac91a4
chore(bpmn-snapping): move participant fitting to participant behavior
...
Related to #1290
2019-06-05 14:36:39 +02:00
Niklas Kiefer
8862865e2a
feat(modeling): improve label positioning for boundary events
...
* Do not allow placing label onto host
Relates to camunda/camunda-modeler#1206
2019-06-05 06:04:42 +00:00
Maciej Barelkowski
2804e559e9
test(layout): skip connection preview test for create
2019-06-04 19:46:05 +02:00
Nico Rehwaldt
0a6cecc609
feat(modeling): lay out connection once per event attachment
2019-06-04 17:44:47 +00:00
Maciej Barelkowski
d14e3735a4
test(layout): verify attached event connection layout
2019-06-04 17:44:47 +00:00
Maciej Barelkowski
9dbc3c88df
feat(modeling): allow to attach intermediate event with connections
...
Closes #478
2019-06-04 17:44:47 +00:00
Maciej Barelkowski
33f9e7be6e
feat(modeling): allow to attach events with event definition
...
This feature is allowed only for events which have their boundary
counteparts, i.e. intermediate throw, message catch, timer catch,
signal catch and conditional catch events.
2019-06-04 17:44:47 +00:00
Maciej Barelkowski
1e9aceecd7
feat(modeling): create boundary event via moving intermediate event
2019-06-04 17:44:47 +00:00
Maciej Barelkowski
c1052383da
feat(modeling): layout connection once per detachment
2019-06-04 16:07:13 +02:00
Maciej Barelkowski
4d6c8586e4
feat(modeling): allow to detach Boundary Events
...
Closes #1045
2019-06-04 16:07:13 +02:00
Maciej Barelkowski
ecf9118a09
style(bpmn-replace): lint tests
2019-06-04 16:07:13 +02:00
Maciej Barelkowski
66bc72d5e3
test(modeling): remove doubled module in test setup
2019-06-04 16:07:13 +02:00
Maciej Barelkowski
ba5bf31e42
fix(bpmn-rules): correctly evaluate waypoints update rule
...
Closes #1048
2019-06-03 09:56:39 +00:00
Gustavo E. Jimenez Folta
3a0f044d9e
feat(modeling): add subprocess with start event included
...
When:
1. Creating expanded subprocess from palette.
2. Replacing task with expanded subprocess.
2019-05-29 16:05:22 +02:00
Philipp Fromme
9e5a5f4944
fix(layout-connection-behavior): do NOT snap on reconnect start and end
...
Closes #1056
2019-05-29 09:46:30 +00:00
Gustavo E. Jimenez Folta
bc5a3f803e
revert: feat(modeling): prevent expanded subprocess overlap of previous content
...
This reverts commit 05fea05834
.
2019-05-29 11:23:41 +02:00
Gustavo E. Jimenez Folta
68635fcb33
revert: test(modeling/behavior): remove unnecessary sinon usage
...
This reverts commit 82dbcc9451
.
2019-05-29 11:23:29 +02:00
Niklas Kiefer
643ca2193c
fix(snapping): prevent participants snap to group bounds
2019-05-29 06:42:54 +00:00
Niklas Kiefer
46c5a8cb36
fix(ordering): render group elements on collaboration level
...
Closes #1043
2019-05-29 06:42:54 +00:00
Niklas Kiefer
93a4a579dd
feat(label-editing): create categoryValue if not exist
...
Relates to #955
2019-05-28 06:46:53 +00:00
Niklas Kiefer
fb3398fa39
feat(label-editing): enable direct editing for group labels
...
* Adds external label for Groups
* Modifies referenced categoryValue
Closes #955
2019-05-28 06:46:53 +00:00
Niklas Kiefer
f6f9ac29f2
chore(draw): remove internal label for groups
2019-05-28 06:46:53 +00:00
Philipp Fromme
bc4b6cbfd8
fix(tests): fix custom elements tests
...
* in the context of bpmn-js returning true when asked wether two elements can be connected is not sufficient
* remove BpmnConnectionPreview since it's not needed after tests are fixed
Closes #1034
2019-05-23 18:26:12 +02:00
Niklas Kiefer
92640b9c06
test(group-behavior): add test for existing categoryValueRef
2019-05-23 15:12:38 +02:00
Niklas Kiefer
a7e3980059
feat(modeling/behaviors): add GroupBehavior
...
* Create new Category + Value for every new Group
* Cleanup on Group deletion
2019-05-23 15:12:38 +02:00
Niklas Kiefer
20f6d9ab03
feat(palette): add group-entry
...
Closes #954
2019-05-23 15:12:38 +02:00
Niklas Kiefer
1575b5b26f
fix(copy-paste): adjust categoryValueRef when group is copied
...
Closes #958
2019-05-20 07:56:27 +00:00
Nico Rehwaldt
576a3dec15
fix(rules): do not allow message flows to outside diagram shapes
...
Closes #1033
2019-05-17 11:01:29 +00:00
Maciej Barelkowski
87bfe23ff8
feat(connection-preview): support general connection preview
...
Closes #744
2019-05-17 11:15:06 +02:00
Maciej Barelkowski
654fa067d4
test(modeling): verify re-connect preview layout
2019-05-17 11:15:06 +02:00
Gustavo E. Jimenez Folta
82dbcc9451
test(modeling/behavior): remove unnecessary sinon usage
2019-05-16 15:25:15 +02:00
Philipp Fromme
05fea05834
feat(modeling): prevent expanded subprocess overlap of previous content
...
This covers two scenarios:
1. When a shape is replaced with an expanded subprocess
2. When a subprocess is toggled from collapsed to expanded
Only when:
1. There are incoming sequence flows (previous content)
2. There are no outgoing sequence flows (following content)
2019-05-15 16:57:32 +02:00
Philipp Fromme
62d7746e81
feat(bpmn-snapping): snap shape to itself
...
Closes #993
2019-05-13 07:25:26 +00:00
Philipp Fromme
8b4ddd53c0
chore(bpmn-auto-resize): add test
2019-05-10 07:22:51 +00:00
Maciej Barelkowski
2bdb36919d
test(modeling): verify connection preview layout
2019-05-09 14:12:37 +00:00
Philipp Fromme
2335282a82
fix(bpmn-create-connect-preview): override #getConnection
2019-05-09 14:12:37 +00:00
Maciej Barelkowski
48fcececbf
test(layout): add integration test for connection preview
2019-05-08 12:59:27 +00:00
Niklas Kiefer
883d6c8ad3
test(ResizeShape): add test coverage
...
* Restructure tests to make them more clear
* Add tests for businessObject updates (especially groups)
2019-05-07 14:36:32 +02:00
Philipp Fromme
175e395768
feat(ordering): always render groups on top
...
Closes #979
2019-05-07 14:36:32 +02:00
Niklas Kiefer
bf2dfe4338
feat(rules): add resizing of groups
...
Closes #956
2019-05-07 14:36:32 +02:00
Niklas Kiefer
89886d7c12
feat(ElementFactory): add #isFrame property on group creation
...
This allows basic support for diagram-js frame elements.
Closes #959
Closes #960
2019-05-07 14:36:32 +02:00
Philipp Fromme
13f1e05ee7
feat(grid-snapping): integrate with connection layout
...
Closes #1010
Related to #973
2019-05-07 10:08:35 +02:00
Gustavo E. Jimenez Folta
424a05a18a
feat(modeling): correctly handle event based gateway connections
...
Handles two new scenarios:
1. A user wants to connect an event-based gateway to an event-based
gateway target with existing incoming sequence flows. The existing
sequence flows are removed before connecting the new one.
2. A user wants to replace a gateway, that is already connected to
event-based gateway targets, with an event-based gateway. The existing
incoming sequence flows of the targets, which do not belong to the
newly replaced event-based gateway, are removed before the replacement
operation finishes.
This is because target elements in an event gateway configuration
must not have any additional incoming sequence flows other than
that from the event gateway.
2019-05-06 12:41:11 +02:00
Gustavo E. Jimenez Folta
b6e9c2186a
fix(BpmnRules): update canConnectSequenceFlow()
...
This prevents multiple incoming sequence flows to target events of an
event-based gateway when the connection source is not an event-based
gateway.
2019-05-06 12:41:11 +02:00
Philipp Fromme
867b41c04f
feat(grid-snapping): integrate grid snapping with auto place feature
...
Closes #1003
2019-04-30 09:32:42 +00:00
Nico Rehwaldt
d73ffd5991
style(tests): adopt cleaner pattern
2019-04-29 12:04:01 +00:00
Nico Rehwaldt
5affe25705
feat(modeling): adjust default collapsed participant height to 60px
...
This better aligns our collapse behavior with other tools.
2019-04-29 12:04:01 +00:00
Nico Rehwaldt
02848564cf
test(grid-snapping): use bound matcher
2019-04-26 18:31:36 +00:00
Philipp Fromme
fa2e472361
feat(grid-snapping): integrate auto resize
...
Related to camunda/camunda-modeler#1344
Related to camunda/camunda-modeler#1349
2019-04-26 18:31:36 +00:00
Philipp Fromme
3b756e0725
feat(grid-snapping): snap resizable elements top-left
...
Related to camunda/camunda-modeler#1344
2019-04-26 18:31:36 +00:00
Nico Rehwaldt
2935b23ee4
test(modeling/behavior): reorganize label positioning behavior specs
2019-04-25 16:27:58 +02:00
Maciej Barelkowski
06ffc9d407
fix(modeling/BpmnLayouter): properly lay out boundary event connections
...
Closes #891
2019-04-24 11:56:01 +00:00
Gustavo E. Jimenez Folta
0f7b8f483c
feat(replace): auto-resize height when toggling pool collapse/expand
2019-04-23 15:56:50 +02:00
Nico Rehwaldt
a40b95cf2f
test(modeling): verify connection layouting on element removal
...
Closes #989
2019-04-18 18:15:31 +02:00
Maciej Barelkowski
55ca4c8f3d
chore(modeling/label): adjust label position to laid out connection
...
Closes #718
2019-04-18 16:06:44 +00:00
Maciej Barelkowski
6c191590b5
test(modeling/layout): expect layout on reconnect end
2019-04-18 16:06:44 +00:00
Maciej Barelkowski
6a396fb947
test(modeling/layout): add integration test for reconnection
2019-04-18 16:06:44 +00:00
Philipp Fromme
76ed2b4c26
fix(tests): fix Firefox
2019-04-18 14:42:01 +00:00
Nico Rehwaldt
65e4a1ab19
test(draw): double check marker coloring
...
* improves color detection to not fail on CI
* verifies message flow markers are being re-used
2019-04-18 14:42:01 +00:00
Nico Rehwaldt
f106187a98
test(draw): in-source colors diagram
...
* don'r rely on diagram in fixtures
2019-04-18 14:42:01 +00:00
Nico Rehwaldt
13e3752f94
fix(draw): render hex and rgb encoded color markers
...
Until now we did not properly sanitize the IDs we create for colored
markers. This would make the marker retrival fail with fill and
stroke colors encoded in hex and rgb(a, b, c) form.
This commit improves the situation by removing forbidden chars from
the marker ID.
Closes #981
Related to camunda/camunda-modeler#1342
2019-04-18 14:42:01 +00:00
Maciej Barelkowski
0affb3b3bc
test(Viewer): simplify multiple-diagrams test cases
2019-04-16 15:20:12 +02:00
Maciej Barelkowski
87c1d2d142
test(Viewer): expect no warnings when DIs use same elements
2019-04-16 15:20:12 +02:00
Maciej Barelkowski
a7c0bb8f57
test(Viewer): make sure it opens only selected diagram
2019-04-16 15:20:12 +02:00
Nico Rehwaldt
7b03e5289a
test(import): verify duplicate DI import behavior
2019-04-16 15:20:12 +02:00
Nico Rehwaldt
ba987734f8
test(Viewer): make diagram names human readable
2019-04-16 15:20:12 +02:00
Nico Rehwaldt
2f99cff34a
test(Viewer): verify non-args #open
2019-04-16 15:20:12 +02:00
Nico Rehwaldt
b1ee678fe3
test(Viewer): split config -> container handling into own describe
2019-04-16 15:20:12 +02:00
Nico Rehwaldt
a78f8037c7
test(Viewer): group multiple diagram handling
2019-04-16 15:20:12 +02:00
Valerio Spadaro
3f0583ad5f
feat(Viewer): add #open method
...
This adds a method to switch displayed diagram without reimporting
xml via
```
var viewer = new Viewer({ container: container });
viewer.importXML(xml, diagramId, done);
var diagrams = viewer.getDefinitions().diagrams;
viewer.open(diagrams[1], done);
```
2019-04-16 15:20:12 +02:00
Valerio Spadaro
1c0585aaaf
feat(Viewer): allow to select diagram to view
...
This introduces a new parameter to `Viewer#importXML`
which enables to choose the diagram to display.
```
var viewer = new Viewer({ container: container });
viewer.importXML(xml, diagramId, done);
```
Closes #87
2019-04-16 15:20:12 +02:00
Maciej Barelkowski
0c71ad30a0
feat(Viewer): remove businessObject#di binding on #clear
...
Closes #978
2019-04-16 15:10:43 +02:00
Maciej Barelkowski
00b7d9ecc2
fix(import/BpmnTreeWalker): pass context to unhandled process handler
2019-04-16 09:15:14 +00:00
Maciej Barelkowski
8eced8a3fb
test(modeling): ensure layout is done after element removal
...
* adjust test suite to pass with diagram-js@3.2
* verify new cropping behavior
* verify #940 is fixed
2019-04-10 19:08:49 +00:00
Maciej Barelkowski
6f7925080c
chore(modeling/BpmnUpdater): remove now unnecessary crop on reconnect
...
As of diagram-js@3.2.0 layouting will be triggered
on reconnectStart / reconnectEnd.
Related to #940
2019-04-10 19:08:49 +00:00
Nico Rehwaldt
3348c9e207
style(project): reformat test diagram
2019-03-29 13:21:34 +00:00
Nico Rehwaldt
8ca4c1d7b0
feat(modeling): allow basic movement of DataInput / DataOutput
...
Allow moving DataInput / DataOutput as
long as they do not leave their original
container.
Related to #951
2019-03-29 13:21:34 +00:00
Nico Rehwaldt
fe9d4ff06d
feat(modeling): ensure wrapping DataInput/Output in participant works
2019-03-29 13:21:34 +00:00
Nico Rehwaldt
8c49cb679b
fix(modeling): properly handle DataInput / DataOutput move
...
Closes #961
2019-03-29 13:21:34 +00:00
Nico Rehwaldt
4c270a01e4
test(Modeler): add data input / output editing spec
2019-03-26 11:55:36 +01:00
Nico Rehwaldt
2fff30a284
feat(label-editing): support data input/output
...
Related to #951
2019-03-26 11:55:36 +01:00
Nico Rehwaldt
89719de3be
feat(import): render DataInput and DataOutput labels
...
Related to #951
Related to camunda/camunda-modeler#1324
2019-03-26 11:55:36 +01:00
Nico Rehwaldt
1538bd8a9e
style(tests): use appropriate chai matcher
2019-03-12 08:56:03 +00:00
Nico Rehwaldt
45486f2afe
fix(import): gracefully handle missing waypoints
...
This ensures we do not blow up if a diagram
is missing waypoints for connections.
Related to camunda/camunda-modeler#1294
2019-03-12 08:56:03 +00:00
Nico Rehwaldt
0a9efb793b
test(modeling/behavior): localize test diagram
2019-03-12 08:56:03 +00:00
Maciej Barelkowski
39d4f1c57e
feat(modeling): set isHorizontal=true for partipant/lane DIs
...
Closes #934
2019-01-31 10:46:16 +00:00
Nico Rehwaldt
31271059d4
fix(ordering): render labels always on top
2018-12-04 13:48:12 +00:00
Nico Rehwaldt
7aad42d178
fix(modeling): limit flow join behavior to bpmn:SequenceFlows
...
Closes #917
2018-11-30 09:32:05 +00:00
Nico Rehwaldt
b410eed96f
test(keyboard): use standard KeyEvents util
2018-11-21 09:41:52 +01:00
Niklas Kiefer
e6c073ebea
test(Modeler): add regression test for correct module injection
2018-11-06 13:56:53 +00:00
Nico Rehwaldt
a94406e423
feat(modeler): (re-)integrate selection moving via keyboard
...
Closes #376
2018-10-29 14:52:41 +00:00
Nico Rehwaldt
a525c633a2
chore(keyboard): register keys backed by editor actions only
...
* only register keyboard bindings that are backed by actual
editor actions
* rename BpmnKeyBindings -> BpmnKeyboardBindings for parity with
diagram-js@latest
* sub-class and override _keyboardBindings_ service provided
by diagram-js
* extend spec to verify default actions
2018-10-29 14:52:41 +00:00
Nico Rehwaldt
b60feba531
test(Viewer): verify editor action support
2018-10-29 14:52:41 +00:00
Nico Rehwaldt
a348092230
test(NavigatedViewer): verify editor action support
2018-10-29 14:52:41 +00:00
Nico Rehwaldt
37e38e9a2a
test(Modeler): verify existing editorActions
2018-10-29 14:52:41 +00:00
Maciej Barelkowski
f0610721c9
feat(keyboard): use key value for bindings
...
`KeyboardEvent.keyCode` is deprecated, so the BpmnKeyBindings will
use non-deprecated `KeyboardEvent.key` instead.
2018-10-29 14:52:41 +00:00
Niklas Kiefer
acd2fe520b
feat(draw): render group names
...
Closes #844
2018-10-25 14:32:07 +02:00
Philipp Fromme
6d54ff34e3
chore(boundary-event-behavior): clean up tests
2018-10-17 14:31:40 +00:00
Niklas Kiefer
178e1cfccb
fix(modeling/behaviors): add a behavior that deletes attached boundaries after replacing a gateway with an event based gateway
2018-10-17 13:12:31 +00:00
Niklas Kiefer
b3e4b1dc1f
fix(modeling/behaviors): add behavior for deleting boundaries on receive tasks after connecting to event based gateway
2018-10-16 10:53:57 +00:00
Niklas Kiefer
ea681df2d3
fix(bpmn-rules): adjust canAttach rule for boundary events after event based gateways
2018-10-16 10:53:57 +00:00
Maciej Barelkowski
ba42e9edde
feat(global-connect): use rules for connection starting
...
* remove `BpmnGlobalConnect` provider
* use `connection.start` rule to determine whether
an element can start a connection
Closes #565
Closes #870
BREAKING CHANGE:
* `BpmnGlobalConnect` got removed. Add `connection.start`
rule to specify whether connection should be allowed.
2018-10-11 09:28:30 +00:00
Nico Rehwaldt
e54a3a7692
test(draw): visually verify label rendering
2018-09-20 22:18:10 +02:00
Nico Rehwaldt
374c7d7f18
fix(rules): correct bpmn:Lane insert rule
...
Closes #855
2018-08-29 00:38:03 +02:00
Nico Rehwaldt
6689af6f5b
feat(snapping): snap message flows to bpmn:Event mid
...
This snaps source / target to the element mid, if
the element is a `bpmn:Event`.
There is usually no more than one snap point for
an event other than the center.
Closes #850
2018-08-22 14:43:16 +02:00
Nico Rehwaldt
905ee6f667
fix(rules): allow labels to be dropped everywhere
...
Closes #849
2018-08-22 14:41:59 +02:00
Nico Rehwaldt
8a6ab27b04
test(rules/Helper): accept actual elements
2018-08-22 14:41:59 +02:00
Nico Rehwaldt
898a0fa9c8
fix(modeling/DropOnFlowBehavior): filter redundant connections
...
This prevents duplicate flows from being created, accidentially.
Closes #774
2018-07-25 11:10:51 +02:00
Nico Rehwaldt
249ea6a3ea
fix(modeling): disallow inserting on incoming/outgoing connection
...
Closes #836
2018-07-25 11:10:51 +02:00
Nico Rehwaldt
311e5d7bc7
chore(tests): convert BpmnTreeWalker test to ES5
2018-07-16 13:00:55 +02:00
Philipp Fromme
e637a8e57b
feat(modeling/BpmnLayouter): layout Element -> Element loops
...
Closes #824
2018-07-13 10:29:00 +02:00
Philipp Fromme
220c0a73f3
feat(modeling/BpmnLayouter): handle boundary events
...
This adds proper connection layouting for sequence
flows leaving from boundary events.
If needed, such connections will be layoute with
an U-turn.
Closes #467
2018-07-13 10:16:11 +02:00
Nico Rehwaldt
4806938600
feat(modeling): create label at appropriate position
...
This re-introduces adaptive label positioning
on label creation as a feature.
It worked before but broke during the introduction
of optional labels.
Closes #825
2018-07-11 13:26:43 +02:00
Nico Rehwaldt
15596ef97c
test(modeling): verify correct label adjustment
2018-07-11 13:10:18 +02:00
Nico Rehwaldt
abbe54912f
test(modeling): correct test cases
...
Ensure the test cases are not affected by accidential
automatic label adjumstment (TM).
2018-07-11 13:09:40 +02:00
Philipp Fromme
82a37e7253
chore(test): clean up test setup
2018-07-09 12:30:45 +02:00
Nico Rehwaldt
75c0880341
chore(replace): retain definitions where appropriate
...
* simplify implementation
* retain event definitions when switching from interrupting
to non-interrupting and vice versa
Closes #799
2018-06-28 09:03:34 +02:00
Nico Rehwaldt
300e7010c4
fix(modeling): correct DataStoreBehavior updating multiple stores
2018-06-18 09:21:18 +02:00
Philipp Fromme
5cc28d5d55
fix(modeling): apply DataStoreBehavior in collaboration only
...
* updating parents of datastores in the root is only
necessary when deleting a subprocess in a collaboration
Related to camunda/camunda-modeler#823
2018-06-13 13:48:39 +02:00
Philipp Fromme
100f3fb2ee
fix(label-behavior): text annotation resizing after text property change
...
Depends on bpmn-io/diagram-js#259
Related to camunda/camunda-modeler#631
2018-06-13 11:02:55 +02:00
Nico Rehwaldt
3c87716895
feat(viewer): emit export events
...
This makes the viewer emit events during SVG and XML export.
These events allow others to hook in, i.e. to trigger additional _save_
actions.
Closes #811
2018-06-12 15:44:52 +02:00
Nico Rehwaldt
6c081d854f
chore(label-editing): remove businessObject name on empty text
...
The following two actions will now unset the
business objects name property:
* deleting external label
* entering empty text via direct editing
2018-06-11 11:39:08 +02:00
Nico Rehwaldt
a7a1743df0
fix(modeling): properly cascade label deletion
...
Ensure we execute the following nicely:
* unset name -> remove label shape
* remove label shape -> unset name
2018-06-11 11:39:08 +02:00
Philipp Fromme
4a0f6da814
fix(label-behavior): properly check for name property change
...
Related to camunda/camunda-modeler#824
2018-06-06 13:35:57 +02:00
Philipp Fromme
891cf4ac0c
feat(draw+modeling): support lineHeight
...
* take numeric line height into account when
rendering text labels
* take line height into account when directly
editing labels
* use default line height of 1.2 for text rendering
Closes #803
2018-05-29 11:58:15 +02:00
Nico Rehwaldt
b1a4e08ddd
feat(modeling): assign ID when creating bpmn:LaneSet
2018-05-28 09:55:30 +02:00
Nico Rehwaldt
4bb270f192
chore(draw): unify text rendering into service
...
A newly introduced TextRenderer is responsible for text
rendering and text related bounds computation.
This removes a bunch of code duplication, too.
2018-05-24 16:26:01 +02:00
Philipp Fromme
7537757357
feat(labels): labels can be deleted
...
Related to camunda/camunda-modeler#243
2018-05-24 16:22:51 +02:00
Nico Rehwaldt
0b66b77483
chore(draw): retrieve default colors from bpmnRenderer config
...
Related to #713
2018-05-24 15:03:52 +02:00
Nico Rehwaldt
3a980af0e7
test(draw): run tests in test containers
2018-05-24 14:21:09 +02:00
Philipp Fromme
dc1f18a497
feat(bpmn-renderer): accept default fill and stroke color
...
Related to #797
2018-05-24 07:39:30 +02:00
Philipp Fromme
690417b389
feat(modeling): allow data store anywhere in collaboration
...
ensure valid BPMN 2.0 parent when
* creating/moving data store
* removing participant
* turning process into collaboration
* turning collaboration into process
Closes #483
2018-05-17 15:09:37 +02:00
Nico Rehwaldt
0f62183410
test(modeling): verify missing bpmndi:BPMNLabel update behavior
2018-05-17 14:57:54 +02:00
Nico Rehwaldt
b98dd6fe95
fix(modeling): correctly handle missing bpmndi:Label bounds
...
Closes #794
2018-05-17 14:57:54 +02:00
Nico Rehwaldt
92b0d4eced
test(draw): unskip color spec
2018-05-17 11:26:38 +02:00
pedesen
17896df65c
chore(contextPadProvider): adjust popupMenu method calls
...
Since breaking changes were introduced in diagram-js
popupMenu methos calls need to be adjusted
* call popupMenu#open with element, id and position as params
* call popupMenu#isEmpty with element and providerId as params
* remove popupMenu#create call
2018-05-14 15:13:29 +02:00
Nicolas Boissel-Dallier
9379abafcc
fix(auto-place): fix infinite loop during auto-place
...
* NaN was returned when autoplacing an element after
a boundary event, attached to its hosts corner.
Closes #788
2018-05-04 10:40:01 +02:00
Nico Rehwaldt
327eb90140
style(tests): use not.to matchers
...
...in favor of to.not.
2018-05-03 16:37:24 +02:00
Philipp Fromme
12a38da9c7
feat(import): expose additional BpmnTreeWalker functionality
...
* expose API needed for lazy sub-process imports
* also changes #handleDeferred to NOT expect deferred
as a parameter anymore
Related to bpmn-io/bpmn-js-signavio-compat#1
2018-04-25 21:31:02 +02:00
Nico Rehwaldt
68f85a171d
fix(rules): allow message flows between collapsed pools
...
Adresses camunda/camunda-modeler#782
2018-04-12 19:35:19 +02:00
pedesen
fcd1e2f12c
feat(snapping): add initial snapping for associations
...
Snap to target mid when creating associations.
Closes #782
2018-04-11 13:55:16 +02:00
Nico Rehwaldt
e5a3973107
fix(replace-preview): escape element ids in CSS selectors
2018-04-10 09:34:49 +02:00
Nico Rehwaldt
e159b002cd
fix(copy-paste): correctly set $parent on copied model elements
...
Related to camunda/camunda-modeler#625
2018-04-09 11:27:58 +02:00
Nico Rehwaldt
b4fcb2d906
test(copy-paste): fix formating
2018-04-09 11:27:22 +02:00
Nico Rehwaldt
6c9d37da12
fix(project): correct library default export
2018-04-05 09:47:37 +02:00
Nico Rehwaldt
9be61259bd
chore(project): drop 'use strict'
...
We use ES modules, so 'use strict' is not necessary anymore.
2018-04-03 18:09:53 +02:00
Nico Rehwaldt
d3449ca87c
chore(project): es6ify source code
...
* use ES6 import / export
* UTILS: export individual utilities
* TESTS: localize TestHelper includes
BREAKING CHANGE:
* all utilities export independent functions
* library sources got ported to ES6. You must now use
a ES module bundler such as Browserify + babelify or
Webpack to consume this library (or parts of it).
2018-04-03 16:32:14 +02:00
Nico Rehwaldt
0f04b76ad2
test(Modeler): minor test style improvements
2018-04-02 09:24:21 +02:00
Nico Rehwaldt
44a08ae6a3
test(Modeler): bind keyboard
2018-04-02 09:12:44 +02:00
Nico Rehwaldt
e4dbc422bf
chore(project): migrate to tiny-svg@1.x
2018-03-28 10:49:55 +02:00
Philipp Fromme
bec8d06e08
chore(project): fix typos introduced
2018-03-22 12:43:36 +01:00
Nico Rehwaldt
11f5a22471
chore(project): adjust min-dash usage (2)
2018-03-22 11:59:39 +01:00
TheSharpieOne Bot
245d1d6a96
chore(project): upgrade lodash to min-dash
2018-03-22 11:59:39 +01:00
Nico Rehwaldt
e8e5e2ced9
chore(project): update to min-dom@2
2018-03-22 00:54:59 +01:00
Nico Rehwaldt
b03014fc2c
chore(project): update to new lint style
2018-02-27 10:08:31 +01:00
Nico Rehwaldt
19e4e19bb5
chore(project): migrate to new SECTION comments
2018-02-27 09:57:22 +01:00
Nico Rehwaldt
b35aa48d14
fix(label-editing): complete on autoPlace start
...
Closes #764
2018-02-20 11:33:28 +01:00
Nico Rehwaldt
25dc30df06
fix(modeling/rules): make compensation activity a message flow source
...
Related to camunda/camunda-modeler#661
2018-02-20 11:32:52 +01:00
Nico Rehwaldt
8c92800bd2
test(Viewer): bump SVG export timeout
2018-02-14 22:22:30 +01:00
Nico Rehwaldt
de63fd49a3
style(tests): reformat DropOnFlowBehaviorSpec
2018-02-14 22:20:11 +01:00
Philipp Fromme
f5afc732fe
fix(drop-on-flow): don't insert on accidentally found intersection
...
Related to camunda/camunda-modeler#727
2018-02-14 22:15:33 +01:00
Philipp Fromme
ef52dff84c
fix(bpmn-replace): correctly replace sub process -> call activity
...
* when not morphing collapsed sub process with children
into expanded sub process children must be removed
Related to camunda/camunda-modeler#739
2018-02-14 22:07:28 +01:00
Nico Rehwaldt
ce791b8e17
test(Modeler): verify color support
...
Related to #756
2018-01-31 12:22:31 +01:00
Nico Rehwaldt
cbb2f9f600
fix(modeling): correct DI updating
...
Don't assign <di> property to businessObject; will
be serialized as di="[Object...]" otherwise.
Closes #756
2018-01-31 12:22:31 +01:00
Nico Rehwaldt
953574eefb
style(tests): reformat UpdatePropertiesSpec
...
* line width = 80
2018-01-31 12:06:17 +01:00
Nico Rehwaldt
38bff969ac
chore(tests): reformat color tests
2018-01-30 13:15:41 +01:00
Nico Rehwaldt
f1daf4841f
fix(modeling): support newBounds
...
This fixes a bug where Modeling#updateLabel would not work on
text annotations, because these need to have labels pre-configured.
* Modeling#updateLabel now takes the (optional) newBounds
* newBounds must now explicitly be passed to trigger resize
for text annotations
* newBounds is _only_ passed for text annotations via
LabelEditingProvider (it was discarded before anyway)
* lib/features/label-editing did not depend on lib/features/modeling
for historical reasons. It now uses the offical #updateLabel
API provided by Modeling
* Localize test diagrams
Closes #753
2018-01-29 17:20:41 +01:00
Nico Rehwaldt
d32da90013
chore(lint): bump eslint
...
...and fix lint errors
2018-01-28 20:35:04 +01:00
Nico Rehwaldt
37a06a378d
chore(tests): use absolute lib requires
2018-01-24 11:41:21 +01:00
Nico Rehwaldt
729ddce821
fix(copy-paste): don't override descriptor <type> property
...
This is redundant anyway, as we take the type + additional
information from the to-be-copied business object.
Closes #751
2018-01-18 11:22:09 +01:00
Nico Rehwaldt
1f5c69a58b
fix(modeling): create ConditionalEventDefinition with condition
...
This ensures we always create valid BPMN 2.0 XML when
creating conditional start and intermediate events.
Closes #747
2018-01-03 14:19:01 +01:00
Nico Rehwaldt
367399d509
feat(rules): support attach from context-menu
...
* take target attach and parent hints on `connection.create`
rule into account to implement create from context-menu
Related to bpmn-io/diagram-js#242
Closes #742
2017-12-22 10:32:54 +01:00
Nico Rehwaldt
11354e951c
chore(project): migrate to new attach related Modeling APIs
...
Related to bpmn-io/diagram-js#242
BREAKING CHANGE:
* as documented in bpmn-io/diagram-js#242 a few modeling APIs changed;
users of these APIs must adapt accordingly.
2017-12-22 10:32:54 +01:00
Nico Rehwaldt
22d2b97bbe
feat(auto-place): handle boundary events
...
Add basic auto-placement of boundary events:
* handle top aligned events
* handle bottom aligned events
* take boundary events into account when placing
host elements and vice versa
Related to #563
2017-12-22 10:32:54 +01:00
Nico Rehwaldt
718836f53e
chore(auto-place): improve TextAnnotation and DataElement locations
...
Related to #563
2017-12-22 10:32:54 +01:00
Nico Rehwaldt
a845560425
chore(auto-place): handle multiple source <-> target connections
...
Related to #563
2017-12-22 10:32:54 +01:00
Nico Rehwaldt
ae96f3714d
feat(modeling): add auto placement from context menu
...
Elements will automatically be created at appropriate
positions when context menu create entries are being
clicked (rather than dragged).
This marks a major step forward for mobile modeling,
too as dragging, especially dragging out from very small
controls is very cumbersome to do.
Things we take into account:
* for bpmn:FlowNodes, we try to compute the current
distance between elements on the flow based on
connections going in and out of the flow nodes
source element
* for bpmn:TextAnnotation we assume placement of the
element top right of the source shape
* for bpmn:DataObject and friends we assume a
placement bottom right of the source shape
* for all elements, we try not to place elements on
top of each other; i.e. new elements will be pushed
up or down accordingly, if an element at a chosen
position does already exist
Integration into other services:
* context pad provider works with autoPlace, if
available and defaults to drag start without
* auto placed elements are selected and direct editing
may conditionally be activated based on element type
(LabelEditingProvider knows the rules)
Users can out out of autoPlace by specifying the configuration
property `config.contextPad.autoPlace = false`.
Closes #563
BREAKING CHANGE:
* This breaks the default interaction from the context
pad; if you rely on clicking to start the drag
you can opt out of autoPlace:
```
new BpmnJS({ contextPad: { autoPlace: false } });
```
2017-12-22 10:30:44 +01:00
Nico Rehwaldt
6b5277b936
chore(draw): render connections without source
...
This allows us to renders temporary connections,
i.e. during create / connect.
2017-12-22 10:30:44 +01:00
Nico Rehwaldt
0dd5c9cb6c
chore(tests): rename suite
2017-12-22 10:30:44 +01:00
Nico Rehwaldt
a64cf9b7a1
chore(tests): rename description
2017-12-20 10:37:27 +01:00
Nico Rehwaldt
2218b84af6
test(modeling): verify connection move behavior
...
Closes to #511
2017-12-14 23:42:02 +01:00
Nico Rehwaldt
1e6186e3ce
feat(draw): render sequence flows behind tasks
...
* ordering provider ensures sequence flows appear
behind tasks
* importer makes sure we render elements in the order
lanes > sequence flows > other flow elements
* consistent minimal opacity ensures elements in
front of tasks don't look _connected_
Closes #727
2017-12-14 11:56:00 +01:00
Nico Rehwaldt
1333479815
fix(modeling/behavior): round label move adjustment
...
Ensure we don't return floating point numbers for conection label
adjustments calculated on connection changes.
2017-12-13 14:21:19 +01:00
Nico Rehwaldt
a708a1cd4e
chore(tests): adapt bendpoint tests to new cropping
...
Related to #684
2017-12-13 14:20:40 +01:00
Nico Rehwaldt
869e484601
chore(tests): use have.waypoints helper
2017-12-13 13:25:51 +01:00
Nico Rehwaldt
f24b21684d
test(cropping): add stress test
...
Related to #684
2017-12-13 13:25:51 +01:00
Nico Rehwaldt
408dd5383a
chore(tests): localize test file
2017-12-13 13:25:51 +01:00
Nico Rehwaldt
5761e01ffe
feat(modeling): adjust label location based on free space
...
Reacts on connection create, layout, reconnect and waypoint
update to find a suitable place for the label and reposition it.
Closes #738
2017-12-11 15:40:40 +01:00
Nico Rehwaldt
cd24b27768
fix(copy-paste): ignore data associations during cloning
...
* use bpmnFactory for cloning to ensure all relevant
elements have actual IDs
* don't copy dataAssociations, as they are visual elements
that will be created during element re-connection
NOTE: This fixes data input association not properly being
wired during target replace, too.
Closes #694 , #693
2017-12-11 15:14:31 +01:00
Nico Rehwaldt
e7da5af0a1
chore(tests): depend on move module, where used
...
Tests would otherwise break in the future.
Related to bpmn-io/diagram-js#152
2017-12-10 23:04:11 +01:00
felixlinker
36a12396fd
chore(renderer): extract BpmnRenderer utilities into util
...
Closes #731
2017-12-10 19:10:12 +01:00
Nico Rehwaldt
e9eb9e374a
fix(snapping): correct bendpoint snapping on shape move
...
Don't blindly snap first waypoint; instead, snap only bendpoints
that are manhattan layout aligned with other bendpoints (excluding
start and end).
2017-12-10 13:48:46 +01:00
Nico Rehwaldt
f05ad02198
feat(layout): filter redundant connection waypoints
2017-12-10 12:29:54 +01:00
Nico Rehwaldt
7ffb865023
chore(project): consistent async error handling
...
Async utilities properly propagate _all_ errors to the
specified _done_ callback. Failing in _done_ does not
re-invoke it.
Adjustments made in
* Viewer#importXML
* Viewer#saveSVG
* Importer#importBpmnDiagram
Tests cleaned up to remove un-necessary `if (err) { ...` snippets.
2017-12-09 22:31:15 +01:00
Nico Rehwaldt
105f326dad
chore(project): bump bpmn-moddle dependency
...
* unused namespace does not get serialized anymore
Closes #469
2017-12-09 22:30:56 +01:00
Nico Rehwaldt
50da47e1e1
fix(Viewer): trigger resized on attach
...
Ensure components get notified on `canvas.resized`, whenever
the Viewer instance gets attached.
2017-12-07 11:59:25 +01:00
Nico Rehwaldt
9b2a07d958
style(test): re-format test case
2017-11-23 11:00:23 +01:00
Nico Rehwaldt
2ef82970fd
chore(Viewer): re-expose loaded definitions
...
The previous release kinda removed access to the currently
loaded definitions.
This restores access by exposing it by `Viewer#getDefinitions()`.
2017-11-23 09:49:54 +01:00
Nico Rehwaldt
642d7b88af
chore(Viewer+Modeler): consistently name private instance variables
...
BREAKING CHANGE:
* definitions, container and moddle have been prefixed with
an underscore (_) to denote they are private use.
2017-11-20 15:28:29 +01:00
Nico Rehwaldt
ce45e9081b
chore(project): bump bpmn-moddle dep
...
This improves the import and export of BPMN 2.0 XML documents
+ improves di prefix collision handling
+ proper deconflicting of prefixes during export
+ validate and detect non-BPMN root elements
+ replace underlying XML parser for higher speed and smaller
bundle size
+ pass parse warnings with errors
NOTE:
* some error messages on broken XML may have changed
due to changes in the underlying XML parser
2017-11-15 19:55:34 +01:00
felixlinker
0cb46183eb
chore(draw/BpmnRenderer): exposed _drawPath helper
...
This allows extensions to reuse the internal drawPath utility.
Cf. #722 for context.
2017-11-13 09:56:02 +01:00
Nico Rehwaldt
9416eae126
chore(project): bump test dependency versions
...
* remove redundant karma-chai
2017-10-22 23:22:58 +02:00
Nico Rehwaldt
92aac008b8
chore(ci): use latest node for testing
...
This ensures we run against npm v5:
* bump wiredeps dependency version
* rebuild .wiredeps
* internalize test helpers from diagram-js
2017-10-11 15:19:36 +02:00
Philipp Fromme
9033094473
fix(renderer): prevent duplicate marker IDs
...
* when having more than one instance of bpmn-js on a page marker IDs got duplicated
2017-09-29 11:08:37 +02:00
pedesen
58207e7db2
feat(DropOnFlowBehavior): drop existing elements on flows
...
Closes #695
2017-07-27 15:15:08 +02:00
pedesen
b1a544b84f
fix(dropOnFlowBehavior): ignore drop point if bendpoint is inside shape
...
Closes #696
2017-07-27 13:41:50 +02:00
pedesen
b234f17244
feat(snapping) snap on sequence flows
...
Closes #398
2017-07-27 13:41:45 +02:00