Commit Graph

273 Commits

Author SHA1 Message Date
Nico Rehwaldt cdacc69a3d chore(modeling/BpmnLayouter): simplify manhattan layout logic 2018-08-22 14:43:16 +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
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 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
Nico Rehwaldt fb5fccb331 style(modeling): use constant instead of magic string 2018-06-13 11:08:46 +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 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
Nico Rehwaldt 4ade805f3d style(modeling): use constant instead of magic string 2018-06-06 14:31:31 +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
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
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 b98dd6fe95 fix(modeling): correctly handle missing bpmndi:Label bounds
Closes #794
2018-05-17 14:57:54 +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
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 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
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 f047fefd89 fix(update-properties-handler): fix typo 2018-01-31 18:21:16 +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 3124f9ba96 chore(modeling): minor SetColorHandler cleanup 2018-01-31 12:16:08 +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 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 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 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 ce361dabd7 fix(modeling/DropOnFlowBehavior): ensure label is created before executing 2017-12-11 15:40:40 +01:00
Nico Rehwaldt f05ad02198 feat(layout): filter redundant connection waypoints 2017-12-10 12:29:54 +01: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
Nico Rehwaldt ff140d1a50 style(lib): correct indention 2017-05-19 12:56:59 +02:00
Nico Rehwaldt 83f55b1fb1 fix(modeling): handle label layouting edge case
Related to #669
2017-05-03 15:02:52 +02:00
Nico Rehwaldt 7d896855a9 fix(modeling): correct label line attachments not being recognized
* remove rounding where it does not matter
* work around some precision errors in logic
* adjust test cases (to higher precision)

Closes #669
2017-05-03 15:02:52 +02:00
Philipp Fromme 43a3b07ab2 fix(bpmn-rules): only connect flow nodes and artifacts through association
Closes camunda/camunda-modeler#554
2017-04-11 15:16:39 +02:00
Nico Rehwaldt 2fd46ac294 fix(modeling/layout): handle zero-length lines during adjustment
Closes #669
2017-03-21 09:01:21 +01:00
Nico Rehwaldt c853e88e54 chore(modeling): do not expose ElementFactory helpers
Less API surface => BETTER.
2017-03-21 07:23:57 +01:00
Philipp Fromme 79e8378db0 fix(label-support): fix positioning of label created on shape create
* make sure label shape is created with correct size
* make sure test varifies behaviour

Closes camunda/camunda-modeler#535
2017-03-07 15:22:43 +01:00
Nico Rehwaldt d1072471c4 fix(drop-on-sequence-flow): ensure correct behaviour
Closes #667
2017-03-02 11:45:34 +01:00
Philipp Fromme 81de98f786 feat(bpmn-renderer): use updated text util api
Related to bpmn-io/diagram-js#205
2017-03-02 10:55:40 +01:00
Ricardo Matias 722c86beb2 feat(replace): persist colors when replacing an element
Related to #640
2017-02-13 12:01:42 +01:00
Ricardo Matias def402971c feat(modeling): add move onto sequence flow
This adds the ability to move flow nodes onto existing
sequence flows (similar to the create on flow behavior
implemented with an earlier bpmn-js release).

Closes camunda/camunda-modeler#432
2017-01-27 15:31:26 +01:00
Nico Rehwaldt bf133bb8da fix(rules): allow data-association + participant move
Closes #638
2016-12-19 15:33:42 +01:00
Philipp Fromme a2f33b8e93 feat(modeling): add API for setting fill/stroke color
Closes #629
2016-12-05 17:01:04 +01:00
pedesen 2c7aad5e0b feat(modeling/BpmnUpdater): update existing (source/target)Element in di
Closes #620
2016-11-01 10:43:08 +01:00
Philipp Fromme ccd5eeb758 fix(bpmn-updater): keep default flow when reconnecting sequence flow end
Closes #619
2016-10-19 11:10:11 +02:00
pedesen c13ac91e94 feat(BpmnRenderer): align label size/position to text during rendering
Closes #601
2016-09-02 16:43:23 +02:00
pedesen f7f868ec67 chore(label-editing): resize textbox during direct editing
Related to bpmn-io/diagram-js-direct-editing#2
2016-08-29 08:56:12 +02:00
hoferch91 a8cf097ed0 feat(modeling): retain waypoints with connection on shape deletion
When keeping the connection when the intermittant element,
make sure we keep the waypoints, too.

