Commit Graph

841 Commits

Author SHA1 Message Date
Nico Rehwaldt bd2a4dd16b fix(rules): connect message flow to message/untyped events only
Closes #261
2015-05-12 14:35:21 +02:00
Nico Rehwaldt a70778880f chore(palette+context-pad): update tooltips
Related to #259
2015-05-11 17:36:01 +02:00
Nico Rehwaldt 7b712d8428 feat(modeling): add feedback on invalid modeling action
This commit adds the ModelingFeedback component. It hooks into
modeling action rejected events and displays error messages
to the user.

The current behavior is to show an error message when dropping
a flow node outside a participant in a collaboration.

Related to #203
2015-05-11 17:01:48 +02:00
Nico Rehwaldt 07c35ce9a9 chore(draw): adjust message flow start 2015-05-06 22:28:28 +02:00
Nico Rehwaldt bacd2b4322 feat(keyboard): add direct editing -> e binding
Related to #243
2015-05-06 18:09:13 +02:00
Nico Rehwaldt d54ee97aa1 feat(keyboard): add tooling specific key bindings
* space tool -> [s]
* multi select -> [m]

related to bpmn-io/bpmn-js#244
2015-05-06 17:36:46 +02:00
Nico Rehwaldt 2ef5342571 chore(draw): slightly adjust message flow thickness 2015-05-06 16:52:33 +02:00
Nico Rehwaldt f0f475dad5 feat(palette): integrate multi selection + space tool
related to #244
2015-05-06 16:52:33 +02:00
Nico Rehwaldt 4f236382a0 fix(modeling): adjust default size for participants
From 600x300 -> 600x250.

Closes #262
2015-05-06 16:51:01 +02:00
Nico Rehwaldt e912e1f89c fix(draw): give participants a white background 2015-05-06 15:54:43 +02:00
Nico Rehwaldt c294e0fadf fix(draw): no expand markers for CallActivities 2015-05-05 12:01:53 +02:00
Ricardo Matias 6fc512b477 feat(resize): snap to minimum bounds during resize
closes #252
2015-05-04 15:32:36 +02:00
Ricardo Matias 6f8999b8ae fix(modeling/BpmnUpdater): restore children di when changing diagram type
closes #253
2015-05-04 15:08:32 +02:00
Nico Rehwaldt 6b23d181d5 docs(Modeler): document extensibility
Related to #258
2015-05-04 14:58:27 +02:00
Nico Rehwaldt 800f0a3a5a docs(Viewer): document extensibility
Related to #258
2015-05-04 14:58:03 +02:00
Nico Rehwaldt 7a54267536 fix(replace): remove unused modeling dependency
The modeling module should be provided by components explicitly.

This allows users to replace it for customization.
2015-04-30 11:40:05 +02:00
Nico Rehwaldt cb52a479e0 fix(palette): add missing create feature 2015-04-30 11:33:27 +02:00
Nico Rehwaldt af9ce652e2 feat(snapping): snap to source element
This ensures we snap to a source element if one is provided, i.e. during
shape.append.
2015-04-29 15:04:54 +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 d8ef4772cd chore(modeling): make append behavior a CommandInterceptor
Append behavior inherits from CommandInterceptor now.

Connection type inference related code is reused from Modeling#connect.
2015-04-28 14:13:54 +02:00
Nico Rehwaldt 183a41cf26 fix(modeling): convert to process when deleting last participant only
Related to #128
2015-04-28 14:13:54 +02:00
Nico Rehwaldt 6eceb0926b feat(layout): add straight layouting for message flows
This commit adds a straight layouting strategy for message flows.
Other than that it makes sure connection attachments are being
remembered during reconnection / shape move.

Closes #249
Closes #179
2015-04-22 16:19:26 +02:00
Nico Rehwaldt 087506cc9a feat(modeling): transform message <> sequence flows
Closes #199
2015-04-22 16:12:58 +02:00
Nico Rehwaldt c14a87e5ad feat(modeling): add message flow modeling
Related to #199
Closes #201
2015-04-22 16:12:58 +02:00
Ricardo Matias 6011de1c4a fix(resize): correctly compute cropping box after resize
closes #236
2015-04-22 09:20:07 +02:00
Nico Rehwaldt de648520d5 feat(modeling): snap initial participant to diagram contents
Closes #241
2015-04-16 18:30:04 +02:00
Ricardo Matias 0381811d03 feat(space-tool): add create/remove space behaviour
closes #132
2015-04-16 10:00:18 +02:00
Nico Rehwaldt 0a03e59866 feat(modeling): add participant modeling behavior
This commit adds the ability to model participants from the palette.

* Empty diagrams can be used as a start for participant _AND_ process diagram
* Process diagrams can be converted to collaboration diagrams by dropping
  a participant onto them

Closes #128
2015-04-14 15:23:16 +02:00
Nico Rehwaldt 2e73f5ab85 fix(modeling): update id property in diagram-js, too
This fixes a bug where updating the id property of an element
was not propagated to the diagram. Thus, retrieving the element
based on the new id from diagram-js did not work.

Closes #238
2015-04-13 10:55:17 +02:00
jdotzki 8cd3c78d5e fix(rule): allow drop of associations
close #202
2015-03-25 13:45:54 +01:00
Nico Rehwaldt e7bbb5d6bf chore(project): use inherits util 2015-03-23 15:15:32 +01:00
Nico Rehwaldt 695a973e92 chore(modeling): renamve behaviors for clarity 2015-03-23 15:14:54 +01:00
Nico Rehwaldt e06fb32ad2 fix(style): remove trailing comma 2015-03-13 10:39:22 +01:00
Nico Rehwaldt 397a4aeea5 fix(replace): keep associations during replace
Closes #226
2015-03-12 14:03:28 +01:00
Nico Rehwaldt ae8e6146d1 chore(project): fix whitespace character 2015-03-11 17:42:56 +01:00
Nico Rehwaldt 1c0ade9d51 feat(replace): focus element after replace
Related to #192
2015-03-11 16:31:42 +01:00
Nico Rehwaldt 67d81c346c fix(replace): pre-build BPMN elements
This simplifies the ways we work with replacements.

