231 Commits

Author SHA1 Message Date
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
Nico Rehwaldt
39d5fa2e9c feat(modeling): inherit default handlers 2015-01-06 16:28:39 +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
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
Nico Rehwaldt
18784c5994 fix(label-editing): listen to correct events 2014-12-17 21:55:03 +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
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
2f679a36b9 feat(modeling): move to rules infrastructure
Related to bpmn-io/diagram-js#55
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
b1f310a1db feat(context-pad): use font to render symbols
Related to #148
2014-11-17 11:02:25 +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
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
Nico Rehwaldt
36cb6777ce fix(modeling): disallow connection -> startEvent 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
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
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
7e5f4eba14 fix(context-pad): make all bpmn elements deletable
Related to #118
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
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
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
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