578 Commits

Author SHA1 Message Date
Nico Rehwaldt
7a3b92c094 chore(project): migrate to diagram-js@0.31 2018-04-02 11:14:06 +02:00
Nico Rehwaldt
0f04b76ad2 test(Modeler): minor test style improvements 2018-04-02 09:24:21 +02:00
Nico Rehwaldt
44a08ae6a3 test(Modeler): bind keyboard 2018-04-02 09:12:44 +02:00
Nico Rehwaldt
e4dbc422bf chore(project): migrate to tiny-svg@1.x 2018-03-28 10:49:55 +02:00
Philipp Fromme
bec8d06e08 chore(project): fix typos introduced 2018-03-22 12:43:36 +01:00
Nico Rehwaldt
11f5a22471 chore(project): adjust min-dash usage (2) 2018-03-22 11:59:39 +01:00
TheSharpieOne Bot
245d1d6a96 chore(project): upgrade lodash to min-dash 2018-03-22 11:59:39 +01:00
Nico Rehwaldt
e8e5e2ced9 chore(project): update to min-dom@2 2018-03-22 00:54:59 +01:00
Nico Rehwaldt
b03014fc2c chore(project): update to new lint style 2018-02-27 10:08:31 +01:00
Nico Rehwaldt
19e4e19bb5 chore(project): migrate to new SECTION comments 2018-02-27 09:57:22 +01:00
Nico Rehwaldt
b35aa48d14 fix(label-editing): complete on autoPlace start
Closes #764
2018-02-20 11:33:28 +01:00
Nico Rehwaldt
25dc30df06 fix(modeling/rules): make compensation activity a message flow source
Related to camunda/camunda-modeler#661
2018-02-20 11:32:52 +01:00
Nico Rehwaldt
8c92800bd2 test(Viewer): bump SVG export timeout 2018-02-14 22:22:30 +01:00
Nico Rehwaldt
de63fd49a3 style(tests): reformat DropOnFlowBehaviorSpec 2018-02-14 22:20:11 +01:00
Philipp Fromme
f5afc732fe fix(drop-on-flow): don't insert on accidentally found intersection
Related to camunda/camunda-modeler#727
2018-02-14 22:15:33 +01:00
Philipp Fromme
ef52dff84c fix(bpmn-replace): correctly replace sub process -> call activity
* when not morphing collapsed sub process with children
  into expanded sub process children must be removed

Related to camunda/camunda-modeler#739
2018-02-14 22:07:28 +01:00
Nico Rehwaldt
79e2b8e6b9 chore(project): use shared linter config 2018-02-14 16:42:52 +01:00
Nico Rehwaldt
da2a8be7e5 chore(project): es5ify scripts
...until we decide to switch to ES2015+
2018-02-02 11:24:00 +01:00
Nico Rehwaldt
5b2b053230 chore(distro): add integration test
Add a test that ensures the distribution works.

Related to #725
2018-02-02 11:24:00 +01:00
Nico Rehwaldt
da4f321284 chore(project): use external bpmn-font
This is a breaking change for users that may rely on `assets/bpmn-font`
being present in the library.

BREAKING CHANGE:

* use `bpmn-font` package, specifically `bpmn-font/dist` if you need the
font previously contained in the assets directory.
2018-02-02 11:24:00 +01:00
Nico Rehwaldt
e3bf356461 chore(project): drop grunt + bundle assets to dist directory
* replace grunt with npm scripts
* copy static assets to dist directory
* build and copy library variants to dist directory

Related to #725
2018-02-02 11:24:00 +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
f637d63da9 fix(tests): resolve lib/* locally in helper util
* ensures reusing test/helper does not break
2018-01-29 20:23:14 +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
cff0c4ef91 chore(tests): remove unused utility 2017-12-20 10:37:38 +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
51ec9b8676 chore(test): correct test helper styles 2017-12-11 21:26:37 +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