Skip to content

Commit 9d6fb45

Browse files
committed
fix(cdk/tree): fix build errors
1 parent 1b393d6 commit 9d6fb45

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

src/cdk/tree/tree.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,10 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
9494
private _dataSubscription: Subscription | null;
9595

9696
/** Level of nodes */
97-
private _levels: Map<T, number> = new Map<T, number>();
97+
private _levels: Map<K, number> = new Map<K, number>();
9898

9999
/** The immediate parents for a node. This is `null` if there is no parent. */
100-
private _parents: Map<T, T | null> = new Map<T, T | null>();
100+
private _parents: Map<K, T | null> = new Map<K, T | null>();
101101

102102
/**
103103
* The internal node groupings for each node; we use this, primarily for flattened trees, to
@@ -204,9 +204,6 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
204204
new Map<K, CdkTreeNode<T, K>>(),
205205
);
206206

207-
/** The mapping between data nodes and the parent node. `null` if no parent. */
208-
private _parents: Map<K, T | null> = new Map<K, T | null>();
209-
210207
constructor(private _differs: IterableDiffers, private _changeDetectorRef: ChangeDetectorRef) {}
211208

212209
ngOnInit() {
@@ -354,8 +351,8 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
354351
} else if (currentIndex == null) {
355352
viewContainer.remove(adjustedPreviousIndex!);
356353
const group = this._getNodeGroup(item.item);
357-
this._levels.delete(item.item);
358-
this._parents.delete(item.item);
354+
this._levels.delete(this._getExpansionKey(item.item));
355+
this._parents.delete(this._getExpansionKey(item.item));
359356
group.splice(group.indexOf(item.item), 1);
360357
} else {
361358
const view = viewContainer.get(adjustedPreviousIndex!);
@@ -404,21 +401,24 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
404401
const levelAccessor = this._getLevelAccessor();
405402
if (levelAccessor) {
406403
context.level = levelAccessor(nodeData);
407-
} else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {
408-
context.level = this._levels.get(parentData)! + 1;
404+
} else if (
405+
typeof parentData !== 'undefined' &&
406+
this._levels.has(this._getExpansionKey(parentData))
407+
) {
408+
context.level = this._levels.get(this._getExpansionKey(parentData))! + 1;
409409
} else {
410410
context.level = 0;
411411
}
412-
this._levels.set(nodeData, context.level);
412+
this._levels.set(this._getExpansionKey(nodeData), context.level);
413413
const parent = parentData ?? this._findParentForNode(nodeData, index);
414-
this._parents.set(nodeData, parent);
414+
this._parents.set(this._getExpansionKey(nodeData), parent);
415415

416416
// Determine where to insert this new node into the group, then insert it.
417417
// We do this by looking at the previous node in our flattened node list. If it's in the same
418418
// group, we place the current node after. Otherwise, we place it at the start of the group.
419419
const currentGroup = this._groups.get(context.level) ?? new Map<T | null, T[]>();
420420
const group = currentGroup.get(parent) ?? [];
421-
const previousNode = this._dataNodes?.[index - 1];
421+
const previousNode = this._dataNodes.value?.[index - 1];
422422
const groupInsertionIndex = (previousNode && group.indexOf(previousNode) + 1) ?? 0;
423423
group.splice(groupInsertionIndex, 0, nodeData);
424424
currentGroup.set(parent, group);
@@ -627,13 +627,13 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
627627
this._nodes.next(this._nodes.value);
628628
}
629629

630+
/**
631+
* For the given node, determine the level where this node appears in the tree.
632+
*
633+
* This is intended to be used for `aria-level` but is 0-indexed.
634+
*/
630635
_getLevel(node: T) {
631-
return this._levels.get(node);
632-
}
633-
634-
_getPositionInSet(dataNode: T) {
635-
const group = this._getNodeGroup(dataNode);
636-
return group.indexOf(dataNode) + 1;
636+
return this._levels.get(this._getExpansionKey(node));
637637
}
638638

639639
/**
@@ -752,8 +752,8 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
752752
}
753753

754754
private _getNodeGroup(node: T) {
755-
const level = this._levels.get(node);
756-
const parent = this._parents.get(node);
755+
const level = this._levels.get(this._getExpansionKey(node));
756+
const parent = this._parents.get(this._getExpansionKey(node));
757757
const group = this._groups.get(level ?? 0)?.get(parent ?? null);
758758
return group ?? [node];
759759
}
@@ -765,10 +765,10 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
765765
if (!this._dataNodes) {
766766
return null;
767767
}
768-
const currentLevel = this._levels.get(node) ?? 0;
768+
const currentLevel = this._levels.get(this._getExpansionKey(node)) ?? 0;
769769
for (let parentIndex = index; parentIndex >= 0; parentIndex--) {
770-
const parentNode = this._dataNodes[parentIndex];
771-
const parentLevel = this._levels.get(parentNode) ?? 0;
770+
const parentNode = this._dataNodes.value[parentIndex];
771+
const parentLevel = this._levels.get(this._getExpansionKey(parentNode)) ?? 0;
772772

773773
if (parentLevel < currentLevel) {
774774
return parentNode;

0 commit comments

Comments
 (0)