hide breadcrumbs on root

This commit is contained in:
Martin Stamm 2021-09-02 08:58:28 +02:00
parent 8d79a6d629
commit 59bdbbd6c0
No known key found for this signature in database
GPG Key ID: B3A641060A8CBCF4
2 changed files with 11 additions and 9 deletions

View File

@ -4,8 +4,6 @@ import { assign } from 'min-dash';
import { domify } from 'min-dom';
import { getBusinessObject, is } from '../../util/ModelUtil';
import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
import { selfAndAllChildren } from 'diagram-js/lib/util/Elements';
@ -13,7 +11,7 @@ import { selfAndAllChildren } from 'diagram-js/lib/util/Elements';
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>';
export default function CollapsedProcesses(injector, eventBus, elementRegistry, overlays, canvas) {
var breadcrumbs = domify('<ul class="breadcrumbs" style="position: absolute; top: 10px; left: 100px;"></ul>');
var breadcrumbs = domify('<ul class="breadcrumbs" style="display: none; position: absolute; top: 10px; left: 100px;"></ul>');
injector.invoke(CommandInterceptor, this);
@ -34,7 +32,7 @@ export default function CollapsedProcesses(injector, eventBus, elementRegistry,
const updateBreadcrumbs = function(plane) {
var parents = getParentChain(plane.rootElement);
var path = parents.map(function(el, idx, array) {
var path = parents.flatMap(function(el, idx, array) {
var separator = domify('<span>»</span>');
@ -72,14 +70,14 @@ export default function CollapsedProcesses(injector, eventBus, elementRegistry,
});
breadcrumbs.innerHTML = '';
breadcrumbs.append(...path.flat());
breadcrumbs.style.display = path.length > 1 ? '' : 'none';
breadcrumbs.append(...path);
};
var overlayMap = {};
var createOverlay = function(element) {
if (overlayMap[element.id]) {
console.log('old Overlay removed', overlayMap[element.id]);
// New overlay, remove old one
removeOverlay(element);
@ -114,7 +112,6 @@ export default function CollapsedProcesses(injector, eventBus, elementRegistry,
};
var removeOverlay = function(element) {
console.log('removeOverlay', element, overlayMap);
if (overlayMap[element.id]) {
overlays.remove(overlayMap[element.id]);
}
@ -132,7 +129,7 @@ export default function CollapsedProcesses(injector, eventBus, elementRegistry,
});
};
eventBus.on('import.done', function(context) {
eventBus.on('import.done', function() {
addOverlays(elementRegistry.getAll());
});
@ -167,8 +164,13 @@ export default function CollapsedProcesses(injector, eventBus, elementRegistry,
}
if (shape.collapsed) {
removeOverlays(selfAndAllChildren(shape));
createOverlay(shape);
var plane = elementRegistry.get(shape.id + '_layer');
addOverlays(selfAndAllChildren(plane));
} else {
addOverlays(selfAndAllChildren(shape));
removeOverlay(shape);
}
});

View File

@ -57,7 +57,7 @@ export default function ExpandBehaviour(commandStack, injector, canvas, bpmnImpo
newDiagram = createDiagram(shape);
diagrams.push(newDiagram);
console.log(shape, bo, newDiagram.plane);
var newShape = bpmnImporter.add(bo, newDiagram.plane);
var newShape = bpmnImporter.add({ element: bo, di: newDiagram.plane });
var planeElements = newDiagram.plane.get('planeElement');
oldDiagram = findRootDiagram(getDi(shape));