Nico Rehwaldt
8dfdeb7c71
test(project): properly locate ChromeHeadless on non-linux
2018-04-04 16:52:46 +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
56a644177d
chore(project): build using ES6 ready deps
...
* diagram-js@1
* updated utils
2018-04-03 16:30:05 +02:00
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
Nico Rehwaldt
48490197a5
chore(tests): improve test container styling
2017-12-11 15:25:10 +01:00
Nico Rehwaldt
cd24b27768
fix(copy-paste): ignore data associations during cloning
...
* use bpmnFactory for cloning to ensure all relevant
elements have actual IDs
* don't copy dataAssociations, as they are visual elements
that will be created during element re-connection
NOTE: This fixes data input association not properly being
wired during target replace, too.
Closes #694 , #693
2017-12-11 15:14:31 +01:00
Nico Rehwaldt
e7da5af0a1
chore(tests): depend on move module, where used
...
Tests would otherwise break in the future.
Related to bpmn-io/diagram-js#152
2017-12-10 23:04:11 +01:00
felixlinker
36a12396fd
chore(renderer): extract BpmnRenderer utilities into util
...
Closes #731
2017-12-10 19:10:12 +01:00
Nico Rehwaldt
e9eb9e374a
fix(snapping): correct bendpoint snapping on shape move
...
Don't blindly snap first waypoint; instead, snap only bendpoints
that are manhattan layout aligned with other bendpoints (excluding
start and end).
2017-12-10 13:48:46 +01:00
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
c14be5d258
chore(test/util): remove snap.svg remainders
2017-12-07 13:19:02 +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
a6b26b0b59
chore(test): add missing custom Chrome headless launcher
2017-11-23 10:46:29 +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
90ddaeef5e
chore(tests): add Chrome headless as test browser
...
* include special non-sandbox launcher on Linux
* handle TEST_BROWSERS in karma config
2017-10-22 22:21:51 +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