Instead of monkey-patching the original replace functionality we

* create the business object / target object
* pass it to replace

A simple way that works well with our existing infrastructure.

Other changes:

* fixes redo / undo issues.
* splits context-pad + replace

Closes #180
2015-03-11 16:19:09 +01:00
Nico Rehwaldt d1d42f3713 chore(project): upgrade to latest bpmn-font 2015-03-10 16:07:58 +01:00
jdotzki 2b8d8110fd fix(contextpad): prevent replace menu from opening multiple instances 2015-03-08 11:51:38 +01:00
jdotzki 2321caecd7 improve(contextpad): remove modeling options behind throwing link events
related #219
2015-03-07 12:59:22 +01:00
jdotzki 6aceab9dbf feature(contextpad): add catch events to pad for event based gateways
close #206
2015-03-06 09:27:18 +01:00
jdotzki e665895448 improve(font): update to latest font
#186
2015-03-05 18:04:57 +01:00
jdotzki 89a3a6bcd8 feature(modeling): set di.isMarkerVisible for exclusive gateway as default
close #221
2015-03-05 14:19:47 +01:00
jdotzki c5af54c1e3 feature(rules): add rule for link events
close #219
2015-03-05 13:57:32 +01:00
jdotzki 6f85d3081f improve(contextpad): use receive-task icon instead just receive
close #214
2015-03-04 15:50:06 +01:00
jdotzki 7676b9f244 fix(context pad): correct position of replace menu
close #210
2015-03-04 15:27:13 +01:00
jdotzki 88eb0cb442 fix(bpmnrenderer): correct rendering of intermediate link throw event
close #216
2015-03-04 13:29:46 +01:00
jdotzki 1c45d98f9a fix(contextpad): add missing events to replace menu
close #209
close #217
2015-03-04 12:28:18 +01:00
jdotzki 225cbb914c fix(rules): fix modeling rules for event based gateways
Allow  condition and signal catching events after event based gateways.

close #213
2015-03-04 10:20:37 +01:00
jdotzki f527096ac2 fix(contextpad): add signal event to end event replace menu
close #211 #218
2015-03-03 17:09:54 +01:00
jdotzki 5604e13468 fix(contextpad): remove incorrect replace targets
close #207
2015-03-03 15:58:59 +01:00
jdotzki 73c6c883c5 fix(replace): run model updates on 'execute'
close bpmn-io/bpmn-js#213
2015-03-03 15:52:40 +01:00
jdotzki 22c0065d5d fix(context pad): remove instantiating gateways from replace menu
close #212
2015-03-03 15:15:00 +01:00
jdotzki 7207d010db feat(contextpad): add event to replace-menu
See #192
2015-03-02 13:43:06 +01:00
jdotzki 66801df111 feature(rules): add modeling rules for event based gateways
closes #193
2015-03-02 13:43:06 +01:00
jdotzki 18c2b0552e feat(contextpad): add replace-menu to context pad
Support for Gateways and Task Types was added.

See #130
2015-03-02 13:43:06 +01:00
jdotzki 3873709141 feat(replace): add service that allows to replace elements
API
- BpmnReplace#replaceElement

see bpmn-io/bpmn-js#130
2015-03-02 13:43:06 +01:00
Nico Rehwaldt 4fa01649b5 fix(draw/BpmnRenderer): only display message flow marker if messageRef
Closes #205
2015-02-25 18:30:16 +01:00
Nico Rehwaldt 788b143f27 fix(Viewer): do not cache moddle
This may have unwanted side-effects, i.e. when using id
validation and caching.

We must ensure the meta-model element is actually instance stateless in
order to safely cache it.
2015-02-17 12:04:03 +01: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 8c61906469 feat(bpmn-js): allow custom model extensions to be passed
Related to bpmn-io/bpmn-moddle#15
2015-02-12 15:50:23 +01:00
Nico Rehwaldt 04437a8354 chore(project): remove jquery
Related to bpmn-io/bpmn-js#189
2015-02-06 15:26:41 +01:00
Nico Rehwaldt 9272547af2 fix(draw): consistently use custom snapsvg 2015-02-06 09:55:23 +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
Nico Rehwaldt a899df2a12 chore(modeling/rules): reduce complexity
Related to #176
2015-01-29 14:03:17 +01:00
jdotzki d8057a2acc fix(rules): disallow circular connection
This temporarily disallows connections from and to the same element
because it rendered the connection unusable..

This change can be reverted once proper auto layout for circular connections is implemented.

Closes #176
2015-01-29 13:26:32 +01:00
Nico Rehwaldt 85e512c97d feat(modeler): add bendpoints
It is now possible to add bendpoints to flows or drag bendpoints to
update their position / trigger reconnects.

Upon bendpoint move a rule is checked to figure out whether or not a
bendpoint operation is allowed or not.

Closes #123
Closes #138
Closes #139
Closes #165
2015-01-20 17:19:56 +01:00
jdotzki 2236965d4b feature(modeler): add lasso-tool to modeling modules
see bpmn-io/bpmn-js#168
2015-01-19 16:53:40 +01:00
Nico Rehwaldt 5735a8bc3a feat(library): add navigated viewer
This adds an additional viewer variant that contains canvas navigation
features.

Related to #169
2015-01-10 12:04:26 +01:00
Nico Rehwaldt 39d5fa2e9c feat(modeling): inherit default handlers 2015-01-06 16:28:39 +01:00
jdotzki 41df1f378b feature(keyboard): add keyboard service to modeling modules
This makes a default set of keystrokes available to the user
if applications bind the keyevents via keyboard.bind(someNode).

Related to bpmn-io/diagram-js#61
2015-01-06 16:07:21 +01:00
Nico Rehwaldt 2019c658df feat(modeling): add property update mechanism
This adds the modeling#updateProperties(element, props) method to the
modeler that can be used to set BPMN 2.0 properties on elements.

By assigning the properties this way, the modeler is aware of the
elements that got changed and can update / redraw the elements
accordingly.

This hooks up with the modelers undo/redo chain, too.

