Skip to content

Commit 0c8a01e

Browse files
committed
fix(cdk/tree): fix lints
1 parent 2d02f8c commit 0c8a01e

File tree

3 files changed

+47
-14
lines changed

3 files changed

+47
-14
lines changed

src/cdk/tree/tree.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1278,7 +1278,7 @@ describe('CdkTree', () => {
12781278
expect(treeElement.hasAttribute('tabindex')).toBeFalse();
12791279
});
12801280

1281-
fit('sets the tabindex to the first item by default', () => {
1281+
it('sets the tabindex to the first item by default', () => {
12821282
expect(nodes.map(x => x.getAttribute('tabindex')).join(', ')).toEqual('0, -1, -1');
12831283
});
12841284

src/cdk/tree/tree.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ import {
4545
computed,
4646
Signal,
4747
signal,
48-
effect,
4948
ViewChild,
5049
ViewContainerRef,
5150
ViewEncapsulation,
@@ -103,16 +102,16 @@ type RenderingData<T> =
103102
renderNodes: readonly T[];
104103
};
105104

106-
interface TemplateParams<T, K> {
105+
interface RenderNode<T, K> {
107106
context: CdkTreeNodeOutletContext<T>;
108107
template: TemplateRef<CdkTreeNodeOutletContext<T>>;
109108
key: K;
110109
}
111110

112111
class NodeOutletTemplateContext<T, K> {
113-
$implicit: Signal<Array<TemplateParams<T, K>>>;
112+
$implicit: Signal<RenderNode<T, K>[]>;
114113

115-
constructor(nodes: Signal<Array<TemplateParams<T, K>>>) {
114+
constructor(nodes: Signal<RenderNode<T, K>[]>) {
116115
this.$implicit = nodes;
117116
}
118117
}
@@ -129,7 +128,7 @@ class NodeOutletTemplateContext<T, K> {
129128
],
130129
})
131130
export class CdkTreeNodeRenderer<T, K> implements OnInit {
132-
readonly node = input.required<TemplateParams<T, K>>();
131+
readonly node = input.required<RenderNode<T, K>>();
133132

134133
ngOnInit() {
135134
if (CdkTreeNode.mostRecentTreeNode) {
@@ -138,7 +137,11 @@ export class CdkTreeNodeRenderer<T, K> implements OnInit {
138137
}
139138
}
140139

141-
/** @docs-private */
140+
/**
141+
* Invisible component that holds a template to be rendered inside the CdkTreeNodeOutlet.
142+
*
143+
* @docs-private
144+
*/
142145
@Component({
143146
selector: 'cdk-tree-node-outlet-template',
144147
template: `
@@ -154,8 +157,12 @@ export class CdkTreeNodeRenderer<T, K> implements OnInit {
154157
</ng-template>
155158
`,
156159
standalone: true,
157-
styles: [`:host {display: none !important}`],
160+
encapsulation: ViewEncapsulation.None,
161+
changeDetection: ChangeDetectionStrategy.OnPush,
158162
imports: [CdkTreeNodeRenderer],
163+
host: {
164+
'style': 'display: none;',
165+
},
159166
})
160167
export class CdkTreeNodeOutletTemplate<T, K> {
161168
@ViewChild('outletTemplate', {static: true, read: TemplateRef}) _nodeOutletTemplate: TemplateRef<
@@ -377,7 +384,7 @@ export class CdkTree<T, K = T>
377384
return this._renderData()?.flattenedNodes ?? [];
378385
});
379386
private readonly _flatNodesObs = toObservable(this._flattenedNodes);
380-
private readonly _renderNodes = computed((): Array<TemplateParams<T, K>> => {
387+
private readonly _renderNodes = computed((): RenderNode<T, K>[] => {
381388
const nodes = this._renderData()?.renderNodes ?? [];
382389
const levelAccessor = this._getLevelAccessor();
383390
const trackBy = this._trackByFn();
@@ -1426,7 +1433,6 @@ export class CdkTreeNode<T, K = T> implements OnDestroy, OnInit, TreeKeyManagerI
14261433

14271434
constructor() {
14281435
CdkTreeNode.mostRecentTreeNode = this as CdkTreeNode<T, K>;
1429-
console.log(inject(ViewContainerRef));
14301436
}
14311437

14321438
ngOnInit(): void {

tools/public_api_guard/cdk/tree.md

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@ import { DataSource } from '@angular/cdk/collections';
1313
import { ElementRef } from '@angular/core';
1414
import { EventEmitter } from '@angular/core';
1515
import * as i0 from '@angular/core';
16+
import * as i1 from '@angular/common';
1617
import { InjectionToken } from '@angular/core';
18+
import { InputSignal } from '@angular/core';
1719
import { IterableDiffer } from '@angular/core';
1820
import { IterableDiffers } from '@angular/core';
1921
import { Observable } from 'rxjs';
2022
import { OnDestroy } from '@angular/core';
2123
import { OnInit } from '@angular/core';
2224
import { QueryList } from '@angular/core';
2325
import { SelectionModel } from '@angular/cdk/collections';
26+
import { Signal } from '@angular/core';
2427
import { Subject } from 'rxjs';
2528
import { TemplateRef } from '@angular/core';
2629
import { TrackByFunction } from '@angular/core';
@@ -87,7 +90,7 @@ export class CdkTree<T, K = T> implements AfterContentChecked, AfterContentInit,
8790
expand(dataNode: T): void;
8891
expandAll(): void;
8992
expandDescendants(dataNode: T): void;
90-
expansionKey?: (dataNode: T) => K;
93+
readonly expansionKey: InputSignal<((dataNode: T) => K) | undefined>;
9194
_getChildrenAccessor(): ((dataNode: T) => T[] | Observable<T[]> | null | undefined) | undefined;
9295
_getDirectChildren(dataNode: T): Observable<T[]>;
9396
// (undocumented)
@@ -122,7 +125,9 @@ export class CdkTree<T, K = T> implements AfterContentChecked, AfterContentInit,
122125
_setNodeTypeIfUnset(nodeType: 'flat' | 'nested'): void;
123126
toggle(dataNode: T): void;
124127
toggleDescendants(dataNode: T): void;
125-
trackBy: TrackByFunction<T>;
128+
readonly trackBy: InputSignal<TrackByFunction<T> | undefined>;
129+
// (undocumented)
130+
readonly _trackByFn: Signal<TrackByFunction<T>>;
126131
// @deprecated
127132
treeControl?: TreeControl<T, K>;
128133
_unregisterNode(node: CdkTreeNode<T, K>): void;
@@ -131,7 +136,7 @@ export class CdkTree<T, K = T> implements AfterContentChecked, AfterContentInit,
131136
end: number;
132137
}>;
133138
// (undocumented)
134-
static ɵcmp: i0.ɵɵComponentDeclaration<CdkTree<any, any>, "cdk-tree", ["cdkTree"], { "dataSource": { "alias": "dataSource"; "required": false; }; "treeControl": { "alias": "treeControl"; "required": false; }; "levelAccessor": { "alias": "levelAccessor"; "required": false; }; "childrenAccessor": { "alias": "childrenAccessor"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "expansionKey": { "alias": "expansionKey"; "required": false; }; }, {}, ["_nodeDefs"], never, true, never>;
139+
static ɵcmp: i0.ɵɵComponentDeclaration<CdkTree<any, any>, "cdk-tree", ["cdkTree"], { "dataSource": { "alias": "dataSource"; "required": false; }; "treeControl": { "alias": "treeControl"; "required": false; }; "levelAccessor": { "alias": "levelAccessor"; "required": false; }; "childrenAccessor": { "alias": "childrenAccessor"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "expansionKey": { "alias": "expansionKey"; "required": false; "isSignal": true; }; }, {}, ["_nodeDefs"], never, true, never>;
135140
// (undocumented)
136141
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTree<any, any>, never>;
137142
}
@@ -143,7 +148,7 @@ export class CdkTreeModule {
143148
// (undocumented)
144149
static ɵinj: i0.ɵɵInjectorDeclaration<CdkTreeModule>;
145150
// (undocumented)
146-
static ɵmod: i0.ɵɵNgModuleDeclaration<CdkTreeModule, never, [typeof i1.CdkNestedTreeNode, typeof i2.CdkTreeNodeDef, typeof i3.CdkTreeNodePadding, typeof i4.CdkTreeNodeToggle, typeof i5.CdkTree, typeof i5.CdkTreeNode, typeof i6.CdkTreeNodeOutlet], [typeof i1.CdkNestedTreeNode, typeof i2.CdkTreeNodeDef, typeof i3.CdkTreeNodePadding, typeof i4.CdkTreeNodeToggle, typeof i5.CdkTree, typeof i5.CdkTreeNode, typeof i6.CdkTreeNodeOutlet]>;
151+
static ɵmod: i0.ɵɵNgModuleDeclaration<CdkTreeModule, never, [typeof i1_2.CdkNestedTreeNode, typeof i2.CdkTreeNodeDef, typeof i3.CdkTreeNodePadding, typeof i4.CdkTreeNodeToggle, typeof i5.CdkTree, typeof i5.CdkTreeNode, typeof i6.CdkTreeNodeOutlet], [typeof i1_2.CdkNestedTreeNode, typeof i2.CdkTreeNodeDef, typeof i3.CdkTreeNodePadding, typeof i4.CdkTreeNodeToggle, typeof i5.CdkTree, typeof i5.CdkTreeNode, typeof i6.CdkTreeNodeOutlet]>;
147152
}
148153

149154
// @public
@@ -247,6 +252,16 @@ export class CdkTreeNodeOutletContext<T> {
247252
level: number;
248253
}
249254

255+
// @public
256+
export class CdkTreeNodeOutletTemplate<T, K> {
257+
// (undocumented)
258+
_nodeOutletTemplate: TemplateRef<NodeOutletTemplateContext<T, K>>;
259+
// (undocumented)
260+
static ɵcmp: i0.ɵɵComponentDeclaration<CdkTreeNodeOutletTemplate<any, any>, "cdk-tree-node-outlet-template", never, {}, {}, never, never, true, never>;
261+
// (undocumented)
262+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeOutletTemplate<any, any>, never>;
263+
}
264+
250265
// @public
251266
export class CdkTreeNodePadding<T, K = T> implements OnDestroy {
252267
constructor(...args: unknown[]);
@@ -274,6 +289,18 @@ export class CdkTreeNodePadding<T, K = T> implements OnDestroy {
274289
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodePadding<any, any>, never>;
275290
}
276291

292+
// @public
293+
export class CdkTreeNodeRenderer<T, K> implements OnInit {
294+
// (undocumented)
295+
ngOnInit(): void;
296+
// (undocumented)
297+
readonly node: InputSignal<RenderNode<T, K>>;
298+
// (undocumented)
299+
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeRenderer<any, any>, "[cdkTreeNodeRenderer]", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgTemplateOutlet; inputs: { "ngTemplateOutlet": "template"; "ngTemplateOutletContext": "context"; }; outputs: {}; }]>;
300+
// (undocumented)
301+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeRenderer<any, any>, never>;
302+
}
303+
277304
// @public
278305
export class CdkTreeNodeToggle<T, K = T> {
279306
constructor(...args: unknown[]);

0 commit comments

Comments
 (0)