@bimeister/pupakit.tree
Version:
PupaKit Tree
37 lines (36 loc) • 1.9 kB
TypeScript
import { Type } from '@angular/core';
import { EventBus } from '@bimeister/event-bus/rxjs';
import { Nullable } from '@bimeister/utilities';
import { Observable } from 'rxjs';
import { TreeEvents } from '../events/tree.events';
import { TreeControllerOptions } from '../interfaces/tree-controller-options.interface';
import { TreeDataDisplayCollectionRef } from '../interfaces/tree-data-display-collection-ref.interface';
import { DefaultTreeEventHandler } from './default-tree-event-handler.class';
import { FlatTreeItem } from './flat-tree-item.class';
import { TreeDataDisplayCollection } from './tree-data-display-collection.class';
import { EventsQueue } from '@bimeister/pupakit.common';
export declare class TreeController {
protected readonly options?: Nullable<TreeControllerOptions>;
readonly eventBus: EventBus;
protected readonly queue: EventsQueue;
protected readonly dataDisplayCollection: TreeDataDisplayCollection;
protected readonly handler: DefaultTreeEventHandler;
constructor(options?: Nullable<TreeControllerOptions>);
protected dispatchInQueue(event: TreeEvents.TreeEventBase): void;
getOptions(): Nullable<TreeControllerOptions>;
setData(data: FlatTreeItem[]): void;
setSelected(...selectedIds: string[]): void;
setLoading(isLoading: boolean): void;
setHasDragAndDrop(hasDragAndDrop?: boolean): void;
getEvents<E extends TreeEvents.TreeEventBase>(eventType: Type<E>): Observable<E>;
getDataDisplayCollectionRef(): TreeDataDisplayCollectionRef;
expand(treeItemId: string): void;
setChildren(treeItemId: string, children: FlatTreeItem[]): void;
removeChildren(treeItemId: string): void;
removeTreeItem(treeItemId: string): void;
setTreeItem(treeItem: FlatTreeItem): void;
scrollTo(treeItemId: string): void;
private setScrollBehavior;
private setTrackBy;
private setTreeItemSizePx;
}