Related to #167
2015-01-02 16:15:18 +01:00
Nico Rehwaldt 07ba58d805 fix(import): import message flows to dangling process
Closes #166
2015-01-02 12:56:32 +01:00
Nico Rehwaldt 74092d40a2 chore(Modeler): remove bpmn-js-cli 2014-12-30 22:53:58 +01:00
Nico Rehwaldt 2909847ac8 feat(direct-editing): rework editing
This commit updates the default direct editing behavior.

It activates on non-touch environments only and only on embedded
labels, too.

This provides a way smoother modeling experience.
2014-12-23 16:56:35 +01:00
Nico Rehwaldt 355059c30a feat(modelling): unify drag/drop handling from palette/context-pad
Related to bpmn-io/diagram-js#60
2014-12-23 16:56:35 +01:00
jdotzki 1dd19fdb0d fix(contextpad): different handling for deletion of shapes and connections
See bpmn-io/bpmn-js#121
2014-12-23 14:24:34 +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 574af0814d feat(bpmn-js): add #destroy method and allow custom position
Closes #100
2014-12-18 09:45:45 +01:00
Nico Rehwaldt 18784c5994 fix(label-editing): listen to correct events 2014-12-17 21:55:03 +01:00
Nico Rehwaldt 799273b88d chore(import): log import errors to console 2014-12-09 18:32:34 +01:00
Nico Rehwaldt 7246b75708 chore(Viewer): compress code 2014-12-08 14:04:44 +01:00
Nico Rehwaldt 429a903dd5 style(*): fix jshint warnings 2014-12-07 15:10:02 +01:00
Nico Rehwaldt 6041717c6c feat(modeling): implement create via palette/context-pad
Related to #137
2014-12-07 13:08:50 +01:00
Nico Rehwaldt 982033074b fix(draw): use correct height for bpmn:TextAnnotation 2014-12-07 13:06:32 +01:00
Nico Rehwaldt e387768ef1 fix(modeling): use correct parent for bpmn:TextAnnotation 2014-12-02 08:36:15 +01:00
Nico Rehwaldt 9e37037ac6 fix(move): adjust positioning of all attached labels 2014-11-28 11:38:06 +01:00
Nico Rehwaldt 3af41e2e7e fix(rules): restrict movement on flow elements only
For the moment we allow moving flow elements in between diagrams, only.
2014-11-27 11:56:31 +01:00
Nico Rehwaldt 2258642cb4 fix(modeling): skip updating BPMN parent on label move 2014-11-27 11:55:38 +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 1c6058e6cb chore(bpmn-js): adjust to diagram-js changes
Related to #151
2014-11-26 11:31:23 +01:00
Nico Rehwaldt 2f679a36b9 feat(modeling): move to rules infrastructure
Related to bpmn-io/diagram-js#55
2014-11-21 09:22:51 +01:00
Nico Rehwaldt 90513e94b4 feat(toolkit): use 100% as default height / width 2014-11-21 09:22:51 +01:00
jdotzki 51918b3493 feat(drop): basic implementation
This commit adds a basic implementation for model drop

* using rules to check whether the drop is allowed
* updating the model after drop

See #127
2014-11-21 09:21:41 +01:00
Nico Rehwaldt 0b8baccd32 feat(palette): migrate to icon font
Related to #148
2014-11-17 18:26:07 +01:00
Nico Rehwaldt 3a377a3871 chore(core/ElementRegistry): pull API changes
Related to #153
2014-11-17 17:36:22 +01:00
Nico Rehwaldt b1f310a1db feat(context-pad): use font to render symbols
Related to #148
2014-11-17 11:02:25 +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 447086bbdf fix(import): correctly import label DI
Related to #145
2014-10-30 12:07:28 +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 05b044e64d feat(import): forgive missing bpmnPlane#bpmnElement
Related to #146
2014-10-28 15:13:52 +01:00
jdotzki 86f66bc534 improve(resize): allow to set minimum size for element 2014-10-14 17:26:50 +02:00
jdotzki 1e224370e2 improve(resize): restrict resizable elements
related bpmn-io/bpmn-js#140
2014-10-14 09:12:03 +02:00
jdotzki 392dfaee41 feat(resize): add ability to resize shapes
see #140
2014-10-10 09:06:21 +02:00
jdotzki 4ab6c472df fix(bpmnpaletteprovider): workaround for incorrect layouting of connections
The layout algorithm is broken for decimal coordinates see #143
This is a workaround to not trigger the bug when using the palette.
2014-10-08 11:38:01 +02:00
jdotzki 5633dc0b78 improve(elementfactory): changed default size for SubProcesses
- expanded: with enough space for a small process
- collapsed: same size as Tasks
2014-10-07 11:54:21 +02:00
jdotzki 0ffdbb7fbb fix(bpmnpaletteprovider): change , to ;
related #141
2014-10-06 15:46:26 +02:00
jdotzki d3dbeb1375 feat(bpmnpaletteprovider): BPMN item provider for the palette
close bpmn-js#137
2014-10-06 12:23:22 +02:00
jdotzki 2f64d1f4c5 fix(util): Correct CallActivities rendering
CallActivities aren't expanded by default the behavior can be set by 'di.isExpanded'

close  #131
2014-09-22 12:00:11 +02:00
jdotzki 29ec039df9 improve(bpmnrenderer): align timer event rendering with BPMN spec
close #77
2014-09-17 16:07:37 +02:00
Nico Rehwaldt 36cb6777ce fix(modeling): disallow connection -> startEvent 2014-09-15 16:01:09 +02:00
Nico Rehwaldt c797fec8e2 feat(Modeler): integrate snapping 2014-09-15 16:01:09 +02:00
Nico Rehwaldt 66c7a31d34 chore(label-editing): deselect element during editing 2014-09-15 14:42:43 +02:00
Nico Rehwaldt 4428be4227 fix(draw): render labels as one-liner per default
This is a temporary fix for #113
2014-09-15 14:41:26 +02:00
Nico Rehwaldt 8cc530bf58 feat(modeling): move external labels with nodes
Closes #105
2014-09-11 17:22:59 +02:00
Nico Rehwaldt eaddbb31c4 feat(context-pad): add visual creation of connections
Closes #107
2014-09-11 16:44:56 +02:00
Nico Rehwaldt a1044e2784 fix(label-editing): correctly compute direct-editing bbox
Closes #115
2014-09-09 15:21:21 +02:00
Nico Rehwaldt 0044a51bc5 feat(label-editing): auto hide empty labels
Related to #105
2014-09-09 15:20:30 +02:00
Nico Rehwaldt b5483b2565 chore(importer): attempt optimization 2014-09-08 19:04:18 +02:00
Nico Rehwaldt 9d16e17c5c fix(labels): correct positioning + hide if empty
This commit improves the label handling by

