data-source.d.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /**
  2. * Use of this source code is governed by an MIT-style license that can be
  3. * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
  4. */
  5. import { CollectionViewer, DataSource } from '@angular/cdk/collections';
  6. import { FlatTreeControl, TreeControl } from '@angular/cdk/tree';
  7. import { BehaviorSubject, Observable } from 'rxjs';
  8. export declare class NzTreeFlattener<T, F, K = F> {
  9. transformFunction: (node: T, level: number) => F;
  10. getLevel: (node: F) => number;
  11. isExpandable: (node: F) => boolean;
  12. getChildren: (node: T) => Observable<T[]> | T[] | undefined | null;
  13. constructor(transformFunction: (node: T, level: number) => F, getLevel: (node: F) => number, isExpandable: (node: F) => boolean, getChildren: (node: T) => Observable<T[]> | T[] | undefined | null);
  14. private flattenNode;
  15. private flattenChildren;
  16. /**
  17. * Flatten a list of node type T to flattened version of node F.
  18. * Please note that type T may be nested, and the length of `structuredData` may be different
  19. * from that of returned list `F[]`.
  20. */
  21. flattenNodes(structuredData: T[]): F[];
  22. /**
  23. * Expand flattened node with current expansion status.
  24. * The returned list may have different length.
  25. */
  26. expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[];
  27. }
  28. export declare class NzTreeFlatDataSource<T, F, K = F> extends DataSource<F> {
  29. private _treeControl;
  30. private _treeFlattener;
  31. _flattenedData: BehaviorSubject<F[]>;
  32. _expandedData: BehaviorSubject<F[]>;
  33. _data: BehaviorSubject<T[]>;
  34. constructor(_treeControl: FlatTreeControl<F, K>, _treeFlattener: NzTreeFlattener<T, F, K>, initialData?: T[]);
  35. setData(value: T[]): void;
  36. getData(): T[];
  37. connect(collectionViewer: CollectionViewer): Observable<F[]>;
  38. disconnect(): void;
  39. private flatNodes;
  40. }