closes #581
2016-08-23 17:13:25 +02:00
Philipp Fromme 91cfcd9bac fix(modeling): handle float bendpoints in label behavior
* silently round all values when doing circle-line intersection

closes #602
2016-08-10 13:14:56 +02:00
hoferch91 226a0d76ed feat(replace): properly collapse / expand SubProcess(es)
* correctly toggle collapse / expand state
* update children visibility

Closes #575
Closes #510

review(collapse-expand)
2016-08-09 11:33:59 +02:00
Jan Stümmel b881ca8086 fix(modeling): handle non-integer waypoints in LabelBehavior
* verify space tool / label layouting behavior

Closes #590
2016-07-14 08:54:45 +02:00
Jan Stümmel 6c77e23692 fix(modeling): do not layout hidden labels
closes #587
2016-07-05 17:19:13 +02:00
Jan Stümmel fd198b6059 feat(modeling): move labels with connections
* move on segment dragging
* move on reconnect
* move on bendpoint add / remove

Closes #331
2016-07-05 12:01:08 +02:00
Nico Rehwaldt df54005cfa feat(modeling): repair broken connection dockings on import
Closes #479
2016-06-27 00:32:17 +02:00
Nico Rehwaldt f5f05ac011 chore(layouting): account for connection(Start|End) hints
Related to bpmn-io/diagram-js#167
2016-06-27 00:32:16 +02:00
Nico Rehwaldt db53608b3d feat(connect): support point to point connection
Closes #578
2016-06-22 15:52:50 +02:00
Nico Rehwaldt fcf2bbd9aa feat(modeling/layout): improve MessageFlow layout on SubProcesses
Related to #574
2016-06-22 15:52:31 +02:00
Ricardo Matias 6549af7aca feat(modeling/layout): improve message flow layout on Participants
Closes #574
2016-06-22 15:52:06 +02:00
Philipp Fromme e157f1c82f fix(bpmn-updater): keep conditions on element replace
Closes camunda/camunda-modeler#318
2016-06-21 14:01:41 +02:00
Philipp Fromme 6da1a0cb63 feat(replace): keep element ID on replace
Closes #513
2016-06-13 16:53:13 +02:00
Nico Rehwaldt 0ba239bbce chore(project): switch to eslint
Use eslint instead of jshint for linting.

* better linting results
* test files linted, too
* consistent code style checks

Closes #568
2016-06-07 09:55:32 +02:00
Nico Rehwaldt 7e93759a0d fix(modeling/BpmnUpdater): ignore custom elements on canvas.updateRoot
Closes #559
2016-06-01 09:43:02 +02:00
Ricardo Matias 6e8962574b revert(textarea): support automatic-resizing textarea
This reverts commit 11165e2c21.
2016-05-18 08:17:03 +02:00
Vladimirs Katusenoks 006be69d63 fix(associations): always show full data association
Closes #506
2016-05-09 14:36:06 +02:00
Vladimirs Katusenoks 5a02923a61 fix(connections): fix update logic on reconnecting elements
Closes #534
2016-05-06 16:26:02 +02:00
Ricardo Matias 30e3fdd81c fix(copy-paste): allow pasting of elements onto lanes
Closes #532
2016-05-03 17:27:25 +02:00
Ricardo Matias 612b93db2e feat(copy-paste): disallow pasting of participants on some scenarios
Participants are not allowed to be pasted onto a Process,
if the Process already has other elements.