* showing the label only if it exists
* updating the status accordingly
* positioning the label correctly on import

Related to #113
2014-09-08 19:03:39 +02:00
Nico Rehwaldt d0644c953a feat(modeling): integrate connection repair 2014-09-04 13:47:31 +02:00
Nico Rehwaldt 6f937cf2f3 chore(import): wrap emitted errors / warnings 2014-09-04 13:47:31 +02:00
Nico Rehwaldt 7e5f4eba14 fix(context-pad): make all bpmn elements deletable
Related to #118
2014-09-04 13:47:31 +02:00
Nico Rehwaldt 85150135a6 chore(Viewer): remove unnecessary code 2014-09-04 13:47:31 +02:00
jdotzki e487d6d811 feat(context-pad): add delete button
See #118
2014-08-29 16:03:08 +02:00
Nico Rehwaldt 2c5548423b chore(modeling): remove custom shape.append handler 2014-08-28 17:38:51 +02:00
Nico Rehwaldt a301acc4c4 feat(modeling): integrate connection.move
Related to #125
2014-08-28 16:17:55 +02:00
Nico Rehwaldt c685c0fcce feat(project): add manhattan style layouting for flows
Related to #48
2014-08-27 16:55:26 +02:00
Nico Rehwaldt 969c882946 fix(context-pad): correct end-event entry sizing 2014-08-27 15:50:40 +02:00
Nico Rehwaldt 5a2c5c425c chore(navigation): move features to diagram-js
This commit moves the navigation features from bpmn-js to diagram-js so
that they can be reused in other modeling / viewer tools.

Related to #124

BREAKING CHANGE:

Navigation features have been moved to diagram-js. If you use them in
custom bundles, update their location accordingly:

bpmn-js/lib/features/movecanvas -> diagram-js/lib/navigation/movecanvas
bpmn-js/lib/features/zoomscroll -> diagram-js/lib/navigation/zoomscroll
bpmn-js/lib/features/touch -> diagram-js/lib/navigation/touch
2014-08-27 15:43:18 +02:00
jdotzki 470e0f88ba feat(modeling): update bpmn model on remove
On removeShape/removeConnection the BPMN model is updated accordingly.

related to #106
2014-08-22 15:20:48 +02:00
Nico Rehwaldt 53dc82349e fix(Viewer): export base layer as SVG only
This commit fixes the SVG export of bpmn-js.

* exports the base layer only (no overlays, no markers)
* assigns correct view box to exported SVG

Related to #97
2014-08-17 19:09:46 +02:00
Nico Rehwaldt c4776f191c fix(draw): correctly fill messages + intermediate events 2014-08-17 19:09:46 +02:00
jdotzki b5ba814952 improve(viewer): clean up SVG before export
Remove outer-marker-bound <rect> from export.

close bpmn-io/bpmn-js#97
2014-08-17 12:17:15 +02:00
jdotzki 63caaeb7f4 fix(draw): data store path
Corrected path fixes transparent background.
See #96
2014-08-15 11:38:45 +02:00
Nico Rehwaldt 86d5c20f07 fix(modeling): strip all namespaces for semantic id generation
Related to #108
2014-08-12 11:03:47 +02:00
jdotzki 58b9964828 improve(bpmnfactory): add semantic element IDs
The ID will have an semantic prefix: SequenceFlow_6bpz90i

related to bpmn-io/bpmn-js#108
2014-08-11 17:55:54 +02:00
Nico Rehwaldt ac3669f0ca feat(Modeler): include bpmn-js-cli 2014-08-08 14:42:50 +02:00
Nico Rehwaldt 4f6d57accf fix(Viewer): freakin fix SVG export performance
From /.*<svg[^>]*>|<\/svg>.*$/g to /^.*<svg[^>]*>|<\/svg>.*$/g, spot the
   difference.
2014-08-06 15:22:06 +02:00
Nico Rehwaldt 782329f896 fix(modeler): add modeling components last 2014-08-06 14:40:34 +02:00
Nico Rehwaldt fb86037cdd fix(modeling): properly update sourceRef/targetRef for associations
Related to #90
2014-08-05 17:57:19 +02:00
Nico Rehwaldt a8d51a849d fix(modeling): add missing $inject 2014-08-05 17:35:54 +02:00
jdotzki c67709ce34 feat(modeling): allow append TextAnnotation
Closes #90
2014-08-05 17:21:49 +02:00
Nico Rehwaldt 8116941fca test(overlays): add overlay support tests
Related to #54
2014-08-05 17:02:03 +02:00
Nico Rehwaldt c21b295ec2 feat(Viewer): fire <import.*> events 2014-08-05 08:34:54 +02:00
Nico Rehwaldt 4a824911c2 feat(modeling): validate + create unique ids
This adds id logging + validation to the Modeler. As a result the
modeler will throw hard exeptions on colliding id mappings and may
generated unique ids.

