Commit Graph

517 Commits

Author SHA1 Message Date
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