Skip to content

Commit c643b27

Browse files
BobobUnicornandrewseguin
authored andcommitted
feat(cdk/tree): fix tests
1 parent 3bd68ee commit c643b27

File tree

6 files changed

+8
-60
lines changed

6 files changed

+8
-60
lines changed

src/cdk/tree/nested-node.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,10 @@ export class CdkNestedTreeNode<T, K = T>
6969

7070
ngAfterContentInit() {
7171
this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);
72-
const childAccessor = this._tree._getChildrenAccessor();
73-
if (!childAccessor && (typeof ngDevMode === 'undefined' || ngDevMode)) {
72+
if (!this._tree.treeControl?.getChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {
7473
throw getTreeControlFunctionsMissingError();
7574
}
76-
const childrenNodes = childAccessor!(this.data);
75+
const childrenNodes = this._tree.treeControl!.getChildren(this.data);
7776
if (Array.isArray(childrenNodes)) {
7877
this.updateChildrenNodes(childrenNodes as T[]);
7978
} else if (isObservable(childrenNodes)) {

src/cdk/tree/padding.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,10 @@ export class CdkTreeNodePadding<T, K = T> implements OnDestroy {
8080

8181
/** The padding indent value for the tree node. Returns a string with px numbers if not null. */
8282
_paddingIndent(): string | null {
83-
const levelAccessor = this._tree._getLevelAccessor();
8483
const nodeLevel =
85-
this._treeNode.data && levelAccessor ? levelAccessor(this._treeNode.data) : null;
84+
this._treeNode.data && this._tree.treeControl?.getLevel
85+
? this._tree.treeControl.getLevel(this._treeNode.data)
86+
: null;
8687
const level = this._level == null ? nodeLevel : this._level;
8788
return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;
8889
}

src/cdk/tree/toggle.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ export class CdkTreeNodeToggle<T, K = T> {
3535

3636
_toggle(event: Event): void {
3737
this.recursive
38-
? this._tree.toggleDescendants(this._treeNode.data)
39-
: this._tree.toggle(this._treeNode.data);
38+
? this._tree.treeControl?.toggleDescendants(this._treeNode.data)
39+
: this._tree.treeControl?.toggle(this._treeNode.data);
4040

4141
event.stopPropagation();
4242
}

src/cdk/tree/tree.spec.ts

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,18 +1141,6 @@ describe('CdkTree', () => {
11411141
}
11421142
}).toThrowError(getTreeControlFunctionsMissingError().message);
11431143
}));
1144-
1145-
it('should throw an error when missing function in flat tree', fakeAsync(() => {
1146-
configureCdkTreeTestingModule([FlatCdkErrorTreeApp]);
1147-
expect(() => {
1148-
try {
1149-
TestBed.createComponent(FlatCdkErrorTreeApp).detectChanges();
1150-
flush();
1151-
} catch {
1152-
flush();
1153-
}
1154-
}).toThrowError(getTreeControlFunctionsMissingError().message);
1155-
}));
11561144
});
11571145

11581146
describe('with depth', () => {
@@ -1668,37 +1656,6 @@ class NestedCdkErrorTreeApp {
16681656
@ViewChild(CdkTree) tree: CdkTree<TestData>;
16691657
}
16701658

1671-
class FakeTreeControl extends BaseTreeControl<TestData> {
1672-
getDescendants(_: TestData): TestData[] {
1673-
return this.dataNodes;
1674-
}
1675-
1676-
expandAll(): void {
1677-
// No op
1678-
}
1679-
}
1680-
@Component({
1681-
template: `
1682-
<cdk-tree [dataSource]="dataSource" [treeControl]="treeControl">
1683-
<cdk-tree-node *cdkTreeNodeDef="let node" class="customNodeClass">
1684-
{{node.pizzaTopping}} - {{node.pizzaCheese}} + {{node.pizzaBase}}
1685-
<ng-template cdkTreeNodeOutlet></ng-template>
1686-
</cdk-tree-node>
1687-
</cdk-tree>
1688-
`,
1689-
})
1690-
class FlatCdkErrorTreeApp {
1691-
getLevel = (node: TestData) => node.level;
1692-
1693-
isExpandable = (node: TestData) => node.children.length > 0;
1694-
1695-
treeControl: TreeControl<TestData> = new FakeTreeControl();
1696-
1697-
dataSource: FakeDataSource | null = new FakeDataSource(this.treeControl);
1698-
1699-
@ViewChild(CdkTree) tree: CdkTree<TestData>;
1700-
}
1701-
17021659
@Component({
17031660
template: `
17041661
<cdk-tree [dataSource]="dataArray" [treeControl]="treeControl">

src/cdk/tree/tree.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -448,14 +448,7 @@ export class CdkTreeNode<T, K = T> implements FocusableOption, OnDestroy, OnInit
448448

449449
@Input()
450450
get isExpanded(): boolean {
451-
return this._tree.isExpanded(this._data);
452-
}
453-
set isExpanded(isExpanded: boolean) {
454-
if (isExpanded) {
455-
this._tree.expand(this._data);
456-
} else {
457-
this._tree.collapse(this._data);
458-
}
451+
return !!this._tree.treeControl?.isExpanded(this._data);
459452
}
460453

461454
/**

tools/public_api_guard/cdk/tree.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,6 @@ export class CdkTreeNode<T, K = T> implements FocusableOption, OnDestroy, OnInit
150150
get level(): number;
151151
static mostRecentTreeNode: CdkTreeNode<any> | null;
152152
// (undocumented)
153-
static ngAcceptInputType_recursive: BooleanInput;
154-
// (undocumented)
155153
ngOnDestroy(): void;
156154
// (undocumented)
157155
ngOnInit(): void;

0 commit comments

Comments
 (0)