Commit Graph

535 Commits

Author SHA1 Message Date
Nico Rehwaldt 7190f8bef8 feat(rules): implement compensation rules
Related to #291
2016-01-25 16:02:58 +01:00
Nico Rehwaldt d7834e9bee feat(replace): add compensation morph options
* compensation boundary
* compensation activity

Related to #291
2016-01-25 16:02:58 +01:00
Nico Rehwaldt a9d8ea7a20 fix(draw): correct compensation look and feel 2016-01-25 16:02:58 +01:00
Nico Rehwaldt 2e4b97d4ce feat(draw): render association start/end markers
Closes #454
2016-01-25 16:02:52 +01:00
Nico Rehwaldt 305b59e1f3 fix(replace): allow morphing SubProcess -> EventSubProcess
Closes #451
2016-01-20 11:22:16 +01:00
Nico Rehwaldt 22686f7614 fix(Viewer): allow canvas configuration
Closes #444
2016-01-08 14:42:09 +01:00
pedesen ac910a9082 chore(test): rename diagrams 2016-01-08 12:57:38 +01:00
Ricardo Matias 694d52d6bb fix(ReplaceMenuProvider): handle condition/default when morphing flows
* Remove conditionExpression when morphing to default flow
 * Remove default property when morphing to conditional flow

Closes #441, closes #442
2016-01-08 12:01:01 +01:00
pedesen 0c6c26ef4d chore(test): refactor replace action trigger 2016-01-07 16:29:30 +01:00
Ricardo Matias 0feebe0b0c feat(DefaultFlows): allow default flows going out of tasks
Closes #425
2016-01-07 16:29:30 +01:00
Nico Rehwaldt 348a0b2d99 test(context-pad): cleanup provider test case 2016-01-06 17:36:28 +01:00
Nico Rehwaldt bab00633ad test(context-pad): verify wrench only shows if replace entries exist
Related to #428
2016-01-06 16:37:17 +01:00
pedesen f619a06cae chore(test): adjust test cases to fit popup menu provider concept
Related to #426
2016-01-06 16:37:17 +01:00
pedesen eb7b5d7bb4 chore(replace): separate popup menu from replace logic
This commit makes use of the provider concept introduced
in diagram-js. The replace menu entries are now created
in the replace menu provider. This separates BpmnReplace
from the entry creation in the popup menu.

Closes #428
2016-01-06 16:37:17 +01:00
Adam Brengesjö 93d4bade22 feat(replace): let rules disallow replacement operations 2016-01-06 16:37:17 +01:00
Nico Rehwaldt 9ac0a9a957 fix(modeling): correctly populate DataInputAssociation#targetRef
Closes #431
2016-01-06 11:57:52 +01:00
Nico Rehwaldt f89fd529de fix(ordering): correctly attach boundary element in front of task
The way we create labels during import (right after the respective
element) interfered with the ordering during boundary attach.

This commit fixes the behavior.

Closes #437
2016-01-04 16:10:55 +01:00
Ricardo Matias d344e679fd fix(BpmnLabelSupport): fix hidden property assignment
Closes #401
2016-01-04 15:19:08 +01:00
hoferch 35564d1bea fix(draw): add plus sign (+) to call activities
Closes #403
2016-01-04 15:11:38 +01:00
Nico Rehwaldt a046b14d6f feat(modeling): allow passing shapes to modeling#updateProperties
Closes #430
2015-12-08 15:18:13 +01:00
Nico Rehwaldt 65c94ea9ac feat(import): pass definitions during import.start event 2015-12-08 15:18:13 +01:00
Nico Rehwaldt 15dd0b006d style(test): replace tabs with spaces 2015-12-08 15:18:13 +01:00
David Luis Wiegandt 6e2ec62b00 feat(Viewer): indicate empty model through an error
Fail import with an error message if the XML does not contain
a valid diagram.

Closes #417
2015-12-08 15:18:13 +01:00
Nico Rehwaldt e00197d67a chore(tests): migrate to (.not).exist matcher
Migrate parts of our test suite that rely on legacy
`.to.be.(un)defined` matchers to Chai's `.to(.not).exist`.

Closes #423
Closes #422
2015-12-03 13:08:56 +01:00
Adam Brengesjö 9322a6a1e6 feat(context-pad): show delete only if allowed by rules
Related to bpmn-io/diagram-js#131
2015-12-02 15:56:09 +01:00
Nico Rehwaldt 283ddae6d3 fix(modeling/cmd): do not fail updating non-changed id
Closes #420
2015-11-25 21:53:02 +01:00
pedesen acb3716716 fix(replace): properly set parent of event definitions
Related to bpmn-io/bpmn-js-properties-panel#82
2015-11-19 13:28:39 +01:00
Adam Brengesjö 0a33d7c2b4 fix(replace): do NOT show current sequence flow type for OR-gateways
Closes #410
2015-11-12 17:22:25 +01:00
Ricardo Matias a6b76d7fc3 revert(Modeling): change back 'createTemplate' to 'createDiagram' 2015-11-11 11:31:58 +01:00
Ricardo Matias 4e79d16c90 feat(Modeler): rename createDiagram to createTemplate
This will allow us to have the same interface on dmn-js

BREAKING CHANGE:

* Modeler.createDiagram is renamed to Modeler.createTemplate
2015-11-06 11:33:31 +01:00
Nico Rehwaldt 2c3767a0e7 test(snapping): fix BpmnSnappingUtil tests 2015-10-23 11:35:41 +02:00
pedesen 8704d5d5a0 fix(auto-resize): expand non-primary parents in multi select move
Closes #397
2015-10-22 18:20:35 +02:00
Ricardo Matias 4930fd72d4 fix(viewer): add priority and context arguments to events
Closes #393
2015-10-22 14:08:45 +02:00
Nico Rehwaldt b21fb7cec3 chore(tests): allow canvas options to be provided 2015-10-22 08:43:05 +02:00
Nico Rehwaldt f68054295b feat(modeling): allow data associations from and to events
Closes #384
2015-10-22 08:21:01 +02:00
Nico Rehwaldt 2807129585 chore(test): fix mock events patching argument 2015-10-20 16:09:14 +02:00
Nico Rehwaldt e1cd32fa91 fix(auto-resize): correctly auto-resize participant
Closes #390
2015-10-20 16:09:14 +02:00
Nico Rehwaldt d789342b10 feat(modeling): update Lane#flowNodeRefs while modeling
Closes #387
2015-10-20 16:05:24 +02:00
Nico Rehwaldt 4be7324856 chore(import): compute FlowNode#lanes 2015-10-20 16:05:24 +02:00
Nico Rehwaldt 6a3bdd32ea chore(context-pad): make lane actions available
Lanes are going to be modeled via the parents context-pad only.

This commit

* removes lanes from the palette
* adds lane actions to the context-pad

Related to #379
2015-10-20 16:04:23 +02:00
Nico Rehwaldt 0831cae843 feat(rules): add lane rules 2015-10-20 15:47:12 +02:00
Nico Rehwaldt fefc748a9a feat(snapping): add lane snapping 2015-10-20 15:47:12 +02:00
Nico Rehwaldt 5e26068f99 feat(modeling): add lane modeling operations
This commit adds the functionality to

* add a lane (above/below an existing one)
* split a lane into sub lanes
* remove a lane
* resize a lane

Closes #379
Closes #338
2015-10-20 15:47:12 +02:00
Nico Rehwaldt 04d8ef8a18 test(draw): nest path tests 2015-10-20 15:47:12 +02:00
Nico Rehwaldt 17c074464c chore(test): clean up karma config 2015-10-20 15:47:12 +02:00
Nico Rehwaldt 523c10b5c6 feat(import): add flowElements to participant
This changes the tree walker to add FlowElements directly to a
participant, independent of their lane assignments.
2015-10-20 15:47:12 +02:00
Nico Rehwaldt a0a8b38c46 chore(tests): add connection matchers 2015-10-20 15:47:12 +02:00
Ricardo Matias 03b4a59f84 feat(keyboard): use editor actions
Related to bpmn-io/diagram-js#116
2015-10-20 15:34:40 +02:00
pedesen a77796b271 fix(modeling): retain connection layout for (data-)associations
Closes #380
2015-10-13 11:11:44 +02:00
Ricardo Matias a0bfc29482 fix(modeling): hide labels on element create 2015-10-07 15:19:55 +02:00
pedesen 08c2ebc78f feat(modeling): add data objects
Closes #344
2015-10-07 15:15:57 +02:00
pedesen 3f6a7d5621 fix(tests): revise expectConnected and adjust test cases 2015-10-07 15:15:57 +02:00
Ricardo Matias 534061d821 feat(replace): update bpmn when reconnecting flows
When reconnecting the source and end waypoints of a conditional
or default flow, the bpmn tree should be updated to reflect
these changes.

