Commit Graph

173 Commits

Author SHA1 Message Date
Nico Rehwaldt 4ea70a05de fix(snapping): remove prev/next resize constraints for unbalanced resize 2015-10-22 20:35:34 +02:00
Nico Rehwaldt de35cdc6a0 chore(modeling): switch to primary modifier for lane expanding 2015-10-22 20:28:08 +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 d789342b10 feat(modeling): update Lane#flowNodeRefs while modeling
Closes #387
2015-10-20 16:05:24 +02:00
Nico Rehwaldt 7af6d916ce feat(context-pad): use #removeElements when deleting 2015-10-20 16:05:24 +02:00
Nico Rehwaldt 90067aba03 docs(modeling/util): fix LaneUtil docs 2015-10-20 16:05:24 +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
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
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 8b5572d3c4 fix(draw): hide empty on import + show on property update
Closes #362
2015-10-05 15:40:49 +02:00
Ricardo Matias 8a0f566ee3 feat(replace): add cancel events
Closes #337
2015-09-28 11:35:38 +02:00
Nico Rehwaldt 4891eb4f84 fix(draw): show labels with text
Closes #362
2015-09-14 16:20:49 +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 ccf21e2f0c fix(replace-preview): rename canExecute.replace -> canExecute.replacements
Closes #346
2015-09-01 18:04:12 +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
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 d9788c7f31 feat(ordering): add sequence flow + association to correct parent
* remove ModelUtil#getSharedParent because we do proper ordering
  via BpmnOrderingProvider now.
* Cherio!

Related to #316
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 4e33f524c7 feat(modeling): add lane default width
Related to #316
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 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
Nico Rehwaldt 966e3aaa34 feat(modeling): define BPMN specific ordering
Closes #336
2015-08-20 14:49:53 +02:00
Nico Rehwaldt fbf82e83e5 chore(modeling/behavior): order behaviors 2015-08-19 17:24:49 +02:00
Nico Rehwaldt 5c629a9889 chore(modeling/behavior): rename Remove{->Participant}Behavior 2015-08-19 17:24:49 +02:00
Nico Rehwaldt 046f962244 fix(modeling/behavior): only replace existing connections 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
pedesen 4196ae8b00 feat(replace-preview): Add visual feedback during shape movement
Closes #325
2015-08-19 10:52:15 +02:00
pedesen e1876fa3e8 chore(modeling): add non-interrupting start events to ElementFactory 2015-08-18 11:02:43 +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 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
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
pedesen 02416de290 chore(bpmn-rules): add function to check for same parent 2015-07-30 10:36:07 +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 359e0e01f4 chore(modeling): use postExecuted when checking connection rules 2015-07-29 17:56:14 +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
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
Ricardo Matias 9a79330d5b fix(attaching): correct api changes from diagram-js 2015-07-03 16:00:41 +02:00
pedesen 88f91d342b feat(replace): model collapsed subprocesses using the replace menu
Closes #303
2015-07-03 15:54:36 +02:00
Nico Rehwaldt 71a5c2e1ed fix(modeling): correctly update extension attributes
Closes #301
2015-06-22 14:35:30 +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
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
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 7b712d8428 feat(modeling): add feedback on invalid modeling action
This commit adds the ModelingFeedback component. It hooks into
modeling action rejected events and displays error messages
to the user.

The current behavior is to show an error message when dropping
a flow node outside a participant in a collaboration.

Related to #203
2015-05-11 17:01:48 +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 6f8999b8ae fix(modeling/BpmnUpdater): restore children di when changing diagram type
closes #253
2015-05-04 15:08:32 +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 d8ef4772cd chore(modeling): make append behavior a CommandInterceptor
Append behavior inherits from CommandInterceptor now.

Connection type inference related code is reused from Modeling#connect.
2015-04-28 14:13: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 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
Nico Rehwaldt de648520d5 feat(modeling): snap initial participant to diagram contents
Closes #241
2015-04-16 18:30:04 +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
jdotzki 8cd3c78d5e fix(rule): allow drop of associations
close #202
2015-03-25 13:45:54 +01:00
Nico Rehwaldt e7bbb5d6bf chore(project): use inherits util 2015-03-23 15:15:32 +01:00
Nico Rehwaldt 695a973e92 chore(modeling): renamve behaviors for clarity 2015-03-23 15:14:54 +01:00
Nico Rehwaldt 397a4aeea5 fix(replace): keep associations during replace
Closes #226
2015-03-12 14:03:28 +01:00
Nico Rehwaldt ae8e6146d1 chore(project): fix whitespace character 2015-03-11 17:42:56 +01:00
jdotzki 6aceab9dbf feature(contextpad): add catch events to pad for event based gateways
close #206
2015-03-06 09:27:18 +01:00
jdotzki 89a3a6bcd8 feature(modeling): set di.isMarkerVisible for exclusive gateway as default
close #221
2015-03-05 14:19:47 +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 7207d010db feat(contextpad): add event to replace-menu
See #192
2015-03-02 13:43:06 +01:00
jdotzki 66801df111 feature(rules): add modeling rules for event based gateways
closes #193
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 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
Nico Rehwaldt a899df2a12 chore(modeling/rules): reduce complexity
Related to #176
2015-01-29 14:03:17 +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 39d5fa2e9c feat(modeling): inherit default handlers 2015-01-06 16:28:39 +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 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 9e37037ac6 fix(move): adjust positioning of all attached labels 2014-11-28 11:38:06 +01:00
Nico Rehwaldt 3af41e2e7e fix(rules): restrict movement on flow elements only
For the moment we allow moving flow elements in between diagrams, only.
2014-11-27 11:56:31 +01:00
Nico Rehwaldt 2258642cb4 fix(modeling): skip updating BPMN parent on label move 2014-11-27 11:55:38 +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
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 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
jdotzki 392dfaee41 feat(resize): add ability to resize shapes
see #140
2014-10-10 09:06:21 +02:00
jdotzki 5633dc0b78 improve(elementfactory): changed default size for SubProcesses
- expanded: with enough space for a small process
- collapsed: same size as Tasks
2014-10-07 11:54:21 +02:00
jdotzki d3dbeb1375 feat(bpmnpaletteprovider): BPMN item provider for the palette
close bpmn-js#137
2014-10-06 12:23:22 +02:00
Nico Rehwaldt 36cb6777ce fix(modeling): disallow connection -> startEvent 2014-09-15 16:01:09 +02:00
Nico Rehwaldt 66c7a31d34 chore(label-editing): deselect element during editing 2014-09-15 14:42:43 +02:00
Nico Rehwaldt 8cc530bf58 feat(modeling): move external labels with nodes
Closes #105
2014-09-11 17:22:59 +02:00
Nico Rehwaldt eaddbb31c4 feat(context-pad): add visual creation of connections
Closes #107
2014-09-11 16:44:56 +02:00
Nico Rehwaldt 0044a51bc5 feat(label-editing): auto hide empty labels
Related to #105
2014-09-09 15:20:30 +02:00
Nico Rehwaldt d0644c953a feat(modeling): integrate connection repair 2014-09-04 13:47:31 +02:00