Related to bpmn-io/bpmn-js#92
2014-08-04 16:34:37 +02:00
Nico Rehwaldt 925fbc98b8 chore(project): pull bpmn-moddle changes 2014-08-04 16:32:11 +02:00
Nico Rehwaldt 9e2ad175df chore(label-editing): integrate into modeling 2014-08-04 09:34:46 +02:00
Nico Rehwaldt b1663db035 fix(modeling): correct initial label positioning 2014-08-04 09:34:45 +02:00
Nico Rehwaldt 11f166a7f9 fix(modeling): update di bounds during shape.create 2014-08-04 09:34:44 +02:00
Nico Rehwaldt 4af334259c fix(context-pad): create ExclusiveGateway 2014-08-04 09:34:43 +02:00
Nico Rehwaldt 6183fc2561 chore(modeling): clean unused import 2014-08-04 09:32:49 +02:00
Nico Rehwaldt fe24a098fd feat(modeler): enable move feature 2014-08-04 09:32:48 +02:00
Nico Rehwaldt 209a86dc71 fix(modeling): correct size for gateways 2014-08-04 09:32:48 +02:00
jdotzki 9a19927a97 feat(context pad): add intermediate throw event to context pad
close #89
2014-08-01 16:21:16 +02:00
jdotzki 05bec1f3f8 improve(overlays): add 'diagram-js/lib/features/overlays' as standard module
related to bpmn-io/bpmn-js-examples#1
2014-08-01 11:40:18 +02:00
Nico Rehwaldt 72729ce248 fix(modeling/BpmnFactory): do not serialize point#original 2014-08-01 08:32:56 +02:00
Nico Rehwaldt cb77832fbe feat(viewer): allow additional modules to be passed
This enables users to instantiate Viewers/Modelers via

```
new Viewer({
additionalModules: [ ... ]
});
```

to bootstrap their own modules with the viewer without overriding the
existing ones.
2014-08-01 07:55:47 +02:00
Nico Rehwaldt e337ffe246 chore(Viewer): remove failSafeUtil 2014-08-01 07:47:36 +02:00
Nico Rehwaldt 44d2d94ed2 fix(modeling): create di before rendering 2014-07-31 16:26:06 +02:00
Nico Rehwaldt 4afe3a80ed feat(modeling): crop connections on shape boundaries
Behind the scenes changes:

* use diagram-js Matcher util in tests
* add test cases for LayoutConnection
* add test cases for CreateConnection
* cleanup unused test diagram

Related to #2
2014-07-31 16:26:05 +02:00
Nico Rehwaldt 7347e484ba chore(command): pull diagram-js changes 2014-07-31 15:58:31 +02:00
Nico Rehwaldt bc61e6c3ed feat(features/modeling): implement BPMN update for shape+label move
Related to #2
2014-07-31 15:58:28 +02:00
Nico Rehwaldt 9456ca9098 feat(features/modeling): assign default size for elements 2014-07-31 15:57:15 +02:00
Nico Rehwaldt d729818b94 feat(features/modeling): implement bpmn update as command listeners
This commit adds

* handling of bpmn update as command listeners
* label support

Related to bpmn-io/diagram-js#45

BREAKING CHANGE:

* rename bpmnModeling -> modeling to achive parity with diagram-js
2014-07-31 15:56:15 +02:00
jdotzki e1ed479314 feat(modeling): model gateways in processes
- Gateways can added via context pad
- BpmnModelingSpec.js split up into several files

See #88
2014-07-31 14:03:33 +02:00
Nico Rehwaldt 2934e2bfc9 fix(draw): render data-association-markers 2014-07-24 11:03:10 +02:00
Nico Rehwaldt ec83cc67d9 feat(import): deferred import connections 2014-07-23 18:53:04 +02:00
Nico Rehwaldt f02b741c85 feat(features/context-pad): focus elements after append 2014-07-18 15:29:41 +02:00
Nico Rehwaldt 1947a9c4de fix(features/bpmn-modeling): correctly remove flow from outgoing/incoming
Related to #6
2014-07-18 15:10:33 +02:00
Nico Rehwaldt f1b023f419 fix(features/bpmn-modeling): reuse created elements during redo
This commit fixes the append node command by caching and reusing created
shapes and bpmn elements.

This ensures we do not invalidate actions that build on these element
references.

Related to #6
2014-07-18 14:39:15 +02:00
Nico Rehwaldt 0bb2f9c1ed fix(features/context-pad): remove dangling fs 2014-07-18 08:52:47 +02:00
Nico Rehwaldt 894280e723 feat(feature/bpmn-modeling): append task via context-pad
Related to #6, #40
2014-07-17 15:29:34 +02:00
Nico Rehwaldt 4fe5bbc0f5 feat(features/bpmn-modeling): implement appendNode
Related to #6
2014-07-17 14:11:28 +02:00
Nico Rehwaldt 5185c55f68 chore(features/label-editing): directly depend on cmd
Related to bpmn-io/diagram-js#41
2014-07-17 14:08:15 +02:00
Nico Rehwaldt f380a4b044 feat(lib/core): use directly linked data-model
Closes #91
2014-07-17 14:08:15 +02:00
Nico Rehwaldt ae60914146 fix(import): handle invisible root elements
This commit ensures we pipe invisible root elements (Process,
Collaboration) through our import infrastructure, too.

This way we we receive proper events for them.

Related to #6
2014-07-17 14:06:29 +02:00
Nico Rehwaldt 921de712d2 chore(import): factor out import logic to own component
This commit extracts the main import logic found in import/Importer into
the core/BpmnImporter module. By doing so we we are able to reuse it
during modeling.

Related to #6
2014-07-17 14:06:29 +02:00
Nico Rehwaldt 4fb8a04251 Merge branch 'tap' 2014-07-17 13:22:46 +02:00
jdotzki 7e73e9d7c9 feat(features/label-editing): add touch based editing
Closes #84
2014-07-17 13:20:59 +02:00
jdotzki 551b445837 feat(bpmntreewalker): improve 'boundary event' handling
- correct z-index of boundary event close #75
- also render 'boundary events' that have no flowNodeRef close #66
2014-07-15 12:43:30 +02:00
jdotzki a5668bfac7 refactor(zoomscroll): use layerX/Y instead more sophisticated solution.
As long as we use a container with relative positioning this should work.

