bpmn-js 9.0.0-subprocesses.3 → 9.0.2
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 +50 -0
- package/dist/assets/bpmn-js.css +44 -7
- package/dist/assets/diagram-js.css +1 -1
- package/dist/bpmn-modeler.development.js +2424 -1130
- package/dist/bpmn-modeler.production.min.js +8 -8
- package/dist/bpmn-navigated-viewer.development.js +990 -317
- package/dist/bpmn-navigated-viewer.production.min.js +6 -6
- package/dist/bpmn-viewer.development.js +989 -316
- package/dist/bpmn-viewer.production.min.js +6 -6
- package/lib/BaseViewer.js +1 -1
- package/lib/draw/BpmnRenderer.js +8 -7
- package/lib/features/auto-resize/BpmnAutoResizeProvider.js +6 -0
- package/lib/features/copy-paste/BpmnCopyPaste.js +1 -0
- package/lib/features/di-ordering/BpmnDiOrdering.js +15 -11
- package/lib/features/drilldown/DrilldownBreadcrumbs.js +122 -0
- package/lib/features/drilldown/DrilldownCentering.js +87 -10
- package/lib/features/drilldown/DrilldownOverlayBehavior.js +181 -0
- package/lib/features/drilldown/SubprocessCompatibility.js +15 -7
- package/lib/features/drilldown/index.js +7 -4
- package/lib/features/label-editing/LabelEditingProvider.js +1 -1
- package/lib/features/label-editing/cmd/UpdateLabelHandler.js +29 -2
- package/lib/features/modeling/BpmnFactory.js +5 -1
- package/lib/features/modeling/BpmnUpdater.js +43 -1
- package/lib/features/modeling/ElementFactory.js +4 -0
- package/lib/features/modeling/behavior/CreateParticipantBehavior.js +59 -84
- package/lib/features/modeling/behavior/DropOnFlowBehavior.js +2 -2
- package/lib/features/modeling/behavior/GroupBehavior.js +6 -18
- package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +34 -0
- package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +557 -0
- package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +74 -0
- package/lib/features/modeling/behavior/UnclaimIdBehavior.js +3 -1
- package/lib/features/modeling/behavior/index.js +27 -18
- package/lib/features/modeling/cmd/SetColorHandler.js +23 -6
- package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +4 -2
- package/lib/features/modeling/util/ModelingUtil.js +2 -20
- package/lib/features/ordering/BpmnOrderingProvider.js +3 -3
- package/lib/features/palette/PaletteProvider.js +1 -1
- package/lib/features/popup-menu/ReplaceMenuProvider.js +1 -1
- package/lib/import/BpmnImporter.js +15 -9
- package/lib/import/Importer.js +130 -10
- package/lib/util/DrilldownUtil.js +66 -0
- package/lib/util/ModelUtil.js +19 -0
- package/package.json +2 -2
- package/lib/features/drilldown/DrilldownOverlays.js +0 -110
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { domify, classes } from 'min-dom';
|
|
2
|
-
|
|
3
|
-
import { escapeHTML } from 'diagram-js/lib/util/EscapeUtil';
|
|
4
|
-
import { getBusinessObject, is } from '../../util/ModelUtil';
|
|
5
|
-
|
|
6
|
-
var ARROW_DOWN_SVG = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M4.81801948,3.50735931 L10.4996894,9.1896894 L10.5,4 L12,4 L12,12 L4,12 L4,10.5 L9.6896894,10.4996894 L3.75735931,4.56801948 C3.46446609,4.27512627 3.46446609,3.80025253 3.75735931,3.50735931 C4.05025253,3.21446609 4.52512627,3.21446609 4.81801948,3.50735931 Z"/></svg>';
|
|
7
|
-
|
|
8
|
-
var OPEN_CLASS = 'bjs-breadcrumbs-shown';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Adds Overlays that allow switching planes on collapsed subprocesses.
|
|
12
|
-
*
|
|
13
|
-
* @param {eventBus} eventBus
|
|
14
|
-
* @param {elementRegistry} elementRegistry
|
|
15
|
-
* @param {overlays} overlays
|
|
16
|
-
* @param {canvas} canvas
|
|
17
|
-
*/
|
|
18
|
-
export default function DrilldownOverlays(eventBus, elementRegistry, overlays, canvas) {
|
|
19
|
-
var breadcrumbs = domify('<ul class="bjs-breadcrumbs"></ul>');
|
|
20
|
-
var container = canvas.getContainer();
|
|
21
|
-
var containerClasses = classes(container);
|
|
22
|
-
container.appendChild(breadcrumbs);
|
|
23
|
-
|
|
24
|
-
function updateBreadcrumbs(plane) {
|
|
25
|
-
var subProcess = elementRegistry.get(plane.name);
|
|
26
|
-
var parents = getParentChain(subProcess);
|
|
27
|
-
|
|
28
|
-
var path = parents.map(function(el) {
|
|
29
|
-
var title = escapeHTML(el.name || el.id);
|
|
30
|
-
var link = domify('<li><span class="bjs-crumb"><a title="' + title + '">' + title + '</a></span></li>');
|
|
31
|
-
|
|
32
|
-
link.addEventListener('click', function() {
|
|
33
|
-
if (canvas.getPlane(el.id)) {
|
|
34
|
-
canvas.setActivePlane(el.id);
|
|
35
|
-
} else {
|
|
36
|
-
var plane = canvas.findPlane(el.id);
|
|
37
|
-
canvas.setActivePlane(plane);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
return link;
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
breadcrumbs.innerHTML = '';
|
|
45
|
-
|
|
46
|
-
// show breadcrumbs and expose state to .djs-container
|
|
47
|
-
var visible = path.length > 1;
|
|
48
|
-
containerClasses.toggle(OPEN_CLASS, visible);
|
|
49
|
-
|
|
50
|
-
path.forEach(function(el) {
|
|
51
|
-
breadcrumbs.appendChild(el);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
eventBus.on('plane.set', function(event) {
|
|
56
|
-
var plane = event.plane;
|
|
57
|
-
|
|
58
|
-
updateBreadcrumbs(plane);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
var createOverlay = function(element) {
|
|
62
|
-
var html = domify('<button class="bjs-drilldown">' + ARROW_DOWN_SVG + '</button>');
|
|
63
|
-
|
|
64
|
-
html.addEventListener('click', function() {
|
|
65
|
-
canvas.setActivePlane(element.id);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
overlays.add(element, {
|
|
69
|
-
position: {
|
|
70
|
-
bottom: -7,
|
|
71
|
-
right: -8
|
|
72
|
-
},
|
|
73
|
-
html: html
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
var addOverlays = function(elements) {
|
|
78
|
-
elements.forEach(function(element) {
|
|
79
|
-
if (is(element, 'bpmn:SubProcess')
|
|
80
|
-
&& element.collapsed
|
|
81
|
-
&& canvas.getPlane(element.id)) {
|
|
82
|
-
createOverlay(element);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
eventBus.on('import.done', function() {
|
|
88
|
-
addOverlays(elementRegistry.filter(function(el) {
|
|
89
|
-
return is(el, 'bpmn:SubProcess');
|
|
90
|
-
}));
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
DrilldownOverlays.$inject = [ 'eventBus', 'elementRegistry', 'overlays', 'canvas' ];
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// helpers
|
|
98
|
-
var getParentChain = function(child) {
|
|
99
|
-
var bo = getBusinessObject(child);
|
|
100
|
-
|
|
101
|
-
var parents = [];
|
|
102
|
-
|
|
103
|
-
for (var element = bo; element; element = element.$parent) {
|
|
104
|
-
if (is(element, 'bpmn:SubProcess') || is(element, 'bpmn:Process')) {
|
|
105
|
-
parents.push(element);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return parents.reverse();
|
|
110
|
-
};
|