UNPKG

@difizen/mana-app

Version:

40 lines 2.12 kB
import type { Mutable, Event, CancellationToken } from '@difizen/mana-common'; import { DisposableCollection } from '@difizen/mana-common'; import { Emitter, WaitUntilEvent } from '@difizen/mana-common'; import type { TreeNode } from './tree'; import { Tree, CompositeTreeNode } from './tree'; /** * A default implementation of the tree. */ export declare class TreeImpl implements Tree { protected _root: TreeNode | undefined; protected readonly onChangedEmitter: Emitter<void>; protected readonly onNodeRefreshedEmitter: Emitter<{ children: readonly TreeNode[]; } & TreeNode & WaitUntilEvent>; protected readonly toDispose: DisposableCollection; protected readonly onDidChangeBusyEmitter: Emitter<TreeNode>; readonly onDidChangeBusy: Event<TreeNode>; protected nodes: Record<string, Mutable<TreeNode> | undefined>; constructor(); dispose(): void; get root(): TreeNode | undefined; set root(root: TreeNode | undefined); get onChanged(): Event<void>; protected fireChanged(): void; get onNodeRefreshed(): Event<CompositeTreeNode & WaitUntilEvent>; protected fireNodeRefreshed(parent: CompositeTreeNode): Promise<void>; getNode: (id: string | undefined) => TreeNode | undefined; validateNode: (node: TreeNode | undefined) => TreeNode | undefined; refresh(raw?: CompositeTreeNode): Promise<CompositeTreeNode | undefined>; protected resolveChildren(parent: CompositeTreeNode): Promise<TreeNode[]>; protected setChildren: (parent: CompositeTreeNode, children: TreeNode[]) => Promise<CompositeTreeNode | undefined>; protected removeNode: (node: TreeNode | undefined) => void; protected getRootNode(node: TreeNode): TreeNode; protected addNode(node: TreeNode | undefined): void; markAsBusy(raw: TreeNode, ms: number, token: CancellationToken): Promise<void>; protected doMarkAsBusy(node: Mutable<TreeNode>, ms: number, token: CancellationToken): Promise<void>; protected doSetBusy(node: Mutable<TreeNode>): void; protected doResetBusy(node: Mutable<TreeNode>): void; } //# sourceMappingURL=tree-impl.d.ts.map