Closes #526
2016-05-03 15:23:45 +02:00
Ricardo Matias 3f04e18398 fix(copy-paste): correctly paste on lanes
Closes #516
2016-05-02 14:38:42 +02:00
hoferch91 11165e2c21 fix(textarea): support automatic-resizing textarea
Closes #472
2016-05-02 11:26:19 +02:00
Ricardo Matias c586c908b2 feat(ModelingFeedback): add tooltip when pasting is disallowed
Only in the case of pasting outside of collaboration.

Closes camunda/camunda-modeler#252
2016-04-29 16:19:09 +02:00
Ricardo Matias 1b9ebfc993 feat(copy-paste): allow copying & pasting of elements
Closes #391
2016-04-22 09:34:53 +02:00
Vladimirs Katusenoks 07a1ef29b6 fix(morphing): release id on element replace
Closes camunda/camunda-modeler#97
2016-04-21 11:50:36 +02:00
Vladimirs Katusenoks bc53dc98db fix(id): unclaim id on element remove
Closes #421

Fixing incorrect test+implementation for ID property update
2016-04-21 11:50:36 +02:00
Philipp Fromme ec159381ce fix(replace): preserve label position on element replace
closes #235
2016-04-20 16:13:02 +02:00
Philipp Fromme 7de043ab9d fix(modeling): adjust position of hidden label on waypoints change
closes bpmn-io/diagram-js#158
2016-04-20 16:00:14 +02:00
Jan Stümmel bb06a0386d feat(modeling): combining two sequence flows when removing an element
combines only if removed element has one outgoing and one incoming sequence flow

Closes #433
2016-04-13 14:38:38 +02:00
Vladimirs Katusenoks 60720c8ae7 fix(modeling): unset gateway default on default flow delete
Closes #505
2016-04-04 17:24:01 +02:00
Jan Stümmel 4732dcfc74 feat(modeling): create collapsed pools via morph menu
You are now able to morph between collapsed and expanded pools

* Not possible to drop elements in a collapsed pool
* if a expanded pool collapses, the children are deleted

Closes #365
2016-03-14 16:28:23 +01:00
davcs86 49173abdad feat(i18n): add localization
* Palette, ContextPad, Errors...

Closes #491
2016-03-11 20:10:10 +01:00
Nico Rehwaldt 1bceaaa229 chore(modeling): move BpmnLabelSupport to behavior
* Make sure the label support is part of our
behavior definitions.
* Adjust test cases accordingly.
2016-03-08 14:12:52 +01:00
hoferch91 0393d51893 chore(modeling): set minimum height to one line
Closes #402
2016-03-07 09:11:45 +01:00
pedesen 37353c4f60 fix(modeling): mark elements as changed during label update
Closes #484
2016-03-03 17:27:57 +01:00
Nico Rehwaldt cc2cf3f561 chore(modeling/behavior): cleanup code 2016-01-27 11:56:05 +01:00
Nico Rehwaldt cc142d8fd5 chore(modeling/ElementFactory): use is helper 2016-01-27 11:56:05 +01:00
Nico Rehwaldt 206daa1154 fix(modeling): manhattan layout compensation association
Related to #291
2016-01-27 09:45:05 +01:00
Nico Rehwaldt d8ace12308 fix(rules): always allow associations from/to TextAnnotation 2016-01-25 16:02:59 +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
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
Ricardo Matias 0feebe0b0c feat(DefaultFlows): allow default flows going out of tasks
Closes #425
2016-01-07 16:29:30 +01:00
Nico Rehwaldt 9ac0a9a957 fix(modeling): correctly populate DataInputAssociation#targetRef
Closes #431
2016-01-06 11:57:52 +01:00
Ricardo Matias d344e679fd fix(BpmnLabelSupport): fix hidden property assignment
Closes #401
2016-01-04 15:19:08 +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 283ddae6d3 fix(modeling/cmd): do not fail updating non-changed id
Closes #420
2015-11-25 21:53:02 +01:00