1 | import { Tree, TreeNode } from './tree';
|
2 | import { Event, Emitter } from '../../common';
|
3 | import { TreeSelectionState } from './tree-selection-state';
|
4 | import { TreeSelectionService, SelectableTreeNode, TreeSelection } from './tree-selection';
|
5 | import { TreeFocusService } from './tree-focus-service';
|
6 | export 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 |
|
25 |
|
26 |
|
27 | protected difference<T>(left: ReadonlyArray<T>, right: ReadonlyArray<T>): ReadonlyArray<T>;
|
28 | |
29 |
|
30 |
|
31 | protected validateNode(node: Readonly<TreeNode>): Readonly<TreeNode> | undefined;
|
32 | storeState(): TreeSelectionServiceImpl.State;
|
33 | restoreState(state: TreeSelectionServiceImpl.State): void;
|
34 | }
|
35 | export 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 |
|
\ | No newline at end of file |