UNPKG

2.36 kBTypeScriptView Raw
1import { Tree, TreeNode } from './tree';
2import { Event, Emitter } from '../../common';
3import { TreeSelectionState } from './tree-selection-state';
4import { TreeSelectionService, SelectableTreeNode, TreeSelection } from './tree-selection';
5import { TreeFocusService } from './tree-focus-service';
6export declare class TreeSelectionServiceImpl implements TreeSelectionService {
7 protected readonly tree: Tree;
8 protected readonly focusService: TreeFocusService;
9 protected readonly onSelectionChangedEmitter: Emitter<readonly Readonly<SelectableTreeNode>[]>;
10 protected state: TreeSelectionState;
11 protected init(): void;
12 dispose(): void;
13 get selectedNodes(): ReadonlyArray<Readonly<SelectableTreeNode>>;
14 get onSelectionChanged(): Event<ReadonlyArray<Readonly<SelectableTreeNode>>>;
15 protected fireSelectionChanged(): void;
16 addSelection(selectionOrTreeNode: TreeSelection | Readonly<SelectableTreeNode>): void;
17 clearSelection(): void;
18 protected transiteTo(newState: TreeSelectionState, setFocus?: boolean): void;
19 protected unselect(nodes: ReadonlyArray<SelectableTreeNode>): void;
20 protected select(nodes: ReadonlyArray<SelectableTreeNode>): void;
21 protected removeFocus(...nodes: ReadonlyArray<SelectableTreeNode>[]): void;
22 protected addFocus(node: SelectableTreeNode | undefined): void;
23 /**
24 * Returns an array of the difference of two arrays. The returned array contains all elements that are contained by
25 * `left` and not contained by `right`. `right` may also contain elements not present in `left`: these are simply ignored.
26 */
27 protected difference<T>(left: ReadonlyArray<T>, right: ReadonlyArray<T>): ReadonlyArray<T>;
28 /**
29 * Returns a reference to the argument if the node exists in the tree. Otherwise, `undefined`.
30 */
31 protected validateNode(node: Readonly<TreeNode>): Readonly<TreeNode> | undefined;
32 storeState(): TreeSelectionServiceImpl.State;
33 restoreState(state: TreeSelectionServiceImpl.State): void;
34}
35export declare namespace TreeSelectionServiceImpl {
36 interface State {
37 selectionStack: ReadonlyArray<FocusableTreeSelectionState>;
38 }
39 interface FocusableTreeSelectionState {
40 focus?: string;
41 node?: string;
42 type?: TreeSelection.SelectionType;
43 }
44}
45//# sourceMappingURL=tree-selection-impl.d.ts.map
\No newline at end of file