@principal-ai/principal-view-react 0.13.4 → 0.13.6
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/GraphRenderer.d.ts +11 -0
- package/dist/components/GraphRenderer.d.ts.map +1 -1
- package/dist/components/GraphRenderer.js +47 -5
- package/dist/components/GraphRenderer.js.map +1 -1
- package/package.json +3 -3
- package/src/components/GraphRenderer.tsx +78 -2
- package/src/stories/GraphRenderer.stories.tsx +230 -0
- package/src/stories/data/graph-converter-test-execution.json +24 -24
- package/src/stories/data/graph-converter-validated-execution.json +6 -6
|
@@ -152,6 +152,17 @@ interface GraphRendererBaseProps {
|
|
|
152
152
|
* Return undefined if the event reference cannot be resolved.
|
|
153
153
|
*/
|
|
154
154
|
resolveEventRef?: (eventRef: string) => PVEventSchema | undefined;
|
|
155
|
+
/**
|
|
156
|
+
* When set, fits the viewport to show these specific nodes.
|
|
157
|
+
* Useful for focusing on a subset of the graph (e.g., scenario nodes).
|
|
158
|
+
* Pass null/undefined/empty array to use default fitView behavior.
|
|
159
|
+
*/
|
|
160
|
+
fitViewToNodeIds?: string[] | null;
|
|
161
|
+
/**
|
|
162
|
+
* Padding around nodes when fitting view to specific nodes.
|
|
163
|
+
* @default 0.2
|
|
164
|
+
*/
|
|
165
|
+
fitViewPadding?: number;
|
|
155
166
|
}
|
|
156
167
|
/** GraphRenderer props - canvas format only */
|
|
157
168
|
export interface GraphRendererProps extends GraphRendererBaseProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRenderer.d.ts","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GraphRenderer.d.ts","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -80,8 +80,8 @@ const CenterIndicator = ({ color }) => {
|
|
|
80
80
|
/**
|
|
81
81
|
* Inner component that uses ReactFlow hooks
|
|
82
82
|
*/
|
|
83
|
-
const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = false, showControls = true, showBackground = true, backgroundVariant = 'lines', backgroundGap, showCenterIndicator = false, showTooltips = true, fitViewDuration = 200, highlightedNodeId, activeNodeIds, events = [], onEventProcessed, editable = false, onPendingChangesChange, onEditStateChange, editStateRef, onNodeClick: onNodeClickProp, showNodeDetailPanel, resolveEventRef, }) => {
|
|
84
|
-
const { fitView } = useReactFlow();
|
|
83
|
+
const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = false, showControls = true, showBackground = true, backgroundVariant = 'lines', backgroundGap, showCenterIndicator = false, showTooltips = true, fitViewDuration = 200, highlightedNodeId, activeNodeIds, events = [], onEventProcessed, editable = false, onPendingChangesChange, onEditStateChange, editStateRef, onNodeClick: onNodeClickProp, showNodeDetailPanel, resolveEventRef, fitViewToNodeIds, fitViewPadding = 0.2, }) => {
|
|
84
|
+
const { fitView, fitBounds, getNodes } = useReactFlow();
|
|
85
85
|
const updateNodeInternals = useUpdateNodeInternals();
|
|
86
86
|
const { theme } = useTheme();
|
|
87
87
|
// Track shift key state for tooltip control
|
|
@@ -1087,6 +1087,10 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
1087
1087
|
}, [editable]);
|
|
1088
1088
|
// Fit view on mount and structure changes
|
|
1089
1089
|
useEffect(() => {
|
|
1090
|
+
// Skip default fitView if we have specific nodes to fit to
|
|
1091
|
+
if (fitViewToNodeIds && fitViewToNodeIds.length > 0) {
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1090
1094
|
const timeoutId = setTimeout(() => {
|
|
1091
1095
|
fitView({
|
|
1092
1096
|
padding: 0.2,
|
|
@@ -1097,7 +1101,45 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
1097
1101
|
});
|
|
1098
1102
|
}, 100);
|
|
1099
1103
|
return () => clearTimeout(timeoutId);
|
|
1100
|
-
}, [baseNodesKey, baseEdgesKey, fitView, fitViewDuration]);
|
|
1104
|
+
}, [baseNodesKey, baseEdgesKey, fitView, fitViewDuration, fitViewToNodeIds]);
|
|
1105
|
+
// Create a stable key from fitViewToNodeIds for dependency tracking
|
|
1106
|
+
const fitViewToNodeIdsKey = useMemo(() => (fitViewToNodeIds && fitViewToNodeIds.length > 0 ? fitViewToNodeIds.slice().sort().join(',') : ''), [fitViewToNodeIds]);
|
|
1107
|
+
// Fit view to specific nodes when fitViewToNodeIds changes
|
|
1108
|
+
useEffect(() => {
|
|
1109
|
+
if (!fitViewToNodeIdsKey || !fitViewToNodeIds || fitViewToNodeIds.length === 0) {
|
|
1110
|
+
return;
|
|
1111
|
+
}
|
|
1112
|
+
// Use a longer timeout to ensure nodes are rendered and measured
|
|
1113
|
+
const timeoutId = setTimeout(() => {
|
|
1114
|
+
// Get actual node objects from React Flow's internal state
|
|
1115
|
+
const allNodes = getNodes();
|
|
1116
|
+
const nodeIdsSet = new Set(fitViewToNodeIds);
|
|
1117
|
+
const nodesToFit = allNodes.filter((node) => nodeIdsSet.has(node.id));
|
|
1118
|
+
if (nodesToFit.length > 0) {
|
|
1119
|
+
// Calculate bounding box from node positions
|
|
1120
|
+
let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
|
|
1121
|
+
for (const node of nodesToFit) {
|
|
1122
|
+
const width = node.measured?.width ?? node.width ?? 200;
|
|
1123
|
+
const height = node.measured?.height ?? node.height ?? 100;
|
|
1124
|
+
minX = Math.min(minX, node.position.x);
|
|
1125
|
+
minY = Math.min(minY, node.position.y);
|
|
1126
|
+
maxX = Math.max(maxX, node.position.x + width);
|
|
1127
|
+
maxY = Math.max(maxY, node.position.y + height);
|
|
1128
|
+
}
|
|
1129
|
+
const bounds = {
|
|
1130
|
+
x: minX,
|
|
1131
|
+
y: minY,
|
|
1132
|
+
width: maxX - minX,
|
|
1133
|
+
height: maxY - minY,
|
|
1134
|
+
};
|
|
1135
|
+
fitBounds(bounds, {
|
|
1136
|
+
padding: fitViewPadding,
|
|
1137
|
+
duration: fitViewDuration,
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
}, 150);
|
|
1141
|
+
return () => clearTimeout(timeoutId);
|
|
1142
|
+
}, [fitViewToNodeIdsKey, fitViewToNodeIds, fitViewPadding, fitView, fitViewDuration, getNodes]);
|
|
1101
1143
|
// ============================================
|
|
1102
1144
|
// RENDER
|
|
1103
1145
|
// ============================================
|
|
@@ -1381,8 +1423,8 @@ export const GraphRenderer = forwardRef((props, ref) => {
|
|
|
1381
1423
|
}
|
|
1382
1424
|
const { configuration, nodes, edges } = canvasData;
|
|
1383
1425
|
// Extract only the props that inner component needs
|
|
1384
|
-
const { violations, configName, showMinimap, showControls, showBackground, backgroundVariant, backgroundGap, showCenterIndicator, showTooltips, fitViewDuration, highlightedNodeId, activeNodeIds, events, onEventProcessed, editable, onPendingChangesChange, onNodeClick, showNodeDetailPanel, resolveEventRef, } = props;
|
|
1385
|
-
return (_jsx("div", { className: className, style: { width, height, position: 'relative' }, children: _jsx(ReactFlowProvider, { children: _jsx(GraphRendererInner, { configuration: configuration, nodes: nodes, edges: edges, violations: violations, configName: configName, showMinimap: showMinimap, showControls: showControls, showBackground: showBackground, backgroundVariant: backgroundVariant, backgroundGap: backgroundGap, showCenterIndicator: showCenterIndicator, showTooltips: showTooltips, fitViewDuration: fitViewDuration, highlightedNodeId: highlightedNodeId, activeNodeIds: activeNodeIds, events: events, onEventProcessed: onEventProcessed, editable: editable, onPendingChangesChange: onPendingChangesChange, editStateRef: editStateRef, onNodeClick: onNodeClick, showNodeDetailPanel: showNodeDetailPanel, resolveEventRef: resolveEventRef }) }) }));
|
|
1426
|
+
const { violations, configName, showMinimap, showControls, showBackground, backgroundVariant, backgroundGap, showCenterIndicator, showTooltips, fitViewDuration, highlightedNodeId, activeNodeIds, events, onEventProcessed, editable, onPendingChangesChange, onNodeClick, showNodeDetailPanel, resolveEventRef, fitViewToNodeIds, fitViewPadding, } = props;
|
|
1427
|
+
return (_jsx("div", { className: className, style: { width, height, position: 'relative' }, children: _jsx(ReactFlowProvider, { children: _jsx(GraphRendererInner, { configuration: configuration, nodes: nodes, edges: edges, violations: violations, configName: configName, showMinimap: showMinimap, showControls: showControls, showBackground: showBackground, backgroundVariant: backgroundVariant, backgroundGap: backgroundGap, showCenterIndicator: showCenterIndicator, showTooltips: showTooltips, fitViewDuration: fitViewDuration, highlightedNodeId: highlightedNodeId, activeNodeIds: activeNodeIds, events: events, onEventProcessed: onEventProcessed, editable: editable, onPendingChangesChange: onPendingChangesChange, editStateRef: editStateRef, onNodeClick: onNodeClick, showNodeDetailPanel: showNodeDetailPanel, resolveEventRef: resolveEventRef, fitViewToNodeIds: fitViewToNodeIds, fitViewPadding: fitViewPadding }) }) }));
|
|
1386
1428
|
});
|
|
1387
1429
|
GraphRenderer.displayName = 'GraphRenderer';
|
|
1388
1430
|
//# sourceMappingURL=GraphRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRenderer.js","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphRenderer.js","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@principal-ai/principal-view-react",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.6",
|
|
4
4
|
"description": "React components for graph-based principal view framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@principal-ade/industry-theme": "^0.1.7",
|
|
34
|
-
"@principal-ai/principal-view-core": "^0.
|
|
34
|
+
"@principal-ai/principal-view-core": "^0.24.10",
|
|
35
35
|
"react": "^18.0.0 || ^19.0.0",
|
|
36
36
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@principal-ade/industry-theme": "0.1.7",
|
|
40
|
-
"@principal-ai/principal-view-core": "0.
|
|
40
|
+
"@principal-ai/principal-view-core": "0.24.10",
|
|
41
41
|
"@storybook/addon-docs": "10.1.2",
|
|
42
42
|
"@storybook/addon-links": "10.1.2",
|
|
43
43
|
"@storybook/addon-onboarding": "10.1.2",
|
|
@@ -217,6 +217,19 @@ interface GraphRendererBaseProps {
|
|
|
217
217
|
*/
|
|
218
218
|
resolveEventRef?: (eventRef: string) => PVEventSchema | undefined;
|
|
219
219
|
|
|
220
|
+
/**
|
|
221
|
+
* When set, fits the viewport to show these specific nodes.
|
|
222
|
+
* Useful for focusing on a subset of the graph (e.g., scenario nodes).
|
|
223
|
+
* Pass null/undefined/empty array to use default fitView behavior.
|
|
224
|
+
*/
|
|
225
|
+
fitViewToNodeIds?: string[] | null;
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Padding around nodes when fitting view to specific nodes.
|
|
229
|
+
* @default 0.2
|
|
230
|
+
*/
|
|
231
|
+
fitViewPadding?: number;
|
|
232
|
+
|
|
220
233
|
}
|
|
221
234
|
|
|
222
235
|
/** GraphRenderer props - canvas format only */
|
|
@@ -444,6 +457,8 @@ interface GraphRendererInnerProps {
|
|
|
444
457
|
onNodeClick?: (nodeId: string, event: React.MouseEvent) => void;
|
|
445
458
|
showNodeDetailPanel?: boolean;
|
|
446
459
|
resolveEventRef?: (eventRef: string) => PVEventSchema | undefined;
|
|
460
|
+
fitViewToNodeIds?: string[] | null;
|
|
461
|
+
fitViewPadding?: number;
|
|
447
462
|
}
|
|
448
463
|
|
|
449
464
|
/**
|
|
@@ -474,8 +489,10 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
474
489
|
onNodeClick: onNodeClickProp,
|
|
475
490
|
showNodeDetailPanel,
|
|
476
491
|
resolveEventRef,
|
|
492
|
+
fitViewToNodeIds,
|
|
493
|
+
fitViewPadding = 0.2,
|
|
477
494
|
}) => {
|
|
478
|
-
const { fitView } = useReactFlow();
|
|
495
|
+
const { fitView, fitBounds, getNodes } = useReactFlow();
|
|
479
496
|
const updateNodeInternals = useUpdateNodeInternals();
|
|
480
497
|
const { theme } = useTheme();
|
|
481
498
|
|
|
@@ -1725,6 +1742,11 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
1725
1742
|
|
|
1726
1743
|
// Fit view on mount and structure changes
|
|
1727
1744
|
useEffect(() => {
|
|
1745
|
+
// Skip default fitView if we have specific nodes to fit to
|
|
1746
|
+
if (fitViewToNodeIds && fitViewToNodeIds.length > 0) {
|
|
1747
|
+
return;
|
|
1748
|
+
}
|
|
1749
|
+
|
|
1728
1750
|
const timeoutId = setTimeout(() => {
|
|
1729
1751
|
fitView({
|
|
1730
1752
|
padding: 0.2,
|
|
@@ -1736,7 +1758,57 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
1736
1758
|
}, 100);
|
|
1737
1759
|
|
|
1738
1760
|
return () => clearTimeout(timeoutId);
|
|
1739
|
-
}, [baseNodesKey, baseEdgesKey, fitView, fitViewDuration]);
|
|
1761
|
+
}, [baseNodesKey, baseEdgesKey, fitView, fitViewDuration, fitViewToNodeIds]);
|
|
1762
|
+
|
|
1763
|
+
// Create a stable key from fitViewToNodeIds for dependency tracking
|
|
1764
|
+
const fitViewToNodeIdsKey = useMemo(
|
|
1765
|
+
() => (fitViewToNodeIds && fitViewToNodeIds.length > 0 ? fitViewToNodeIds.slice().sort().join(',') : ''),
|
|
1766
|
+
[fitViewToNodeIds]
|
|
1767
|
+
);
|
|
1768
|
+
|
|
1769
|
+
// Fit view to specific nodes when fitViewToNodeIds changes
|
|
1770
|
+
useEffect(() => {
|
|
1771
|
+
if (!fitViewToNodeIdsKey || !fitViewToNodeIds || fitViewToNodeIds.length === 0) {
|
|
1772
|
+
return;
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1775
|
+
// Use a longer timeout to ensure nodes are rendered and measured
|
|
1776
|
+
const timeoutId = setTimeout(() => {
|
|
1777
|
+
// Get actual node objects from React Flow's internal state
|
|
1778
|
+
const allNodes = getNodes();
|
|
1779
|
+
const nodeIdsSet = new Set(fitViewToNodeIds);
|
|
1780
|
+
const nodesToFit = allNodes.filter((node) => nodeIdsSet.has(node.id));
|
|
1781
|
+
|
|
1782
|
+
if (nodesToFit.length > 0) {
|
|
1783
|
+
// Calculate bounding box from node positions
|
|
1784
|
+
let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
|
|
1785
|
+
|
|
1786
|
+
for (const node of nodesToFit) {
|
|
1787
|
+
const width = node.measured?.width ?? node.width ?? 200;
|
|
1788
|
+
const height = node.measured?.height ?? node.height ?? 100;
|
|
1789
|
+
|
|
1790
|
+
minX = Math.min(minX, node.position.x);
|
|
1791
|
+
minY = Math.min(minY, node.position.y);
|
|
1792
|
+
maxX = Math.max(maxX, node.position.x + width);
|
|
1793
|
+
maxY = Math.max(maxY, node.position.y + height);
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
const bounds = {
|
|
1797
|
+
x: minX,
|
|
1798
|
+
y: minY,
|
|
1799
|
+
width: maxX - minX,
|
|
1800
|
+
height: maxY - minY,
|
|
1801
|
+
};
|
|
1802
|
+
|
|
1803
|
+
fitBounds(bounds, {
|
|
1804
|
+
padding: fitViewPadding,
|
|
1805
|
+
duration: fitViewDuration,
|
|
1806
|
+
});
|
|
1807
|
+
}
|
|
1808
|
+
}, 150);
|
|
1809
|
+
|
|
1810
|
+
return () => clearTimeout(timeoutId);
|
|
1811
|
+
}, [fitViewToNodeIdsKey, fitViewToNodeIds, fitViewPadding, fitView, fitViewDuration, getNodes]);
|
|
1740
1812
|
|
|
1741
1813
|
// ============================================
|
|
1742
1814
|
// RENDER
|
|
@@ -2215,6 +2287,8 @@ export const GraphRenderer = forwardRef<GraphRendererHandle, GraphRendererProps>
|
|
|
2215
2287
|
onNodeClick,
|
|
2216
2288
|
showNodeDetailPanel,
|
|
2217
2289
|
resolveEventRef,
|
|
2290
|
+
fitViewToNodeIds,
|
|
2291
|
+
fitViewPadding,
|
|
2218
2292
|
} = props;
|
|
2219
2293
|
|
|
2220
2294
|
return (
|
|
@@ -2244,6 +2318,8 @@ export const GraphRenderer = forwardRef<GraphRendererHandle, GraphRendererProps>
|
|
|
2244
2318
|
onNodeClick={onNodeClick}
|
|
2245
2319
|
showNodeDetailPanel={showNodeDetailPanel}
|
|
2246
2320
|
resolveEventRef={resolveEventRef}
|
|
2321
|
+
fitViewToNodeIds={fitViewToNodeIds}
|
|
2322
|
+
fitViewPadding={fitViewPadding}
|
|
2247
2323
|
/>
|
|
2248
2324
|
</ReactFlowProvider>
|
|
2249
2325
|
</div>
|
|
@@ -2766,3 +2766,233 @@ This canvas serves as the "contract" for version registry observability:
|
|
|
2766
2766
|
},
|
|
2767
2767
|
},
|
|
2768
2768
|
};
|
|
2769
|
+
|
|
2770
|
+
// ============================================================================
|
|
2771
|
+
// Fit View to Nodes Story
|
|
2772
|
+
// ============================================================================
|
|
2773
|
+
|
|
2774
|
+
/**
|
|
2775
|
+
* Helper to select random nodes from an array
|
|
2776
|
+
*/
|
|
2777
|
+
function selectRandomNodes(allNodeIds: string[], count: number): string[] {
|
|
2778
|
+
const shuffled = [...allNodeIds].sort(() => Math.random() - 0.5);
|
|
2779
|
+
return shuffled.slice(0, Math.min(count, allNodeIds.length));
|
|
2780
|
+
}
|
|
2781
|
+
|
|
2782
|
+
const FitViewToNodesTemplate = () => {
|
|
2783
|
+
// Get all node IDs from the version registry canvas
|
|
2784
|
+
const allNodeIds = versionRegistryCanvas.nodes.map((n) => n.id);
|
|
2785
|
+
|
|
2786
|
+
const [selectedNodeIds, setSelectedNodeIds] = React.useState<string[]>([]);
|
|
2787
|
+
const [nodeCount, setNodeCount] = React.useState(3);
|
|
2788
|
+
|
|
2789
|
+
const handleSelectRandom = () => {
|
|
2790
|
+
const randomNodes = selectRandomNodes(allNodeIds, nodeCount);
|
|
2791
|
+
setSelectedNodeIds(randomNodes);
|
|
2792
|
+
};
|
|
2793
|
+
|
|
2794
|
+
const handleClear = () => {
|
|
2795
|
+
setSelectedNodeIds([]);
|
|
2796
|
+
};
|
|
2797
|
+
|
|
2798
|
+
// Pre-defined scenarios for quick testing
|
|
2799
|
+
const handleSelectRegistrationFlow = () => {
|
|
2800
|
+
setSelectedNodeIds([
|
|
2801
|
+
'registration-started',
|
|
2802
|
+
'registration-validated',
|
|
2803
|
+
'registration-s3-stored',
|
|
2804
|
+
'schematic-fetching',
|
|
2805
|
+
'schematic-fetched',
|
|
2806
|
+
'schematic-stored',
|
|
2807
|
+
'registration-complete',
|
|
2808
|
+
]);
|
|
2809
|
+
};
|
|
2810
|
+
|
|
2811
|
+
const handleSelectErrorNodes = () => {
|
|
2812
|
+
setSelectedNodeIds([
|
|
2813
|
+
'registration-error',
|
|
2814
|
+
'lookup-error',
|
|
2815
|
+
'list-error',
|
|
2816
|
+
'lookup-not-found',
|
|
2817
|
+
]);
|
|
2818
|
+
};
|
|
2819
|
+
|
|
2820
|
+
const handleSelectLookupFlow = () => {
|
|
2821
|
+
setSelectedNodeIds([
|
|
2822
|
+
'lookup-started',
|
|
2823
|
+
'lookup-s3-retrieved',
|
|
2824
|
+
'lookup-complete',
|
|
2825
|
+
]);
|
|
2826
|
+
};
|
|
2827
|
+
|
|
2828
|
+
return (
|
|
2829
|
+
<div>
|
|
2830
|
+
<div
|
|
2831
|
+
style={{
|
|
2832
|
+
marginBottom: 16,
|
|
2833
|
+
padding: 12,
|
|
2834
|
+
backgroundColor: '#f0f9ff',
|
|
2835
|
+
borderRadius: 4,
|
|
2836
|
+
border: '1px solid #3b82f6',
|
|
2837
|
+
}}
|
|
2838
|
+
>
|
|
2839
|
+
<strong style={{ color: '#1e40af' }}>Fit View to Specific Nodes</strong>
|
|
2840
|
+
<div style={{ marginTop: 8, fontSize: 12, color: '#475569' }}>
|
|
2841
|
+
<p style={{ margin: '4px 0' }}>
|
|
2842
|
+
This demonstrates the <code>fitViewToNodeIds</code> prop that zooms/pans the viewport
|
|
2843
|
+
to show only the specified nodes.
|
|
2844
|
+
</p>
|
|
2845
|
+
<p style={{ margin: '8px 0 4px 0' }}>
|
|
2846
|
+
<strong>Currently showing:</strong>{' '}
|
|
2847
|
+
{selectedNodeIds.length > 0 ? (
|
|
2848
|
+
<span style={{ fontFamily: 'monospace', color: '#3b82f6' }}>
|
|
2849
|
+
{selectedNodeIds.length} nodes: [{selectedNodeIds.join(', ')}]
|
|
2850
|
+
</span>
|
|
2851
|
+
) : (
|
|
2852
|
+
<span style={{ color: '#94a3b8' }}>All nodes (default fitView)</span>
|
|
2853
|
+
)}
|
|
2854
|
+
</p>
|
|
2855
|
+
</div>
|
|
2856
|
+
|
|
2857
|
+
<div style={{ marginTop: 12, display: 'flex', gap: 8, flexWrap: 'wrap', alignItems: 'center' }}>
|
|
2858
|
+
<label style={{ fontSize: 12, color: '#475569' }}>
|
|
2859
|
+
Random count:
|
|
2860
|
+
<select
|
|
2861
|
+
value={nodeCount}
|
|
2862
|
+
onChange={(e) => setNodeCount(Number(e.target.value))}
|
|
2863
|
+
style={{
|
|
2864
|
+
marginLeft: 4,
|
|
2865
|
+
padding: '4px 8px',
|
|
2866
|
+
borderRadius: 4,
|
|
2867
|
+
border: '1px solid #cbd5e1',
|
|
2868
|
+
}}
|
|
2869
|
+
>
|
|
2870
|
+
{[1, 2, 3, 4, 5, 6, 7, 8].map((n) => (
|
|
2871
|
+
<option key={n} value={n}>
|
|
2872
|
+
{n}
|
|
2873
|
+
</option>
|
|
2874
|
+
))}
|
|
2875
|
+
</select>
|
|
2876
|
+
</label>
|
|
2877
|
+
<button
|
|
2878
|
+
onClick={handleSelectRandom}
|
|
2879
|
+
style={{
|
|
2880
|
+
padding: '6px 12px',
|
|
2881
|
+
backgroundColor: '#3b82f6',
|
|
2882
|
+
color: 'white',
|
|
2883
|
+
border: 'none',
|
|
2884
|
+
borderRadius: 4,
|
|
2885
|
+
cursor: 'pointer',
|
|
2886
|
+
fontSize: 12,
|
|
2887
|
+
fontWeight: 'bold',
|
|
2888
|
+
}}
|
|
2889
|
+
>
|
|
2890
|
+
Select Random Nodes
|
|
2891
|
+
</button>
|
|
2892
|
+
<button
|
|
2893
|
+
onClick={handleClear}
|
|
2894
|
+
style={{
|
|
2895
|
+
padding: '6px 12px',
|
|
2896
|
+
backgroundColor: '#94a3b8',
|
|
2897
|
+
color: 'white',
|
|
2898
|
+
border: 'none',
|
|
2899
|
+
borderRadius: 4,
|
|
2900
|
+
cursor: 'pointer',
|
|
2901
|
+
fontSize: 12,
|
|
2902
|
+
}}
|
|
2903
|
+
>
|
|
2904
|
+
Clear (Show All)
|
|
2905
|
+
</button>
|
|
2906
|
+
</div>
|
|
2907
|
+
|
|
2908
|
+
<div style={{ marginTop: 12, display: 'flex', gap: 8, flexWrap: 'wrap' }}>
|
|
2909
|
+
<span style={{ fontSize: 11, color: '#64748b', alignSelf: 'center' }}>Quick scenarios:</span>
|
|
2910
|
+
<button
|
|
2911
|
+
onClick={handleSelectRegistrationFlow}
|
|
2912
|
+
style={{
|
|
2913
|
+
padding: '4px 10px',
|
|
2914
|
+
backgroundColor: '#22c55e',
|
|
2915
|
+
color: 'white',
|
|
2916
|
+
border: 'none',
|
|
2917
|
+
borderRadius: 4,
|
|
2918
|
+
cursor: 'pointer',
|
|
2919
|
+
fontSize: 11,
|
|
2920
|
+
}}
|
|
2921
|
+
>
|
|
2922
|
+
Registration Flow (7 nodes)
|
|
2923
|
+
</button>
|
|
2924
|
+
<button
|
|
2925
|
+
onClick={handleSelectLookupFlow}
|
|
2926
|
+
style={{
|
|
2927
|
+
padding: '4px 10px',
|
|
2928
|
+
backgroundColor: '#3b82f6',
|
|
2929
|
+
color: 'white',
|
|
2930
|
+
border: 'none',
|
|
2931
|
+
borderRadius: 4,
|
|
2932
|
+
cursor: 'pointer',
|
|
2933
|
+
fontSize: 11,
|
|
2934
|
+
}}
|
|
2935
|
+
>
|
|
2936
|
+
Lookup Flow (3 nodes)
|
|
2937
|
+
</button>
|
|
2938
|
+
<button
|
|
2939
|
+
onClick={handleSelectErrorNodes}
|
|
2940
|
+
style={{
|
|
2941
|
+
padding: '4px 10px',
|
|
2942
|
+
backgroundColor: '#ef4444',
|
|
2943
|
+
color: 'white',
|
|
2944
|
+
border: 'none',
|
|
2945
|
+
borderRadius: 4,
|
|
2946
|
+
cursor: 'pointer',
|
|
2947
|
+
fontSize: 11,
|
|
2948
|
+
}}
|
|
2949
|
+
>
|
|
2950
|
+
Error Nodes (4 nodes)
|
|
2951
|
+
</button>
|
|
2952
|
+
</div>
|
|
2953
|
+
</div>
|
|
2954
|
+
<div style={{ width: '100%', height: '600px' }}>
|
|
2955
|
+
<GraphRenderer
|
|
2956
|
+
canvas={versionRegistryCanvas}
|
|
2957
|
+
fitViewToNodeIds={selectedNodeIds.length > 0 ? selectedNodeIds : undefined}
|
|
2958
|
+
fitViewPadding={0.1}
|
|
2959
|
+
activeNodeIds={selectedNodeIds.length > 0 ? selectedNodeIds : undefined}
|
|
2960
|
+
showNodeDetailPanel={true}
|
|
2961
|
+
/>
|
|
2962
|
+
</div>
|
|
2963
|
+
</div>
|
|
2964
|
+
);
|
|
2965
|
+
};
|
|
2966
|
+
|
|
2967
|
+
export const FitViewToNodes: Story = {
|
|
2968
|
+
render: () => <FitViewToNodesTemplate />,
|
|
2969
|
+
parameters: {
|
|
2970
|
+
docs: {
|
|
2971
|
+
description: {
|
|
2972
|
+
story: `
|
|
2973
|
+
**Fit View to Specific Nodes** - Demonstrates the \`fitViewToNodeIds\` prop for focusing on subsets of a graph.
|
|
2974
|
+
|
|
2975
|
+
**Use Cases:**
|
|
2976
|
+
- **Scenario Playback**: When playing back a workflow scenario, fit the view to show only the nodes involved
|
|
2977
|
+
- **Search Results**: When searching for specific events, zoom to show matching nodes
|
|
2978
|
+
- **Error Investigation**: Focus on error paths without manually panning/zooming
|
|
2979
|
+
- **Step-by-Step Tutorials**: Highlight different parts of the graph as users progress
|
|
2980
|
+
|
|
2981
|
+
**How It Works:**
|
|
2982
|
+
1. Pass an array of node IDs to \`fitViewToNodeIds\`
|
|
2983
|
+
2. The viewport animates to fit those specific nodes
|
|
2984
|
+
3. Pass \`undefined\` or empty array to return to default behavior (fit all nodes)
|
|
2985
|
+
|
|
2986
|
+
**Props:**
|
|
2987
|
+
- \`fitViewToNodeIds\`: Array of node IDs to fit in view
|
|
2988
|
+
- \`fitViewPadding\`: Padding around the nodes (default: 0.2)
|
|
2989
|
+
|
|
2990
|
+
**In This Demo:**
|
|
2991
|
+
- Select random nodes to see how the view adjusts
|
|
2992
|
+
- Try the pre-defined scenarios (Registration Flow, Lookup Flow, Error Nodes)
|
|
2993
|
+
- Clear selection to fit all nodes again
|
|
2994
|
+
`,
|
|
2995
|
+
},
|
|
2996
|
+
},
|
|
2997
|
+
},
|
|
2998
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
{
|
|
3
3
|
"id": "span-1",
|
|
4
4
|
"name": "should convert simple config to nodes and edges",
|
|
5
|
-
"startTime":
|
|
5
|
+
"startTime": 1772124586321,
|
|
6
6
|
"attributes": {
|
|
7
7
|
"span.kind": "test.case",
|
|
8
8
|
"test.name": "should convert simple config to nodes and edges",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"events": [
|
|
15
15
|
{
|
|
16
|
-
"time":
|
|
16
|
+
"time": 1772124586321,
|
|
17
17
|
"name": "setup.started",
|
|
18
18
|
"attributes": {
|
|
19
19
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"time":
|
|
25
|
+
"time": 1772124586321,
|
|
26
26
|
"name": "setup.complete",
|
|
27
27
|
"attributes": {
|
|
28
28
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"time":
|
|
35
|
+
"time": 1772124586321,
|
|
36
36
|
"name": "execution.started",
|
|
37
37
|
"attributes": {
|
|
38
38
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"time":
|
|
44
|
+
"time": 1772124586321,
|
|
45
45
|
"name": "execution.complete",
|
|
46
46
|
"attributes": {
|
|
47
47
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
"time":
|
|
54
|
+
"time": 1772124586321,
|
|
55
55
|
"name": "assertion.started",
|
|
56
56
|
"attributes": {
|
|
57
57
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
|
-
"time":
|
|
63
|
+
"time": 1772124586321,
|
|
64
64
|
"name": "assertion.complete",
|
|
65
65
|
"attributes": {
|
|
66
66
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -71,13 +71,13 @@
|
|
|
71
71
|
}
|
|
72
72
|
],
|
|
73
73
|
"status": "OK",
|
|
74
|
-
"endTime":
|
|
74
|
+
"endTime": 1772124586321,
|
|
75
75
|
"duration": 0
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"id": "span-2",
|
|
79
79
|
"name": "should extract manual positions from node types",
|
|
80
|
-
"startTime":
|
|
80
|
+
"startTime": 1772124586321,
|
|
81
81
|
"attributes": {
|
|
82
82
|
"span.kind": "test.case",
|
|
83
83
|
"test.name": "should extract manual positions from node types",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
},
|
|
89
89
|
"events": [
|
|
90
90
|
{
|
|
91
|
-
"time":
|
|
91
|
+
"time": 1772124586321,
|
|
92
92
|
"name": "setup.started",
|
|
93
93
|
"attributes": {
|
|
94
94
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
|
-
"time":
|
|
100
|
+
"time": 1772124586321,
|
|
101
101
|
"name": "setup.complete",
|
|
102
102
|
"attributes": {
|
|
103
103
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"time":
|
|
110
|
+
"time": 1772124586321,
|
|
111
111
|
"name": "execution.started",
|
|
112
112
|
"attributes": {
|
|
113
113
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
}
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
|
-
"time":
|
|
119
|
+
"time": 1772124586321,
|
|
120
120
|
"name": "execution.complete",
|
|
121
121
|
"attributes": {
|
|
122
122
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
}
|
|
126
126
|
},
|
|
127
127
|
{
|
|
128
|
-
"time":
|
|
128
|
+
"time": 1772124586321,
|
|
129
129
|
"name": "assertion.started",
|
|
130
130
|
"attributes": {
|
|
131
131
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
|
-
"time":
|
|
137
|
+
"time": 1772124586321,
|
|
138
138
|
"name": "assertion.complete",
|
|
139
139
|
"attributes": {
|
|
140
140
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -145,13 +145,13 @@
|
|
|
145
145
|
}
|
|
146
146
|
],
|
|
147
147
|
"status": "OK",
|
|
148
|
-
"endTime":
|
|
148
|
+
"endTime": 1772124586321,
|
|
149
149
|
"duration": 0
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
"id": "span-3",
|
|
153
153
|
"name": "should handle nodes without positions",
|
|
154
|
-
"startTime":
|
|
154
|
+
"startTime": 1772124586321,
|
|
155
155
|
"attributes": {
|
|
156
156
|
"span.kind": "test.case",
|
|
157
157
|
"test.name": "should handle nodes without positions",
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
},
|
|
163
163
|
"events": [
|
|
164
164
|
{
|
|
165
|
-
"time":
|
|
165
|
+
"time": 1772124586321,
|
|
166
166
|
"name": "setup.started",
|
|
167
167
|
"attributes": {
|
|
168
168
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
}
|
|
172
172
|
},
|
|
173
173
|
{
|
|
174
|
-
"time":
|
|
174
|
+
"time": 1772124586321,
|
|
175
175
|
"name": "setup.complete",
|
|
176
176
|
"attributes": {
|
|
177
177
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
}
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
|
-
"time":
|
|
184
|
+
"time": 1772124586321,
|
|
185
185
|
"name": "execution.started",
|
|
186
186
|
"attributes": {
|
|
187
187
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
}
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
|
-
"time":
|
|
193
|
+
"time": 1772124586321,
|
|
194
194
|
"name": "execution.complete",
|
|
195
195
|
"attributes": {
|
|
196
196
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
}
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
|
-
"time":
|
|
202
|
+
"time": 1772124586321,
|
|
203
203
|
"name": "assertion.started",
|
|
204
204
|
"attributes": {
|
|
205
205
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
}
|
|
209
209
|
},
|
|
210
210
|
{
|
|
211
|
-
"time":
|
|
211
|
+
"time": 1772124586321,
|
|
212
212
|
"name": "assertion.complete",
|
|
213
213
|
"attributes": {
|
|
214
214
|
"code.filepath": "GraphConverter.test.ts",
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
}
|
|
220
220
|
],
|
|
221
221
|
"status": "OK",
|
|
222
|
-
"endTime":
|
|
222
|
+
"endTime": 1772124586321,
|
|
223
223
|
"duration": 0
|
|
224
224
|
}
|
|
225
225
|
]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
{
|
|
3
3
|
"id": "span-1",
|
|
4
4
|
"name": "graph conversion with validation",
|
|
5
|
-
"startTime":
|
|
5
|
+
"startTime": 1772124586203,
|
|
6
6
|
"attributes": {
|
|
7
7
|
"span.kind": "test.case",
|
|
8
8
|
"test.name": "graph conversion with validation",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"events": [
|
|
14
14
|
{
|
|
15
|
-
"time":
|
|
15
|
+
"time": 1772124586203,
|
|
16
16
|
"name": "conversion.started",
|
|
17
17
|
"attributes": {
|
|
18
18
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"time":
|
|
25
|
+
"time": 1772124586203,
|
|
26
26
|
"name": "conversion.processingNodes",
|
|
27
27
|
"attributes": {
|
|
28
28
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
|
-
"time":
|
|
34
|
+
"time": 1772124586203,
|
|
35
35
|
"name": "conversion.processingEdges",
|
|
36
36
|
"attributes": {
|
|
37
37
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
|
-
"time":
|
|
43
|
+
"time": 1772124586203,
|
|
44
44
|
"name": "conversion.complete",
|
|
45
45
|
"attributes": {
|
|
46
46
|
"code.filepath": "GraphConverter.ts",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
}
|
|
53
53
|
],
|
|
54
54
|
"status": "OK",
|
|
55
|
-
"endTime":
|
|
55
|
+
"endTime": 1772124586203,
|
|
56
56
|
"duration": 0
|
|
57
57
|
}
|
|
58
58
|
]
|