Skip to content

Commit 03a924e

Browse files
authored
Show all stages and not just top column on stage view (#722)
1 parent 074e567 commit 03a924e

File tree

2 files changed

+12
-25
lines changed

2 files changed

+12
-25
lines changed

src/main/frontend/pipeline-graph-view/pipeline-graph/main/PipelineGraph.tsx

+1-19
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {
88
LayoutInfo,
99
NodeColumn,
1010
NodeLabelInfo,
11-
Result,
1211
StageInfo,
1312
} from "./PipelineGraphModel.tsx";
1413
import { GraphConnections } from "./support/connections.tsx";
@@ -90,24 +89,7 @@ export function PipelineGraph(props: Props) {
9089
};
9190

9291
const nodes = nodeColumns.flatMap((column) => {
93-
const topStageState = column.topStage?.state ?? Result.unknown;
94-
95-
return column.rows.flatMap((row) =>
96-
row.map((node) => {
97-
if (
98-
column.topStage &&
99-
"stage" in node &&
100-
node.stage &&
101-
Array.isArray(column.topStage.children) &&
102-
column.topStage.children.includes(node.stage) &&
103-
collapsed
104-
) {
105-
node.stage.state = topStageState;
106-
}
107-
108-
return node;
109-
}),
110-
);
92+
return column.rows.flatMap((row) => row);
11193
});
11294

11395
const outerDivStyle = {

src/main/frontend/pipeline-graph-view/pipeline-graph/main/PipelineGraphLayout.ts

+11-6
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,16 @@ export function layoutGraph(
8080

8181
const middleNodes = nodes.filter((node) => node !== start && node !== end);
8282

83-
const visibleNodes = middleNodes.slice(0, maxColumnsWhenCollapsed);
84-
const hiddenNodes = middleNodes.slice(maxColumnsWhenCollapsed);
83+
const middleStages = middleNodes.flatMap((node) =>
84+
node.rows.flatMap((row) =>
85+
row.flatMap((e) => (e as StageNodeInfo).stage),
86+
),
87+
);
88+
89+
const newMiddleNodes = createNodeColumns(middleStages, collapsed);
90+
91+
const visibleNodes = newMiddleNodes.slice(0, maxColumnsWhenCollapsed);
92+
const hiddenNodes = newMiddleNodes.slice(maxColumnsWhenCollapsed);
8593

8694
const result = [start, ...visibleNodes];
8795

@@ -184,7 +192,7 @@ export function createNodeColumns(
184192

185193
for (const nodeStage of stagesForColumn) {
186194
const rowNodes: Array<NodeInfo> = [];
187-
if (!collapsed && !willRecurse && stageHasChildren(nodeStage)) {
195+
if (!willRecurse && stageHasChildren(nodeStage)) {
188196
column.hasBranchLabels = true;
189197
forEachChildStage(nodeStage, (parentStage, childStage, _) =>
190198
rowNodes.push(makeNodeForStage(childStage, parentStage.name)),
@@ -193,9 +201,6 @@ export function createNodeColumns(
193201
rowNodes.push(makeNodeForStage(nodeStage));
194202
}
195203
column.rows.push(rowNodes);
196-
if (collapsed) {
197-
break;
198-
}
199204
}
200205

201206
nodeColumns.push(column);

0 commit comments

Comments
 (0)