bpmn-js 9.0.3 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -5
- package/dist/assets/diagram-js.css +55 -51
- package/dist/bpmn-modeler.development.js +56708 -55905
- package/dist/bpmn-modeler.production.min.js +28 -29
- package/dist/bpmn-navigated-viewer.development.js +21579 -21205
- package/dist/bpmn-navigated-viewer.production.min.js +20 -21
- package/dist/bpmn-viewer.development.js +20780 -20406
- package/dist/bpmn-viewer.production.min.js +20 -21
- package/lib/BaseModeler.js +1 -1
- package/lib/BaseViewer.js +14 -4
- package/lib/Modeler.js +1 -1
- package/lib/NavigatedViewer.js +1 -1
- package/lib/Viewer.js +1 -1
- package/lib/draw/BpmnRenderUtil.js +3 -1
- package/lib/draw/BpmnRenderer.js +11 -9
- package/lib/features/auto-place/BpmnAutoPlaceUtil.js +10 -0
- package/lib/features/auto-resize/BpmnAutoResize.js +1 -1
- package/lib/features/auto-resize/BpmnAutoResizeProvider.js +1 -1
- package/lib/features/context-pad/ContextPadProvider.js +57 -3
- package/lib/features/copy-paste/ModdleCopy.js +0 -2
- package/lib/features/drilldown/DrilldownOverlayBehavior.js +2 -2
- package/lib/features/drilldown/SubprocessCompatibility.js +20 -3
- package/lib/features/editor-actions/BpmnEditorActions.js +1 -1
- package/lib/features/grid-snapping/behavior/LayoutConnectionBehavior.js +1 -1
- package/lib/features/interaction-events/BpmnInteractionEvents.js +12 -0
- package/lib/features/keyboard/BpmnKeyboardBindings.js +1 -1
- package/lib/features/label-editing/LabelEditingProvider.js +12 -1
- package/lib/features/label-editing/cmd/UpdateLabelHandler.js +1 -1
- package/lib/features/modeling/BpmnLayouter.js +1 -1
- package/lib/features/modeling/BpmnUpdater.js +1 -1
- package/lib/features/modeling/ElementFactory.js +1 -1
- package/lib/features/modeling/Modeling.js +1 -1
- package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +1 -1
- package/lib/features/modeling/behavior/AppendBehavior.js +1 -1
- package/lib/features/modeling/behavior/AssociationBehavior.js +1 -1
- package/lib/features/modeling/behavior/AttachEventBehavior.js +1 -1
- package/lib/features/modeling/behavior/BoundaryEventBehavior.js +1 -1
- package/lib/features/modeling/behavior/CreateBehavior.js +1 -1
- package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +1 -1
- package/lib/features/modeling/behavior/CreateParticipantBehavior.js +1 -1
- package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +1 -1
- package/lib/features/modeling/behavior/DataStoreBehavior.js +1 -1
- package/lib/features/modeling/behavior/DeleteLaneBehavior.js +1 -1
- package/lib/features/modeling/behavior/DetachEventBehavior.js +1 -1
- package/lib/features/modeling/behavior/DropOnFlowBehavior.js +1 -1
- package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +1 -1
- package/lib/features/modeling/behavior/GroupBehavior.js +1 -1
- package/lib/features/modeling/behavior/IsHorizontalFix.js +1 -1
- package/lib/features/modeling/behavior/LabelBehavior.js +1 -1
- package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +117 -0
- package/lib/features/modeling/behavior/MessageFlowBehavior.js +1 -1
- package/lib/features/modeling/behavior/RemoveElementBehavior.js +1 -1
- package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +1 -1
- package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +1 -1
- package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +1 -1
- package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +1 -1
- package/lib/features/modeling/behavior/RootElementReferenceBehavior.js +1 -1
- package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +1 -1
- package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +2 -2
- package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +1 -1
- package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +1 -1
- package/lib/features/modeling/behavior/UnclaimIdBehavior.js +1 -1
- package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +1 -1
- package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +1 -1
- package/lib/features/modeling/behavior/index.js +3 -0
- package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +16 -0
- package/lib/features/modeling/behavior/util/GeometricUtil.js +1 -121
- package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +3 -192
- package/lib/features/modeling/behavior/util/LayoutUtil.js +230 -0
- package/lib/features/modeling/cmd/SetColorHandler.js +6 -2
- package/lib/features/ordering/BpmnOrderingProvider.js +2 -2
- package/lib/features/popup-menu/ReplaceMenuProvider.js +7 -6
- package/lib/features/replace-preview/BpmnReplacePreview.js +1 -1
- package/lib/features/rules/BpmnRules.js +1 -6
- package/lib/features/snapping/BpmnCreateMoveSnapping.js +1 -1
- package/lib/import/Importer.js +1 -1
- package/lib/util/PoweredByUtil.js +59 -44
- package/package.json +5 -5
- package/test/util/custom-rules/CustomRules.js +1 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getDistancePointPoint,
|
|
3
|
+
rotateVector,
|
|
4
|
+
getAngle
|
|
5
|
+
} from './GeometricUtil';
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
getAttachment
|
|
9
|
+
} from './LineAttachmentUtil';
|
|
10
|
+
|
|
11
|
+
import {
|
|
12
|
+
roundPoint
|
|
13
|
+
} from 'diagram-js/lib/layout/LayoutUtil';
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export function findNewLineStartIndex(oldWaypoints, newWaypoints, attachment, hints) {
|
|
17
|
+
|
|
18
|
+
var index = attachment.segmentIndex;
|
|
19
|
+
|
|
20
|
+
var offset = newWaypoints.length - oldWaypoints.length;
|
|
21
|
+
|
|
22
|
+
// segmentMove happened
|
|
23
|
+
if (hints.segmentMove) {
|
|
24
|
+
|
|
25
|
+
var oldSegmentStartIndex = hints.segmentMove.segmentStartIndex,
|
|
26
|
+
newSegmentStartIndex = hints.segmentMove.newSegmentStartIndex;
|
|
27
|
+
|
|
28
|
+
// if point was on moved segment return new segment index
|
|
29
|
+
if (index === oldSegmentStartIndex) {
|
|
30
|
+
return newSegmentStartIndex;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// point is after new segment index
|
|
34
|
+
if (index >= newSegmentStartIndex) {
|
|
35
|
+
return (index+offset < newSegmentStartIndex) ? newSegmentStartIndex : index+offset;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// if point is before new segment index
|
|
39
|
+
return index;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// bendpointMove happened
|
|
43
|
+
if (hints.bendpointMove) {
|
|
44
|
+
|
|
45
|
+
var insert = hints.bendpointMove.insert,
|
|
46
|
+
bendpointIndex = hints.bendpointMove.bendpointIndex,
|
|
47
|
+
newIndex;
|
|
48
|
+
|
|
49
|
+
// waypoints length didnt change
|
|
50
|
+
if (offset === 0) {
|
|
51
|
+
return index;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// point behind new/removed bendpoint
|
|
55
|
+
if (index >= bendpointIndex) {
|
|
56
|
+
newIndex = insert ? index + 1 : index - 1;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// point before new/removed bendpoint
|
|
60
|
+
if (index < bendpointIndex) {
|
|
61
|
+
|
|
62
|
+
newIndex = index;
|
|
63
|
+
|
|
64
|
+
// decide point should take right or left segment
|
|
65
|
+
if (insert && attachment.type !== 'bendpoint' && bendpointIndex-1 === index) {
|
|
66
|
+
|
|
67
|
+
var rel = relativePositionMidWaypoint(newWaypoints, bendpointIndex);
|
|
68
|
+
|
|
69
|
+
if (rel < attachment.relativeLocation) {
|
|
70
|
+
newIndex++;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return newIndex;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// start/end changed
|
|
79
|
+
if (offset === 0) {
|
|
80
|
+
return index;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (hints.connectionStart && index === 0) {
|
|
84
|
+
return 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (hints.connectionEnd && index === oldWaypoints.length - 2) {
|
|
88
|
+
return newWaypoints.length - 2;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// if nothing fits, take the middle segment
|
|
92
|
+
return Math.floor((newWaypoints.length - 2)/2);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Calculate the required adjustment (move delta) for the given point
|
|
98
|
+
* after the connection waypoints got updated.
|
|
99
|
+
*
|
|
100
|
+
* @param {Point} position
|
|
101
|
+
* @param {Array<Point>} newWaypoints
|
|
102
|
+
* @param {Array<Point>} oldWaypoints
|
|
103
|
+
* @param {Object} hints
|
|
104
|
+
*
|
|
105
|
+
* @return {Object} result
|
|
106
|
+
* @return {Point} result.point
|
|
107
|
+
* @return {Point} result.delta
|
|
108
|
+
*/
|
|
109
|
+
export function getAnchorPointAdjustment(position, newWaypoints, oldWaypoints, hints) {
|
|
110
|
+
|
|
111
|
+
var dx = 0,
|
|
112
|
+
dy = 0;
|
|
113
|
+
|
|
114
|
+
var oldPosition = {
|
|
115
|
+
point: position,
|
|
116
|
+
delta: { x: 0, y: 0 }
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// get closest attachment
|
|
120
|
+
var attachment = getAttachment(position, oldWaypoints),
|
|
121
|
+
oldLabelLineIndex = attachment.segmentIndex,
|
|
122
|
+
newLabelLineIndex = findNewLineStartIndex(oldWaypoints, newWaypoints, attachment, hints);
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
// should never happen
|
|
126
|
+
// TODO(@janstuemmel): throw an error here when connectionSegmentMove is refactored
|
|
127
|
+
if (newLabelLineIndex < 0 ||
|
|
128
|
+
newLabelLineIndex > newWaypoints.length - 2 ||
|
|
129
|
+
newLabelLineIndex === null) {
|
|
130
|
+
return oldPosition;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
var oldLabelLine = getLine(oldWaypoints, oldLabelLineIndex),
|
|
134
|
+
newLabelLine = getLine(newWaypoints, newLabelLineIndex),
|
|
135
|
+
oldFoot = attachment.position;
|
|
136
|
+
|
|
137
|
+
var relativeFootPosition = getRelativeFootPosition(oldLabelLine, oldFoot),
|
|
138
|
+
angleDelta = getAngleDelta(oldLabelLine, newLabelLine);
|
|
139
|
+
|
|
140
|
+
// special rule if label on bendpoint
|
|
141
|
+
if (attachment.type === 'bendpoint') {
|
|
142
|
+
|
|
143
|
+
var offset = newWaypoints.length - oldWaypoints.length,
|
|
144
|
+
oldBendpointIndex = attachment.bendpointIndex,
|
|
145
|
+
oldBendpoint = oldWaypoints[oldBendpointIndex];
|
|
146
|
+
|
|
147
|
+
// bendpoint position hasn't changed, return same position
|
|
148
|
+
if (newWaypoints.indexOf(oldBendpoint) !== -1) {
|
|
149
|
+
return oldPosition;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// new bendpoint and old bendpoint have same index, then just return the offset
|
|
153
|
+
if (offset === 0) {
|
|
154
|
+
var newBendpoint = newWaypoints[oldBendpointIndex];
|
|
155
|
+
|
|
156
|
+
dx = newBendpoint.x - attachment.position.x,
|
|
157
|
+
dy = newBendpoint.y - attachment.position.y;
|
|
158
|
+
|
|
159
|
+
return {
|
|
160
|
+
delta: {
|
|
161
|
+
x: dx,
|
|
162
|
+
y: dy
|
|
163
|
+
},
|
|
164
|
+
point: {
|
|
165
|
+
x: position.x + dx,
|
|
166
|
+
y: position.y + dy
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// if bendpoints get removed
|
|
172
|
+
if (offset < 0 && oldBendpointIndex !== 0 && oldBendpointIndex < oldWaypoints.length - 1) {
|
|
173
|
+
relativeFootPosition = relativePositionMidWaypoint(oldWaypoints, oldBendpointIndex);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
var newFoot = {
|
|
178
|
+
x: (newLabelLine[1].x - newLabelLine[0].x) * relativeFootPosition + newLabelLine[0].x,
|
|
179
|
+
y: (newLabelLine[1].y - newLabelLine[0].y) * relativeFootPosition + newLabelLine[0].y
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// the rotated vector to label
|
|
183
|
+
var newLabelVector = rotateVector({
|
|
184
|
+
x: position.x - oldFoot.x,
|
|
185
|
+
y: position.y - oldFoot.y
|
|
186
|
+
}, angleDelta);
|
|
187
|
+
|
|
188
|
+
// the new relative position
|
|
189
|
+
dx = newFoot.x + newLabelVector.x - position.x;
|
|
190
|
+
dy = newFoot.y + newLabelVector.y - position.y;
|
|
191
|
+
|
|
192
|
+
return {
|
|
193
|
+
point: roundPoint(newFoot),
|
|
194
|
+
delta: roundPoint({
|
|
195
|
+
x: dx,
|
|
196
|
+
y: dy
|
|
197
|
+
})
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
// HELPERS //////////////////////
|
|
203
|
+
|
|
204
|
+
function relativePositionMidWaypoint(waypoints, idx) {
|
|
205
|
+
|
|
206
|
+
var distanceSegment1 = getDistancePointPoint(waypoints[idx-1], waypoints[idx]),
|
|
207
|
+
distanceSegment2 = getDistancePointPoint(waypoints[idx], waypoints[idx+1]);
|
|
208
|
+
|
|
209
|
+
var relativePosition = distanceSegment1 / (distanceSegment1 + distanceSegment2);
|
|
210
|
+
|
|
211
|
+
return relativePosition;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function getAngleDelta(l1, l2) {
|
|
215
|
+
var a1 = getAngle(l1),
|
|
216
|
+
a2 = getAngle(l2);
|
|
217
|
+
return a2 - a1;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function getLine(waypoints, idx) {
|
|
221
|
+
return [ waypoints[idx], waypoints[idx+1] ];
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function getRelativeFootPosition(line, foot) {
|
|
225
|
+
|
|
226
|
+
var length = getDistancePointPoint(line[0], line[1]),
|
|
227
|
+
lengthToFoot = getDistancePointPoint(line[0], foot);
|
|
228
|
+
|
|
229
|
+
return length === 0 ? 0 : lengthToFoot / length;
|
|
230
|
+
}
|
|
@@ -9,6 +9,10 @@ import {
|
|
|
9
9
|
getDi
|
|
10
10
|
} from '../../../util/ModelUtil';
|
|
11
11
|
|
|
12
|
+
import {
|
|
13
|
+
isLabel
|
|
14
|
+
} from '../../../util/LabelUtil';
|
|
15
|
+
|
|
12
16
|
var DEFAULT_COLORS = {
|
|
13
17
|
fill: undefined,
|
|
14
18
|
stroke: undefined
|
|
@@ -66,14 +70,14 @@ SetColorHandler.prototype.postExecute = function(context) {
|
|
|
66
70
|
// TODO @barmac: remove once we drop bpmn.io properties
|
|
67
71
|
ensureLegacySupport(assignedDi);
|
|
68
72
|
|
|
69
|
-
if (element
|
|
73
|
+
if (isLabel(element)) {
|
|
70
74
|
|
|
71
75
|
// set label colors as bpmndi:BPMNLabel#color
|
|
72
76
|
self._commandStack.execute('element.updateModdleProperties', {
|
|
73
77
|
element: element,
|
|
74
78
|
moddleElement: getDi(element).label,
|
|
75
79
|
properties: {
|
|
76
|
-
color: di['
|
|
80
|
+
color: di['border-color']
|
|
77
81
|
}
|
|
78
82
|
});
|
|
79
83
|
} else {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import inherits from 'inherits';
|
|
1
|
+
import inherits from 'inherits-browser';
|
|
2
2
|
|
|
3
3
|
import OrderingProvider from 'diagram-js/lib/features/ordering/OrderingProvider';
|
|
4
4
|
|
|
@@ -131,7 +131,7 @@ export default function BpmnOrderingProvider(eventBus, canvas, translate) {
|
|
|
131
131
|
// render labels always on top
|
|
132
132
|
if (element.labelTarget) {
|
|
133
133
|
return {
|
|
134
|
-
parent: canvas.findRoot(
|
|
134
|
+
parent: canvas.findRoot(newParent) || canvas.getRootElement(),
|
|
135
135
|
index: -1
|
|
136
136
|
};
|
|
137
137
|
}
|
|
@@ -14,7 +14,8 @@ import {
|
|
|
14
14
|
|
|
15
15
|
import {
|
|
16
16
|
forEach,
|
|
17
|
-
filter
|
|
17
|
+
filter,
|
|
18
|
+
isUndefined
|
|
18
19
|
} from 'min-dash';
|
|
19
20
|
|
|
20
21
|
import * as replaceOptions from '../replace/ReplaceOptions';
|
|
@@ -426,16 +427,16 @@ ReplaceMenuProvider.prototype._getLoopEntries = function(element) {
|
|
|
426
427
|
var translate = this._translate;
|
|
427
428
|
|
|
428
429
|
function toggleLoopEntry(event, entry) {
|
|
429
|
-
var loopCharacteristics;
|
|
430
|
+
var loopCharacteristics = getBusinessObject(element).loopCharacteristics;
|
|
430
431
|
|
|
431
432
|
if (entry.active) {
|
|
432
433
|
loopCharacteristics = undefined;
|
|
433
434
|
} else {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
if (entry.options.isSequential) {
|
|
437
|
-
loopCharacteristics.isSequential = entry.options.isSequential;
|
|
435
|
+
if (isUndefined(entry.options.isSequential) || !loopCharacteristics) {
|
|
436
|
+
loopCharacteristics = self._moddle.create(entry.options.loopCharacteristics);
|
|
438
437
|
}
|
|
438
|
+
|
|
439
|
+
loopCharacteristics.isSequential = entry.options.isSequential;
|
|
439
440
|
}
|
|
440
441
|
self._modeling.updateProperties(element, { loopCharacteristics: loopCharacteristics });
|
|
441
442
|
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
some
|
|
6
6
|
} from 'min-dash';
|
|
7
7
|
|
|
8
|
-
import inherits from 'inherits';
|
|
8
|
+
import inherits from 'inherits-browser';
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
11
|
is,
|
|
@@ -819,11 +819,6 @@ function isOneTextAnnotation(source, target) {
|
|
|
819
819
|
|
|
820
820
|
function canConnectAssociation(source, target) {
|
|
821
821
|
|
|
822
|
-
// do not connect connections
|
|
823
|
-
if (isConnection(source) || isConnection(target)) {
|
|
824
|
-
return false;
|
|
825
|
-
}
|
|
826
|
-
|
|
827
822
|
// compensation boundary events are exception
|
|
828
823
|
if (isCompensationBoundary(source) && isForCompensation(target)) {
|
|
829
824
|
return true;
|
package/lib/import/Importer.js
CHANGED
|
@@ -124,7 +124,7 @@ export function importBpmnDiagram(diagram, definitions, bpmnDiagram) {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
|
-
* Returns all diagrams in the same
|
|
127
|
+
* Returns all diagrams in the same hierarchy as the requested diagram.
|
|
128
128
|
* Includes all parent and sub process diagrams.
|
|
129
129
|
*
|
|
130
130
|
* @param {Array} definitions
|
|
@@ -5,59 +5,61 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
|
+
assignStyle,
|
|
8
9
|
domify,
|
|
9
|
-
delegate as domDelegate
|
|
10
|
+
delegate as domDelegate,
|
|
11
|
+
query as domQuery
|
|
10
12
|
} from 'min-dom';
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
// inlined ../../resources/logo.svg
|
|
14
|
-
var BPMNIO_LOGO_SVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.02 5.57" width="53" height="21"
|
|
16
|
+
var BPMNIO_LOGO_SVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.02 5.57" width="53" height="21"><path fill="currentColor" d="M1.88.92v.14c0 .41-.13.68-.4.8.33.14.46.44.46.86v.33c0 .61-.33.95-.95.95H0V0h.95c.65 0 .93.3.93.92zM.63.57v1.06h.24c.24 0 .38-.1.38-.43V.98c0-.28-.1-.4-.32-.4zm0 1.63v1.22h.36c.2 0 .32-.1.32-.39v-.35c0-.37-.12-.48-.4-.48H.63zM4.18.99v.52c0 .64-.31.98-.94.98h-.3V4h-.62V0h.92c.63 0 .94.35.94.99zM2.94.57v1.35h.3c.2 0 .3-.09.3-.37v-.6c0-.29-.1-.38-.3-.38h-.3zm2.89 2.27L6.25 0h.88v4h-.6V1.12L6.1 3.99h-.6l-.46-2.82v2.82h-.55V0h.87zM8.14 1.1V4h-.56V0h.79L9 2.4V0h.56v4h-.64zm2.49 2.29v.6h-.6v-.6zM12.12 1c0-.63.33-1 .95-1 .61 0 .95.37.95 1v2.04c0 .64-.34 1-.95 1-.62 0-.95-.37-.95-1zm.62 2.08c0 .28.13.39.33.39s.32-.1.32-.4V.98c0-.29-.12-.4-.32-.4s-.33.11-.33.4z"/><path fill="currentColor" d="M0 4.53h14.02v1.04H0zM11.08 0h.63v.62h-.63zm.63 4V1h-.63v2.98z"/></svg>';
|
|
15
17
|
|
|
16
18
|
export var BPMNIO_IMG = BPMNIO_LOGO_SVG;
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export var LINK_STYLES =
|
|
23
|
-
'color: #404040'
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var LIGHTBOX_STYLES =
|
|
27
|
-
'
|
|
28
|
-
'position: fixed',
|
|
29
|
-
'top: 0',
|
|
30
|
-
'left: 0',
|
|
31
|
-
'right: 0',
|
|
32
|
-
'bottom: 0'
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var BACKDROP_STYLES =
|
|
36
|
-
'width: 100%',
|
|
37
|
-
'height: 100%',
|
|
38
|
-
'background: rgba(40,40,40,0.2)'
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var NOTICE_STYLES =
|
|
42
|
-
'position: absolute',
|
|
43
|
-
'left: 50%',
|
|
44
|
-
'top: 40%',
|
|
45
|
-
'transform: translate(-50%)',
|
|
46
|
-
'width: 260px',
|
|
47
|
-
'padding: 10px',
|
|
48
|
-
'background: white',
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'
|
|
52
|
-
'display: flex',
|
|
53
|
-
'
|
|
54
|
-
|
|
20
|
+
export var LOGO_STYLES = {
|
|
21
|
+
verticalAlign: 'middle'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export var LINK_STYLES = {
|
|
25
|
+
'color': '#404040'
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var LIGHTBOX_STYLES = {
|
|
29
|
+
'zIndex': '1001',
|
|
30
|
+
'position': 'fixed',
|
|
31
|
+
'top': '0',
|
|
32
|
+
'left': '0',
|
|
33
|
+
'right': '0',
|
|
34
|
+
'bottom': '0'
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var BACKDROP_STYLES = {
|
|
38
|
+
'width': '100%',
|
|
39
|
+
'height': '100%',
|
|
40
|
+
'background': 'rgba(40,40,40,0.2)'
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var NOTICE_STYLES = {
|
|
44
|
+
'position': 'absolute',
|
|
45
|
+
'left': '50%',
|
|
46
|
+
'top': '40%',
|
|
47
|
+
'transform': 'translate(-50%)',
|
|
48
|
+
'width': '260px',
|
|
49
|
+
'padding': '10px',
|
|
50
|
+
'background': 'white',
|
|
51
|
+
'boxShadow': '0 1px 4px rgba(0,0,0,0.3)',
|
|
52
|
+
'fontFamily': 'Helvetica, Arial, sans-serif',
|
|
53
|
+
'fontSize': '14px',
|
|
54
|
+
'display': 'flex',
|
|
55
|
+
'lineHeight': '1.3'
|
|
56
|
+
};
|
|
55
57
|
|
|
56
58
|
var LIGHTBOX_MARKUP =
|
|
57
|
-
'<div class="bjs-powered-by-lightbox"
|
|
58
|
-
'<div class="backdrop"
|
|
59
|
-
'<div class="notice"
|
|
60
|
-
'<a href="https://bpmn.io" target="_blank" rel="noopener"
|
|
59
|
+
'<div class="bjs-powered-by-lightbox">' +
|
|
60
|
+
'<div class="backdrop"></div>' +
|
|
61
|
+
'<div class="notice">' +
|
|
62
|
+
'<a href="https://bpmn.io" target="_blank" rel="noopener" class="link">' +
|
|
61
63
|
BPMNIO_IMG +
|
|
62
64
|
'</a>' +
|
|
63
65
|
'<span>' +
|
|
@@ -70,10 +72,23 @@ var LIGHTBOX_MARKUP =
|
|
|
70
72
|
|
|
71
73
|
var lightbox;
|
|
72
74
|
|
|
75
|
+
function createLightbox() {
|
|
76
|
+
lightbox = domify(LIGHTBOX_MARKUP);
|
|
77
|
+
|
|
78
|
+
assignStyle(lightbox, LIGHTBOX_STYLES);
|
|
79
|
+
assignStyle(domQuery('svg', lightbox), LOGO_STYLES);
|
|
80
|
+
assignStyle(domQuery('.backdrop', lightbox), BACKDROP_STYLES);
|
|
81
|
+
assignStyle(domQuery('.notice', lightbox), NOTICE_STYLES);
|
|
82
|
+
assignStyle(domQuery('.link', lightbox), LINK_STYLES, {
|
|
83
|
+
'margin': '15px 20px 15px 10px',
|
|
84
|
+
'alignSelf': 'center'
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
73
88
|
export function open() {
|
|
74
89
|
|
|
75
90
|
if (!lightbox) {
|
|
76
|
-
|
|
91
|
+
createLightbox();
|
|
77
92
|
|
|
78
93
|
domDelegate.bind(lightbox, '.backdrop', 'click', function(event) {
|
|
79
94
|
document.body.removeChild(lightbox);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpmn-js",
|
|
3
|
-
"version": "9.0
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"description": "A bpmn 2.0 toolkit and web modeler",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -100,12 +100,12 @@
|
|
|
100
100
|
"dependencies": {
|
|
101
101
|
"bpmn-moddle": "^7.1.2",
|
|
102
102
|
"css.escape": "^1.5.1",
|
|
103
|
-
"diagram-js": "^8.
|
|
104
|
-
"diagram-js-direct-editing": "^1.
|
|
103
|
+
"diagram-js": "^8.5.0",
|
|
104
|
+
"diagram-js-direct-editing": "^1.7.0",
|
|
105
105
|
"ids": "^1.0.0",
|
|
106
|
-
"inherits": "
|
|
106
|
+
"inherits-browser": "0.0.1",
|
|
107
107
|
"min-dash": "^3.5.2",
|
|
108
|
-
"min-dom": "^3.
|
|
108
|
+
"min-dom": "^3.2.0",
|
|
109
109
|
"object-refs": "^0.3.0",
|
|
110
110
|
"tiny-svg": "^2.2.2"
|
|
111
111
|
}
|