@principal-ai/subsystems-react 0.56.10 → 0.56.11
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/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +48 -16
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/dist/subsystem/TrailStepsNav.d.ts +3 -1
- package/dist/subsystem/TrailStepsNav.d.ts.map +1 -1
- package/dist/subsystem/TrailStepsNav.js +2 -2
- package/dist/subsystem/TrailStepsNav.js.map +1 -1
- package/dist/subsystem/TrailsPanel.d.ts +4 -2
- package/dist/subsystem/TrailsPanel.d.ts.map +1 -1
- package/dist/subsystem/TrailsPanel.js +2 -2
- package/dist/subsystem/TrailsPanel.js.map +1 -1
- package/dist/subsystem/trailSidebarScope.d.ts +11 -0
- package/dist/subsystem/trailSidebarScope.d.ts.map +1 -0
- package/dist/subsystem/trailSidebarScope.js +47 -0
- package/dist/subsystem/trailSidebarScope.js.map +1 -0
- package/package.json +1 -1
- package/src/stories/Canvases/Subsystem/TrailSidebarViews.stories.tsx +68 -0
- package/src/subsystem/SubsystemComponentGraph.sidebar.test.tsx +37 -0
- package/src/subsystem/SubsystemComponentGraph.tsx +64 -28
- package/src/subsystem/TrailStepsNav.test.tsx +22 -0
- package/src/subsystem/TrailStepsNav.tsx +5 -2
- package/src/subsystem/TrailsPanel.tsx +5 -1
- package/src/subsystem/trailSidebarScope.test.ts +89 -0
- package/src/subsystem/trailSidebarScope.ts +62 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrailsPanel.js","sourceRoot":"","sources":["../../src/subsystem/TrailsPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TrailsPanel.js","sourceRoot":"","sources":["../../src/subsystem/TrailsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SubsystemComponent, SubsystemTrail } from './model';
|
|
2
|
+
import type { SubsystemIssue } from './IssueList';
|
|
3
|
+
import { type TreePathMapping } from './paths';
|
|
4
|
+
export interface TrailSidebarScope {
|
|
5
|
+
trail: SubsystemTrail | null;
|
|
6
|
+
treePaths: TreePathMapping;
|
|
7
|
+
issues: SubsystemIssue[];
|
|
8
|
+
}
|
|
9
|
+
/** Scope sidebar content to a trail's endpoints and authored source sites. */
|
|
10
|
+
export declare function buildTrailSidebarScope(components: SubsystemComponent[], trails: SubsystemTrail[] | undefined, issues: SubsystemIssue[] | undefined, trailId: string | null): TrailSidebarScope;
|
|
11
|
+
//# sourceMappingURL=trailSidebarScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trailSidebarScope.d.ts","sourceRoot":"","sources":["../../src/subsystem/trailSidebarScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAoD,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,kBAAkB,EAAE,EAChC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EACpC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EACpC,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,iBAAiB,CA6CnB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { buildTreePathMapping, purlOwnerName, purlRepoKey } from './paths';
|
|
2
|
+
/** Scope sidebar content to a trail's endpoints and authored source sites. */
|
|
3
|
+
export function buildTrailSidebarScope(components, trails, issues, trailId) {
|
|
4
|
+
const trail = trails?.find((item) => item.id === trailId) ?? null;
|
|
5
|
+
if (!trail) {
|
|
6
|
+
return { trail: null, treePaths: buildTreePathMapping(components), issues: issues ?? [] };
|
|
7
|
+
}
|
|
8
|
+
const aliases = new Set(trail.steps.flatMap((step) => [step.from, step.to]));
|
|
9
|
+
const participants = components.filter((component) => aliases.has(component.alias));
|
|
10
|
+
const files = [...participants];
|
|
11
|
+
for (const step of trail.steps) {
|
|
12
|
+
files.push(step);
|
|
13
|
+
if (step.target)
|
|
14
|
+
files.push(step.target);
|
|
15
|
+
}
|
|
16
|
+
const modules = new Set(participants.map((component) => component.module?.trim()).filter(Boolean));
|
|
17
|
+
const processes = new Set(participants.map((component) => component.process).filter(Boolean));
|
|
18
|
+
const repos = new Set(files.flatMap((file) => [purlRepoKey(file.purl), purlOwnerName(file.purl)].filter((key) => !!key)));
|
|
19
|
+
const scopedIssues = (issues ?? []).filter((issue) => {
|
|
20
|
+
const target = issue.target;
|
|
21
|
+
if (!target)
|
|
22
|
+
return false;
|
|
23
|
+
const key = target.id ?? target.label;
|
|
24
|
+
switch (target.kind) {
|
|
25
|
+
case 'component': {
|
|
26
|
+
const component = components.find((candidate) => candidate.alias === target.id || candidate.alias === target.label ||
|
|
27
|
+
candidate.name === target.label || candidate.symbol === target.label);
|
|
28
|
+
return component != null && aliases.has(component.alias);
|
|
29
|
+
}
|
|
30
|
+
case 'trail':
|
|
31
|
+
return target.id != null ? target.id === trail.id : target.label === trail.title;
|
|
32
|
+
case 'step':
|
|
33
|
+
return target.id === trail.id && target.stepIndex != null &&
|
|
34
|
+
Number.isInteger(target.stepIndex) && trail.steps[target.stepIndex] != null;
|
|
35
|
+
case 'module':
|
|
36
|
+
return modules.has(key);
|
|
37
|
+
case 'process':
|
|
38
|
+
return processes.has(key);
|
|
39
|
+
case 'repo':
|
|
40
|
+
return repos.has(purlRepoKey(key) ?? key);
|
|
41
|
+
default:
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return { trail, treePaths: buildTreePathMapping(files), issues: scopedIssues };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=trailSidebarScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trailSidebarScope.js","sourceRoot":"","sources":["../../src/subsystem/trailSidebarScope.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import '@xyflow/react/dist/style.css';
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
|
|
5
|
+
import { SubsystemComponentGraph } from '../../../subsystem/SubsystemComponentGraph';
|
|
6
|
+
import type { SubsystemComponent, SubsystemTrail } from '../../../subsystem/model';
|
|
7
|
+
import type { SubsystemIssue } from '../../../subsystem/IssueList';
|
|
8
|
+
|
|
9
|
+
const components: SubsystemComponent[] = [
|
|
10
|
+
{ alias: 'checkout', name: 'Checkout', construct: 'function', file: 'src/checkout.ts', purl: 'pkg:github/acme/app' },
|
|
11
|
+
{ alias: 'store', name: 'Store', construct: 'function', file: 'src/store.ts', purl: 'pkg:github/acme/app' },
|
|
12
|
+
{ alias: 'report', name: 'Report', construct: 'function', file: 'src/report.ts', purl: 'pkg:github/acme/app' },
|
|
13
|
+
{ alias: 'mail', name: 'Mail', construct: 'function', file: 'src/mail.ts', purl: 'pkg:github/acme/app' },
|
|
14
|
+
];
|
|
15
|
+
const trails: SubsystemTrail[] = [
|
|
16
|
+
{ id: 'checkout', title: 'Save checkout', steps: [
|
|
17
|
+
{ from: 'checkout', to: 'store', mechanism: 'calls', file: 'src/checkout.ts',
|
|
18
|
+
purl: 'pkg:github/acme/app', symbol: 'saveCheckout', annotation: 'Persist the checkout.' },
|
|
19
|
+
] },
|
|
20
|
+
{ id: 'report', title: 'Send report', steps: [
|
|
21
|
+
{ from: 'report', to: 'mail', mechanism: 'calls', file: 'src/report.ts',
|
|
22
|
+
purl: 'pkg:github/acme/app', symbol: 'sendReport' },
|
|
23
|
+
] },
|
|
24
|
+
];
|
|
25
|
+
const issues: SubsystemIssue[] = [
|
|
26
|
+
{ id: 'checkout-symbol', severity: 'error', kind: 'symbol_unmatched',
|
|
27
|
+
message: 'Checkout declaration needs verification.',
|
|
28
|
+
target: { kind: 'component', id: 'checkout', label: 'Checkout' } },
|
|
29
|
+
{ id: 'checkout-step', severity: 'error', kind: 'step_span_unconfirmed',
|
|
30
|
+
message: 'Capture the checkout seam.',
|
|
31
|
+
target: { kind: 'step', id: 'checkout', stepIndex: 0, label: 'Checkout → Store' } },
|
|
32
|
+
{ id: 'report-symbol', severity: 'error', kind: 'symbol_unmatched',
|
|
33
|
+
message: 'Report declaration needs verification.',
|
|
34
|
+
target: { kind: 'component', id: 'report', label: 'Report' } },
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
function Demo() {
|
|
38
|
+
const [showIssues, setShowIssues] = useState(false);
|
|
39
|
+
return (
|
|
40
|
+
<div style={{ height: '100vh' }}>
|
|
41
|
+
<SubsystemComponentGraph
|
|
42
|
+
title="Trail-scoped sidebar"
|
|
43
|
+
description="Select a trail, then switch between Trails, Files, and Issues. Its header stays visible and each panel shows only that trail’s information. Back clears the trail context."
|
|
44
|
+
components={components}
|
|
45
|
+
trails={trails}
|
|
46
|
+
issues={issues}
|
|
47
|
+
showIssues={showIssues}
|
|
48
|
+
diagnostic={{ status: 'issues', issueCount: issues.length,
|
|
49
|
+
onToggle: () => setShowIssues((value) => !value) }}
|
|
50
|
+
renderFileViewer={(file) => (
|
|
51
|
+
<pre style={{ padding: 16 }}>Source preview: {file}</pre>
|
|
52
|
+
)}
|
|
53
|
+
/>
|
|
54
|
+
</div>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const meta = {
|
|
59
|
+
title: 'Canvases/Subsystem/TrailSidebarViews',
|
|
60
|
+
component: SubsystemComponentGraph,
|
|
61
|
+
parameters: { layout: 'fullscreen' },
|
|
62
|
+
decorators: [(Story) => (
|
|
63
|
+
<ThemeProvider theme={defaultEditorTheme}><Story /></ThemeProvider>
|
|
64
|
+
)],
|
|
65
|
+
} satisfies Meta<typeof SubsystemComponentGraph>;
|
|
66
|
+
export default meta;
|
|
67
|
+
type Story = StoryObj<typeof meta>;
|
|
68
|
+
export const ScopedPanels: Story = { render: () => <Demo /> };
|
|
@@ -78,6 +78,7 @@ describe('subsystem graph sidebar', () => {
|
|
|
78
78
|
expect(group?.querySelectorAll('button').length).toBe(3);
|
|
79
79
|
expect(group?.querySelectorAll('button[aria-pressed="true"]').length).toBe(1);
|
|
80
80
|
expect(group?.querySelector('button[aria-label="Trails"]')?.getAttribute('aria-pressed')).toBe('true');
|
|
81
|
+
expect(group?.querySelector('button[aria-label="Trails"]')?.textContent).toBe('Trails');
|
|
81
82
|
expect(group?.querySelector('button[aria-label^="Issues:"]')?.textContent).toBe('Issues');
|
|
82
83
|
expect((group as HTMLElement).style.borderStyle).toBe('solid');
|
|
83
84
|
});
|
|
@@ -188,6 +189,8 @@ describe('subsystem graph sidebar', () => {
|
|
|
188
189
|
globalThis.window = dom as unknown as typeof window;
|
|
189
190
|
try {
|
|
190
191
|
const body = renderGraph({ persistKey: 'trail-nav-test' });
|
|
192
|
+
expect(body.querySelector('header button[aria-label="Trail"]')?.textContent).toBe('Trail');
|
|
193
|
+
expect(body.querySelector('header button[aria-label="Trails"]')).toBeNull();
|
|
191
194
|
expect(body.querySelector('[aria-hidden="false"] button[aria-label="Back to trails"]')).not.toBeNull();
|
|
192
195
|
expect(body.querySelector('button[aria-label^="Play "]')).toBeNull();
|
|
193
196
|
expect(body.querySelector('button[aria-label^="Focus layout"]')).toBeNull();
|
|
@@ -197,6 +200,40 @@ describe('subsystem graph sidebar', () => {
|
|
|
197
200
|
}
|
|
198
201
|
});
|
|
199
202
|
|
|
203
|
+
test('keeps the trail header and scoped counts in Issues after graph selection is cleared', () => {
|
|
204
|
+
const previousWindow = globalThis.window;
|
|
205
|
+
const dom = new Window();
|
|
206
|
+
dom.localStorage.setItem('principal.subsystems.viewState.scoped-sidebar-test', JSON.stringify({
|
|
207
|
+
sidebarTrailId: 'request',
|
|
208
|
+
focusedTrailId: null,
|
|
209
|
+
}));
|
|
210
|
+
globalThis.window = dom as unknown as typeof window;
|
|
211
|
+
try {
|
|
212
|
+
const body = renderGraph({
|
|
213
|
+
persistKey: 'scoped-sidebar-test',
|
|
214
|
+
showIssues: true,
|
|
215
|
+
components: [...components, {
|
|
216
|
+
alias: 'other', name: 'Other', construct: 'function', file: 'src/other.ts', purl: 'pkg:github/test/app',
|
|
217
|
+
}],
|
|
218
|
+
issues: [
|
|
219
|
+
{ id: 'related', severity: 'error', kind: 'missing_file', message: 'Related finding',
|
|
220
|
+
target: { kind: 'component', id: 'entry', label: 'Entry' } },
|
|
221
|
+
{ id: 'unrelated', severity: 'error', kind: 'missing_file', message: 'Unrelated finding',
|
|
222
|
+
target: { kind: 'component', id: 'other', label: 'Other' } },
|
|
223
|
+
],
|
|
224
|
+
diagnostic: { status: 'issues', issueCount: 2 },
|
|
225
|
+
});
|
|
226
|
+
expect(body.querySelector('[aria-hidden="false"] button[aria-label="Back to trails"]')).not.toBeNull();
|
|
227
|
+
expect(body.querySelector('[aria-hidden="false"]')?.textContent).toContain('Request flow');
|
|
228
|
+
expect(body.querySelector('header button[aria-label^="Files"]')?.textContent).toBe('Files2');
|
|
229
|
+
expect(body.querySelector('header button[aria-label^="Issues:"]')?.textContent).toBe('Issues1');
|
|
230
|
+
expect(body.querySelector('header button[aria-label="Trail"]')?.textContent).toBe('Trail');
|
|
231
|
+
expect(body.querySelector('[aria-hidden="false"]')?.textContent).not.toContain('Unrelated finding');
|
|
232
|
+
} finally {
|
|
233
|
+
globalThis.window = previousWindow;
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
|
|
200
237
|
test('static graphs keep their description but do not show a file panel', () => {
|
|
201
238
|
const body = renderGraph({ trails: undefined, graphifyRelations });
|
|
202
239
|
expect(body.textContent).toContain('Always visible description.');
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
} from './IssueList';
|
|
83
83
|
import { GraphLayoutCover } from './GraphLayoutCover';
|
|
84
84
|
import { SubsystemFileTree } from './SubsystemFileTree';
|
|
85
|
-
import {
|
|
85
|
+
import { buildTrailSidebarScope, type TrailSidebarScope } from './trailSidebarScope';
|
|
86
86
|
import { GRAPH_CANVAS_CLASS, GRAPH_NAV_PROPS, GraphChrome, GraphLayerStyle, LAYOUT_FLIP_CLASS, LAYOUT_FLIP_EDGE_MS, LAYOUT_FLIP_NODE_MS } from './graphChrome';
|
|
87
87
|
import { ComponentDeclaration } from './ComponentDeclaration';
|
|
88
88
|
import type { ComponentVerificationState } from './ComponentDeclaration';
|
|
@@ -151,6 +151,7 @@ type DrawerTarget =
|
|
|
151
151
|
interface PersistedViewState {
|
|
152
152
|
expandedTrails?: string[];
|
|
153
153
|
focusedTrailId?: string | null;
|
|
154
|
+
sidebarTrailId?: string | null;
|
|
154
155
|
focusedStepIndex?: number | null;
|
|
155
156
|
/** Sidebar width moved to the shared GraphWithSidebar chrome (persisted
|
|
156
157
|
* under `principal.subsystems.sidebarWidth.<persistKey>`); reading the old
|
|
@@ -609,9 +610,11 @@ const TrailDrawerContent = memo(function TrailDrawerContent({
|
|
|
609
610
|
interface InnerProps extends SubsystemComponentGraphProps {
|
|
610
611
|
measured: { w: number; h: number } | null;
|
|
611
612
|
filesActive: boolean;
|
|
613
|
+
sidebarScope: TrailSidebarScope;
|
|
614
|
+
onSidebarTrailChange: (trailId: string | null) => void;
|
|
612
615
|
}
|
|
613
616
|
|
|
614
|
-
function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirection: layoutDirectionProp, defaultLayoutDirection = 'horizontal', onLayoutDirectionChange, hideLayoutToggle = false, refocusOnLayoutFlip = true, initialTrailId, onTrailSelect, onTrailStepHover, onReorderTrails, stepEmphasis, onRemoveStepEmphasis, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, moduleNesting, edgeView, hideSidebar, trailStepMode = 'focus', autoPlayTrails = false, trailAutoPlayIntervalMs = TRAIL_PLAY_PAUSE_MS, zoomOnTrailFocus = true, trailFocusDurationMs = 300, graphTitle, showTrailTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, issues, showIssues, filesActive, focusIssueCategory, laneStatus, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileViewer, renderTrailViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, codeProcessKeys, hideDrawer = false, persistKey, liveEvents, agentsPanel }: InnerProps) {
|
|
617
|
+
function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirection: layoutDirectionProp, defaultLayoutDirection = 'horizontal', onLayoutDirectionChange, hideLayoutToggle = false, refocusOnLayoutFlip = true, initialTrailId, onTrailSelect, onTrailStepHover, onReorderTrails, stepEmphasis, onRemoveStepEmphasis, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, moduleNesting, edgeView, hideSidebar, trailStepMode = 'focus', autoPlayTrails = false, trailAutoPlayIntervalMs = TRAIL_PLAY_PAUSE_MS, zoomOnTrailFocus = true, trailFocusDurationMs = 300, graphTitle, showTrailTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, issues, showIssues, filesActive, sidebarScope, onSidebarTrailChange, focusIssueCategory, laneStatus, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileViewer, renderTrailViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, codeProcessKeys, hideDrawer = false, persistKey, liveEvents, agentsPanel }: InnerProps) {
|
|
615
618
|
const { theme } = useTheme();
|
|
616
619
|
const { fitView, fitBounds } = useReactFlow();
|
|
617
620
|
const viewport = useViewport();
|
|
@@ -1834,7 +1837,11 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
1834
1837
|
}, []);
|
|
1835
1838
|
|
|
1836
1839
|
const hasTrails = useMemo(() => (trails?.length ?? 0) > 0, [trails]);
|
|
1837
|
-
const treePaths
|
|
1840
|
+
const { treePaths, trail: sidebarTrail } = sidebarScope;
|
|
1841
|
+
const treeFilePaths = useMemo(() => treePaths.entries.map((entry) => entry.displayPath), [treePaths]);
|
|
1842
|
+
useEffect(() => {
|
|
1843
|
+
if (persistKey) writeViewState(persistKey, { sidebarTrailId: sidebarTrail?.id ?? null });
|
|
1844
|
+
}, [persistKey, sidebarTrail?.id]);
|
|
1838
1845
|
// Alias → component, so the Trails panel can show human hop names instead
|
|
1839
1846
|
// of model-local aliases (and the site/`via` distinction can read).
|
|
1840
1847
|
const componentByAlias = useMemo(
|
|
@@ -2123,13 +2130,14 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2123
2130
|
}
|
|
2124
2131
|
setExpandedTrails(new Set([tl.id]));
|
|
2125
2132
|
setLayoutTrailId(tl.id);
|
|
2133
|
+
onSidebarTrailChange(tl.id);
|
|
2126
2134
|
setFocusedStepIndex(null);
|
|
2127
2135
|
setFocusedTrailId(tl.id);
|
|
2128
2136
|
onTrailSelect?.({ trailId: tl.id });
|
|
2129
2137
|
fitFocusBounds(new Set(tl.steps.map((s) => trailStepGraphEdgeId(s))));
|
|
2130
2138
|
setDrawerTarget((prev) => (prev?.kind === 'trail' ? null : prev));
|
|
2131
2139
|
},
|
|
2132
|
-
[fitFocusBounds, trailStepMode, onTrailSelect],
|
|
2140
|
+
[fitFocusBounds, trailStepMode, onTrailSelect, onSidebarTrailChange],
|
|
2133
2141
|
);
|
|
2134
2142
|
|
|
2135
2143
|
const clearTrailFocus = useCallback(() => {
|
|
@@ -2139,25 +2147,25 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2139
2147
|
}
|
|
2140
2148
|
setExpandedTrails(new Set());
|
|
2141
2149
|
setLayoutTrailId(null);
|
|
2150
|
+
onSidebarTrailChange(null);
|
|
2142
2151
|
setFocusedTrailId(null);
|
|
2143
2152
|
setFocusedStepIndex(null);
|
|
2144
2153
|
setHoveredTrailStep(null);
|
|
2145
2154
|
setDrawerTarget((prev) => (prev?.kind === 'trail' ? null : prev));
|
|
2146
2155
|
onTrailSelect?.(null);
|
|
2147
|
-
}, [onTrailSelect]);
|
|
2156
|
+
}, [onTrailSelect, onSidebarTrailChange]);
|
|
2148
2157
|
|
|
2149
|
-
//
|
|
2158
|
+
// Switching panels keeps the selected trail, but drops transient hover previews.
|
|
2150
2159
|
const filesWereActive = useRef(false);
|
|
2151
2160
|
useEffect(() => {
|
|
2152
2161
|
const enteringFiles = filesActive && !filesWereActive.current;
|
|
2153
2162
|
filesWereActive.current = filesActive;
|
|
2154
2163
|
if (!enteringFiles) return;
|
|
2155
|
-
clearTrailFocus();
|
|
2156
|
-
setExpandedTrails(new Set());
|
|
2164
|
+
if (!sidebarTrail) clearTrailFocus();
|
|
2157
2165
|
setSelectedEdgeId(null);
|
|
2158
|
-
|
|
2166
|
+
setHoveredTrailStep(null);
|
|
2159
2167
|
onTrailStepHover?.(null);
|
|
2160
|
-
}, [filesActive, clearTrailFocus, onTrailStepHover]);
|
|
2168
|
+
}, [filesActive, clearTrailFocus, onTrailStepHover, sidebarTrail]);
|
|
2161
2169
|
|
|
2162
2170
|
// Host deep-link: opening the graph from a trail row selects that
|
|
2163
2171
|
// flow — expand its steps and focus its edges.
|
|
@@ -2195,6 +2203,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2195
2203
|
return;
|
|
2196
2204
|
}
|
|
2197
2205
|
// Toggle: clicking the selected step unselects it (back to whole flow).
|
|
2206
|
+
onSidebarTrailChange(tl.id);
|
|
2198
2207
|
if (focusedTrailId === tl.id && focusedStepIndex === stepIndex) {
|
|
2199
2208
|
setFocusedStepIndex(null);
|
|
2200
2209
|
// Pointer is still over the row — keep hover preview so dimming doesn't
|
|
@@ -2250,6 +2259,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2250
2259
|
renderTrailViewer,
|
|
2251
2260
|
trailStepMode,
|
|
2252
2261
|
onTrailSelect,
|
|
2262
|
+
onSidebarTrailChange,
|
|
2253
2263
|
],
|
|
2254
2264
|
);
|
|
2255
2265
|
|
|
@@ -2705,7 +2715,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2705
2715
|
(description || filesActive || issuesActive || sidebarExtra || sidebarAfterDescription ||
|
|
2706
2716
|
hasTrails);
|
|
2707
2717
|
const sidebarBodyVisible = hasTrails || filesActive || issuesActive;
|
|
2708
|
-
const sidebarTabs: GraphSidebarTab[] | undefined = issuesActive
|
|
2718
|
+
const sidebarTabs: GraphSidebarTab[] | undefined = issuesActive && !sidebarTrail
|
|
2709
2719
|
? agentsPanel
|
|
2710
2720
|
? [
|
|
2711
2721
|
{ id: 'issues', label: 'Issues' },
|
|
@@ -2736,14 +2746,14 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2736
2746
|
</>
|
|
2737
2747
|
);
|
|
2738
2748
|
// Lower panel: diagnostics, the file tree, or the trail flow list.
|
|
2739
|
-
const
|
|
2740
|
-
diagnosticsTab === 'agents' && agentsPanel ? (
|
|
2749
|
+
const sidebarPanel = issuesActive ? (
|
|
2750
|
+
diagnosticsTab === 'agents' && agentsPanel && !sidebarTrail ? (
|
|
2741
2751
|
<SubsystemAgentsPanel {...agentsPanel} />
|
|
2742
2752
|
) : (
|
|
2743
2753
|
<SubsystemIssueList
|
|
2744
|
-
issues={issues
|
|
2754
|
+
issues={sidebarScope.issues}
|
|
2745
2755
|
focusCategory={focusIssueCategory}
|
|
2746
|
-
laneStatus={laneStatus}
|
|
2756
|
+
laneStatus={sidebarTrail ? undefined : laneStatus}
|
|
2747
2757
|
onSelectIssue={focusIssueTarget}
|
|
2748
2758
|
onDeselectIssue={unfocusIssueTarget}
|
|
2749
2759
|
onApplyFix={onApplyIssueFix}
|
|
@@ -2751,22 +2761,26 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2751
2761
|
onExpandedCategoriesChange={handleExpandedCategoriesChange}
|
|
2752
2762
|
/>
|
|
2753
2763
|
)
|
|
2754
|
-
) : filesActive ? (
|
|
2764
|
+
) : filesActive ? treePaths.entries.length === 0 ? (
|
|
2765
|
+
<div style={{ padding: 16, color: theme.colors.textSecondary }}>No files for this trail.</div>
|
|
2766
|
+
) : (
|
|
2755
2767
|
<SubsystemFileTree
|
|
2756
|
-
files={
|
|
2768
|
+
files={treeFilePaths}
|
|
2757
2769
|
selectedFile={openFile ? treePaths.toDisplay.get(openFile) : null}
|
|
2758
2770
|
onSelectFile={(path) => {
|
|
2759
2771
|
const file = treePaths.toFile.get(path);
|
|
2760
2772
|
if (file) onOpenDeclarationFile(file);
|
|
2761
2773
|
}}
|
|
2762
2774
|
/>
|
|
2763
|
-
) :
|
|
2775
|
+
) : null;
|
|
2776
|
+
const trailNavigation = trails && trails.length > 0 ? (
|
|
2764
2777
|
<TrailsPanel
|
|
2765
2778
|
drilldown={trailStepMode !== 'dim'}
|
|
2766
2779
|
trails={trails}
|
|
2767
2780
|
expandedTrails={expandedTrails}
|
|
2768
|
-
focusedTrailId={focusedTrailId}
|
|
2769
|
-
focusedStepIndex={focusedStepIndex}
|
|
2781
|
+
focusedTrailId={sidebarTrail?.id ?? focusedTrailId}
|
|
2782
|
+
focusedStepIndex={!sidebarTrail || focusedTrailId === sidebarTrail.id ? focusedStepIndex : null}
|
|
2783
|
+
detailContent={sidebarPanel}
|
|
2770
2784
|
hoveredTrailStep={hoveredTrailStep}
|
|
2771
2785
|
onToggleCollapsed={toggleTrailCollapsed}
|
|
2772
2786
|
onFocusFlow={focusTrailEdges}
|
|
@@ -2790,6 +2804,9 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
|
|
|
2790
2804
|
onRemoveStepEmphasis={onRemoveStepEmphasis}
|
|
2791
2805
|
/>
|
|
2792
2806
|
) : null;
|
|
2807
|
+
const sidebarBody = sidebarTrail && trailStepMode !== 'dim'
|
|
2808
|
+
? trailNavigation
|
|
2809
|
+
: sidebarPanel ?? trailNavigation;
|
|
2793
2810
|
const fileOverlayView = fileOverlay && (
|
|
2794
2811
|
<div
|
|
2795
2812
|
style={{
|
|
@@ -3385,11 +3402,29 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
|
|
|
3385
3402
|
const wrapRef = useRef<HTMLDivElement>(null);
|
|
3386
3403
|
const [size, setSize] = useState<{ w: number; h: number } | null>(null);
|
|
3387
3404
|
const [filesOpen, setFilesOpen] = useState(false);
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3405
|
+
// Browsing a trail is independent of selecting one of its files or findings.
|
|
3406
|
+
const [sidebarTrailId, setSidebarTrailId] = useState<string | null>(() => {
|
|
3407
|
+
const saved = readViewState(props.persistKey);
|
|
3408
|
+
return saved.sidebarTrailId !== undefined ? saved.sidebarTrailId : saved.focusedTrailId ?? null;
|
|
3409
|
+
});
|
|
3410
|
+
const sidebarScope = useMemo(
|
|
3411
|
+
() => buildTrailSidebarScope(props.components, props.trails, props.issues, sidebarTrailId),
|
|
3412
|
+
[props.components, props.trails, props.issues, sidebarTrailId],
|
|
3391
3413
|
);
|
|
3392
|
-
const
|
|
3414
|
+
const fileCount = sidebarScope.treePaths.entries.length;
|
|
3415
|
+
const trailViewLabel = sidebarScope.trail ? 'Trail' : 'Trails';
|
|
3416
|
+
const hasFiles = fileCount > 0 || sidebarScope.trail != null;
|
|
3417
|
+
const sidebarDiagnostic: SubsystemDiagnostic = sidebarScope.trail ? {
|
|
3418
|
+
...props.diagnostic,
|
|
3419
|
+
status: props.issues == null ? props.diagnostic?.status ?? 'unknown'
|
|
3420
|
+
: sidebarScope.issues.length > 0 ? 'issues' : 'ok',
|
|
3421
|
+
issueCount: sidebarScope.issues.length,
|
|
3422
|
+
fixableCount: sidebarScope.issues.filter((issue) => issue.fix != null).length,
|
|
3423
|
+
title: undefined,
|
|
3424
|
+
} : props.diagnostic ?? { status: 'unknown', issueCount: props.issues?.length };
|
|
3425
|
+
useEffect(() => {
|
|
3426
|
+
if (sidebarTrailId != null && !sidebarScope.trail) setSidebarTrailId(null);
|
|
3427
|
+
}, [sidebarTrailId, sidebarScope.trail]);
|
|
3393
3428
|
const [diagnosticsOpen, setDiagnosticsOpen] = useState<boolean>(
|
|
3394
3429
|
props.showIssues ?? (props.issues?.length ?? 0) > 0,
|
|
3395
3430
|
);
|
|
@@ -3500,13 +3535,13 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
|
|
|
3500
3535
|
>
|
|
3501
3536
|
<button
|
|
3502
3537
|
type="button"
|
|
3503
|
-
aria-label=
|
|
3538
|
+
aria-label={trailViewLabel}
|
|
3504
3539
|
aria-pressed={!filesActive && !issuesActive}
|
|
3505
3540
|
onClick={() => selectSidebarView('trails')}
|
|
3506
3541
|
style={viewButtonStyle(!filesActive && !issuesActive)}
|
|
3507
3542
|
>
|
|
3508
3543
|
<Route size={14} aria-hidden />
|
|
3509
|
-
<span>
|
|
3544
|
+
<span>{trailViewLabel}</span>
|
|
3510
3545
|
</button>
|
|
3511
3546
|
{hasFiles && (
|
|
3512
3547
|
<button
|
|
@@ -3523,7 +3558,7 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
|
|
|
3523
3558
|
</button>
|
|
3524
3559
|
)}
|
|
3525
3560
|
<SubsystemDiagnosticToggle
|
|
3526
|
-
{...
|
|
3561
|
+
{...sidebarDiagnostic}
|
|
3527
3562
|
labelText="Issues"
|
|
3528
3563
|
segmented
|
|
3529
3564
|
active={issuesActive}
|
|
@@ -3552,7 +3587,8 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
|
|
|
3552
3587
|
/>
|
|
3553
3588
|
) : (
|
|
3554
3589
|
<ReactFlowProvider>
|
|
3555
|
-
<Inner {...props} showIssues={issuesActive} filesActive={filesActive} measured={size}
|
|
3590
|
+
<Inner {...props} showIssues={issuesActive} filesActive={filesActive} measured={size}
|
|
3591
|
+
sidebarScope={sidebarScope} onSidebarTrailChange={setSidebarTrailId} />
|
|
3556
3592
|
</ReactFlowProvider>
|
|
3557
3593
|
)}
|
|
3558
3594
|
</div>
|
|
@@ -56,6 +56,28 @@ function renderNav(props: Record<string, unknown>) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
describe('TrailStepsNav', () => {
|
|
59
|
+
test('keeps the selected trail header when files or issues replace the step body', () => {
|
|
60
|
+
let cleared = false;
|
|
61
|
+
const { getByRole, getByText, queryByText } = renderNav({
|
|
62
|
+
trails: TRAILS,
|
|
63
|
+
focusedTrailId: 't1',
|
|
64
|
+
focusedStepIndex: null,
|
|
65
|
+
hoveredTrailStep: null,
|
|
66
|
+
onFocusFlow: () => {},
|
|
67
|
+
onClearFocus: () => { cleared = true; },
|
|
68
|
+
onFocusStep: () => {},
|
|
69
|
+
onHoverStep: () => {},
|
|
70
|
+
onHoverFlow: () => {},
|
|
71
|
+
onLeaveStep: () => {},
|
|
72
|
+
detailContent: createElement('div', null, 'Files for this trail'),
|
|
73
|
+
});
|
|
74
|
+
expect(getByRole('button', { name: 'First flow', exact: true })).toBeTruthy();
|
|
75
|
+
expect(getByText('Files for this trail')).toBeTruthy();
|
|
76
|
+
expect(queryByText('A.go')).toBeNull();
|
|
77
|
+
fireEvent.click(getByRole('button', { name: 'Back to trails' }));
|
|
78
|
+
expect(cleared).toBe(true);
|
|
79
|
+
});
|
|
80
|
+
|
|
59
81
|
test('lists trails with step counts and focuses on click', () => {
|
|
60
82
|
let focused: string | null = null;
|
|
61
83
|
const { getByText, getByRole } = renderNav({
|
|
@@ -54,6 +54,8 @@ export interface TrailStepsNavProps {
|
|
|
54
54
|
listContent?: ReactNode;
|
|
55
55
|
/** Optional step content, for hosts with copy and guidance controls. */
|
|
56
56
|
renderSteps?: (trail: SubsystemTrail) => ReactNode;
|
|
57
|
+
/** Replace the step body without replacing the selected trail's header. */
|
|
58
|
+
detailContent?: ReactNode;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
const PANE: CSSProperties = {
|
|
@@ -80,6 +82,7 @@ export function TrailStepsNav({
|
|
|
80
82
|
transitionMs = 340,
|
|
81
83
|
listContent,
|
|
82
84
|
renderSteps,
|
|
85
|
+
detailContent,
|
|
83
86
|
}: TrailStepsNavProps) {
|
|
84
87
|
const { theme } = useTheme();
|
|
85
88
|
const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
|
|
@@ -285,7 +288,7 @@ export function TrailStepsNav({
|
|
|
285
288
|
<X size={16} strokeWidth={2} />
|
|
286
289
|
</button>
|
|
287
290
|
</div>
|
|
288
|
-
<div
|
|
291
|
+
{detailContent ?? <div
|
|
289
292
|
style={{ flex: 1, minHeight: 0, overflowY: 'auto', padding: '0 0 12px' }}
|
|
290
293
|
onMouseLeave={onLeaveStep}
|
|
291
294
|
>
|
|
@@ -370,7 +373,7 @@ export function TrailStepsNav({
|
|
|
370
373
|
</button>
|
|
371
374
|
);
|
|
372
375
|
})}
|
|
373
|
-
</div>
|
|
376
|
+
</div>}
|
|
374
377
|
</>
|
|
375
378
|
)}
|
|
376
379
|
</div>
|