Commit Graph

317 Commits

Author SHA1 Message Date
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