@difizen/mana-app
Version:
40 lines • 2.12 kB
TypeScript
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