@principal-ai/principal-view-react 0.14.27 → 0.14.29
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/dist/components/SequenceDiagramRenderer.d.ts +2 -0
- package/dist/components/SequenceDiagramRenderer.d.ts.map +1 -1
- package/dist/components/SequenceDiagramRenderer.js +42 -8
- package/dist/components/SequenceDiagramRenderer.js.map +1 -1
- package/dist/components/WorkflowSequenceDiagram.d.ts +3 -1
- package/dist/components/WorkflowSequenceDiagram.d.ts.map +1 -1
- package/dist/components/WorkflowSequenceDiagram.js +14 -3
- package/dist/components/WorkflowSequenceDiagram.js.map +1 -1
- package/package.json +1 -1
- package/src/components/SequenceDiagramRenderer.tsx +52 -7
- package/src/components/WorkflowSequenceDiagram.tsx +21 -1
|
@@ -35,6 +35,8 @@ export interface SequenceDiagramRendererProps {
|
|
|
35
35
|
showControls?: boolean;
|
|
36
36
|
/** Whether to show background grid */
|
|
37
37
|
showBackground?: boolean;
|
|
38
|
+
/** Whether swimlane headers should stick to the top when scrolling vertically (default: true) */
|
|
39
|
+
stickyHeaders?: boolean;
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
42
|
* Sequence Diagram Renderer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceDiagramRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SequenceDiagramRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAaL,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"SequenceDiagramRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SequenceDiagramRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAaL,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAC;AAgZpC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,uCAAuC;IACvC,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,8BAA8B;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB,qBAAqB;IACrB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAEhE,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,iGAAiG;IACjG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAwLD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,2CAiB1E"}
|
|
@@ -187,9 +187,12 @@ function SwimlaneLayer({ swimlanes, laneWidth, headerHeight, totalHeight, }) {
|
|
|
187
187
|
/**
|
|
188
188
|
* Swimlane headers layer that renders on top of nodes for clickability
|
|
189
189
|
*/
|
|
190
|
-
function SwimlaneHeadersLayer({ swimlanes, laneWidth, headerHeight, onToggleCollapse, }) {
|
|
190
|
+
function SwimlaneHeadersLayer({ swimlanes, laneWidth, headerHeight, onToggleCollapse, stickyHeaders = true, }) {
|
|
191
191
|
const { x, y, zoom } = useViewport();
|
|
192
192
|
const { theme } = useTheme();
|
|
193
|
+
// When sticky headers are enabled, compensate for vertical viewport panning
|
|
194
|
+
// to keep headers at the top of the screen
|
|
195
|
+
const headerTop = stickyHeaders ? -y / zoom : 0;
|
|
193
196
|
return (_jsx("div", { style: {
|
|
194
197
|
position: 'absolute',
|
|
195
198
|
top: 0,
|
|
@@ -203,7 +206,7 @@ function SwimlaneHeadersLayer({ swimlanes, laneWidth, headerHeight, onToggleColl
|
|
|
203
206
|
return (_jsxs("div", { style: {
|
|
204
207
|
position: 'absolute',
|
|
205
208
|
left: lane.x - laneWidth / 2,
|
|
206
|
-
top:
|
|
209
|
+
top: headerTop,
|
|
207
210
|
width: laneWidth,
|
|
208
211
|
height: headerHeight,
|
|
209
212
|
display: 'flex',
|
|
@@ -225,7 +228,7 @@ function SwimlaneHeadersLayer({ swimlanes, laneWidth, headerHeight, onToggleColl
|
|
|
225
228
|
* Inner component that uses React Flow hooks
|
|
226
229
|
*/
|
|
227
230
|
function SequenceDiagramInner({ events, edges: sequenceEdges, layoutOptions = {}, nodeTypes: customNodeTypes, edgeTypes: customEdgeTypes, onToggleCollapse, onNodeClick, showControls = true, showBackground = false, // Default to false since swimlanes provide visual structure
|
|
228
|
-
}) {
|
|
231
|
+
stickyHeaders = true, }) {
|
|
229
232
|
const { theme } = useTheme();
|
|
230
233
|
// Extract layout params
|
|
231
234
|
const { laneWidth = 200, headerHeight = 60 } = layoutOptions;
|
|
@@ -238,11 +241,42 @@ function SequenceDiagramInner({ events, edges: sequenceEdges, layoutOptions = {}
|
|
|
238
241
|
const handleNodeClick = useCallback((_event, node) => {
|
|
239
242
|
onNodeClick?.(node.id, _event);
|
|
240
243
|
}, [onNodeClick]);
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
244
|
+
// When sticky headers are enabled, limit upward panning to prevent headers from disconnecting
|
|
245
|
+
// from swimlane backgrounds. Allow downward panning to see all content.
|
|
246
|
+
const translateExtent = useMemo(() => {
|
|
247
|
+
if (!stickyHeaders) {
|
|
248
|
+
// No restrictions when sticky headers are disabled
|
|
249
|
+
return undefined;
|
|
250
|
+
}
|
|
251
|
+
// Prevent panning up past the header area (y >= 0)
|
|
252
|
+
// Allow panning down to see all content (y can be positive up to totalHeight)
|
|
253
|
+
// Allow full horizontal panning
|
|
254
|
+
return [
|
|
255
|
+
[-Infinity, 0],
|
|
256
|
+
[Infinity, totalHeight + 1000],
|
|
257
|
+
];
|
|
258
|
+
}, [stickyHeaders, totalHeight]);
|
|
259
|
+
// When sticky headers are enabled, use defaultViewport to ensure we start at y=0
|
|
260
|
+
// This prevents the snap-to-position issue on initial load
|
|
261
|
+
const viewportConfig = useMemo(() => {
|
|
262
|
+
if (stickyHeaders) {
|
|
263
|
+
// Start with top-aligned view (y=0) and reasonable zoom
|
|
264
|
+
return {
|
|
265
|
+
fitView: false,
|
|
266
|
+
defaultViewport: { x: 0, y: 0, zoom: 0.8 },
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
// Use fitView for non-sticky mode
|
|
270
|
+
return {
|
|
271
|
+
fitView: true,
|
|
272
|
+
fitViewOptions: {
|
|
273
|
+
padding: 0.1,
|
|
274
|
+
minZoom: 0.5,
|
|
275
|
+
maxZoom: 1.5,
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
}, [stickyHeaders]);
|
|
279
|
+
return (_jsxs(ReactFlow, { nodes: nodes, edges: edges, nodeTypes: nodeTypes, edgeTypes: edgeTypes, onNodeClick: handleNodeClick, ...viewportConfig, minZoom: 0.1, maxZoom: 2, nodesDraggable: false, nodesConnectable: false, elementsSelectable: true, panOnScroll: true, zoomOnScroll: true, translateExtent: translateExtent, style: { background: theme.colors.background }, children: [_jsx("svg", { style: { position: 'absolute', width: 0, height: 0 }, children: _jsxs("defs", { children: [_jsx("marker", { id: "sequence-arrow", viewBox: "0 0 10 10", refX: "8", refY: "5", markerWidth: "6", markerHeight: "6", orient: "auto-start-reverse", children: _jsx("path", { d: "M 0 0 L 10 5 L 0 10 z", fill: theme.colors.primary }) }), _jsx("marker", { id: "sequence-arrow-move", viewBox: "0 0 10 10", refX: "8", refY: "5", markerWidth: "7", markerHeight: "7", orient: "auto-start-reverse", children: _jsx("path", { d: "M 0 0 L 10 5 L 0 10 z", fill: theme.colors.accent || '#f48771' }) })] }) }), showBackground && (_jsx(Background, { variant: BackgroundVariant.Dots, gap: 16, size: 1 })), showControls && _jsx(Controls, {}), _jsx(SwimlaneLayer, { swimlanes: swimlanes, laneWidth: laneWidth, headerHeight: headerHeight, totalHeight: totalHeight }), _jsx(SwimlaneHeadersLayer, { swimlanes: swimlanes, laneWidth: laneWidth, headerHeight: headerHeight, totalHeight: totalHeight, onToggleCollapse: onToggleCollapse, stickyHeaders: stickyHeaders }), swimlanes.some((s) => s.children.length > 0) && (_jsx(Panel, { position: "top-right", children: _jsx("div", { style: {
|
|
246
280
|
background: theme.colors.background,
|
|
247
281
|
border: `1px solid ${theme.colors.border}`,
|
|
248
282
|
borderRadius: 4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceDiagramRenderer.js","sourceRoot":"","sources":["../../src/components/SequenceDiagramRenderer.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAc,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,aAAa,GAKd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,2FAA2F;AAC3F,OAAO,EACL,iBAAiB,GAKlB,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,SAAS,kBAAkB,CAAC,EAAE,IAAI,EAAa;IAC7C,OAAO,CACL,eACE,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,CAAC;SACX,EACD,KAAK,EAAE,IAAI,CAAC,QAAkB,aAE9B,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,QAAQ,CAAC,GAAG,EACtB,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAC/B,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,QAAQ,CAAC,MAAM,EACzB,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAC/B,IACE,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,EACzB,EAAE,EACF,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,KAAK,EACL,IAAI,GACM;IACV,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,2DAA2D;IAC3D,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;IAEvC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC;QAC/C,OAAO;QACP,OAAO;QACP,cAAc;QACd,OAAO;QACP,OAAO;QACP,cAAc;QACd,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;KACnC,CAAC,CAAC;IAEH,OAAO,CACL,8BACE,KAAC,QAAQ,IACP,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE;oBACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;oBAC5B,WAAW,EAAE,CAAC;iBACf,EACD,SAAS,EAAC,sBAAsB,GAChC,EACD,KAAK,IAAI,CACR,KAAC,iBAAiB,cAChB,cACE,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU;wBACpB,SAAS,EAAE,mCAAmC,MAAM,MAAM,MAAM,KAAK;wBACrE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;wBACnC,OAAO,EAAE,SAAS;wBAClB,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC5B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;wBACpC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;wBAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;wBACxB,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC1C,aAAa,EAAE,KAAK;wBACpB,UAAU,EAAE,QAAQ;qBACrB,EACD,SAAS,EAAC,cAAc,YAEvB,KAAK,GACF,GACY,CACrB,IACA,CACJ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CAAC,EACpC,EAAE,EACF,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,GACM;IACV,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,2DAA2D;IAC3D,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,kBAAkB,IAAI,CAAC,CAAW,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,kBAAkB,IAAI,CAAC,CAAW,CAAC;IAC1D,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,CAAC,CAAW,CAAC;IAC7C,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,CAAC,CAAW,CAAC;IAE7C,oEAAoE;IACpE,MAAM,UAAU,GAAG,OAAO,KAAK,OAAO,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAE/C,+EAA+E;IAC/E,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAE5F,sCAAsC;IACtC,IAAI,UAAU,EAAE;QACd,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAW,CAAC;QAE1D,4DAA4D;QAC5D,IAAI,SAAiB,CAAC;QACtB,IAAI,IAAY,CAAC;QAEjB,IAAI,WAAW,EAAE;YACf,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,WAAW,CAAC,CAAC,8BAA8B;SACnD;aAAM;YACL,yCAAyC;YACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;YAC7D,uDAAuD;YACvD,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;YACvE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SAC3C;QAED,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;QAEpC,OAAO,CACL,8BAEE,wBACE,eACE,CAAC,EAAE,IAAI,EACP,CAAC,EAAE,IAAI,EACP,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,CAAC,EACd,EAAE,EAAE,CAAC,GACL,GACE,EACL,KAAK,IAAI,CACR,KAAC,iBAAiB,cAChB,cACE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,SAAS,EAAE,gCAAgC,OAAO,GAAG,EAAE,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,KAAK;4BACtF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;4BACnC,OAAO,EAAE,SAAS;4BAClB,YAAY,EAAE,CAAC;4BACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;4BAC5B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;4BACpC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;4BAC5B,KAAK,EAAE,WAAW;4BAClB,MAAM,EAAE,aAAa,WAAW,EAAE;4BAClC,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,QAAQ;yBACrB,EACD,SAAS,EAAC,cAAc,YAEvB,KAAK,GACF,GACY,CACrB,IACA,CACJ,CAAC;KACH;IAED,qDAAqD;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAErF,8EAA8E;IAC9E,MAAM,MAAM,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,MAAM,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC;IAEtB,OAAO,CACL,8BACE,KAAC,QAAQ,IACP,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,KAAK,EAAE;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,WAAW;iBACzB,EACD,SAAS,EAAE,SAAS,GACpB,EACD,KAAK,IAAI,CACR,KAAC,iBAAiB,cAChB,cACE,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU;wBACpB,SAAS,EAAE,mCAAmC,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK;wBAC1E,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;wBACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;wBAC7C,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC5B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;wBAC3E,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;wBAC5B,KAAK,EAAE,WAAW;wBAClB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE;wBAC7E,aAAa,EAAE,KAAK;wBACpB,UAAU,EAAE,QAAQ;qBACrB,EACD,SAAS,EAAC,cAAc,YAEvB,KAAK,GACF,GACY,CACrB,IACA,CACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAc;IAC1C,cAAc,EAAE,kBAAkB;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,wBAAwB,GAAc;IAC1C,aAAa,EAAE,iBAAiB;IAChC,wBAAwB,EAAE,4BAA4B;CACvD,CAAC;AAaF;;GAEG;AACH,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,GACQ;IACnB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,2EAA2E;IAC3E,MAAM,cAAc,GAAG,WAAW,GAAG,EAAE,CAAC;IAExC,OAAO,CACL,eACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG;YACrD,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE,CAAC,CAAC;SACX,aAGA,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/B,OAAO,CACL,cAEE,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU;wBACpB,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;wBAC5B,GAAG,EAAE,CAAC;wBACN,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,cAAc;wBACtB,eAAe,EAAE,MAAM;4BACrB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;4BACpB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU;wBAC3B,WAAW,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;qBAChD,IAXI,MAAM,IAAI,CAAC,SAAS,EAAE,CAY3B,CACH,CAAC;YACJ,CAAC,CAAC,EAGD,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,cAEE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,IAAI,CAAC,CAAC;oBACZ,GAAG,EAAE,YAAY;oBACjB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,cAAc,GAAG,YAAY;oBACrC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;oBACpC,SAAS,EAAE,kBAAkB;iBAC9B,IATI,YAAY,IAAI,CAAC,SAAS,EAAE,CAUjC,CACH,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,YAAY,EACZ,gBAAgB,GACG;IACnB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,OAAO,CACL,cACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG;YACrD,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE,EAAE;SACX,YAGA,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7C,OAAO,CACL,eAEE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;oBAC5B,GAAG,EAAE,CAAC;oBACN,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;oBACnC,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;oBAChD,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ;oBACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;oBAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBACxB,aAAa,EAAE,MAAM;oBACrB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAC3C,UAAU,EAAE,MAAM;iBACnB,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAE/D,WAAW,IAAI,CACd,eAAM,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAC1C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACxB,CACR,EACD,yBAAO,IAAI,CAAC,KAAK,GAAQ,KA3BpB,UAAU,IAAI,CAAC,SAAS,EAAE,CA4B3B,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AA2CD;;GAEG;AACH,SAAS,oBAAoB,CAAC,EAC5B,MAAM,EACN,KAAK,EAAE,aAAa,EACpB,aAAa,GAAG,EAAE,EAClB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAChB,WAAW,EACX,YAAY,GAAG,IAAI,EACnB,cAAc,GAAG,KAAK,EAAE,4DAA4D;EACvD;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,wBAAwB;IACxB,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,aAAa,CAAC;IAE7D,sDAAsD;IACtD,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,GAAG,eAAe,EAAE,CAAC,EAC3D,CAAC,eAAe,CAAC,CAClB,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,GAAG,eAAe,EAAE,CAAC,EAC3D,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,iBAAiB;IACjB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAChE,MAAM,EACN,aAAa,EACb,aAAa,CACd,CAAC;IAEF,oBAAoB;IACpB,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAwB,EAAE,IAAoB,EAAE,EAAE;QACjD,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO,CACL,MAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,eAAe,EAC5B,OAAO,QACP,cAAc,EAAE;YACd,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb,EACD,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,KAAK,EACrB,gBAAgB,EAAE,KAAK,EACvB,kBAAkB,EAAE,IAAI,EACxB,WAAW,QACX,YAAY,QACZ,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,aAG9C,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YACvD,2BAEE,iBACE,EAAE,EAAC,gBAAgB,EACnB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,GAAG,EACR,WAAW,EAAC,GAAG,EACf,YAAY,EAAC,GAAG,EAChB,MAAM,EAAC,oBAAoB,YAE3B,eACE,CAAC,EAAC,uBAAuB,EACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,GAC1B,GACK,EAET,iBACE,EAAE,EAAC,qBAAqB,EACxB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,GAAG,EACR,WAAW,EAAC,GAAG,EACf,YAAY,EAAC,GAAG,EAChB,MAAM,EAAC,oBAAoB,YAE3B,eACE,CAAC,EAAC,uBAAuB,EACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,GACtC,GACK,IACJ,GACH,EAEL,cAAc,IAAI,CACjB,KAAC,UAAU,IAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAI,CAClE,EACA,YAAY,IAAI,KAAC,QAAQ,KAAG,EAG7B,KAAC,aAAa,IACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,GACxB,EAGF,KAAC,oBAAoB,IACnB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,GAClC,EAGD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAC/C,KAAC,KAAK,IAAC,QAAQ,EAAC,WAAW,YACzB,cACE,KAAK,EAAE;wBACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;wBACnC,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC1C,YAAY,EAAE,CAAC;wBACf,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC5B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;wBAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;qBAClC,sDAGG,GACA,CACT,IACS,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;IAE1D,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,UAAU;SACrB,YAED,KAAC,iBAAiB,cAChB,KAAC,oBAAoB,OAAK,KAAK,GAAI,GACjB,GAChB,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"SequenceDiagramRenderer.js","sourceRoot":"","sources":["../../src/components/SequenceDiagramRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,8 @@ export interface WorkflowSequenceDiagramProps {
|
|
|
27
27
|
showBackground?: boolean;
|
|
28
28
|
/** Optional class name */
|
|
29
29
|
className?: string;
|
|
30
|
+
/** Callback when an event node is clicked - receives the event index (0-based) */
|
|
31
|
+
onEventIndexChange?: (eventIndex: number) => void;
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* WorkflowSequenceDiagram Component
|
|
@@ -48,5 +50,5 @@ export interface WorkflowSequenceDiagramProps {
|
|
|
48
50
|
* />
|
|
49
51
|
* ```
|
|
50
52
|
*/
|
|
51
|
-
export declare function WorkflowSequenceDiagram({ scenario, canvas, height, width, layoutOptions, showControls, showBackground, className, }: WorkflowSequenceDiagramProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export declare function WorkflowSequenceDiagram({ scenario, canvas, height, width, layoutOptions, showControls, showBackground, className, onEventIndexChange, }: WorkflowSequenceDiagramProps): import("react/jsx-runtime").JSX.Element;
|
|
52
54
|
//# sourceMappingURL=WorkflowSequenceDiagram.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowSequenceDiagram.d.ts","sourceRoot":"","sources":["../../src/components/WorkflowSequenceDiagram.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGlG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qCAAqC;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAExC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowSequenceDiagram.d.ts","sourceRoot":"","sources":["../../src/components/WorkflowSequenceDiagram.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGlG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qCAAqC;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAExC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAgHD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,MAAM,EACN,MAAY,EACZ,KAAc,EACd,aAAa,EACb,YAAmB,EACnB,cAAsB,EACtB,SAAS,EACT,kBAAkB,GACnB,EAAE,4BAA4B,2CAuD9B"}
|
|
@@ -6,7 +6,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
6
6
|
* workflow scenarios to sequence diagram format, following the graph-to-sequence
|
|
7
7
|
* model where participants are scopes and events are move/transform operations.
|
|
8
8
|
*/
|
|
9
|
-
import { useMemo } from 'react';
|
|
9
|
+
import { useMemo, useCallback } from 'react';
|
|
10
10
|
import { SequenceDiagramRenderer } from './SequenceDiagramRenderer';
|
|
11
11
|
/**
|
|
12
12
|
* Type guard to check if a node is an OTEL event node
|
|
@@ -107,9 +107,20 @@ function convertWorkflowToSequence(scenario, canvas) {
|
|
|
107
107
|
* />
|
|
108
108
|
* ```
|
|
109
109
|
*/
|
|
110
|
-
export function WorkflowSequenceDiagram({ scenario, canvas, height = 600, width = '100%', layoutOptions, showControls = true, showBackground = false, className, }) {
|
|
110
|
+
export function WorkflowSequenceDiagram({ scenario, canvas, height = 600, width = '100%', layoutOptions, showControls = true, showBackground = false, className, onEventIndexChange, }) {
|
|
111
111
|
// Convert workflow to sequence format
|
|
112
112
|
const { events, edges } = useMemo(() => convertWorkflowToSequence(scenario, canvas), [scenario, canvas]);
|
|
113
|
+
// Handle node clicks - map sequence node ID back to event index
|
|
114
|
+
const handleNodeClick = useCallback((nodeId) => {
|
|
115
|
+
if (!onEventIndexChange)
|
|
116
|
+
return;
|
|
117
|
+
// Node IDs are in format "event-{index}"
|
|
118
|
+
const match = nodeId.match(/^event-(\d+)$/);
|
|
119
|
+
if (match) {
|
|
120
|
+
const eventIndex = parseInt(match[1], 10);
|
|
121
|
+
onEventIndexChange(eventIndex);
|
|
122
|
+
}
|
|
123
|
+
}, [onEventIndexChange]);
|
|
113
124
|
// If no events, show empty state
|
|
114
125
|
if (events.length === 0) {
|
|
115
126
|
return (_jsx("div", { className: className, style: {
|
|
@@ -122,6 +133,6 @@ export function WorkflowSequenceDiagram({ scenario, canvas, height = 600, width
|
|
|
122
133
|
}, children: "No events in workflow" }));
|
|
123
134
|
}
|
|
124
135
|
// Render sequence diagram
|
|
125
|
-
return (_jsx(SequenceDiagramRenderer, { events: events, edges: edges, height: height, width: width, layoutOptions: layoutOptions, showControls: showControls, showBackground: showBackground, className: className }));
|
|
136
|
+
return (_jsx(SequenceDiagramRenderer, { events: events, edges: edges, height: height, width: width, layoutOptions: layoutOptions, showControls: showControls, showBackground: showBackground, className: className, onNodeClick: onEventIndexChange ? handleNodeClick : undefined }));
|
|
126
137
|
}
|
|
127
138
|
//# sourceMappingURL=WorkflowSequenceDiagram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowSequenceDiagram.js","sourceRoot":"","sources":["../../src/components/WorkflowSequenceDiagram.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowSequenceDiagram.js","sourceRoot":"","sources":["../../src/components/WorkflowSequenceDiagram.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -293,6 +293,7 @@ interface SwimlaneLayerProps {
|
|
|
293
293
|
headerHeight: number;
|
|
294
294
|
totalHeight: number;
|
|
295
295
|
onToggleCollapse?: (namespace: string) => void;
|
|
296
|
+
stickyHeaders?: boolean;
|
|
296
297
|
}
|
|
297
298
|
|
|
298
299
|
/**
|
|
@@ -370,10 +371,15 @@ function SwimlaneHeadersLayer({
|
|
|
370
371
|
laneWidth,
|
|
371
372
|
headerHeight,
|
|
372
373
|
onToggleCollapse,
|
|
374
|
+
stickyHeaders = true,
|
|
373
375
|
}: SwimlaneLayerProps) {
|
|
374
376
|
const { x, y, zoom } = useViewport();
|
|
375
377
|
const { theme } = useTheme();
|
|
376
378
|
|
|
379
|
+
// When sticky headers are enabled, compensate for vertical viewport panning
|
|
380
|
+
// to keep headers at the top of the screen
|
|
381
|
+
const headerTop = stickyHeaders ? -y / zoom : 0;
|
|
382
|
+
|
|
377
383
|
return (
|
|
378
384
|
<div
|
|
379
385
|
style={{
|
|
@@ -395,7 +401,7 @@ function SwimlaneHeadersLayer({
|
|
|
395
401
|
style={{
|
|
396
402
|
position: 'absolute',
|
|
397
403
|
left: lane.x - laneWidth / 2,
|
|
398
|
-
top:
|
|
404
|
+
top: headerTop,
|
|
399
405
|
width: laneWidth,
|
|
400
406
|
height: headerHeight,
|
|
401
407
|
display: 'flex',
|
|
@@ -465,6 +471,9 @@ export interface SequenceDiagramRendererProps {
|
|
|
465
471
|
|
|
466
472
|
/** Whether to show background grid */
|
|
467
473
|
showBackground?: boolean;
|
|
474
|
+
|
|
475
|
+
/** Whether swimlane headers should stick to the top when scrolling vertically (default: true) */
|
|
476
|
+
stickyHeaders?: boolean;
|
|
468
477
|
}
|
|
469
478
|
|
|
470
479
|
/**
|
|
@@ -480,6 +489,7 @@ function SequenceDiagramInner({
|
|
|
480
489
|
onNodeClick,
|
|
481
490
|
showControls = true,
|
|
482
491
|
showBackground = false, // Default to false since swimlanes provide visual structure
|
|
492
|
+
stickyHeaders = true,
|
|
483
493
|
}: SequenceDiagramRendererProps) {
|
|
484
494
|
const { theme } = useTheme();
|
|
485
495
|
|
|
@@ -511,6 +521,44 @@ function SequenceDiagramInner({
|
|
|
511
521
|
[onNodeClick]
|
|
512
522
|
);
|
|
513
523
|
|
|
524
|
+
// When sticky headers are enabled, limit upward panning to prevent headers from disconnecting
|
|
525
|
+
// from swimlane backgrounds. Allow downward panning to see all content.
|
|
526
|
+
const translateExtent = useMemo(() => {
|
|
527
|
+
if (!stickyHeaders) {
|
|
528
|
+
// No restrictions when sticky headers are disabled
|
|
529
|
+
return undefined;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
// Prevent panning up past the header area (y >= 0)
|
|
533
|
+
// Allow panning down to see all content (y can be positive up to totalHeight)
|
|
534
|
+
// Allow full horizontal panning
|
|
535
|
+
return [
|
|
536
|
+
[-Infinity, 0],
|
|
537
|
+
[Infinity, totalHeight + 1000],
|
|
538
|
+
] as [[number, number], [number, number]];
|
|
539
|
+
}, [stickyHeaders, totalHeight]);
|
|
540
|
+
|
|
541
|
+
// When sticky headers are enabled, use defaultViewport to ensure we start at y=0
|
|
542
|
+
// This prevents the snap-to-position issue on initial load
|
|
543
|
+
const viewportConfig = useMemo(() => {
|
|
544
|
+
if (stickyHeaders) {
|
|
545
|
+
// Start with top-aligned view (y=0) and reasonable zoom
|
|
546
|
+
return {
|
|
547
|
+
fitView: false,
|
|
548
|
+
defaultViewport: { x: 0, y: 0, zoom: 0.8 },
|
|
549
|
+
};
|
|
550
|
+
}
|
|
551
|
+
// Use fitView for non-sticky mode
|
|
552
|
+
return {
|
|
553
|
+
fitView: true,
|
|
554
|
+
fitViewOptions: {
|
|
555
|
+
padding: 0.1,
|
|
556
|
+
minZoom: 0.5,
|
|
557
|
+
maxZoom: 1.5,
|
|
558
|
+
},
|
|
559
|
+
};
|
|
560
|
+
}, [stickyHeaders]);
|
|
561
|
+
|
|
514
562
|
return (
|
|
515
563
|
<ReactFlow
|
|
516
564
|
nodes={nodes}
|
|
@@ -518,12 +566,7 @@ function SequenceDiagramInner({
|
|
|
518
566
|
nodeTypes={nodeTypes}
|
|
519
567
|
edgeTypes={edgeTypes}
|
|
520
568
|
onNodeClick={handleNodeClick}
|
|
521
|
-
|
|
522
|
-
fitViewOptions={{
|
|
523
|
-
padding: 0.1,
|
|
524
|
-
minZoom: 0.5,
|
|
525
|
-
maxZoom: 1.5,
|
|
526
|
-
}}
|
|
569
|
+
{...viewportConfig}
|
|
527
570
|
minZoom={0.1}
|
|
528
571
|
maxZoom={2}
|
|
529
572
|
nodesDraggable={false}
|
|
@@ -531,6 +574,7 @@ function SequenceDiagramInner({
|
|
|
531
574
|
elementsSelectable={true}
|
|
532
575
|
panOnScroll
|
|
533
576
|
zoomOnScroll
|
|
577
|
+
translateExtent={translateExtent}
|
|
534
578
|
style={{ background: theme.colors.background }}
|
|
535
579
|
>
|
|
536
580
|
{/* SVG defs for arrow markers */}
|
|
@@ -589,6 +633,7 @@ function SequenceDiagramInner({
|
|
|
589
633
|
headerHeight={headerHeight}
|
|
590
634
|
totalHeight={totalHeight}
|
|
591
635
|
onToggleCollapse={onToggleCollapse}
|
|
636
|
+
stickyHeaders={stickyHeaders}
|
|
592
637
|
/>
|
|
593
638
|
|
|
594
639
|
{/* Collapse toggle panel (for namespaces with children) */}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* model where participants are scopes and events are move/transform operations.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { useMemo } from 'react';
|
|
9
|
+
import { useMemo, useCallback } from 'react';
|
|
10
10
|
import type { WorkflowScenario, Canvas, ExtendedCanvas } from '@principal-ai/principal-view-core';
|
|
11
11
|
import { SequenceDiagramRenderer } from './SequenceDiagramRenderer';
|
|
12
12
|
import type { SequenceEvent, SequenceEdge } from '../hooks/useSequenceLayout';
|
|
@@ -39,6 +39,9 @@ export interface WorkflowSequenceDiagramProps {
|
|
|
39
39
|
|
|
40
40
|
/** Optional class name */
|
|
41
41
|
className?: string;
|
|
42
|
+
|
|
43
|
+
/** Callback when an event node is clicked - receives the event index (0-based) */
|
|
44
|
+
onEventIndexChange?: (eventIndex: number) => void;
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
/**
|
|
@@ -180,6 +183,7 @@ export function WorkflowSequenceDiagram({
|
|
|
180
183
|
showControls = true,
|
|
181
184
|
showBackground = false,
|
|
182
185
|
className,
|
|
186
|
+
onEventIndexChange,
|
|
183
187
|
}: WorkflowSequenceDiagramProps) {
|
|
184
188
|
// Convert workflow to sequence format
|
|
185
189
|
const { events, edges } = useMemo(
|
|
@@ -187,6 +191,21 @@ export function WorkflowSequenceDiagram({
|
|
|
187
191
|
[scenario, canvas]
|
|
188
192
|
);
|
|
189
193
|
|
|
194
|
+
// Handle node clicks - map sequence node ID back to event index
|
|
195
|
+
const handleNodeClick = useCallback(
|
|
196
|
+
(nodeId: string) => {
|
|
197
|
+
if (!onEventIndexChange) return;
|
|
198
|
+
|
|
199
|
+
// Node IDs are in format "event-{index}"
|
|
200
|
+
const match = nodeId.match(/^event-(\d+)$/);
|
|
201
|
+
if (match) {
|
|
202
|
+
const eventIndex = parseInt(match[1], 10);
|
|
203
|
+
onEventIndexChange(eventIndex);
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
[onEventIndexChange]
|
|
207
|
+
);
|
|
208
|
+
|
|
190
209
|
// If no events, show empty state
|
|
191
210
|
if (events.length === 0) {
|
|
192
211
|
return (
|
|
@@ -217,6 +236,7 @@ export function WorkflowSequenceDiagram({
|
|
|
217
236
|
showControls={showControls}
|
|
218
237
|
showBackground={showBackground}
|
|
219
238
|
className={className}
|
|
239
|
+
onNodeClick={onEventIndexChange ? handleNodeClick : undefined}
|
|
220
240
|
/>
|
|
221
241
|
);
|
|
222
242
|
}
|