Commit Graph

589 Commits

Author SHA1 Message Date
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 d3dbeb1375 feat(bpmnpaletteprovider): BPMN item provider for the palette
close bpmn-js#137
2014-10-06 12:23:22 +02:00
Christian Lipphardt 81ca09fe64 chore(karma): increase timeout for no browser activity 2014-09-25 09:54:40 +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 179121880f test(bpmn-moddle): create integration test 2014-09-08 19:04:07 +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 a301acc4c4 feat(modeling): integrate connection.move
Related to #125
2014-08-28 16:17:55 +02:00
Nico Rehwaldt 5f986dcb3a test(import): assert correct number of children 2014-08-28 14:27:13 +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 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
Nico Rehwaldt 5c2a079307 feat(tests): extract test helper to own module
This commit extracts the test helper utility to its own module.

Use in bpmn-js extensions via

var Helper = require('bpmn-js/test/helper');

This adds the global helper bindings bootstrapModeler/Viewer and inject.
2014-08-25 17:58: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
jdotzki 49d0be47d1 test(importer): fix xml id 2014-08-18 13:48:45 +02:00
jdotzki 7e345a348e test(importer): attribute default value
Make sure 'eventGatewayType' get default value if undefined.
2014-08-18 12:38:41 +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
Nico Rehwaldt 6be9a9e0e4 test(Modeler): fix overlay expectations 2014-08-12 11:53:38 +02:00
Nico Rehwaldt 5df579bd02 chore(tests): add diagram.css during tests 2014-08-12 11:53:00 +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 2202bb07fa feat(tests): gracefully handle missing jasmine-test-container-support
This allows us to smoothly transition into a jasmine-free world.
2014-08-08 08:49:12 +02:00
Nico Rehwaldt 08f45fd444 test(Modeler): add additional overlay 2014-08-07 22:09:12 +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 fb86037cdd fix(modeling): properly update sourceRef/targetRef for associations
Related to #90
2014-08-05 17:57:19 +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 911e991bc8 chore(tests): instantiate modeler only when neccessary
This commit replaces the test helper #bootstrapBpmnJS with either

This ensures we can have different Modeler/Viewer specific bootstrap
code being called based on whether we test modeling or viewing only
features.
2014-08-05 08:17:22 +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 b1663db035 fix(modeling): correct initial label positioning 2014-08-04 09:34:45 +02:00
Nico Rehwaldt 9bf74c95e6 chore(modeling): pull diagram-js changes 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 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 826d798f19 chore(tests): remove unused node test folders
This commit cleans up reminders of the node-js test suite removal
by removing the test/node folder.

The test structure has been aligned by moving all tests from

* test/spec/browser to test/spec
* test/spec/integration to test/integration
2014-08-01 07:20:15 +02:00
Nico Rehwaldt c490d4539b test(modeling): ensure connection is layouted during shape move 2014-07-31 16:26:05 +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 bc61e6c3ed feat(features/modeling): implement BPMN update for shape+label move
Related to #2
2014-07-31 15:58:28 +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 ec83cc67d9 feat(import): deferred import connections 2014-07-23 18:53:04 +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 894280e723 feat(feature/bpmn-modeling): append task via context-pad
Related to #6, #40
2014-07-17 15:29:34 +02:00
Nico Rehwaldt 0880dd32e7 chore(tests): increase karma timeout 2014-07-17 14:11:28 +02:00
Nico Rehwaldt 4fe5bbc0f5 feat(features/bpmn-modeling): implement appendNode
Related to #6
2014-07-17 14:11:28 +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 5da37a24c4 chore(tests): reactivate BPMN 2.0 rendering for tests
Related to #6
2014-07-17 14:06:30 +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 90e3e86237 tests(import): add end event to simple fixture 2014-07-17 14:06:28 +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 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
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 fcb35c366d test(zoomScroll): add basic test 2014-06-26 10:04:11 +02:00
Nico Rehwaldt 27b39a9d44 feat(modeler): add createDiagram API
Related to #4
2014-06-24 15:50:51 +02:00
Nico Rehwaldt 3f958aa84b test(bpmn/draw): correct test case 2014-06-24 15:35:19 +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 c7da579f83 fix(import/Importer): clear commandStack after import 2014-06-19 09:56:31 +02:00
Nico Rehwaldt dc3fca67b1 chore(tests): use jasmine-test-container-support for test execution
This allows us to have tests nice and easily rendered within test-local
containers, including captions, status highlighting and links.
2014-06-18 11:45:30 +02:00
Nico Rehwaldt 84510cc45d feat(label-editing): edit all labels
Related to #7
2014-06-17 11:53:07 +02:00
Nico Rehwaldt 3b9662527e feat(test-environment): add diagram-js like test env 2014-06-17 11:49:15 +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 fc45cf8c61 test(import): add message flow label import test case
Related to #76
2014-06-13 11:02:07 +02:00
Nico Rehwaldt 7db31042aa chore(test/fixtures/bpmn): structure files by feature 2014-06-13 11:02:07 +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 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
Nico Rehwaldt 698167783b fix(svg-export): correctly serialize svg 1.1
Closes #68
2014-05-28 12:19:35 +02:00
Nico Rehwaldt 21224bf32c chore(BpmnRenderer): cleanup test suite 2014-05-27 17:48:04 +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 4b135fd9e7 fix(importer): show better error if no BPMNPlane#bpmnElement
Closes #40
2014-05-23 16:31:28 +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
Nico Rehwaldt 19bf425efa feat(Import): hide child elements in collapsed parents
Closes #49
2014-05-21 16:30:17 +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 7695e66f44 test(bpmnrenderer): add test for conditional flows
#29
2014-05-16 14:45:48 +02:00
jdotzki be189b0daa test(bpmnrenderer): add test for collapsed event sub-processes
For now no visual indication about type of the start event. That will covered later.

