Skip to content

Commit 3219860

Browse files
committed
feat: update openness and height for all nodes, not only updated
1 parent 2f4c914 commit 3219860

File tree

4 files changed

+32
-14
lines changed

4 files changed

+32
-14
lines changed

__tests__/FixedSizeTree.spec.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -291,16 +291,16 @@ describe('FixedSizeTree', () => {
291291
});
292292

293293
it('resets current openness to default', async () => {
294+
const {records} = component.state();
295+
296+
for (const id in records) {
297+
records[id].isOpen = false;
298+
}
299+
294300
// Imitate closing the foo-1 node
295301
component.setState({
296302
order: ['foo-1'],
297-
records: {
298-
...component.state().records,
299-
'foo-1': {
300-
...component.state().records['foo-1'],
301-
isOpen: false,
302-
},
303-
},
303+
records,
304304
});
305305

306306
await treeInstance.recomputeTree({useDefaultOpenness: true});

__tests__/VariableSizeTree.spec.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -323,16 +323,16 @@ describe('VariableSizeTree', () => {
323323
});
324324

325325
it('resets current openness to default', async () => {
326+
const {records} = component.state();
327+
328+
for (const id in records) {
329+
records[id].isOpen = false;
330+
}
331+
326332
// Imitate closing the foo-1 node
327333
component.setState({
328334
order: ['foo-1'],
329-
records: {
330-
...component.state().records,
331-
'foo-1': {
332-
...component.state().records['foo-1'],
333-
isOpen: false,
334-
},
335-
},
335+
records,
336336
});
337337

338338
await treeInstance.recomputeTree({useDefaultOpenness: true});

src/FixedSizeTree.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ export default class FixedSizeTree<T> extends React.PureComponent<
112112
const records = {...prevRecords};
113113
const iter = treeWalker(refreshNodes);
114114

115+
if (useDefaultOpenness) {
116+
for (const id in records) {
117+
records[id].isOpen = records[id].data.isOpenByDefault;
118+
}
119+
}
120+
115121
let isPreviousOpened = false;
116122

117123
while (true) {

src/VariableSizeTree.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,18 @@ export default class VariableSizeTree<T> extends React.PureComponent<
157157
const records = {...prevRecords};
158158
const iter = treeWalker(refreshNodes);
159159

160+
if (useDefaultHeight || useDefaultOpenness) {
161+
for (const id in records) {
162+
if (useDefaultHeight) {
163+
records[id].height = records[id].data.defaultHeight;
164+
}
165+
166+
if (useDefaultOpenness) {
167+
records[id].isOpen = records[id].data.isOpenByDefault;
168+
}
169+
}
170+
}
171+
160172
let isPreviousOpened = false;
161173

162174
while (true) {

0 commit comments

Comments
 (0)