Commit Graph

46 Commits

Author SHA1 Message Date
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
Oguz 506321eafd chore(deps): update to bpmn-moddle v7.0.1
Adds awaitable import and export apis.

Related to https://github.com/bpmn-io/bpmn-js/issues/812
2020-04-29 11:12:23 +02:00
Niklas Kiefer 566f0eadaa fix(import): set <isFrame> property on import
Closes #1278
2020-02-07 10:45:02 +01: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 1538bd8a9e style(tests): use appropriate chai matcher 2019-03-12 08:56:03 +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 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 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
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 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 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 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
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 65c94ea9ac feat(import): pass definitions during import.start event 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
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 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
Nico Rehwaldt e3faad9cda test(import): increase timeout for complex import test 2015-07-20 16:04:58 +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
pedesen c3e4ad3e40 test(project): replace jasmine with mocha
Closes #204
2015-07-15 17:42:37 +02:00
Nico Rehwaldt 373b8c6293 test(importer): decouple from draw fixtures 2015-04-22 16:19:26 +02:00
Nico Rehwaldt e6885eaebc test(project): replace brfs with stringify
This _could_ fix the various bundle building issues we are seeing on
travis-ci and locally.

Closes #234
2015-03-31 14:22:53 +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 07ba58d805 fix(import): import message flows to dangling process
Closes #166
2015-01-02 12:56:32 +01:00
jdotzki fd76cc98dd fix(BpmnImporter): Round diagram coordinates on import
The model coordinates stay intact until shape is changed.
2014-12-22 11:44:44 +01:00
Nico Rehwaldt 710ff1be58 test(import): do not check internals 2014-12-09 18:04:59 +01:00
Nico Rehwaldt 9e37037ac6 fix(move): adjust positioning of all attached labels 2014-11-28 11:38:06 +01:00
Nico Rehwaldt f363356fcb fix(import): handle multiple DI elements per semantic
Closes #158
2014-11-26 20:54:52 +01:00
Nico Rehwaldt e2aaf342f7 feat(import): wire root element
Related to #151
2014-11-26 18:17:52 +01:00
Nico Rehwaldt 3a377a3871 chore(core/ElementRegistry): pull API changes
Related to #153
2014-11-17 17:36:22 +01:00
Nico Rehwaldt 8deb9d30a1 fix(import): ensure correctly import *associations
This commit ensures we correctly detect and import
Data*Associations and Associations.

It aligns logging across the import components, too, being slightly more
verbose and helpful.

Related to #112
2014-10-31 15:05:16 +01:00
Nico Rehwaldt c58532aeac chore(import): reorganize import related functionality
This commit puts all import related stuff into the import module.

The core module remains as an entry point to require the basic modules
needed by bpmn-js. At the time this is { import, draw }.
2014-10-30 12:06:43 +01:00
Nico Rehwaldt 5f986dcb3a test(import): assert correct number of children 2014-08-28 14:27:13 +02:00
jdotzki 7e345a348e test(importer): attribute default value
Make sure 'eventGatewayType' get default value if undefined.
2014-08-18 12:38:41 +02:00
Nico Rehwaldt 911e991bc8 chore(tests): instantiate modeler only when neccessary
This commit replaces the test helper #bootstrapBpmnJS with either

This ensures we can have different Modeler/Viewer specific bootstrap
code being called based on whether we test modeling or viewing only
features.
2014-08-05 08:17:22 +02:00
Nico Rehwaldt 925fbc98b8 chore(project): pull bpmn-moddle changes 2014-08-04 16:32:11 +02:00
Nico Rehwaldt 826d798f19 chore(tests): remove unused node test folders
This commit cleans up reminders of the node-js test suite removal
by removing the test/node folder.

The test structure has been aligned by moving all tests from

* test/spec/browser to test/spec
* test/spec/integration to test/integration
2014-08-01 07:20:15 +02:00