close #31
2014-05-16 10:33:17 +02:00
jdotzki 7cdf82cce1 impr(bpmnrenderer): set correct outline for non interrupting start events
#31
2014-05-15 10:09:07 +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 6062ce10b8 test(draw/BpmnRenderer): use file relative model includes 2014-05-09 15:20:29 +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 7d9ffa820a test(draw/BpmnRenderer): add collaboration label test 2014-05-06 10:00:06 +02:00
jdotzki 00bd2712e2 feat(bpmnrenderer): add text annotation rendering 2014-05-02 12:17:26 +02:00
jdotzki 4864fe99cf test(bpmnrenderer): add automatic rendering tests
Add all fixtures from test/fixtures/bpmn/render/ to the test suite.
2014-05-02 08:31:58 +02:00
Nico Rehwaldt a63186599e test(draw/BpmnRenderer): add test for group rendering 2014-04-30 16:36:02 +02:00
Nico Rehwaldt 5e9afa4d3a test(draw/BpmnRenderer): correct pool fixture
Reopenes #20
2014-04-30 16:28:30 +02:00
jdotzki 0411154440 test(bpmnrenderer): add test case for pools and lanes 2014-04-30 14:58:18 +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
Nico Rehwaldt c17204356c chore(project): move to karma-bro for test preprocessing 2014-04-30 01:57:54 +02:00
jdotzki 21b1ac0ab0 feat(bpmnrenderer): gateway renndering added
closes #17
2014-04-28 09:28:10 +02:00
Nico Rehwaldt 0a061e2060 test(draw/BpmnRenderer): add event tests 2014-04-25 13:31:18 +02:00
Nico Rehwaldt 7d0e8dabe0 test(browser): clean up unused code + keep rendered resources 2014-04-25 13:30:10 +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 06cf214249 chore(project): upgrade to latest karma-browserify
This fixes module loading bugs during test run and lets us use the
latest  browserify version.
2014-04-08 13:41:27 +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
Nico Rehwaldt 777fabd700 test(Model): add missing diagram file 2014-04-03 11:55:22 +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 e631de2b2f feat(Model): support extensionElements
Related to #12
2014-03-27 16:45:02 +01:00
Nico Rehwaldt 144776399f refactor(import+examples): reorganize files 2014-03-25 14:08:11 +01:00
Nico Rehwaldt 20c4f4e396 fix(Viewer): handle and display errors
Closes #8
2014-03-21 21:10:01 +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 1597af78c2 feat(XML): use http://bpmn.io/schema/bpmn as targetNamespace 2014-03-21 16:43:15 +01:00
Nico Rehwaldt 8c46e91fc0 test(browser/ImporterSpec): fix missing Renderer dependency 2014-03-21 14:42:14 +01:00
Nico Rehwaldt 3cafee107a fix(tests/fixtures): remove choreography task from data-items 2014-03-21 14:41:24 +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 60b27e393f test(fixtures/bpmn): add collaboration sample 2014-03-17 11:13:03 +01:00
Nico Rehwaldt cc1e91f37f fix(build): remove bowerify dependency 2014-03-14 17:52:30 +01:00
Nico Rehwaldt 514f51a031 test(BpmnTreeWalker): add sequence flow parsing test 2014-03-14 17:51:36 +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