Nico Rehwaldt
6689af6f5b
feat(snapping): snap message flows to bpmn:Event mid
...
This snaps source / target to the element mid, if
the element is a `bpmn:Event`.
There is usually no more than one snap point for
an event other than the center.
Closes #850
2018-08-22 14:43:16 +02:00
Nico Rehwaldt
cdacc69a3d
chore(modeling/BpmnLayouter): simplify manhattan layout logic
2018-08-22 14:43:16 +02:00
Nico Rehwaldt
905ee6f667
fix(rules): allow labels to be dropped everywhere
...
Closes #849
2018-08-22 14:41:59 +02:00
Nico Rehwaldt
898a0fa9c8
fix(modeling/DropOnFlowBehavior): filter redundant connections
...
This prevents duplicate flows from being created, accidentially.
Closes #774
2018-07-25 11:10:51 +02:00
Nico Rehwaldt
249ea6a3ea
fix(modeling): disallow inserting on incoming/outgoing connection
...
Closes #836
2018-07-25 11:10:51 +02:00
Philipp Fromme
e637a8e57b
feat(modeling/BpmnLayouter): layout Element -> Element loops
...
Closes #824
2018-07-13 10:29:00 +02:00
Philipp Fromme
220c0a73f3
feat(modeling/BpmnLayouter): handle boundary events
...
This adds proper connection layouting for sequence
flows leaving from boundary events.
If needed, such connections will be layoute with
an U-turn.
Closes #467
2018-07-13 10:16:11 +02:00
Nico Rehwaldt
4806938600
feat(modeling): create label at appropriate position
...
This re-introduces adaptive label positioning
on label creation as a feature.
It worked before but broke during the introduction
of optional labels.
Closes #825
2018-07-11 13:26:43 +02:00
Nico Rehwaldt
cec9d08d61
fix(draw): revert to Arial as default font
...
This partially reverts commit 891cf4ac0c
which set `sans-serif` as the default font.
Setting it back to Arial solves SVG export and rendering issues,
especially on platforms (Windows, Mac) where the default font
metrics differ highly from Arial.
NOTE: The font can still be easily overriden if integrators wish
to do so in order to give their users a more native look and feel.
Closes #819
2018-06-28 10:21:08 +02:00
Nico Rehwaldt
75c0880341
chore(replace): retain definitions where appropriate
...
* simplify implementation
* retain event definitions when switching from interrupting
to non-interrupting and vice versa
Closes #799
2018-06-28 09:03:34 +02:00
Nico Rehwaldt
300e7010c4
fix(modeling): correct DataStoreBehavior updating multiple stores
2018-06-18 09:21:18 +02:00
Philipp Fromme
5cc28d5d55
fix(modeling): apply DataStoreBehavior in collaboration only
...
* updating parents of datastores in the root is only
necessary when deleting a subprocess in a collaboration
Related to camunda/camunda-modeler#823
2018-06-13 13:48:39 +02:00
Nico Rehwaldt
834ac7db77
fix(draw): adjust center-middle aligned label padding
2018-06-13 11:09:09 +02:00
Nico Rehwaldt
fb5fccb331
style(modeling): use constant instead of magic string
2018-06-13 11:08:46 +02: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
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
6c081d854f
chore(label-editing): remove businessObject name on empty text
...
The following two actions will now unset the
business objects name property:
* deleting external label
* entering empty text via direct editing
2018-06-11 11:39:08 +02:00
Nico Rehwaldt
a7a1743df0
fix(modeling): properly cascade label deletion
...
Ensure we execute the following nicely:
* unset name -> remove label shape
* remove label shape -> unset name
2018-06-11 11:39:08 +02:00
Nico Rehwaldt
4ade805f3d
style(modeling): use constant instead of magic string
2018-06-06 14:31:31 +02:00
Philipp Fromme
4a0f6da814
fix(label-behavior): properly check for name property change
...
Related to camunda/camunda-modeler#824
2018-06-06 13:35:57 +02:00
Philipp Fromme
891cf4ac0c
feat(draw+modeling): support lineHeight
...
* take numeric line height into account when
rendering text labels
* take line height into account when directly
editing labels
* use default line height of 1.2 for text rendering
Closes #803
2018-05-29 11:58:15 +02:00
Nico Rehwaldt
b1a4e08ddd
feat(modeling): assign ID when creating bpmn:LaneSet
2018-05-28 09:55:30 +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
Nico Rehwaldt
0b66b77483
chore(draw): retrieve default colors from bpmnRenderer config
...
Related to #713
2018-05-24 15:03:52 +02:00
Philipp Fromme
dc1f18a497
feat(bpmn-renderer): accept default fill and stroke color
...
Related to #797
2018-05-24 07:39:30 +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
b98dd6fe95
fix(modeling): correctly handle missing bpmndi:Label bounds
...
Closes #794
2018-05-17 14:57:54 +02:00
pedesen
17896df65c
chore(contextPadProvider): adjust popupMenu method calls
...
Since breaking changes were introduced in diagram-js
popupMenu methos calls need to be adjusted
* call popupMenu#open with element, id and position as params
* call popupMenu#isEmpty with element and providerId as params
* remove popupMenu#create call
2018-05-14 15:13:29 +02:00
Nicolas Boissel-Dallier
9379abafcc
fix(auto-place): fix infinite loop during auto-place
...
* NaN was returned when autoplacing an element after
a boundary event, attached to its hosts corner.
Closes #788
2018-05-04 10:40:01 +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
16a7ab2879
fix(label-editing): complete on popup menu open
...
This improves the user flow.
Addresses camunda/camunda-modeler#770
2018-04-13 10:12:37 +02:00
Nico Rehwaldt
68f85a171d
fix(rules): allow message flows between collapsed pools
...
Adresses camunda/camunda-modeler#782
2018-04-12 19:35:19 +02:00
pedesen
fcd1e2f12c
feat(snapping): add initial snapping for associations
...
Snap to target mid when creating associations.
Closes #782
2018-04-11 13:55:16 +02:00
Nico Rehwaldt
e5a3973107
fix(replace-preview): escape element ids in CSS selectors
2018-04-10 09:34:49 +02:00
Nico Rehwaldt
365522a49c
chore(context-pad): change gateway icon to GATEWAY_NONE
...
This is related to the recent palette change that dropped the marker
from the Gateway icon.
Related to 9edd462880
2018-04-09 14:42:51 +02:00
Nico Rehwaldt
a77d44455f
fix(draw): only apply fillOpacity on actual fill
...
This corrects some SVG to image issues.
Addresses camunda/camunda-modeler#764
2018-04-09 13:03:53 +02:00
Nico Rehwaldt
e159b002cd
fix(copy-paste): correctly set $parent on copied model elements
...
Related to camunda/camunda-modeler#625
2018-04-09 11:27:58 +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
e4dbc422bf
chore(project): migrate to tiny-svg@1.x
2018-03-28 10:49:55 +02:00
Nico Rehwaldt
9edd462880
chore(palette): change gateway icon to GATEWAY_NONE
2018-03-23 15:05:43 +01: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
5d76181490
chore(palette): make tooltips more understandable
...
Closes #772
2018-03-20 11:11:04 +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
b070be5855
fix(powered-by): correctly display logo in IE/Edge
2018-02-19 09:11:23 +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
Nico Rehwaldt
c96741df03
chore(replace): minor reformat
2018-02-14 22:08:04 +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
Philipp Fromme
f047fefd89
fix(update-properties-handler): fix typo
2018-01-31 18:21:16 +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
3124f9ba96
chore(modeling): minor SetColorHandler cleanup
2018-01-31 12:16:08 +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
49cc8dc7ea
chore(lint): disallow trailing spaces
...
+ format lint rules
+ fix lint error
2018-01-24 11:41:57 +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
f15407d95b
chore(Viewer): inline logo as SVG
...
Make logo retina friendly and save 30 bytes.
Closes #119
2018-01-02 13:46:15 +01:00
Nico Rehwaldt
562674e74b
chore(project): bump diagram-js dependency
...
Fixes text sometimes being selected during dragging.
* makes a ContextPad hack obsolete, too.
2017-12-22 15:49:00 +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
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
2e4cd7e0a9
chore(auto-place): factor out deconflict position into method
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
c220bfb612
fix(draw): no opacity for boundary events
...
Ensure boundary events have no opacity.
Fixed regression introduced with #727
2017-12-15 14:35:51 +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
4a3c0378b9
fix(label-editing): fix isTouch not being processed
...
Actually use event.isTouch to check label editing activation on
create.end.
This makes 7e928ec709
work.
2017-12-13 13:30:51 +01:00
Nico Rehwaldt
058cfbb579
chore(label-editing): use isAny helper
2017-12-13 13:30:51 +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
a830c1e1e0
chore(snapping): remove dead code
...
* we don't support moving of lanes;
the removed code never made it into production.
2017-12-11 15:40:40 +01:00
Nico Rehwaldt
ce361dabd7
fix(modeling/DropOnFlowBehavior): ensure label is created before executing
2017-12-11 15:40:40 +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
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
7e928ec709
fix(label-editing): use new isTouch detection for conditional activation
...
Chrome and other modern desktop browsers
ship with touch features out of the box.
Because of that, it is not possible to use
the check
```
'ontouchstart' in document.documentElement
```
2017-12-08 19:32:13 +01:00
Nico Rehwaldt
2b37cebeb6
chore(context-pad): remove unused argument
2017-12-08 11:40:55 +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
029c3d76aa
chore(context-pad): minor connect / remove tweek
...
* remove does not activate on dragstart
* connect does not trigger default drag behavior
2017-12-06 23:30:43 +01:00
Nico Rehwaldt
e0104e3589
chore(Viewer): handle import error outside try/catch
2017-11-28 13:24:36 +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
Philipp Fromme
28871bcdaf
chore(draw/BpmnRenderer): make instance of ids global
...
Closes #716
2017-10-04 11:17:43 +02:00
Nico Rehwaldt
4c01a5dab1
fix(Viewer): correctly export <defs> node on IE
...
Closes #710
2017-09-29 11:42:34 +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
ff140d1a50
style(lib): correct indention
2017-05-19 12:56:59 +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
2fd46ac294
fix(modeling/layout): handle zero-length lines during adjustment
...
Closes #669
2017-03-21 09:01:21 +01:00
Nico Rehwaldt
3de5478d04
fix(draw): properly render data-object collection marker
...
Closes #672
2017-03-21 07:48:57 +01:00
Nico Rehwaldt
c853e88e54
chore(modeling): do not expose ElementFactory helpers
...
Less API surface => BETTER.
2017-03-21 07:23:57 +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
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
Juan Manuel Osorio Gerdts
e16d2f5d02
feat(viewer): stronger check for jQuery
...
Closes #664
2017-02-27 15:28:30 +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
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
af9a36b9b6
feat(replace): clone properties when morphing to new element
...
Closes #647
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
e2211766eb
chore(draw): use positive refX for rendering default flow marker
...
Fixes PNG image generation using canvg.
Related to camunda/camunda-modeler#250
2016-12-20 16:56:53 +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
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
Nico Rehwaldt
7f99263a5e
fix(draw): color Transaction inner rect
2016-12-05 21:55:12 +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
Philipp Fromme
8c26699d80
feat(draw): render colored markers
...
Related to #629
2016-12-05 16:55:32 +01:00
Philipp Fromme
4059f2c501
feat(draw): render colors
...
Related to #629
2016-12-05 16:53:33 +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
1b2a69e9cc
chore(renderer): do not double compote TextAnnotation BBox
2016-11-15 15:14:10 +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
Ricardo Matias
88eb966c99
fix(editor-actions): remove duplicate line
2016-11-07 15:16:59 +01:00
Philipp Fromme
72c4687b35
fix(internet-explorer): fix bugs due to internet explorer
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
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
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
Ricardo Matias
0f4dbb32bd
feat(preview-support): decouple the shared preview logic
2016-08-08 11:26:20 +02:00
Philipp Fromme
73487358a9
feat(replace-preview): rename moveVisuals to movePreview
...
related to bpmn-io/diagram-js#182 and bpmn-io/diagram-js#184
2016-08-08 11:23:49 +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
pedesen
28f7145b32
chore(draw): use lines insted of curves to render escalation events
...
Closes #592
2016-07-18 11:19:46 +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
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
df54005cfa
feat(modeling): repair broken connection dockings on import
...
Closes #479
2016-06-27 00:32:17 +02:00
Nico Rehwaldt
f5f05ac011
chore(layouting): account for connection(Start|End) hints
...
Related to bpmn-io/diagram-js#167
2016-06-27 00:32:16 +02:00
Nico Rehwaldt
1743c63d91
style(snapping): use constant instead of magic number
2016-06-22 18:15:20 +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
Ricardo Matias
6549af7aca
feat(modeling/layout): improve message flow layout on Participants
...
Closes #574
2016-06-22 15:52:06 +02:00
Nico Rehwaldt
e99214bb6a
chore(editor-actions): factor out into own component
...
Related to bpmn-io/diagram-js#177
2016-06-21 15:29:03 +02:00
Ricardo Matias
224fa6da61
feat(align-elements): elements can be aligned
...
Related to bpmn-io/bpmn-js#177
2016-06-21 15:29:03 +02:00
Philipp Fromme
e157f1c82f
fix(bpmn-updater): keep conditions on element replace
...
Closes camunda/camunda-modeler#318
2016-06-21 14:01:41 +02:00
Ricardo Matias
b43cff1ec2
feat(copy-paste): copy Event Sub Process / Non-Interrupting Boundary
...
Closes #556 , #555
2016-06-21 13:39:37 +02:00
Philipp Fromme
1b17d45260
fix(replace-menu): add sub process to event sub process replace menu
...
Closes camunda/camunda-modeler#310
2016-06-16 15:18:51 +02:00
pedesen
e3144f8ad7
chore(auto-resize): migrate to diagram-js infrastucture
...
Closes #569
2016-06-15 20:32:40 +02:00
Ricardo Matias
cf108a9233
feat(distribute-elememts): add element distribution
...
This allows the distribution of elements evenly.
Related to bpmn-io/diagram-js#172
2016-06-15 14:01:57 +02:00
Philipp Fromme
a314e8dbfa
fix(bpmn-importer): hide sequence flows inside collapsed subprocesses
...
Closes #231
2016-06-15 11:07:02 +02:00
Philipp Fromme
6da1a0cb63
feat(replace): keep element ID on replace
...
Closes #513
2016-06-13 16:53:13 +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
7e93759a0d
fix(modeling/BpmnUpdater): ignore custom elements on canvas.updateRoot
...
Closes #559
2016-06-01 09:43:02 +02:00
pedesen
f15647edfd
feat(context-pad): add text annotation option for data objects/stores
...
Closes #564
2016-05-31 11:04:55 +02:00
Vladimirs Katusenoks
839ed0b8e8
fix(paste): copy process with participant
...
Closes camunda/camunda-modeler#297
2016-05-20 15:55:04 +02:00
Vladimirs Katusenoks
80d62b9873
fix(paste): set correct parent on data associations
...
Closes camunda/camunda-modeler#296
2016-05-20 12:40:15 +02:00
Vladimirs Katusenoks
a1ab8f9e7d
fix(search): do not include root element in results
...
Closes camunda/camunda-modeler#280
2016-05-18 10:42:38 +02:00
Ricardo Matias
6e8962574b
revert(textarea): support automatic-resizing textarea
...
This reverts commit 11165e2c21
.
2016-05-18 08:17:03 +02:00
Ricardo Matias
62d9b6f993
feat(Modeler): expose Viewer and NavigatedViewer constructors
...
This allows bundled users (f.ex without browserify)
to use the modeler + viewers easily without having to monkey patch or
load more than one bundled file.
Closes #541
2016-05-12 15:38:41 +02:00
Vladimirs Katusenoks
006be69d63
fix(associations): always show full data association
...
Closes #506
2016-05-09 14:36:06 +02:00
Vladimirs Katusenoks
5a02923a61
fix(connections): fix update logic on reconnecting elements
...
Closes #534
2016-05-06 16:26:02 +02:00
Ricardo Matias
30e3fdd81c
fix(copy-paste): allow pasting of elements onto lanes
...
Closes #532
2016-05-03 17:27:25 +02:00
Nico Rehwaldt
35ca66e48a
feat(auto-resize): do not expand on child element create
...
Closes #531
2016-05-03 16:56:02 +02:00
Ricardo Matias
612b93db2e
feat(copy-paste): disallow pasting of participants on some scenarios
...
Participants are not allowed to be pasted onto a Process,
if the Process already has other elements.
Closes #526
2016-05-03 15:23:45 +02:00
Ricardo Matias
3f04e18398
fix(copy-paste): correctly paste on lanes
...
Closes #516
2016-05-02 14:38:42 +02:00
hoferch91
11165e2c21
fix(textarea): support automatic-resizing textarea
...
Closes #472
2016-05-02 11:26:19 +02:00
Ricardo Matias
c586c908b2
feat(ModelingFeedback): add tooltip when pasting is disallowed
...
Only in the case of pasting outside of collaboration.
Closes camunda/camunda-modeler#252
2016-04-29 16:19:09 +02:00
Ricardo Matias
e3f27ea1d5
feat(palette): move tool's separator
...
Closes #502
2016-04-29 11:38:04 +02:00
Nico Rehwaldt
b0eea3dbef
fix(search): correct minification meta-data
...
Closes #521
2016-04-28 20:43:58 +02:00
Vladimirs Katusenoks
2371a8da23
feat(border-scroll): adding auto-scrolling near borders
...
Closes #481
2016-04-27 15:39:41 +02:00
Philipp Fromme
b86f923fe5
fix(palette): change intermediate/boundary event palette label
...
Closes #519
2016-04-27 11:13:24 +02:00
Jan Stümmel
0731c9888b
feat(modeling): I can morph tasks to expanded sub processes
...
* from expanded subprocesses to tasks or collapsed sub processes is not supported
Closes #247
2016-04-22 13:23:25 +02:00
Ricardo Matias
1b9ebfc993
feat(copy-paste): allow copying & pasting of elements
...
Closes #391
2016-04-22 09:34:53 +02:00
Jan Stümmel
489a6af3b2
fix(modeling): collapsed subprocess dont shows itself on the replace-menu
...
Solved with #247
Closes #509
2016-04-21 16:06:18 +02:00
Vladimirs Katusenoks
07a1ef29b6
fix(morphing): release id on element replace
...
Closes camunda/camunda-modeler#97
2016-04-21 11:50:36 +02:00
Vladimirs Katusenoks
bc53dc98db
fix(id): unclaim id on element remove
...
Closes #421
Fixing incorrect test+implementation for ID property update
2016-04-21 11:50:36 +02:00
Philipp Fromme
ec159381ce
fix(replace): preserve label position on element replace
...
closes #235
2016-04-20 16:13:02 +02:00
Philipp Fromme
7de043ab9d
fix(modeling): adjust position of hidden label on waypoints change
...
closes bpmn-io/diagram-js#158
2016-04-20 16:00:14 +02:00
Vladimirs Katusenoks
690881491d
chore(labels): set label above sequence flow
...
Allign for most common 'yes/no' labels - set label close to right side
2016-04-20 15:40:40 +02:00
Jan Stümmel
7811a47fae
feat(label): improve positioning of sequence flow labels
...
closes #512
2016-04-20 13:13:10 +02:00
Vladimirs Katusenoks
1923a6bdda
feat(global-connect): connect distant elements
...
Closes #474 , #394
2016-04-14 17:03:58 +02:00
Jan Stümmel
bb06a0386d
feat(modeling): combining two sequence flows when removing an element
...
combines only if removed element has one outgoing and one incoming sequence flow
Closes #433
2016-04-13 14:38:38 +02:00
Vladimirs Katusenoks
bff19786b4
feat(search): be able to search bpmn elements
...
Closes #500
2016-04-12 16:50:23 +02:00
Vladimirs Katusenoks
60720c8ae7
fix(modeling): unset gateway default on default flow delete
...
Closes #505
2016-04-04 17:24:01 +02:00
Nico Rehwaldt
9bcdd3b958
fix(rules): do not allow deletion of labels
...
Closes #499
2016-03-23 15:32:10 +01:00
Nico Rehwaldt
1a62e5925b
fix(Modeler): clear ids on destroy
2016-03-18 13:10:07 +01:00
Nico Rehwaldt
37eca38dac
feat(Viewer): make importXML callback optional
...
People could be hooking up with import via events, too.
2016-03-17 17:44:56 +01: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
ff0d88bb90
chore(Viewer+Modeler): inherit from Diagram
...
* simplifies event handling
* relies on Diagram#clear to reset the diagram before
successive imports
* allows diagram services to be re-used across imports
* allows diagram services to be injected (or retrieved)
before import
Closes #237
2016-03-17 17:44:32 +01:00
Nico Rehwaldt
f573a36071
chore(Modeler): remove bpmn-moddle id-support
...
* Handle id tracking ourself.
* Do not reinstantiate moddle on re-import (now stateless)
* <3
Closes #493
2016-03-17 17:27:13 +01:00
Nico Rehwaldt
31b49fd333
feat(draw): give container elements slight transparency
...
Closes #488
2016-03-16 11:27:09 +01:00
Nico Rehwaldt
13be55dca1
fix(ordering): correctly treat transactions / ad-hoc sub-processes
2016-03-16 11:26:41 +01:00
Jan Stümmel
4732dcfc74
feat(modeling): create collapsed pools via morph menu
...
You are now able to morph between collapsed and expanded pools
* Not possible to drop elements in a collapsed pool
* if a expanded pool collapses, the children are deleted
Closes #365
2016-03-14 16:28:23 +01:00
davcs86
49173abdad
feat(i18n): add localization
...
* Palette, ContextPad, Errors...
Closes #491
2016-03-11 20:10:10 +01:00
Nico Rehwaldt
85f50ff907
fix(replace): require correct dependency modules
2016-03-11 16:59:07 +01:00
Jan Stümmel
9582a68faf
fix(textarea-size-zoom): fixes the size of a label textbox on low zoom levels
...
Closes #477
2016-03-09 14:39:52 +01:00
Nico Rehwaldt
7ad9c7106e
fix(label-editing): complete editing operation on drag init
...
Make sure the direct editing results are applied (not discarded)
when the user starts a drag operation with direct editing active.
Closes #490
2016-03-08 14:41:32 +01:00
Nico Rehwaldt
fa2254f0ef
chore(import): use is helper
2016-03-08 14:24:50 +01:00
Nico Rehwaldt
1bceaaa229
chore(modeling): move BpmnLabelSupport to behavior
...
* Make sure the label support is part of our
behavior definitions.
* Adjust test cases accordingly.
2016-03-08 14:12:52 +01:00
hoferch91
0393d51893
chore(modeling): set minimum height to one line
...
Closes #402
2016-03-07 09:11:45 +01:00
pedesen
37353c4f60
fix(modeling): mark elements as changed during label update
...
Closes #484
2016-03-03 17:27:57 +01:00
Vladimirs Katusenoks
c793c01169
fix(viewer): moddle extensions
...
Remove .only from test, replace merge with assign, add extra test
Relates to #471
2016-02-25 14:18:29 +01:00
davcs86
0fb1bf616e
feat: add additional (default!) moddle descriptor to viewer
...
Closes #471
2016-02-25 13:10:56 +01:00
Nico Rehwaldt
d09ec1c19d
feat(Viewer): add #off to remove event listeners
...
Closes #470
2016-02-16 10:36:21 +01:00
Nico Rehwaldt
851dfb67d0
docs(Viewer): document APIs
2016-02-11 17:20:41 +01:00
pedesen
e568312a68
fix(util): fix isExpanded check
...
DiUtil/isExpanded now returns either true or false instead of
'undefined' in some cases.
Closes #458
2016-01-27 15:18:54 +01:00
Nico Rehwaldt
c3da49b4e5
feat(palette): show hand-tool on top
2016-01-27 13:52:31 +01:00
Nico Rehwaldt
82073f2d38
feat(keyboard): key bindings toggle tools
...
Closes #459
2016-01-27 13:31:17 +01:00