From 48e197dcd210424e73122d956a5ae7fcd0a1fd33 Mon Sep 17 00:00:00 2001 From: Guilhem Date: Wed, 4 Mar 2026 15:48:06 +0000 Subject: [PATCH] style: render group bounding box behind nodes Co-Authored-By: Claude Opus 4.6 --- .../lib/components/graph/GroupOverlay.svelte | 110 +++++++++--------- 1 file changed, 56 insertions(+), 54 deletions(-) diff --git a/frontend/src/lib/components/graph/GroupOverlay.svelte b/frontend/src/lib/components/graph/GroupOverlay.svelte index 6bfcf50275..5b3c0a94ba 100644 --- a/frontend/src/lib/components/graph/GroupOverlay.svelte +++ b/frontend/src/lib/components/graph/GroupOverlay.svelte @@ -163,8 +163,8 @@ {#if !groupEditorContext?.groupEditor.isRuntimeCollapsed(group.id)} {@const bounds = computeGroupBounds(group)} {#if bounds} - - + +
+
+ + + + +
{ + actionBarHovered = true + visibleGroup = group + if (hideTimeout) { + clearTimeout(hideTimeout) + hideTimeout = undefined + } + }} + onpointerleave={() => { + actionBarHovered = false + }} > - - -
{ - actionBarHovered = true - visibleGroup = group - if (hideTimeout) { - clearTimeout(hideTimeout) - hideTimeout = undefined - } - }} - onpointerleave={() => { - actionBarHovered = false - }} - > - toggleCollapse(group.id)} - /> - toggleCollapse(group.id)} + /> + toggleCollapse(group.id)} + onSummaryUpdate={(text) => groupEditorContext?.groupEditor.updateSummary(group.id, text)} + onNoteUpdate={(text) => groupEditorContext?.groupEditor.updateNote(group.id, text)} + onHeightChange={(h) => groupEditorContext?.groupEditor.setNoteHeight(group.id, h)} + /> + {#if editMode && visibleGroup?.id === group.id} + toggleCollapse(group.id)} - onSummaryUpdate={(text) => groupEditorContext?.groupEditor.updateSummary(group.id, text)} - onNoteUpdate={(text) => groupEditorContext?.groupEditor.updateNote(group.id, text)} - onHeightChange={(h) => groupEditorContext?.groupEditor.setNoteHeight(group.id, h)} + color={group.color} + collapsedByDefault={group.collapsed_by_default ?? false} + bind:menuOpen + onAddNote={() => groupEditorContext?.groupEditor.addNote(group.id)} + onRemoveNote={() => groupEditorContext?.groupEditor.removeNote(group.id)} + onUpdateColor={(c) => groupEditorContext?.groupEditor.updateColor(group.id, c)} + onUpdateCollapsedDefault={(v) => groupEditorContext?.groupEditor.updateCollapsedDefault(group.id, v)} + onDeleteGroup={() => { + groupEditorContext?.groupEditor.deleteGroup(group.id) + visibleGroup = undefined + }} /> - {#if editMode && visibleGroup?.id === group.id} - groupEditorContext?.groupEditor.addNote(group.id)} - onRemoveNote={() => groupEditorContext?.groupEditor.removeNote(group.id)} - onUpdateColor={(c) => groupEditorContext?.groupEditor.updateColor(group.id, c)} - onUpdateCollapsedDefault={(v) => groupEditorContext?.groupEditor.updateCollapsedDefault(group.id, v)} - onDeleteGroup={() => { - groupEditorContext?.groupEditor.deleteGroup(group.id) - visibleGroup = undefined - }} - /> - {/if} -
+ {/if}
{/if} @@ -237,7 +239,7 @@ {#each expandedSubflowNodes as node (node.id)} {@const bounds = computeSubflowBounds(node)} {#if bounds} - +