From 59bdbbd6c034cbee39201fdca782b621a346b0b9 Mon Sep 17 00:00:00 2001 From: Martin Stamm Date: Thu, 2 Sep 2021 08:58:28 +0200 Subject: [PATCH] hide breadcrumbs on root --- .../CollapsedSubprocessNavigation.js | 18 ++++++++++-------- .../ToggleCollapseBehaviour.js | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/features/collapsed-subprocesses-navigation/CollapsedSubprocessNavigation.js b/lib/features/collapsed-subprocesses-navigation/CollapsedSubprocessNavigation.js index 42078c90..6d2c5268 100644 --- a/lib/features/collapsed-subprocesses-navigation/CollapsedSubprocessNavigation.js +++ b/lib/features/collapsed-subprocesses-navigation/CollapsedSubprocessNavigation.js @@ -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 = ''; export default function CollapsedProcesses(injector, eventBus, elementRegistry, overlays, canvas) { - var breadcrumbs = domify(''); + var breadcrumbs = domify(''); 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('ยป'); @@ -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); } }); diff --git a/lib/features/collapsed-subprocesses/ToggleCollapseBehaviour.js b/lib/features/collapsed-subprocesses/ToggleCollapseBehaviour.js index b914d71d..44380fe8 100644 --- a/lib/features/collapsed-subprocesses/ToggleCollapseBehaviour.js +++ b/lib/features/collapsed-subprocesses/ToggleCollapseBehaviour.js @@ -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));