Commit Graph

83 Commits

Author SHA1 Message Date
Martin Stamm 597c417dce chore: throw error when accessing DI from business object
Related to https://github.com/bpmn-io/bpmn-js/issues/1472
2021-09-03 15:14:00 +02:00
Martin Stamm 2b11d871cd feat: decouple DI from businessObject
In the diagram `di` is now accessed via the diagram element, not the
business object. This has the benefit that elements in multiple diagrams
can easily be represented.

Related to https://github.com/bpmn-io/bpmn-js/issues/1472

BREAKING CHANGE:

* Instead of referencing the `di` from the business object, reference it
  from the diagram element representing it.
2021-09-03 15:14:00 +02:00
Martin Stamm d19c4b0027 fix(import): pass context during collaboration import 2021-08-30 09:41:34 +00:00
Nico Rehwaldt 04ca31fac9 feat(lib): Promisify public APIs
This commit promisifies following APIs:

   BaseViewer#importXML
   BaseViewer#importDefinitions
   BaseViewer#open
   BaseViewer#saveXML
   BaseViewer#saveSVG
   Modeler#createDiagram

Related to https://github.com/bpmn-io/bpmn-js/issues/812

BREAKING CHANGES:

* Users are now expected to have Promises either by default or
polyfilled as the APIs return a Promise now.
2020-04-29 11:12:23 +02:00
Philipp Fromme 2dd1e13305 chore(documentation): fix JSDoc boolean types 2020-04-07 06:52:55 +00:00
Philipp Fromme 7a67ff95b2 chore(documentation): fix JSDoc string types 2020-04-07 06:52:55 +00:00
Niklas Kiefer 566f0eadaa fix(import): set <isFrame> property on import
Closes #1278
2020-02-07 10:45:02 +01:00
Jonathan Irwin e65809f246 docs(project): correct spelling 2019-09-09 12:21:33 +02:00
Maciej Barelkowski 33156e43be chore(project): fix linting errors 2019-08-19 14:27:33 +00:00
Niklas Kiefer 5a7d579d3a fix(import): handle data associations on boundary import
Closes #1170
2019-08-19 08:19:04 +00:00
Niklas Kiefer fb3398fa39 feat(label-editing): enable direct editing for group labels
* Adds external label for Groups
* Modifies referenced categoryValue

Closes #955
2019-05-28 06:46:53 +00:00
Nico Rehwaldt daee95743d chore(Viewer): type BPMNDiagram arg where possible 2019-04-16 15:20:12 +02:00
Valerio Spadaro 1c0585aaaf feat(Viewer): allow to select diagram to view
This introduces a new parameter to `Viewer#importXML`
which enables to choose the diagram to display.

```
var viewer = new Viewer({ container: container });
viewer.importXML(xml, diagramId, done);
```

Closes #87
2019-04-16 15:20:12 +02:00
Maciej Barelkowski 00b7d9ecc2 fix(import/BpmnTreeWalker): pass context to unhandled process handler 2019-04-16 09:15:14 +00:00
Nico Rehwaldt 45486f2afe fix(import): gracefully handle missing waypoints
This ensures we do not blow up if a diagram
is missing waypoints for connections.

Related to camunda/camunda-modeler#1294
2019-03-12 08:56:03 +00: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 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 67b9711399 feat(import/BpmnTreeWalker): make businessObject#di prop configurable
This allows advanced use-cases such as lazy importing
elements into the diagram.
2018-04-25 21:31:43 +02:00
Philipp Fromme 12a38da9c7 feat(import): expose additional BpmnTreeWalker functionality
* expose API needed for lazy sub-process imports
* also changes #handleDeferred to NOT expect deferred
  as a parameter anymore

Related to bpmn-io/bpmn-js-signavio-compat#1
2018-04-25 21:31:02 +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
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 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
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
Nico Rehwaldt bf133bb8da fix(rules): allow data-association + participant move
Closes #638
2016-12-19 15:33:42 +01:00
Philipp Fromme a314e8dbfa fix(bpmn-importer): hide sequence flows inside collapsed subprocesses
Closes #231
2016-06-15 11:07:02 +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
Vladimirs Katusenoks 006be69d63 fix(associations): always show full data association
Closes #506
2016-05-09 14:36:06 +02: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
davcs86 49173abdad feat(i18n): add localization
* Palette, ContextPad, Errors...

Closes #491
2016-03-11 20:10:10 +01:00
Nico Rehwaldt fa2254f0ef chore(import): use is helper 2016-03-08 14:24:50 +01:00
Nico Rehwaldt 7196624b8c fix(import): import dataAssociations on events
Closes #455
2016-01-25 16:02:59 +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 4be7324856 chore(import): compute FlowNode#lanes 2015-10-20 16:05:24 +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
Nico Rehwaldt 8b5572d3c4 fix(draw): hide empty on import + show on property update
Closes #362
2015-10-05 15:40:49 +02:00
Nico Rehwaldt f8d6658c10 fix(import): import elements with missing #flowNodeRef
We now properly import lane children with missing #flowNodeRef.

Closes #340
2015-08-25 15:49:00 +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
Ricardo Matias acb2184087 feat(import): attach boundary events
* establish host <> attachers relationship
* clean up import tests (use diagrams in fixtures/bpmn/import)

closes #310
2015-07-20 15:50:31 +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 4854c96067 fix(import): correctly dispatch parse warnings
Fixes our bpmn-moddle integration to correctly dispatch parse warnings
from bpmn-moddle to the client.

Related to bpmn-io/moddle-xml#5

Closes #58
2015-02-17 11:00:00 +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