bug(MatTree): padding is not recomputed when moving a node inside/outside an expandable node
Opened this issue · 4 comments
Is this a regression?
- Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
No response
Description
As TreeControl
is deprecated, I started migrating to the latest API using childrenAccessor
. So far so good, except for one case not working any more.
I'm using matTreeNodePadding
and matTreeNodePaddingIndent
on <mat-tree-node>
. When I move a node inside/outside of an expandable node, padding is not recomputed as-is.
Expanding/collapsing the parent node in which the node was moved, will recompute its padding though.
Reproduction
Minimal example on Stackblitz.
Steps to reproduce:
- Open link
- Open preview in a new tab
- Open both folders (
/
andhome
) - Follow instructions to move a node outside its parent node
dataSource
is updated with a new array, using the same items. Can it be a source of error? Should the entire tree be cloned somehow, to trigger changes detection down to padding computation?
Expected Behavior
When a node is moved inside/outside of an expandable node (level is changed), padding should be recomputed based on the new level of the node.
Actual Behavior
Padding of the node is not updated when moving the node inside/outside of an expandable node.
Environment
- Angular: 18.2.10
- CDK/Material: 18.2.11
- Browser(s): Firefox / Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Windows
Hi @poirierlouis, would you be able to provide a stackblitz example of this issue? It is difficult to debug this only from the code & video you shared.
Hi @wagnermaciel thanks for the quick answer. Yes I'll try and write an example to reproduce this issue.
@wagnermaciel , I could definitely reproduce this issue, see Stackblitz example. I also updated the ticket.
@BobobUnicorn Is this resolved by #29751?