Commit Graph

701 Commits

Author SHA1 Message Date
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
Philipp Fromme e797d9c142 feat(label-editing): improve text annotation editing
Related to camunda/camunda-modeler#564
2017-07-25 15:05:35 +02:00
Philipp Fromme 114da17403 fix(copy-paste): create new business object on paste
* fixes pasted elements having same business object
* removes temporary fix that prevents pasting twice

Closes #686
Closes camunda/camunda-modeler#561
2017-06-20 16:24:11 +02:00
Nico Rehwaldt 8015b21b15 fix(rules): allow TextAnnotation <-> Data(Store|Object) connection
Closes #687
2017-05-22 12:55:43 +02:00
Nico Rehwaldt 8e55edd80f chore(copy-paste): temporarily prevent consecutive paste
This prevents users from creating invalid
models due to IDs not properly being
generated on consecutive paste (#686).

Closes #688.
2017-05-19 13:01:57 +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 8d536f2cce style(modeling): reformat test case 2017-03-21 09:01:42 +01:00
Nico Rehwaldt 2fd46ac294 fix(modeling/layout): handle zero-length lines during adjustment
Closes #669
2017-03-21 09:01:21 +01:00
Philipp Fromme 12d700fd14 fix(drop-on-flow): disallow drop on flow label
Closes camunda/camunda-modeler#548
2017-03-10 12:47:23 +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 c5f48f5cd1 test(modeling): pass on Arch Linux 2017-03-02 11:53:42 +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 1cb3a8eedc feat(util/model): avoid persisting empty property element containers
Closes #512
2017-02-14 15:43:58 +01:00
Ricardo Matias d8098c2feb feat(copy-paste): copy 'fill' and 'stroke' properties
Closes #640
2017-02-13 12:01:42 +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 2c51cfbe3d fix(util/model): able to clone Event Definitions extension elements
Related to camunda/camunda-modeler#516
Related to camunda/camunda-modeler#517
2017-02-10 09:47:59 +01:00
Ricardo Matias 1a4a8959fe fix(replace): make sure is respected for expanded sub processes
Closes camunda/camunda-modeler#511
2017-02-10 09:41:44 +01:00
Ricardo Matias b5c65f0b42 Revert "feat(util/model): avoid persisting empty property element containers"
This reverts commit 86c0a0aa75.
2017-02-08 15:44:29 +01:00
Ricardo Matias fdc756b442 test(util/model): able to clone 'inputOutput' property belonging to a subprocess
Closes camunda/camunda-modeler#513
2017-02-08 13:29:02 +01:00
Ricardo Matias 86c0a0aa75 feat(util/model): avoid persisting empty property element containers
Closes camunda/camunda-modeler#512
2017-02-08 09:50:12 +01:00
Ricardo Matias b37182b53b feat(util/model): make property cloning pluggable
This introduces a 'property.clone' event that allows
plugging into the cloning mechanism when cloning
nested extension elements.

Related to camunda/camunda-bpmn-moddle#35
2017-01-30 16:38:43 +01:00
Ricardo Matias 2ecb9aeae4 feat(copy-paste): clone properties when morphing to new element
Closes #648
2017-01-30 16:38:43 +01:00
Ricardo Matias 432d7f4b7c fix(replace): assign passed properties to businessObject before cloning 2017-01-30 16:23:57 +01:00
Ricardo Matias 2dcfb1b3c9 feat(util/model): improve the way we clone properties
Now we make sure we don't copy id or
reference properties/elements.
2017-01-30 16:23:56 +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
Christian Kaps 6dc4af5396 feat(Viewer): allow dynamic attach / detach from DOM
Closes #655

BREAKING CHANGE:

* Viewer / Modeler do not attach to `body` anymore per
  default. Use `new Viewer({ container: 'body' })` to
  restore the old behavior.
2017-01-27 13:28:27 +01:00
Ricardo Matias a9b68b69e0 feat(replace): clone properties when morphing to new element
Closes #647
2017-01-12 16:02:31 +01:00
Ricardo Matias 3d0adc6493 feat(bpmn-clone): add ability to clone bpmn properties
This will allow a complete semantic copy/paste and replace of elements

Closes #646
2017-01-11 09:01:09 +01:00
Philipp Fromme 1f667e0184 fix(move-to-origin): ignore children of subprocesses
Closes camunda/camunda-modeler#444
2017-01-09 14:36:58 +01:00
Nico Rehwaldt 27d65a6503 fix(draw): do not create multiple markers per (type-stoke-fill) 2016-12-20 16:57:09 +01:00
Nico Rehwaldt c89942fc4c fix(rules): correct and verify data association in sub process move
Related to #638
2016-12-19 15:57:34 +01:00
Nico Rehwaldt 8b0001f709 test(import): verify data-association in collaboration import
* Restructure association import test fixtures
* Add data-association + collaboration test cases

Related to #638
2016-12-19 15:33:42 +01:00
Nico Rehwaldt bf133bb8da fix(rules): allow data-association + participant move
Closes #638
2016-12-19 15:33:42 +01:00
Philipp Fromme c308151474 feat(editor-actions): add set color editor action
Related to camunda/camunda-modeler#445
2016-12-13 13:02:25 +01:00
Philipp Fromme a2f33b8e93 feat(modeling): add API for setting fill/stroke color
Closes #629
2016-12-05 17:01:04 +01:00
Philipp Fromme e35248c5fd test(draw): add skipped test for color rendering 2016-12-05 16:55:36 +01:00
Nico Rehwaldt 404c35c97f fix(BpmnRenderer): revert text annotations automatic content fitting
This reverts commit a53562e1d5.

Closes #635
2016-12-01 13:27:30 +01:00
Nico Rehwaldt eda7f9afeb test(project): add another Firefox / Travis CI adjustment 2016-11-18 15:14:14 +01:00
Nico Rehwaldt a2d7140cdf fix(Viewer): correctly export SVG
Use upstream patch of tiny-svg to address this.

Closes #631
2016-11-18 15:11:31 +01:00
Nico Rehwaldt 4d01cebe76 test(project): adjust to pass on Firefox / Travis CI 2016-11-18 15:03:59 +01:00
Nico Rehwaldt 791ccb75b2 test(project): increase single test timeout to pass on FF 2016-11-18 14:50:45 +01:00
Philipp Fromme d5fa27ead2 feat(bpmn-rules): replace start events only allowed in event sub process
this includes the following event definitions:

* error
* escalation
* compensate

Closes #583
2016-11-09 14:44:42 +01:00
pedesen 42a40494a7 fix(BpmnRenderer): draw instantiated receive task properly
* fix drawCircle parameter issue
* make BpmnRenderer test cases more restrictive
* revise inconsistent fixture diagrams to avoid warnings

Closes #627
2016-11-09 10:59:58 +01:00
pedesen a53562e1d5 feat(BpmnRenderer): text annotations automatically fit their content
Closes #600
2016-11-09 08:23:34 +01:00
pedesen 5916e81222 chore(test): rework positioning test cases 2016-11-01 15:20:22 +01:00
Philipp Fromme 72c4687b35 fix(internet-explorer): fix bugs due to internet explorer 2016-11-01 15:20:22 +01:00
Philipp Fromme c111bea876 fix(label-bounds): fix failing test case 2016-11-01 15:20:22 +01:00
Philipp Fromme db0ce65aa4 feat(graphics): remove snapsvg
Related to bpmn-io/diagram-js#50
2016-11-01 15:20:22 +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 f4023cf321 fix(draw/BpmnRenderer): ensure labels keep position if width doesn't change
* adjust positioning tests to pass on Arch Linux

Closes #613
2016-10-07 14:06:28 +02:00
robajz 5441b2e09e fix(BpmnRules) allow move of muliple selected elements across pools
The move was prevented by MessageFlow element being included in the moved selection.
The restrictions on MessageFlow canDrop rules were eased to allow such moves.

Closes #524
2016-09-30 15:50:06 +02:00
Vladimirs Katusenoks 38c81146a3 fix(context-pad): use current context shape
Relates to camunda/camunda-modeler#415
2016-09-19 12:29:20 +02:00
pedesen 5b9dc626a6 chore(label-editing): ensure minimum dimensions for internal labels
* This ensures a reasonable text box dimension at lower zoom levels

Closes #610
2016-09-05 15:52:23 +02:00
pedesen 9010554282 chore(test): adjust existing test cases related to labels
Related to #601
2016-09-02 16:43:26 +02:00
pedesen c13ac91e94 feat(BpmnRenderer): align label size/position to text during rendering
Closes #601
2016-09-02 16:43:23 +02:00
Ricardo Matias 7575af4c0f feat(replace-menu): rework opening after element creation
Closes camunda/camunda-modeler#327
2016-08-31 11:02:19 +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
Nico Rehwaldt 4339002b09 chore(tests): speedup moveToOrigin tests 2016-08-22 17:04:28 +02:00
Ricardo Matias 18d31a7bc1 feat(editor-actions): add moving all elements to the origin
Related to camunda/camunda-modeler#362
2016-08-22 16:37:35 +02:00
Ricardo Matias 810a107262 feat(context-pad): open the replace menu after creating a shape
Closes camunda/camunda-modeler#327
2016-08-19 16:36:14 +02:00
hoferch91 13a9d24e84 fix(replace-menu): a compensation handler can also be a call-activity
closes #603
2016-08-16 16:02:38 +02:00
Philipp Fromme 681869fb44 fix(bpmn-ordering-provider): handle external labels seperately
closes #606
2016-08-16 14:56:52 +02:00
Philipp Fromme 14ae66e5bb fix(distribute-elements): exclude boundary events from distrubution
closes #605
2016-08-15 15:33: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
Philipp Fromme 4714a7279d fix(replace-menu-provider): fix property name
* fix property name in order to ensure correct behavior
* adjust unit tests in order to ensure correct assertions
closes #571
2016-08-08 13:52:21 +02:00
Philipp Fromme 7ad344cfc5 fix(auto-resize): validate diagram-js auto resize fix
related to #593
2016-08-08 12:02:49 +02:00
Nico Rehwaldt 6ae4c3d0c3 test(import): verify duplicate id behavior 2016-07-26 10:53:45 +02:00
Philipp Fromme 7fdd9bc611 fix(snapping): snap sequence flows mid -> mid
With the latest version of bpmn-js it is possible to draw point
top point connections between elements.

This restores the mid -> mid connection snapping for sequence flows.

Closes #588
2016-07-18 12:59:06 +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
Philipp Fromme 713021ecff fix(outline): added test case for outline after element replace
Closes #579
2016-07-05 11:06:54 +02:00
Nico Rehwaldt 83f0343512 test(modeling): verify correct connection parent on move
Related to #525
2016-07-05 08:23:51 +02:00
Nico Rehwaldt 8a483284de chore(tests): rename fixture 2016-07-05 08:15:17 +02:00
Adam Brengesjö 91dd1b696c fix(replace):ComplexGateway can have default sequence flows
The BPMN 2.0 specification[1] states "a Sequence Flow that has an
Exclusive, Inclusive or Complex Gateway or an Activity as its source
can also be defined with as default."

This commit will honor that statement by allowing sequence flows from
Complex Gateway to be defined as default.

  [1] = http://www.omg.org/spec/BPMN/2.0/
2016-06-30 14:43:29 +02:00
Nico Rehwaldt ea47cdea30 test(modeler): add complex diagram test (skipped) 2016-06-27 14:14:07 +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 9c236b0d9e test(snapping): verify participant snapping on create 2016-06-22 17:04:42 +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
Nico Rehwaldt e99214bb6a chore(editor-actions): factor out into own component
Related to bpmn-io/diagram-js#177
2016-06-21 15:29:03 +02:00
Ricardo Matias 224fa6da61 feat(align-elements): elements can be aligned
Related to bpmn-io/bpmn-js#177
2016-06-21 15:29:03 +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
Ricardo Matias b43cff1ec2 feat(copy-paste): copy Event Sub Process / Non-Interrupting Boundary
Closes #556, #555
2016-06-21 13:39:37 +02:00
Philipp Fromme 1b17d45260 fix(replace-menu): add sub process to event sub process replace menu
Closes camunda/camunda-modeler#310
2016-06-16 15:18:51 +02:00
Ricardo Matias cf108a9233 feat(distribute-elememts): add element distribution
This allows the distribution of elements evenly.

Related to bpmn-io/diagram-js#172
2016-06-15 14:01:57 +02:00
Philipp Fromme a314e8dbfa fix(bpmn-importer): hide sequence flows inside collapsed subprocesses
Closes #231
2016-06-15 11:07:02 +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
pedesen f15647edfd feat(context-pad): add text annotation option for data objects/stores
Closes #564
2016-05-31 11:04:55 +02:00
Vladimirs Katusenoks 839ed0b8e8 fix(paste): copy process with participant
Closes camunda/camunda-modeler#297
2016-05-20 15:55:04 +02:00
Vladimirs Katusenoks 80d62b9873 fix(paste): set correct parent on data associations
Closes camunda/camunda-modeler#296
2016-05-20 12:40:15 +02:00
Nico Rehwaldt c3a159261a test(copy-paste): fix everything 2016-05-19 14:56:23 +02:00
Vladimirs Katusenoks a1ab8f9e7d fix(search): do not include root element in results
Closes camunda/camunda-modeler#280
2016-05-18 10:42:38 +02:00
Ricardo Matias 6e8962574b revert(textarea): support automatic-resizing textarea
This reverts commit 11165e2c21.
2016-05-18 08:17:03 +02:00
Ricardo Matias 62d9b6f993 feat(Modeler): expose Viewer and NavigatedViewer constructors
This allows bundled users (f.ex without browserify)
to use the modeler + viewers easily without having to monkey patch or
load more than one bundled file.

Closes #541
2016-05-12 15:38:41 +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
Vladimirs Katusenoks 28cc4e8e10 feat(i18n/build): add grunt task for translation extraction
Use `grunt extract-translations` to run extraction.
Will run all test cases to extract the available translations.

Closes #497
2016-05-03 17:31:49 +02:00
Ricardo Matias 30e3fdd81c fix(copy-paste): allow pasting of elements onto lanes
Closes #532
2016-05-03 17:27:25 +02:00
Nico Rehwaldt 35ca66e48a feat(auto-resize): do not expand on child element create
Closes #531
2016-05-03 16:56:02 +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 b9b64f589b fix(modeling): connections are properly removed
This fixes the loss of connections when moving a boundary
event outside of a subprocess.

Closes #480
2016-04-28 18:46:06 +02:00
Jan Stümmel 0731c9888b feat(modeling): I can morph tasks to expanded sub processes
* from expanded subprocesses to tasks or collapsed sub processes is not supported

Closes #247
2016-04-22 13:23:25 +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
Vladimirs Katusenoks 690881491d chore(labels): set label above sequence flow
Allign for most common 'yes/no' labels  - set label close to right side
2016-04-20 15:40:40 +02:00
Jan Stümmel 7811a47fae feat(label): improve positioning of sequence flow labels
closes #512
2016-04-20 13:13:10 +02:00
Vladimirs Katusenoks 1923a6bdda feat(global-connect): connect distant elements
Closes #474, #394
2016-04-14 17:03:58 +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 bff19786b4 feat(search): be able to search bpmn elements
Closes #500
2016-04-12 16:50:23 +02:00
Vladimirs Katusenoks 60720c8ae7 fix(modeling): unset gateway default on default flow delete
Closes #505
2016-04-04 17:24:01 +02:00
Nico Rehwaldt 9bcdd3b958 fix(rules): do not allow deletion of labels
Closes #499
2016-03-23 15:32:10 +01:00
Nico Rehwaldt a41f5d034e test(snapping): fix missing modeling module 2016-03-23 09:30:44 +01:00
Nico Rehwaldt 37eca38dac feat(Viewer): make importXML callback optional
People could be hooking up with import via events, too.
2016-03-17 17:44:56 +01:00
Nico Rehwaldt 46d8abdd70 feat(import): allow users to hook into via events
This commit adds more life-cycle events users can
plug into during xml parsing and rendering:

* import.parse.start
* import.parse.complete
* import.render.start
* import.render.complete
* import.done

Some other events had to go because of that, namely

* import.start
* import.(success|error)

BREAKING CHANGE:

* the event import.start got renamed to import.render.start
* the events import.success and import.error got removed
in favour of import.render.complete (passing err, warnings)
2016-03-17 17:44:56 +01:00
Nico Rehwaldt ff0d88bb90 chore(Viewer+Modeler): inherit from Diagram
* simplifies event handling
* relies on Diagram#clear to reset the diagram before
  successive imports
* allows diagram services to be re-used across imports
* allows diagram services to be injected (or retrieved)
  before import

Closes #237
2016-03-17 17:44:32 +01:00
Nico Rehwaldt f573a36071 chore(Modeler): remove bpmn-moddle id-support
* Handle id tracking ourself.
* Do not reinstantiate moddle on re-import (now stateless)
* <3

Closes #493
2016-03-17 17:27:13 +01:00
Nico Rehwaldt 13be55dca1 fix(ordering): correctly treat transactions / ad-hoc sub-processes 2016-03-16 11:26:41 +01: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 85f50ff907 fix(replace): require correct dependency modules 2016-03-11 16:59:07 +01:00
Jan Stümmel 9582a68faf fix(textarea-size-zoom): fixes the size of a label textbox on low zoom levels
Closes #477
2016-03-09 14:39:52 +01:00
Nico Rehwaldt 7ad9c7106e fix(label-editing): complete editing operation on drag init
Make sure the direct editing results are applied (not discarded)
when the user starts a drag operation with direct editing active.

Closes #490
2016-03-08 14:41:32 +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
Vladimirs Katusenoks c728f7a812 test(viewer): add extra moddle test, correct assertions
Relates to #471
2016-02-25 14:57:50 +01:00
Vladimirs Katusenoks c793c01169 fix(viewer): moddle extensions
Remove .only from test, replace merge with assign, add extra test

Relates to #471
2016-02-25 14:18:29 +01:00
davcs86 0fb1bf616e feat: add additional (default!) moddle descriptor to viewer
Closes #471
2016-02-25 13:10:56 +01:00
pedesen 7f5aefbc02 test(Viewer): remove test isolation 2016-02-22 11:47:25 +01:00
Nico Rehwaldt d09ec1c19d feat(Viewer): add #off to remove event listeners
Closes #470
2016-02-16 10:36:21 +01:00
Nico Rehwaldt 0ad02aa780 test(Viewer): verify saveXML works 2016-02-11 17:20:27 +01:00
Nico Rehwaldt de8482e214 chore(dragging): update to new api
Related to bpmn-io/diagram-js#139
2016-01-27 16:11:20 +01:00
pedesen e568312a68 fix(util): fix isExpanded check
DiUtil/isExpanded now returns either true or false instead of
'undefined' in some cases.

Closes #458
2016-01-27 15:18:54 +01:00
Nico Rehwaldt 3415d24290 test(modeling/behavior): rename files for clarity 2016-01-27 12:33:50 +01:00
Nico Rehwaldt ca979b4c05 feat(palette): add DataStore entry
Related to #345
2016-01-27 12:33:44 +01:00
Nico Rehwaldt 28e845984d test(modeling): verify DataStore addition, update and removal
Related to #345
2016-01-27 12:02:02 +01:00
Nico Rehwaldt 6b27ee4301 feat(context-pad): integrate DataStore pad
Related to #345
2016-01-27 12:01:16 +01:00
Nico Rehwaldt 4f28d14cbc feat(rules): add DataStore rules
Related to #345
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 5ab0db65a5 fix(rules): allow TextAnnotation inside SubProcesses 2016-01-26 18:24:05 +01:00
Nico Rehwaldt 12bb7d3c55 fix(replace): allow morph into compensation SubProcess, too
Closes #461
2016-01-26 16:35:08 +01:00
Ricardo Matias fd2230a8fa feat(hand-tool): add hand-tool
Closes #412
2016-01-25 21:43:13 +01:00
Nico Rehwaldt 7196624b8c fix(import): import dataAssociations on events
Closes #455
2016-01-25 16:02:59 +01:00
Nico Rehwaldt eddd90727f fix(rules): allow data associations to be moved
Closes #454
2016-01-25 16:02:59 +01:00
Nico Rehwaldt acf9013bcb feat(context-pad): add compensation pad
Related to #291
2016-01-25 16:02:59 +01:00
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 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
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 f68054295b feat(modeling): allow data associations from and to events
Closes #384
2015-10-22 08:21:01 +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 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
Ricardo Matias 03b4a59f84 feat(keyboard): use editor actions
Related to bpmn-io/diagram-js#116
2015-10-20 15:34:40 +02:00