Skip to content

Commit 7b7f770

Browse files
authored
Inline TreeNode.onSelect to fix memo (#1049)
1 parent 6d6032e commit 7b7f770

File tree

2 files changed

+5
-13
lines changed

2 files changed

+5
-13
lines changed

src/main/frontend/pipeline-console-view/pipeline-console/main/DataTreeView.tsx

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import "./data-tree-view.scss";
33
import {
44
memo,
55
MouseEvent as ReactMouseEvent,
6-
useCallback,
76
useEffect,
87
useState,
98
} from "react";
@@ -26,13 +25,6 @@ export default function DataTreeView({
2625
const { search, setSearch, visibleStatuses } = useFilter();
2726
const filteredStages = filterStageTree(search, visibleStatuses, stages);
2827

29-
const handleSelect = useCallback(
30-
(event: ReactMouseEvent, nodeId: string) => {
31-
onNodeSelect(event, nodeId);
32-
},
33-
[onNodeSelect],
34-
);
35-
3628
if (stages.length === 1 && stages[0].placeholder) {
3729
return null;
3830
}
@@ -97,7 +89,7 @@ export default function DataTreeView({
9789
key={stage.id}
9890
stage={stage}
9991
selected={String(selected)}
100-
onSelect={handleSelect}
92+
onSelect={onNodeSelect}
10193
/>
10294
))}
10395
</ol>
@@ -164,7 +156,7 @@ const TreeNode = memo(function TreeNode({
164156

165157
history.replaceState({}, "", `?selected-node=` + stage.id);
166158
if (!isSelected) {
167-
onSelect(e, String(stage.id));
159+
onSelect(String(stage.id));
168160
}
169161
setIsExpanded(!isExpanded);
170162
}}
@@ -271,11 +263,11 @@ const filterStageTree = (
271263
interface DataTreeViewProps {
272264
stages: StageInfo[];
273265
selected?: number;
274-
onNodeSelect: (event: ReactMouseEvent, nodeId: string) => void;
266+
onNodeSelect: (nodeId: string) => void;
275267
}
276268

277269
interface TreeNodeProps {
278270
stage: StageInfo;
279271
selected: string;
280-
onSelect: (event: ReactMouseEvent, id: string) => void;
272+
onSelect: (id: string) => void;
281273
}

src/main/frontend/pipeline-console-view/pipeline-console/main/PipelineConsole.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export default function PipelineConsole() {
122122
</div>
123123
) : (
124124
<DataTreeView
125-
onNodeSelect={(_, nodeId) => handleStageSelect(nodeId)}
125+
onNodeSelect={handleStageSelect}
126126
selected={openStage?.id}
127127
stages={stages}
128128
/>

0 commit comments

Comments
 (0)