Closes #373
2015-10-06 13:51:01 +02:00
Kristin Polenz 188487ebdc feat(modeling/UpdateProperties): unclaim old business object id 2015-10-05 16:13:46 +02:00
Nico Rehwaldt 6d86dc9e27 chore(tests): add . as base path for browserify
This allows us to reference files in (lib|test)/* via absolute path
names.
2015-10-05 15:41:13 +02:00
Nico Rehwaldt 8b5572d3c4 fix(draw): hide empty on import + show on property update
Closes #362
2015-10-05 15:40:49 +02:00
Ricardo Matias fe7e8fe6d1 feat(replace): add conditional flows
Closes #369
2015-09-30 11:35:44 +02:00
Ricardo Matias 5a60c370a7 feat(replace): add default flows
Closes #272
2015-09-30 11:35:44 +02:00
Ricardo Matias 421912ddbf fix(replace): fix test cases for cancel events 2015-09-30 11:35:44 +02:00
Ricardo Matias 8a0f566ee3 feat(replace): add cancel events
Closes #337
2015-09-28 11:35:38 +02:00
pedesen 02af025a2e fix(auto-resize): allow concurrent top/bottom or left/right expanding 2015-09-25 11:44:07 +02:00
pedesen dc78909227 chore(auto-resize): change behavior on multi-selection move
Related to #354
2015-09-25 11:44:07 +02:00
pedesen 52cd71287d fix(replace-preview): change type of visualReplacements from array to object
Closes #368
2015-09-24 16:50:34 +02:00
pedesen 629239f93c feat(auto-resize): recursively expand parent elements
Closes #357
2015-09-21 15:17:29 +02:00
pedesen f29793ed9e feat(auto-resize): add expanding of sub processes and transactions
Closes #356
2015-09-21 14:23:08 +02:00
Nico Rehwaldt 4891eb4f84 fix(draw): show labels with text
Closes #362
2015-09-14 16:20:49 +02:00
pedesen 63d0321210 chore(ordering): modify sub process ordering
Closes #358
2015-09-11 14:43:09 +02:00
Ricardo Matias 1295400fe0 test(custom-elements): add integration tests for custom elements
Closes #352
2015-09-09 16:44:10 +02:00
pedesen 857454bbc1 feat(auto-resize): expand participants when moving multiple elements
Closes #353
2015-09-08 12:40:24 +02:00
pedesen 536eb790a0 fix(snapping): boundary event labels snap to siblings
Closes #327
2015-09-07 15:08:59 +02:00
Ricardo Matias 31f0ea1ec0 feat(modeling): add support for custom elements
This commit adds part of the infrastructure that allows
the coexistence between bpmn elements and custom ones.

Closes #348
2015-09-03 09:57:30 +02:00
pedesen 6482273aa4 test(modeling/lanes): expect labels to be children of lanes
Related to #326
2015-09-03 06:39:09 +02:00
Nico Rehwaldt e897c6746d chore(palette): restore lanes 2015-09-02 16:23:47 +02:00
Nico Rehwaldt 7ba323b0a1 chore(palette): temporarily remove lanes
Do not confuse people with the unfinished lane support.
Lanes shall be restored once we have layouting + visual feedback in
place.
2015-09-02 16:03:12 +02:00
Nico Rehwaldt e78e4c94a3 test(matchers): add custom .bounds matcher
Closes #349
2015-09-02 14:36:39 +02:00
pedesen 0b8f0465f0 chore(auto-resize): adjust vertical resizing behavior
The parent participant/lane now expands vertically only if the edge of
an element intersects the collaboration edge, or if the element is
is placed beyond the edge.

Closes #347
2015-09-02 11:50:54 +02:00
pedesen ccf21e2f0c fix(replace-preview): rename canExecute.replace -> canExecute.replacements
Closes #346
2015-09-01 18:04:12 +02:00
pedesen d831ed45b8 test(modeling/behavior): add test cases for boundary event connections
Related to #323
2015-09-01 16:31:24 +02:00
Nico Rehwaldt ede384b5ac fix(auto-resize): do not resize on lane create / resize lanes, too
Related to #263
2015-08-31 15:35:32 +02:00
Nico Rehwaldt afa72ad5bd fix(modeling): correctly update Lane#flowNodeRefs
Previously, the bpmn:FlowNode <-> bpmn:Lane relationship was not
properly maintained in the BpmnUpdater.

This commit fixes the behavior.

Closes #341
2015-08-31 15:00:27 +02:00
pedesen 39db57987d feat(auto-resize): add ability to automatically expand parent participants
Closes #263
2015-08-31 12:08:21 +02:00
Nico Rehwaldt f8d6658c10 fix(import): import elements with missing #flowNodeRef
We now properly import lane children with missing #flowNodeRef.

Closes #340
2015-08-25 15:49:00 +02:00
Ricardo Matias 34bd632544 fix(modeling): add caveat for message flows layouting
related to bpmn-io/diagram-js#110
2015-08-25 11:04:51 +02:00
Nico Rehwaldt 834f1844ec feat(snapping): snap participant to child lane border 2015-08-24 16:59:13 +02:00
Nico Rehwaldt b0ce4d834d test(util): add MockEvents util + use in tests
* MockEvents provides a simple to use interface for creating
  events globally or locally to the currently active DiagramJS
  instance.
2015-08-24 16:02:21 +02:00
Nico Rehwaldt e66f2d92aa fix(rules): adjust participant size + fix test case 2015-08-21 17:34:41 +02:00
Nico Rehwaldt 711a2df758 feat(modeling): wrap existing elements in new lane
Related to #316
2015-08-21 17:34:41 +02:00
Nico Rehwaldt 42b66b1602 chore(project): move {modeling->}/rules
This syncs the bpmn-js structure with diagram-js.
2015-08-21 17:34:41 +02:00
Nico Rehwaldt e9a7bfa986 fix(modeling): make sure lanes get ids assigned 2015-08-21 17:34:41 +02:00
Nico Rehwaldt 4afefcb838 feat(rules): add lane rules
* add create / move rules
* add resize rules

Related to #316
2015-08-21 17:34:41 +02:00
Nico Rehwaldt fe63cb87a4 feat(palette): integrate lane symbol 2015-08-21 17:34:41 +02:00
Nico Rehwaldt d520574d1a feat(modeling): wire lanes in BPMN 2.0 xml
Related to #316
2015-08-21 17:34:41 +02:00
pedesen 1cdce93f5b fix(selection): select element replacements after move
Closes #335
2015-08-21 13:46:21 +02:00
pedesen fed7aefabe chore(test): add test case for issue #326 2015-08-21 11:46:50 +02:00
Nico Rehwaldt 966e3aaa34 feat(modeling): define BPMN specific ordering
Closes #336
2015-08-20 14:49:53 +02:00
Nico Rehwaldt 5c629a9889 chore(modeling/behavior): rename Remove{->Participant}Behavior 2015-08-19 17:24:49 +02:00
Nico Rehwaldt e237937726 chore(modeling): update BpmnUpdater to hook into element.updateAttachment
BREAKING CHANGE:

* The id of the update attachment command changed from 'shape.attach' to
'element.updateAttachment'
2015-08-19 14:34:07 +02:00
Ricardo Matias fd3afbb508 test(modeling/layout): fix test case values
closes #266
2015-08-19 13:52:46 +02:00
pedesen 4196ae8b00 feat(replace-preview): Add visual feedback during shape movement
Closes #325
2015-08-19 10:52:15 +02:00
Nico Rehwaldt 3cb1721c89 chore(modeling): rename Modeling#move{Shapes->Elements}
Related to bpmn-io/diagram-js#107

BREAKING CHANGE:

* Modeling#moveShapes got renamed to Modeling#moveElements
* Id of command changed from 'shapes.move' to 'elements.move'
2015-08-13 10:51:52 +02:00
pedesen 5b0029a8fd feat(modeling): define behavior for non-interrupting start events
Related to #302
2015-08-12 09:48:28 +02:00
pedesen 4af603e5be feat(modeling): add expanded event sub processes
Closes #302
2015-08-12 09:47:42 +02:00
Nico Rehwaldt d5dc43ef32 fix(util): ensure ModelUtil#is never fails 2015-08-10 15:44:30 +02:00
Nico Rehwaldt 485f83f026 test(modeling): simplify CreateBoundaryEventBehavior tests 2015-08-06 10:58:50 +02:00
Nico Rehwaldt ece7b7d597 feat(snapping): snap boundary events
This adds immediate feedback when creating and moving boundary events.

* During move, boundary events are snapped, if attachment is allowed
* Boundary events snap to their siblings and not to elements inside
the host

Closes #320
2015-08-06 10:58:50 +02:00
pedesen 8e9beeaae2 chore(test): use createKeyEvent util
Related to #321
2015-08-05 09:26:34 +02:00
pedesen 2c3c422e93 fix(popup-menu): the current event is hidden in the replace menu
Closes #322
2015-08-03 17:18:30 +02:00
pedesen 022bc9f192 chore(tests): use different fixtures for different use cases 2015-08-03 17:18:30 +02:00
Nico Rehwaldt dac5bb397b fix(modeling/rules): correct boundary rules
* clean up boundary related rules
* split boundary tests into separate section
* add boundary message flow tests
* fix boundary message flow behavior

Closes #319
2015-07-30 17:11:19 +02:00
Nico Rehwaldt 8e4f480868 feat(modeling/layout): improve sequence flow layouting behind Gateways
Closes bpmn-io/bpmn-js#227
2015-07-30 10:36:06 +02:00
Nico Rehwaldt 568afdd118 test(fixtures): cleanup simple.bpmn 2015-07-27 11:16:41 +02:00
pedesen 42c052f7ec feat(replace): morph boundary events
Closes #293
2015-07-27 10:55:29 +02:00
pedesen 0651bf39a8 feat(keyboard): add select all key binding
Closes #184
2015-07-23 15:46:42 +02:00
Ricardo Matias 75dc681d46 feat(modeling): add boundary events behavior
This commit adds support for modeling boundery events.

Users may pull out the boundary events from the palette.

Closes #292
2015-07-22 17:23:31 +02:00
Nico Rehwaldt b9f30d77bb test(import+export): increase timeouts 2015-07-20 17:13:47 +02:00
pedesen 363ce892c9 fix(modeling): sequence flow can be reconnected to participant
Closes #315
2015-07-20 16:48:44 +02:00
pedesen 8c6c920482 fix(modeling): message flow updating correctly after changing source
Closes #267
2015-07-20 16:48:44 +02:00
Nico Rehwaldt 3f90a77a7b test(integration/model): replace log with actual guard 2015-07-20 16:48:14 +02:00
Nico Rehwaldt e3faad9cda test(import): increase timeout for complex import test 2015-07-20 16:04:58 +02:00
Ricardo Matias acb2184087 feat(import): attach boundary events
* establish host <> attachers relationship
* clean up import tests (use diagrams in fixtures/bpmn/import)

closes #310
2015-07-20 15:50:31 +02:00
pedesen c3e4ad3e40 test(project): replace jasmine with mocha
Closes #204
2015-07-15 17:42:37 +02:00
pedesen 31ea6b2f91 feat(modeling): add ad-hoc sub processes
Closes #271
2015-07-14 15:26:43 +02:00
pedesen b76c1c8ded chore(replace): add test case for bpmn containment
Related to bpmn-io/diagram-js#101
2015-07-13 15:20:22 +02:00
pedesen 367eeb80c7 feat(popup-menu): undo and redo toggling markers is reflected in the popup menu
Closes #308
2015-07-07 14:42:27 +02:00
pedesen 88f91d342b feat(replace): model collapsed subprocesses using the replace menu
Closes #303
2015-07-03 15:54:36 +02:00
pedesen af991e89e9 feat(BpmnReplace): morphing between expanded sub processes and transactions
Closes #223
2015-06-26 15:36:33 +02:00
pedesen af5354e337 feat(popup-menu): add toggle buttons for loop and MI markers
Closes #275
2015-06-26 14:13:35 +02:00
pedesen 6da0d166e3 feat(popup-menu): allow morphing a task into a call activity
Closes #304
2015-06-23 17:24:13 +02:00
Nico Rehwaldt 71a5c2e1ed fix(modeling): correctly update extension attributes
Closes #301
2015-06-22 14:35:30 +02:00
Nico Rehwaldt ae962de925 fix(palette): add required modules
This adds space-tool and lasso-tool as required modules to the BPMN
palette. That in term ensures that users can simply reuse the palette
without further configuration.
2015-06-17 12:03:37 +02:00
Nico Rehwaldt a04d03da44 chore(snapping): add tests + adjust min participant size
Related to #299
2015-06-10 15:58:52 +02:00
Nico Rehwaldt 749120c4e9 fix(modeling): allow only bpmn:FlowNode(s) to be dropped on flow
Closes #297
2015-06-09 11:04:05 +02:00
pedesen db6cd21205 test(replace-menu): refactor and fix positioning test case
relates to bpmn-io/diagram-js#88
2015-06-04 16:40:01 +02:00
Nico Rehwaldt 19673a340c test(snapping): add participant snapping test case
Related to #290
2015-06-03 17:48:40 +02:00
Ricardo Matias cced954f37 fix(snapping): add participant specific min resize bounds
closes #290
2015-06-03 17:47:58 +02:00
Nico Rehwaldt 084d831d9e feat(modeling): add generic create-on-flow
Closes #232
2015-06-02 14:22:58 +02:00
pedesen 58f5965335 feat(modeling): drop new intermediateThrowEvents on sequenceFlows
Related to #232
2015-05-28 17:47:50 +02:00
Ricardo Matias 437a28b953 fix(replace): refactor the test case for replace menu positioning 2015-05-15 11:11:19 +02:00
Mohsen Hariri 206457e764 fix(context-pad): fix context pad positioning in special case
context pad was misplaced when the canvas is placed with a left offset within the parent
2015-05-15 11:11:19 +02:00
Nico Rehwaldt d3aa1a7667 fix(modeling/rules): allow moving message flows
Closes #276
2015-05-12 18:04:42 +02:00
Nico Rehwaldt bd2a4dd16b fix(rules): connect message flow to message/untyped events only
Closes #261
2015-05-12 14:35:21 +02:00
Nico Rehwaldt f0f475dad5 feat(palette): integrate multi selection + space tool
related to #244
2015-05-06 16:52:33 +02:00
Nico Rehwaldt 4f236382a0 fix(modeling): adjust default size for participants
From 600x300 -> 600x250.

Closes #262
2015-05-06 16:51:01 +02:00
Ricardo Matias 6fc512b477 feat(resize): snap to minimum bounds during resize
closes #252
2015-05-04 15:32:36 +02:00
Ricardo Matias 6f8999b8ae fix(modeling/BpmnUpdater): restore children di when changing diagram type
closes #253
2015-05-04 15:08:32 +02:00
Nico Rehwaldt 877cfcca78 test(Modeler): make sure we can bootstrap without options 2015-05-04 14:58:46 +02:00
Nico Rehwaldt e6a51f4181 test(Viewer): make sure we can bootstrap without options 2015-05-04 14:58:46 +02:00
Nico Rehwaldt 7a54267536 fix(replace): remove unused modeling dependency
The modeling module should be provided by components explicitly.

This allows users to replace it for customization.
2015-04-30 11:40:05 +02:00
Nico Rehwaldt b233ab957c feat(snapping): add bpmn-specific move snapping
This commit adds message flow + collaboration specific snapping by
subclassing the diagram-js provided default Snapping implementation.

* Add collaboration snapping
* Rename lib/util/{Name}.js -> lib/util/{Name}Util.js

Closes #255
2015-04-29 15:04:54 +02:00
Nico Rehwaldt 183a41cf26 fix(modeling): convert to process when deleting last participant only
Related to #128
2015-04-28 14:13:54 +02:00
Nico Rehwaldt 6eceb0926b feat(layout): add straight layouting for message flows
This commit adds a straight layouting strategy for message flows.
Other than that it makes sure connection attachments are being
remembered during reconnection / shape move.

Closes #249
Closes #179
2015-04-22 16:19:26 +02:00
Nico Rehwaldt 373b8c6293 test(importer): decouple from draw fixtures 2015-04-22 16:19:26 +02:00
Nico Rehwaldt 087506cc9a feat(modeling): transform message <> sequence flows
Closes #199
2015-04-22 16:12:58 +02:00
Nico Rehwaldt c14a87e5ad feat(modeling): add message flow modeling
Related to #199
Closes #201
2015-04-22 16:12:58 +02:00
Ricardo Matias 6011de1c4a fix(resize): correctly compute cropping box after resize
closes #236
2015-04-22 09:20:07 +02:00
Nico Rehwaldt de648520d5 feat(modeling): snap initial participant to diagram contents
Closes #241
2015-04-16 18:30:04 +02:00
Ricardo Matias 0381811d03 feat(space-tool): add create/remove space behaviour
closes #132
2015-04-16 10:00:18 +02:00
Nico Rehwaldt 0a03e59866 feat(modeling): add participant modeling behavior
This commit adds the ability to model participants from the palette.

* Empty diagrams can be used as a start for participant _AND_ process diagram
* Process diagrams can be converted to collaboration diagrams by dropping
  a participant onto them

Closes #128
2015-04-14 15:23:16 +02:00
Nico Rehwaldt 2e73f5ab85 fix(modeling): update id property in diagram-js, too
This fixes a bug where updating the id property of an element
was not propagated to the diagram. Thus, retrieving the element
based on the new id from diagram-js did not work.

Closes #238
2015-04-13 10:55:17 +02:00
Nico Rehwaldt 701bae6c1f fix(tests): restore matchers
We previously inherited the test matchers from diagram-js.
With the diagram-js migration to Mocha, the matchers changed.

As a result Jasmine silently discarted a number of test cases on our
suite.

This restores the old matchers from diagram-js in our project.
2015-04-13 10:52:07 +02:00
Nico Rehwaldt e6885eaebc test(project): replace brfs with stringify
This _could_ fix the various bundle building issues we are seeing on
travis-ci and locally.

Closes #234
2015-03-31 14:22:53 +02:00
jdotzki 8cd3c78d5e fix(rule): allow drop of associations
close #202
2015-03-25 13:45:54 +01:00
Nico Rehwaldt 397a4aeea5 fix(replace): keep associations during replace
Closes #226
2015-03-12 14:03:28 +01:00
Nico Rehwaldt 1c0ade9d51 feat(replace): focus element after replace
Related to #192
2015-03-11 16:31:42 +01:00
Nico Rehwaldt 67d81c346c fix(replace): pre-build BPMN elements
This simplifies the ways we work with replacements.

Instead of monkey-patching the original replace functionality we

* create the business object / target object
* pass it to replace

A simple way that works well with our existing infrastructure.

Other changes:

* fixes redo / undo issues.
* splits context-pad + replace

Closes #180
2015-03-11 16:19:09 +01:00
jdotzki c5af54c1e3 feature(rules): add rule for link events
close #219
2015-03-05 13:57:32 +01:00
jdotzki 225cbb914c fix(rules): fix modeling rules for event based gateways
Allow  condition and signal catching events after event based gateways.

close #213
2015-03-04 10:20:37 +01:00
jdotzki 18c2b0552e feat(contextpad): add replace-menu to context pad
Support for Gateways and Task Types was added.

See #130
2015-03-02 13:43:06 +01:00
jdotzki 3873709141 feat(replace): add service that allows to replace elements
API
- BpmnReplace#replaceElement

see bpmn-io/bpmn-js#130
2015-03-02 13:43:06 +01:00
Nico Rehwaldt 85d0ffd56a fix(tests): re-enable all 2015-02-18 13:25:20 +01:00
Nico Rehwaldt 788b143f27 fix(Viewer): do not cache moddle
This may have unwanted side-effects, i.e. when using id
validation and caching.

We must ensure the meta-model element is actually instance stateless in
order to safely cache it.
2015-02-17 12:04:03 +01:00
Nico Rehwaldt 4854c96067 fix(import): correctly dispatch parse warnings
Fixes our bpmn-moddle integration to correctly dispatch parse warnings
from bpmn-moddle to the client.

Related to bpmn-io/moddle-xml#5

Closes #58
2015-02-17 11:00:00 +01:00
Nico Rehwaldt 8c61906469 feat(bpmn-js): allow custom model extensions to be passed
Related to bpmn-io/bpmn-moddle#15
2015-02-12 15:50:23 +01:00
Nico Rehwaldt 04437a8354 chore(project): remove jquery
Related to bpmn-io/bpmn-js#189
2015-02-06 15:26:41 +01:00
Nico Rehwaldt 3996408404 chore(project): migrate to modularized lodash@3
* use specialized lodash utilities
* consistently apply 'use strict'

Related to #185
2015-02-02 14:46:21 +01:00
jdotzki d8057a2acc fix(rules): disallow circular connection
This temporarily disallows connections from and to the same element
because it rendered the connection unusable..

This change can be reverted once proper auto layout for circular connections is implemented.

Closes #176
2015-01-29 13:26:32 +01:00
Nico Rehwaldt 85e512c97d feat(modeler): add bendpoints
It is now possible to add bendpoints to flows or drag bendpoints to
update their position / trigger reconnects.

Upon bendpoint move a rule is checked to figure out whether or not a
bendpoint operation is allowed or not.

Closes #123
Closes #138
Closes #139
Closes #165
2015-01-20 17:19:56 +01:00
Nico Rehwaldt 5735a8bc3a feat(library): add navigated viewer
This adds an additional viewer variant that contains canvas navigation
features.

Related to #169
2015-01-10 12:04:26 +01:00
Nico Rehwaldt 2019c658df feat(modeling): add property update mechanism
This adds the modeling#updateProperties(element, props) method to the
modeler that can be used to set BPMN 2.0 properties on elements.

By assigning the properties this way, the modeler is aware of the
elements that got changed and can update / redraw the elements
accordingly.

This hooks up with the modelers undo/redo chain, too.

Related to #167
2015-01-02 16:15:18 +01:00
Nico Rehwaldt 07ba58d805 fix(import): import message flows to dangling process
Closes #166
2015-01-02 12:56:32 +01:00
Nico Rehwaldt 74092d40a2 chore(Modeler): remove bpmn-js-cli 2014-12-30 22:53:58 +01:00
Nico Rehwaldt 2909847ac8 feat(direct-editing): rework editing
This commit updates the default direct editing behavior.

It activates on non-touch environments only and only on embedded
labels, too.

This provides a way smoother modeling experience.
2014-12-23 16:56:35 +01:00
jdotzki fd76cc98dd fix(BpmnImporter): Round diagram coordinates on import
The model coordinates stay intact until shape is changed.
2014-12-22 11:44:44 +01:00
Nico Rehwaldt 574af0814d feat(bpmn-js): add #destroy method and allow custom position
Closes #100
2014-12-18 09:45:45 +01:00
Nico Rehwaldt 18784c5994 fix(label-editing): listen to correct events 2014-12-17 21:55:03 +01:00
Nico Rehwaldt 710ff1be58 test(import): do not check internals 2014-12-09 18:04:59 +01:00
Nico Rehwaldt 6041717c6c feat(modeling): implement create via palette/context-pad
Related to #137
2014-12-07 13:08:50 +01:00
Nico Rehwaldt e387768ef1 fix(modeling): use correct parent for bpmn:TextAnnotation 2014-12-02 08:36:15 +01:00
Nico Rehwaldt a5ed6aa9db test(modeling/move): add label move undo tests 2014-11-28 13:19:57 +01:00
Nico Rehwaldt 9e37037ac6 fix(move): adjust positioning of all attached labels 2014-11-28 11:38:06 +01:00
Nico Rehwaldt 2258642cb4 fix(modeling): skip updating BPMN parent on label move 2014-11-27 11:55:38 +01:00
Nico Rehwaldt f363356fcb fix(import): handle multiple DI elements per semantic
Closes #158
2014-11-26 20:54:52 +01:00
Nico Rehwaldt e2aaf342f7 feat(import): wire root element
Related to #151
2014-11-26 18:17:52 +01:00
Nico Rehwaldt 2f679a36b9 feat(modeling): move to rules infrastructure
Related to bpmn-io/diagram-js#55
2014-11-21 09:22:51 +01:00
Nico Rehwaldt 2707fc8858 chore(test): fix brfs include encoding 2014-11-21 09:22:51 +01:00
Nico Rehwaldt 3d66502ee8 chore(test): assign fixed height to test containers 2014-11-21 09:22:51 +01:00
jdotzki 51918b3493 feat(drop): basic implementation
This commit adds a basic implementation for model drop

* using rules to check whether the drop is allowed
* updating the model after drop

See #127
2014-11-21 09:21:41 +01:00
Nico Rehwaldt 0b8baccd32 feat(palette): migrate to icon font
Related to #148
2014-11-17 18:26:07 +01:00
Nico Rehwaldt 3a377a3871 chore(core/ElementRegistry): pull API changes
Related to #153
2014-11-17 17:36:22 +01:00
Nico Rehwaldt b1f310a1db feat(context-pad): use font to render symbols
Related to #148
2014-11-17 11:02:25 +01:00
Nico Rehwaldt 8deb9d30a1 fix(import): ensure correctly import *associations
This commit ensures we correctly detect and import
Data*Associations and Associations.

It aligns logging across the import components, too, being slightly more
verbose and helpful.

Related to #112
2014-10-31 15:05:16 +01:00
Nico Rehwaldt 447086bbdf fix(import): correctly import label DI
Related to #145
2014-10-30 12:07:28 +01:00
Nico Rehwaldt c58532aeac chore(import): reorganize import related functionality
This commit puts all import related stuff into the import module.

The core module remains as an entry point to require the basic modules
needed by bpmn-js. At the time this is { import, draw }.
2014-10-30 12:06:43 +01:00
Nico Rehwaldt 05b044e64d feat(import): forgive missing bpmnPlane#bpmnElement
Related to #146
2014-10-28 15:13:52 +01:00
jdotzki 86f66bc534 improve(resize): allow to set minimum size for element 2014-10-14 17:26:50 +02:00
jdotzki d3dbeb1375 feat(bpmnpaletteprovider): BPMN item provider for the palette
close bpmn-js#137
2014-10-06 12:23:22 +02:00
Christian Lipphardt 81ca09fe64 chore(karma): increase timeout for no browser activity 2014-09-25 09:54:40 +02:00
Nico Rehwaldt 4428be4227 fix(draw): render labels as one-liner per default
This is a temporary fix for #113
2014-09-15 14:41:26 +02:00
Nico Rehwaldt 8cc530bf58 feat(modeling): move external labels with nodes
Closes #105
2014-09-11 17:22:59 +02:00
Nico Rehwaldt 179121880f test(bpmn-moddle): create integration test 2014-09-08 19:04:07 +02:00
Nico Rehwaldt 9d16e17c5c fix(labels): correct positioning + hide if empty
This commit improves the label handling by

* showing the label only if it exists
* updating the status accordingly
* positioning the label correctly on import

Related to #113
2014-09-08 19:03:39 +02:00
Nico Rehwaldt d0644c953a feat(modeling): integrate connection repair 2014-09-04 13:47:31 +02:00
Nico Rehwaldt a301acc4c4 feat(modeling): integrate connection.move
Related to #125
2014-08-28 16:17:55 +02:00
Nico Rehwaldt 5f986dcb3a test(import): assert correct number of children 2014-08-28 14:27:13 +02:00
Nico Rehwaldt c685c0fcce feat(project): add manhattan style layouting for flows
Related to #48
2014-08-27 16:55:26 +02:00
Nico Rehwaldt 5a2c5c425c chore(navigation): move features to diagram-js
This commit moves the navigation features from bpmn-js to diagram-js so
that they can be reused in other modeling / viewer tools.

Related to #124

BREAKING CHANGE:

Navigation features have been moved to diagram-js. If you use them in
custom bundles, update their location accordingly:

bpmn-js/lib/features/movecanvas -> diagram-js/lib/navigation/movecanvas
bpmn-js/lib/features/zoomscroll -> diagram-js/lib/navigation/zoomscroll
bpmn-js/lib/features/touch -> diagram-js/lib/navigation/touch
2014-08-27 15:43:18 +02:00
Nico Rehwaldt 5c2a079307 feat(tests): extract test helper to own module
This commit extracts the test helper utility to its own module.

Use in bpmn-js extensions via

var Helper = require('bpmn-js/test/helper');

This adds the global helper bindings bootstrapModeler/Viewer and inject.
2014-08-25 17:58:18 +02:00
jdotzki 470e0f88ba feat(modeling): update bpmn model on remove
On removeShape/removeConnection the BPMN model is updated accordingly.

related to #106
2014-08-22 15:20:48 +02:00
jdotzki 49d0be47d1 test(importer): fix xml id 2014-08-18 13:48:45 +02:00
jdotzki 7e345a348e test(importer): attribute default value
Make sure 'eventGatewayType' get default value if undefined.
2014-08-18 12:38:41 +02:00
jdotzki b5ba814952 improve(viewer): clean up SVG before export
Remove outer-marker-bound <rect> from export.

close bpmn-io/bpmn-js#97
2014-08-17 12:17:15 +02:00
Nico Rehwaldt 6be9a9e0e4 test(Modeler): fix overlay expectations 2014-08-12 11:53:38 +02:00
Nico Rehwaldt 5df579bd02 chore(tests): add diagram.css during tests 2014-08-12 11:53:00 +02:00
Nico Rehwaldt 86d5c20f07 fix(modeling): strip all namespaces for semantic id generation
Related to #108
2014-08-12 11:03:47 +02:00
jdotzki 58b9964828 improve(bpmnfactory): add semantic element IDs
The ID will have an semantic prefix: SequenceFlow_6bpz90i

related to bpmn-io/bpmn-js#108
2014-08-11 17:55:54 +02:00
Nico Rehwaldt ac3669f0ca feat(Modeler): include bpmn-js-cli 2014-08-08 14:42:50 +02:00
Nico Rehwaldt 2202bb07fa feat(tests): gracefully handle missing jasmine-test-container-support
This allows us to smoothly transition into a jasmine-free world.
2014-08-08 08:49:12 +02:00
Nico Rehwaldt 08f45fd444 test(Modeler): add additional overlay 2014-08-07 22:09:12 +02:00
Nico Rehwaldt 4f6d57accf fix(Viewer): freakin fix SVG export performance
From /.*<svg[^>]*>|<\/svg>.*$/g to /^.*<svg[^>]*>|<\/svg>.*$/g, spot the
   difference.
2014-08-06 15:22:06 +02:00
Nico Rehwaldt fb86037cdd fix(modeling): properly update sourceRef/targetRef for associations
Related to #90
2014-08-05 17:57:19 +02:00
Nico Rehwaldt 8116941fca test(overlays): add overlay support tests
Related to #54
2014-08-05 17:02:03 +02:00
Nico Rehwaldt c21b295ec2 feat(Viewer): fire <import.*> events 2014-08-05 08:34:54 +02:00
Nico Rehwaldt 911e991bc8 chore(tests): instantiate modeler only when neccessary
This commit replaces the test helper #bootstrapBpmnJS with either

This ensures we can have different Modeler/Viewer specific bootstrap
code being called based on whether we test modeling or viewing only
features.
2014-08-05 08:17:22 +02:00
Nico Rehwaldt 4a824911c2 feat(modeling): validate + create unique ids
This adds id logging + validation to the Modeler. As a result the
modeler will throw hard exeptions on colliding id mappings and may
generated unique ids.

Related to bpmn-io/bpmn-js#92
2014-08-04 16:34:37 +02:00
Nico Rehwaldt 925fbc98b8 chore(project): pull bpmn-moddle changes 2014-08-04 16:32:11 +02:00
Nico Rehwaldt b1663db035 fix(modeling): correct initial label positioning 2014-08-04 09:34:45 +02:00
Nico Rehwaldt 9bf74c95e6 chore(modeling): pull diagram-js changes 2014-08-04 09:34:45 +02:00
Nico Rehwaldt 11f166a7f9 fix(modeling): update di bounds during shape.create 2014-08-04 09:34:44 +02:00
Nico Rehwaldt 72729ce248 fix(modeling/BpmnFactory): do not serialize point#original 2014-08-01 08:32:56 +02:00
Nico Rehwaldt cb77832fbe feat(viewer): allow additional modules to be passed
This enables users to instantiate Viewers/Modelers via

```
new Viewer({
additionalModules: [ ... ]
});
```

to bootstrap their own modules with the viewer without overriding the
existing ones.
2014-08-01 07:55:47 +02:00
Nico Rehwaldt 826d798f19 chore(tests): remove unused node test folders
This commit cleans up reminders of the node-js test suite removal
by removing the test/node folder.

The test structure has been aligned by moving all tests from

* test/spec/browser to test/spec
* test/spec/integration to test/integration
2014-08-01 07:20:15 +02:00
Nico Rehwaldt c490d4539b test(modeling): ensure connection is layouted during shape move 2014-07-31 16:26:05 +02:00
Nico Rehwaldt 4afe3a80ed feat(modeling): crop connections on shape boundaries
Behind the scenes changes:

* use diagram-js Matcher util in tests
* add test cases for LayoutConnection
* add test cases for CreateConnection
* cleanup unused test diagram

Related to #2
2014-07-31 16:26:05 +02:00
Nico Rehwaldt bc61e6c3ed feat(features/modeling): implement BPMN update for shape+label move
Related to #2
2014-07-31 15:58:28 +02:00
Nico Rehwaldt d729818b94 feat(features/modeling): implement bpmn update as command listeners
This commit adds

* handling of bpmn update as command listeners
* label support

Related to bpmn-io/diagram-js#45

BREAKING CHANGE:

* rename bpmnModeling -> modeling to achive parity with diagram-js
2014-07-31 15:56:15 +02:00
jdotzki e1ed479314 feat(modeling): model gateways in processes
- Gateways can added via context pad
- BpmnModelingSpec.js split up into several files

See #88
2014-07-31 14:03:33 +02:00
Nico Rehwaldt ec83cc67d9 feat(import): deferred import connections 2014-07-23 18:53:04 +02:00
Nico Rehwaldt 1947a9c4de fix(features/bpmn-modeling): correctly remove flow from outgoing/incoming
Related to #6
2014-07-18 15:10:33 +02:00
Nico Rehwaldt f1b023f419 fix(features/bpmn-modeling): reuse created elements during redo
This commit fixes the append node command by caching and reusing created
shapes and bpmn elements.

This ensures we do not invalidate actions that build on these element
references.

Related to #6
2014-07-18 14:39:15 +02:00
Nico Rehwaldt 894280e723 feat(feature/bpmn-modeling): append task via context-pad
Related to #6, #40
2014-07-17 15:29:34 +02:00