close #83
2014-07-09 16:35:57 +02:00
jdotzki 75402fe277 fix(zoomscroll): fix using of incorrect offsetX/Y values for zoom on Gecko Browsers
close #83
2014-07-09 15:08:19 +02:00
jdotzki 9d178b23f2 feat(bpmnrenderer): render X-OR marker only if 'isMarkerVisible' is set
close #69
2014-07-09 10:04:21 +02:00
Nico Rehwaldt 1aa431ca36 feat(Viewer): improve BPMN 2.0 XML parse error message
Related to #86
2014-06-30 19:04:40 +02:00
Nico Rehwaldt 88c5dcbb2f chore(core): swap draw dependency
Make bpmn-js/draw depend on bpmn-js/core and not vice versa
2014-06-30 17:09:39 +02:00
Nico Rehwaldt f386443f1a chore(Modeler): add touch feature 2014-06-27 14:24:57 +02:00
jdotzki 3c7033f92e feat(features/touch): add touch gesture support
Allow to navigate i.e. scroll/zoom on the diagram via touch gestures.

Closes #46
2014-06-27 14:24:29 +02:00
Nico Rehwaldt 27b39a9d44 feat(modeler): add createDiagram API
Related to #4
2014-06-24 15:50:51 +02:00
Nico Rehwaldt 17329666f9 fix(LabelEditingProvider): work around old WebKit incompatibility 2014-06-24 15:34:57 +02:00
Nico Rehwaldt 8ad29d034d fix(import): forgive invalid flowElements
Instead of failing hard when we parse invalid flow elements (i.e.
TextAnnotation) we log a warning that may be handled by the diagram
import.

Related to #74
2014-06-23 14:44:03 +02:00
Nico Rehwaldt 46c0744609 fix(viewer): reintroduce selection
Related to #7
2014-06-19 09:56:32 +02:00
Nico Rehwaldt c7da579f83 fix(import/Importer): clear commandStack after import 2014-06-19 09:56:31 +02:00
Nico Rehwaldt 84510cc45d feat(label-editing): edit all labels
Related to #7
2014-06-17 11:53:07 +02:00
Nico Rehwaldt 4e7e574438 chore(util): introduce Di utility 2014-06-17 11:48:23 +02:00
Nico Rehwaldt e947cb8bbe chore(modeler/viewer): clean up module loading + api 2014-06-17 11:20:36 +02:00
Nico Rehwaldt d4e55f0ba3 fix(import): hide labels of hidden elements
Closes #78
2014-06-17 11:18:33 +02:00
Nico Rehwaldt d41cad1b67 fix(importer): import label on messageFlows
Closes #76
2014-06-17 11:03:03 +02:00
Nico Rehwaldt 42b14c97e2 feat(bower): use exposify to build bower bundle
This commit uses exposify to perform a quick replace on web dependency
require() statements before browserify can process them.

This way we access our external dependencies (jquery, lodash, snapsvg,
sax) via window globals in a standalone bower bundle.

Closes #63
2014-06-13 16:55:31 +02:00
Nico Rehwaldt 73fbeb3d27 feat(modeler): add label editing
Related to #7
2014-06-11 15:08:45 +02:00
Nico Rehwaldt 4e00114409 chore(project): upgrade to new diagram.js module structure 2014-06-11 14:41:55 +02:00
Nico Rehwaldt 04fdb3d049 chore(project): add index.js entry point 2014-06-11 14:36:26 +02:00
Nico Rehwaldt bd70eced41 fix(BpmnRenderer): fix cross browser/svg viewer marker
This hacks around marker behaviors in Safari+PhantomJS. By setting the
stroke dash array to bigger than the path length, the line is drawn
solid.

Related to #68
2014-06-02 15:37:14 +02:00
Nico Rehwaldt 0a619a53fd fix(BpmnRenderer): minor drawing improvements
This fix contributes these improvements

* reset strokeWidth back to 1px for boundary + intermediate events
* unify strokeDasharray for initiating start + cancelActivity boundary
events
* set dataObject fill to white
2014-05-28 23:19:41 +02:00
Nico Rehwaldt 281de42998 feat(BpmnRenderer): clean up flow markers
This fixes flow marker strokeDasharray being used on non browser SVG
viewers.
2014-05-28 22:49:35 +02:00
jdotzki 97d1adeb8c fix(bpmnrenderer): set fill color of data associations to 'none'
close #68
2014-05-28 18:27:56 +02:00
Nico Rehwaldt 698167783b fix(svg-export): correctly serialize svg 1.1
Closes #68
2014-05-28 12:19:35 +02:00
Nico Rehwaldt 14850f753f fix(BpmnRenderer): fix messageflow marker positioning 2014-05-27 18:54:24 +02:00
Nico Rehwaldt ba94724225 fix(BpmnRenderer): adjust sequenceFlow strokeWidth + cleanup
Closes #70
2014-05-27 18:48:38 +02:00
Nico Rehwaldt 645d0e8ea4 fix(BpmnRenderer): correctly draw boundaryEvent#cancelActivity
Closes #71
2014-05-27 17:51:16 +02:00
jdotzki 9bfa4de445 fix(bpmnrenderer): render conditional flow marker only on task
close #67
2014-05-27 12:25:28 +02:00
Nico Rehwaldt 027c4278fd chore(viewer): remove brfs dependency
This commit removes the build dependency on brfs by inlining the bpmn-js
logo directly into the source code.

Because of that users have an easier time integrating the library.
2014-05-26 09:15:07 +02:00
jdotzki fd9fcefeb4 fix(bpmnrenderer): fix marker paths
The path format for some marker was incorrect, fixed for all SVG viewer that fails.
2014-05-26 08:59:12 +02:00
jdotzki 1342c1aca0 fix(bpmnrenderer): conditional flow marker
Sequence flows are rendered as a <path> instead as <polyline> so that the start and end markers have the correct orientation in Gecko based browsers.
2014-05-25 12:32:24 +02:00
Nico Rehwaldt 4b135fd9e7 fix(importer): show better error if no BPMNPlane#bpmnElement
Closes #40
2014-05-23 16:31:28 +02:00
Nico Rehwaldt 0b0fa40bc5 chore(bpmn-renderer): remove log statements 2014-05-23 10:59:00 +02:00
Nico Rehwaldt 6dee60e2ab fix(svg-export): workaround safari incompatiblity 2014-05-23 10:58:44 +02:00
Nico Rehwaldt 1733bc6de9 fix(Importer): collapse subProcesses only
Related to #49
2014-05-22 10:51:40 +02:00
jdotzki 57a9f49e52 impr(bpmnrenderer): event type inspection 2014-05-22 08:40:00 +02:00
Nico Rehwaldt 19bf425efa feat(Import): hide child elements in collapsed parents
Closes #49
2014-05-21 16:30:17 +02:00
jdotzki b0e6020952 impr(bpmnrenderer): make lanes transparent
Relates to #28
2014-05-21 15:35:26 +02:00
jdotzki d18089db0a feat(bpmnrenderer): add rendering of message marker on message flows
The marker will be placed in the middle of the message flow.

