@difizen/mana-app
Version:
38 lines • 1.68 kB
TypeScript
import type { Disposable } from '@difizen/mana-common';
import { DisposableCollection } from '@difizen/mana-common';
import type { TreeNode } from '../tree';
import { TreeDecoratorService } from '../tree-decorator';
import { TreeModel } from '../tree-model';
import type { TreeProps } from '../tree-protocol';
import { TreeViewDecorationData } from '../tree-view-decoration';
export declare class TreeViewDecorator implements Disposable {
decorations: Map<string, TreeViewDecorationData[]>;
protected toDispose: DisposableCollection;
protected readonly decoratorService: TreeDecoratorService;
readonly model: TreeModel;
protected readonly props: TreeProps;
constructor(decoratorService: TreeDecoratorService, model: TreeModel, props: TreeProps);
protected init(): void;
dispose(): void;
/**
* Update tree decorations.
* - Updating decorations are debounced in order to limit the number of expensive updates.
*/
readonly updateDecorations: () => Promise<void> | undefined;
protected doUpdateDecorations(): Promise<void>;
/**
* Get the tree decoration data for the given key.
* @param node the tree node.
* @param key the tree decoration data key.
*
* @returns the tree decoration data at the given key.
*/
getDecorationData<K extends keyof TreeViewDecorationData>(node: TreeNode, key: K): TreeViewDecorationData[K][];
/**
* Get the tree node decorations.
* @param node the tree node.
* @returns the list of tree decoration data.
*/
protected getDecorations(node: TreeNode): TreeViewDecorationData[];
}
//# sourceMappingURL=tree-view-decorator.d.ts.map