Commit Graph

85 Commits

Author SHA1 Message Date
Martin Stamm 069b1902c9 fix(viewer): use active plane for svg export 2022-02-07 10:39:55 +00:00
Martin Stamm bd180e3977 test(drilldown): add integration test for multi-di planes 2022-02-03 09:11:06 +01:00
Nico Rehwaldt f2b47e17f3 test: verify drill down into legacy sub-processes 2022-01-12 09:14:15 +01:00
Martin Stamm b2fd342054 feat(drilldown): make breadcrumbs reactive
* react to palette state
* expose own state to djs-container
2021-11-18 10:27:48 +00:00
Nico Rehwaldt 946a0ecdb8 test: add drill down spec for Modeler and Viewer 2021-10-21 11:05:08 +02:00
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 ca8488b2c9 test: adjust to use `getDi` utility function
Related to https://github.com/bpmn-io/bpmn-js/issues/1472
2021-09-03 15:14:00 +02:00
Nico Rehwaldt 58e1801f52 test: pacify PhantomJS 2021-03-03 23:50:44 +01:00
Nico Rehwaldt f7a4a3db7b style: pacify eslint 2021-03-03 23:45:11 +01:00
Nico Rehwaldt a7522ac5b1 test(Viewer): verify saveXML.done on no definitions loaded 2021-03-03 22:37:43 +00:00
Nico Rehwaldt 3567565514 fix(BaseViewer): always emit saveXML.done
This ensures we emit saveXML.done on error, too.
2021-03-03 22:37:43 +00:00
Nico Rehwaldt 44301d1830 chore: add <npm start> script
This script is the one stop utility that allows users to open a modeler
or viewer instance, directly within your browser.

Works via a custom launcher that openes the {KARMA_BASE}/debug.html
page in your default web browser.

Closes https://github.com/bpmn-io/bpmn-js/issues/1396
2020-12-21 22:43:43 +01:00
Nico Rehwaldt 3d84aa486e test(Viewer): verify error on missing process/collaboration 2020-11-03 20:39:20 +00:00
Oguz 157aec6ed6 feat(lib): deprecate import.parse.complete <context> payload
The <import.parse.complete> event is now invoked with

{
 error,
 definitions,
 elementsById,
 references,
 warnings
}

The old payload is deprecated:

{
  error,
  definitions,
  context: { elementsById, references, warnings }
}
2020-04-29 11:12:23 +02: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
Nico Rehwaldt 98bc96caac test(Viewer): move missing diagram spec 2020-02-10 19:33:50 +01:00
Nico Rehwaldt 1b576cda17 test(project): make sinon an allowed global 2019-12-09 12:52:35 +01:00
Nico Rehwaldt a1be2ea631 test(project): register BpmnJS in integration tests 2019-12-09 08:32:04 +00:00
Philipp Fromme f177a462ea fix(viewer): do not clear diagram if no diagram to clear
Closes #1181
2019-09-20 11:11:49 +00:00
Maciej Barelkowski 33156e43be chore(project): fix linting errors 2019-08-19 14:27:33 +00:00
Maciej Barelkowski 9c063f867b feat(Viewer): restore Viewer#importDefinitions
This was removed in f8f9334, but it occurred that
the method is used productively  by some of the clients.
This commit restores the method as part of public API.

Use `Viewer#importDefinitions` to import previously
parsed definitions. Now it is also possible to pass
the diagram or diagram id to be rendered during
graphical import.
2019-06-28 10:26:58 +02:00
Maciej Barelkowski ff45cab7c1 test(Viewer): correctly call done 2019-06-28 10:26:58 +02:00
Maciej Barelkowski 0affb3b3bc test(Viewer): simplify multiple-diagrams test cases 2019-04-16 15:20:12 +02:00
Maciej Barelkowski 87c1d2d142 test(Viewer): expect no warnings when DIs use same elements 2019-04-16 15:20:12 +02:00
Maciej Barelkowski a7c0bb8f57 test(Viewer): make sure it opens only selected diagram 2019-04-16 15:20:12 +02:00
Nico Rehwaldt 7b03e5289a test(import): verify duplicate DI import behavior 2019-04-16 15:20:12 +02:00
Nico Rehwaldt ba987734f8 test(Viewer): make diagram names human readable 2019-04-16 15:20:12 +02:00
Nico Rehwaldt 2f99cff34a test(Viewer): verify non-args #open 2019-04-16 15:20:12 +02:00
Nico Rehwaldt b1ee678fe3 test(Viewer): split config -> container handling into own describe 2019-04-16 15:20:12 +02:00
Nico Rehwaldt a78f8037c7 test(Viewer): group multiple diagram handling 2019-04-16 15:20:12 +02:00
Valerio Spadaro 3f0583ad5f feat(Viewer): add #open method
This adds a method to switch displayed diagram without reimporting
xml via

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

var diagrams = viewer.getDefinitions().diagrams;
viewer.open(diagrams[1], done);
```
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 0c71ad30a0 feat(Viewer): remove businessObject#di binding on #clear
Closes #978
2019-04-16 15:10:43 +02:00
Nico Rehwaldt b60feba531 test(Viewer): verify editor action support 2018-10-29 14:52:41 +00:00
Nico Rehwaldt 3c87716895 feat(viewer): emit export events
This makes the viewer emit events during SVG and XML export.

These events allow others to hook in, i.e. to trigger additional _save_
actions.

Closes #811
2018-06-12 15:44:52 +02:00
Nico Rehwaldt 6c9d37da12 fix(project): correct library default export 2018-04-05 09:47: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
Nico Rehwaldt 8c92800bd2 test(Viewer): bump SVG export timeout 2018-02-14 22:22:30 +01:00
Nico Rehwaldt 37a06a378d chore(tests): use absolute lib requires 2018-01-24 11:41:21 +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 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
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
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 791ccb75b2 test(project): increase single test timeout to pass on FF 2016-11-18 14:50:45 +01:00
Nico Rehwaldt 6ae4c3d0c3 test(import): verify duplicate id behavior 2016-07-26 10:53:45 +02:00