Skip to content

Commit a5a961e

Browse files
committed
CSCFC4EMSCR-616 Change expanding behavior of schema tree
1 parent eb151ec commit a5a961e

File tree

1 file changed

+4
-17
lines changed
  • mscr-ui/src/common/components/schema-info

1 file changed

+4
-17
lines changed

mscr-ui/src/common/components/schema-info/index.tsx

+4-17
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ export default function SchemaInfo(props: {
7171
generatedTree.then((res) => {
7272
if (res) {
7373
setTreeDataOriginal(res);
74-
// Expand tree when data is loaded
75-
setPartlyExpanded();
7674
setTreeData(res);
7775
setTreeDataFetched(true);
7876
setNodeIdToNodeDictionary(nodeIdToShallowNode);
@@ -82,11 +80,6 @@ export default function SchemaInfo(props: {
8280
}
8381
}, [getSchemaDataIsSuccess, getSchemaData]);
8482

85-
// Expand tree when data is loaded
86-
useEffect(() => {
87-
setPartlyExpanded();
88-
}, [isTreeDataFetched]);
89-
9083
// Expand and select nodes when input changed (from mappings accordion)
9184
useEffect(() => {
9285
if (props.treeSelection) {
@@ -108,22 +101,16 @@ export default function SchemaInfo(props: {
108101
setSelectedTreeNodes(selectedNodes);
109102
}, [treeSelectedArray, nodeIdToNodeDictionary]);
110103

111-
const setPartlyExpanded = () => {
104+
const setFullyExpanded = () => {
112105
const nodeIdsToExpand: string[] = [];
113-
treeData.forEach(({ children, id }) => {
114-
if (children && children.length > 0) {
115-
nodeIdsToExpand.push(id);
116-
if (children.length === 1) {
117-
nodeIdsToExpand.push(children[0].id);
118-
}
119-
}
106+
Object.entries(nodeIdToNodeDictionary).map(([nodeId, node]) => {
107+
if (node.some((n) => n.children.length > 0)) nodeIdsToExpand.push(nodeId);
120108
});
121109
setTreeExpandedArray(nodeIdsToExpand);
122110
};
123111

124112
function clearTreeSearch() {
125113
setTreeSelectedArray([]);
126-
setPartlyExpanded();
127114
setSelectedTreeNodes([]);
128115
}
129116

@@ -148,7 +135,7 @@ export default function SchemaInfo(props: {
148135

149136
const handleExpandClick = () => {
150137
if (treeExpandedArray.length === 0) {
151-
setPartlyExpanded();
138+
setFullyExpanded();
152139
} else {
153140
setTreeExpandedArray([]);
154141
}

0 commit comments

Comments
 (0)