Fix(tree):allow NestedTreeControl to have null or undefined child (#14601)

This commit is contained in:
vivian-hu
2019-01-03 13:56:35 -08:00
committed by mmalerba
parent fe3ede46d8
commit ebdc873e98
5 changed files with 50 additions and 7 deletions
+4 -4
View File
@@ -1,7 +1,7 @@
export declare abstract class BaseTreeControl<T> implements TreeControl<T> {
dataNodes: T[];
expansionModel: SelectionModel<T>;
getChildren: (dataNode: T) => (Observable<T[]> | T[]);
getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null);
getLevel: (dataNode: T) => number;
isExpandable: (dataNode: T) => boolean;
collapse(dataNode: T): void;
@@ -127,8 +127,8 @@ export declare function getTreeMultipleDefaultNodeDefsError(): Error;
export declare function getTreeNoValidDataSourceError(): Error;
export declare class NestedTreeControl<T> extends BaseTreeControl<T> {
getChildren: (dataNode: T) => (Observable<T[]> | T[]);
constructor(getChildren: (dataNode: T) => (Observable<T[]> | T[]));
getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null);
constructor(getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null));
protected _getDescendants(descendants: T[], dataNode: T): void;
expandAll(): void;
getDescendants(dataNode: T): T[];
@@ -137,7 +137,7 @@ export declare class NestedTreeControl<T> extends BaseTreeControl<T> {
export interface TreeControl<T> {
dataNodes: T[];
expansionModel: SelectionModel<T>;
readonly getChildren: (dataNode: T) => Observable<T[]> | T[];
readonly getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
readonly getLevel: (dataNode: T) => number;
readonly isExpandable: (dataNode: T) => boolean;
collapse(dataNode: T): void;