close #23
2014-05-21 13:51:59 +02:00
jdotzki 738a8a64f6 feat(bpmnrenderer): add default flow markers
close #29
2014-05-19 16:22:55 +02:00
jdotzki b2f2f1a29c feat(bpmnrenderer): add collection marker to pools
Collapsed pools looks ok. Expanded Pools have issues with z-index.
2014-05-18 12:23:17 +02:00
jdotzki 8370886bc2 feat(bpmnrenderer): add conditional flow markers
See #29
2014-05-17 10:54:56 +02:00
jdotzki fd03c02612 fix(bpmnrenderer): 'multiple parallel' event was rendered as 'multiple' event 2014-05-15 10:23:48 +02:00
jdotzki 7cdf82cce1 impr(bpmnrenderer): set correct outline for non interrupting start events
#31
2014-05-15 10:09:07 +02:00
jdotzki eea1264518 impr(bpmnrenderer): set correct outline for event sub-processes 2014-05-15 08:37:45 +02:00
jdotzki 10c1dbcf95 impr(bpmnrenderer): add task type symbols
close #45
2014-05-14 16:30:43 +02:00
jdotzki 048ce1e9cc feat(bpmnrenderer): add activity marker rendering
close #18
2014-05-09 16:31:10 +02:00
Nico Rehwaldt 98e7e5e807 fix(Viewer): include logo relative to viewer
This allows us to correctly include bpmn-js from other npm projects.
2014-05-09 15:19:53 +02:00
Nico Rehwaldt 7540186f6e fix(draw/labels): adjust font-size and no-di positioning 2014-05-06 17:24:13 +02:00
jdotzki 70778082b5 impr(bpmnrenderer): data association rendering 2014-05-06 17:22:26 +02:00
jdotzki d20fedcac6 impr(bpmnrenderer): message flow dash array set to 3 2014-05-06 16:58:01 +02:00
jdotzki 3002a79944 impr(bpmnrenderer): multi line label support for lanes
Lane labels can be two lines long.
Later improvement: If label is longer as two lines align it at container bottom so that text leaves lanes to the left or scale text size or cut text with '…. '
2014-05-06 16:21:53 +02:00
Nico Rehwaldt daeed80b49 feat(project): add license
Closes #43
2014-05-06 14:33:12 +02:00
jdotzki 4a26c14448 fix(bpmnrenderer): fixed incorrect rendering of event based gateways
close #42
2014-05-06 11:39:53 +02:00
Nico Rehwaldt ab73e2ea22 impr(draw/BpmnRenderer): set default width to 100px 2014-05-06 10:15:38 +02:00
jdotzki 45b8ee81c8 fix(bpmnrenderer): correct selection area for text annotation 2014-05-05 14:26:17 +02:00
jdotzki 849167e3e7 feat(bpmnrenderer): add pool rendering
- collapsed pools
- empty pools
- pools with lanes
- lane sublanes

close #20
2014-05-05 13:44:26 +02:00
Nico Rehwaldt c3412235a4 chore(jshint): correct warning 2014-05-05 09:18:55 +02:00
Nico Rehwaldt f09120af90 fix(draw/BpmnRenderer): use cross-browser compatible font size 2014-05-02 18:20:36 +02:00
jdotzki 00bd2712e2 feat(bpmnrenderer): add text annotation rendering 2014-05-02 12:17:26 +02:00
jdotzki 697ed88a04 improve(bpmnrenderer): allow pointer events for group content
close #22
2014-04-30 15:22:00 +02:00
jdotzki 0411154440 test(bpmnrenderer): add test case for pools and lanes 2014-04-30 14:58:18 +02:00
Nico Rehwaldt 997245ecbc impr(draw/BpmnRenderer): minor tweaks to non-interrupting boundary 2014-04-30 14:41:59 +02:00
Nico Rehwaldt e8b70ebc83 feat(labels): render external / internal labels
This commit adds internal + external label rendering for

* activity
* event
* gateway
* sequenceFlow
* subProcess
* transaction

Closes #16
2014-04-30 14:31:48 +02:00
jdotzki 1369fb5ad6 feat(bpmnrenderer): render group frame 2014-04-30 08:44:59 +02:00
jdotzki 789c2bb18e fix(bpmnrenderer): broken jshint check 2014-04-29 15:33:26 +02:00
jdotzki 02f80f75e7 improve(bpmnrenderer): make path scaleable
- scale events to the given size
- scale data objects to the given size

closes #36
2014-04-29 14:40:13 +02:00
Nico Rehwaldt a57cb76943 chore(dependencies): update moddle 2014-04-28 15:36:13 +02:00
jdotzki 27f9d1c59a improve(bpmnrenderer): detail adjustments to gateways 2014-04-28 11:48:19 +02:00
jdotzki 21b1ac0ab0 feat(bpmnrenderer): gateway renndering added
closes #17
2014-04-28 09:28:10 +02:00
Nico Rehwaldt bcf6e1900e impr(draw/BpmnRenderer): improve naming of methods 2014-04-25 13:50:53 +02:00
Nico Rehwaldt a842ee80a6 feat(core/BpmnRegistry): api accepts element#id 2014-04-25 11:07:00 +02:00
jdotzki e146b27e44 feat(bpmnrenderer): add events to renderer
Add support for all event types expect Sub-Process events.

Closes #19
2014-04-24 10:09:54 +02:00
Nico Rehwaldt db982770c3 fix(Modeler): update move component name 2014-04-16 13:38:59 +02:00
Nico Rehwaldt b1a5ffb0b1 feat(MoveCanvas): make canvas draggable
Closes #34
2014-04-14 15:11:02 +02:00
Nico Rehwaldt e3266af25b feat(ZoomScroll): add #reset to revert view to default
Closes #33
2014-04-14 15:09:45 +02:00
Nico Rehwaldt 8b1840d633 feat(zoomscroll): add zoom scroll util
We can now zoom / scroll the diagram via the newly created zoomScroll
service.

Closes #14
2014-04-11 17:11:10 +02:00
Nico Rehwaldt a029c1528c fix(Viewer): use relative position on view container 2014-04-09 14:28:28 +02:00
Nico Rehwaldt 9d1dd58ac5 feat(Modeler+Viewer): correctly use BpmnRenderer 2014-04-09 10:50:36 +02:00
Nico Rehwaldt ef756e4e03 fix(Viewer): do not assume width / height 100%
This commit removes the behavior that width and height of a viewer are
automatically set to 100% unless specified otherwise.

The width and height are now optional attributes, that are only applied
if given. This way, users may still style their elements via CSS.
2014-04-08 15:23:52 +02:00
Nico Rehwaldt 5b523bd8bf fix(BpmnRenderer): correct data object path 2014-04-08 13:41:26 +02:00
Nico Rehwaldt 008015b227 feat(Viewer): embed and show project logo
The project logo now properly embeds in the Viewer and links to bpmn.io.
This way, we are able to ship it as part of a bpmn-js bundle.

In addition to that change this commit upgrades to the latest diagram-js
release, too which adds support for Diagram#destroy().

Closes #15
2014-04-08 13:41:24 +02:00
jdotzki 082ca624bb feat(bpmnrenderer): add collection marker
for Input- and Output-DataObjects too.
2014-04-07 00:16:57 +02:00
jdotzki 1b8095a442 feat(bpmnrenderer): add support for DataCollectionObject 2014-04-04 12:01:42 +02:00
Nico Rehwaldt 6737d90b92 fix(Viewer): correctly export SVG
Closes #26
2014-04-03 21:20:13 +02:00
Nico Rehwaldt bd6aa53662 chore(project): pull out bpmn model
This commit removes the bpmn model specific parts that have been
outsourced to the project bpmn-io/bpmn-moddle.

In addition it removes BPMN 2.0 diagrams that were crafted
especially for tests of that functionality.

Closes #25
2014-04-03 19:34:17 +02:00
jdotzki b7733572a0 chore(bpmnrender) fixed too long lines 2014-04-03 14:54:01 +02:00
Nico Rehwaldt 02313e6c1b feat(bpmn): make available BpmnRegistry in renderer
This commit upgrades the code base to the latest diagram-js changes and
adds a component called BpmnRegistry that can be used to retrieve a
certain BPMN/DI element from a shape/connection id.

Related to #19
2014-04-03 11:55:22 +02:00
jdotzki 62def97a2b feat(bpmnrenderer) add support for data objects
* DataObject
* InputData
* OutputData
* DataAssociation
* DataStore

closes #21
2014-04-03 08:46:00 +02:00
Nico Rehwaldt 2eedfcbd2c fix(build): correct jshint errors 2014-04-01 14:17:13 +02:00
Nico Rehwaldt b432c35e7e fix(import/BpmnTreeWalker): correct typo 2014-03-27 16:50:31 +01:00
Nico Rehwaldt 42b63d7111 feat(Viewer): expose #on to add listeners 2014-03-26 17:45:04 +01:00
Nico Rehwaldt 144776399f refactor(import+examples): reorganize files 2014-03-25 14:08:11 +01:00
Nico Rehwaldt 9fe8609fcd feat(Viewer): add XML/SVG export to viewer
This commit adds export of XML/SVG code via our Modeler/Viewer APIs. It
is a first step to solve #10.
2014-03-24 11:02:58 +01:00
Nico Rehwaldt 7ccc9bf48e feat(BpmnTreeWalker): handle loose processes / only selected DI 2014-03-22 01:47:03 +01:00
Nico Rehwaldt d2e71b64b5 fix(BpmnRenderer): adjust message flow apperance 2014-03-22 01:45:38 +01:00
Nico Rehwaldt 20c4f4e396 fix(Viewer): handle and display errors
Closes #8
2014-03-21 21:10:01 +01:00
Nico Rehwaldt bcdac47882 fix(BpmnRenderer): correctly render message flows
Related to #1
2014-03-21 16:56:15 +01:00
Nico Rehwaldt 8055914d41 fix(Import): forgive broken di (missing bpmnElement attr)
Related to #8
2014-03-21 16:55:59 +01:00
Nico Rehwaldt 7a6558c396 feat(BpmnRenderer): correctly render sequence/message flows
Related to #1
2014-03-20 17:51:05 +01:00
Nico Rehwaldt 7e119dc402 feat(BpmnRenderer): basic render events and activities
Related to #1
2014-03-20 16:18:23 +01:00
Nico Rehwaldt 0954398c8d feat(example): update renderer/modeler example
This commit updates the example to accompain a renderer AND modeler
component.
2014-03-18 17:01:24 +01:00
Nico Rehwaldt 1d46d915d1 fix(BpmnTreeWalker): do not fail if no di 2014-03-17 11:13:03 +01:00
Nico Rehwaldt f3f95154fd feat(import): import collaboration + artifacts + message flows
This commit adds support for collaborations, message flows and
artifacts.

Related to #1
2014-03-13 23:26:33 +01:00
Nico Rehwaldt 5a4d0b566a feat(import): import bpmn shapes
We are able to import shapes based on BPMNDI.

Related to #1
2014-03-13 16:06:30 +01:00
Nico Rehwaldt 423c757f1d chore(testsuite): organize tests into node/browser
This commit introduces a clean separation of node and browser tests.

ALL tests should be organized according to where they are run

non browser (áka node tests): `test/spec/node`
browser tests: `test/spec/browser`
2014-03-13 11:33:25 +01:00
Nico Rehwaldt 01a5f28e2d chore(project): initial import 2014-03-11 15:54:36 +01:00