1 | import { Event, Emitter, WaitUntilEvent } from '../../common/event';
|
2 | import { DisposableCollection } from '../../common/disposable';
|
3 | import { CancellationToken } from '../../common/cancellation';
|
4 | import { ILogger } from '../../common/logger';
|
5 | import { SelectionProvider } from '../../common/selection-service';
|
6 | import { Tree, TreeNode, CompositeTreeNode } from './tree';
|
7 | import { TreeSelectionService, SelectableTreeNode, TreeSelection } from './tree-selection';
|
8 | import { TreeExpansionService, ExpandableTreeNode } from './tree-expansion';
|
9 | import { TreeNavigationService } from './tree-navigation';
|
10 | import { TreeIterator } from './tree-iterator';
|
11 | import { TreeSearch } from './tree-search';
|
12 | import { TreeFocusService } from './tree-focus-service';
|
13 |
|
14 |
|
15 |
|
16 | export declare const TreeModel: unique symbol;
|
17 | export interface TreeModel extends Tree, TreeSelectionService, TreeExpansionService {
|
18 | |
19 |
|
20 |
|
21 |
|
22 | expandNode(node?: Readonly<ExpandableTreeNode>): Promise<Readonly<ExpandableTreeNode> | undefined>;
|
23 | |
24 |
|
25 |
|
26 |
|
27 | collapseNode(node?: Readonly<ExpandableTreeNode>): Promise<boolean>;
|
28 | |
29 |
|
30 |
|
31 |
|
32 | collapseAll(node?: Readonly<CompositeTreeNode>): Promise<boolean>;
|
33 | |
34 |
|
35 |
|
36 |
|
37 | toggleNodeExpansion(node?: Readonly<ExpandableTreeNode>): Promise<void>;
|
38 | |
39 |
|
40 |
|
41 |
|
42 | openNode(node?: Readonly<TreeNode> | undefined): void;
|
43 | |
44 |
|
45 |
|
46 | readonly onOpenNode: Event<Readonly<TreeNode>>;
|
47 | |
48 |
|
49 |
|
50 | selectParent(): void;
|
51 | |
52 |
|
53 |
|
54 |
|
55 |
|
56 | navigateTo(nodeOrId: Readonly<TreeNode> | string | undefined): Promise<TreeNode | undefined>;
|
57 | |
58 |
|
59 |
|
60 | canNavigateForward(): boolean;
|
61 | |
62 |
|
63 |
|
64 | canNavigateBackward(): boolean;
|
65 | |
66 |
|
67 |
|
68 | navigateForward(): Promise<void>;
|
69 | |
70 |
|
71 |
|
72 | navigateBackward(): Promise<void>;
|
73 | |
74 |
|
75 |
|
76 | selectPrevNode(type?: TreeSelection.SelectionType): void;
|
77 | |
78 |
|
79 |
|
80 | getPrevSelectableNode(node?: TreeNode): SelectableTreeNode | undefined;
|
81 | |
82 |
|
83 |
|
84 | selectNextNode(type?: TreeSelection.SelectionType): void;
|
85 | |
86 |
|
87 |
|
88 | getNextSelectableNode(node?: TreeNode): SelectableTreeNode | undefined;
|
89 | |
90 |
|
91 |
|
92 | selectNode(node: Readonly<SelectableTreeNode>): void;
|
93 | |
94 |
|
95 |
|
96 |
|
97 | toggleNode(node: Readonly<SelectableTreeNode>): void;
|
98 | |
99 |
|
100 |
|
101 |
|
102 | selectRange(node: Readonly<SelectableTreeNode>): void;
|
103 | |
104 |
|
105 |
|
106 | getFocusedNode(): SelectableTreeNode | undefined;
|
107 | }
|
108 | export declare class TreeModelImpl implements TreeModel, SelectionProvider<ReadonlyArray<Readonly<SelectableTreeNode>>> {
|
109 | protected readonly logger: ILogger;
|
110 | protected readonly tree: Tree;
|
111 | protected readonly selectionService: TreeSelectionService;
|
112 | protected readonly expansionService: TreeExpansionService;
|
113 | protected readonly navigationService: TreeNavigationService;
|
114 | protected readonly focusService: TreeFocusService;
|
115 | protected readonly treeSearch: TreeSearch;
|
116 | protected readonly onChangedEmitter: Emitter<void>;
|
117 | protected readonly onOpenNodeEmitter: Emitter<TreeNode>;
|
118 | protected readonly toDispose: DisposableCollection;
|
119 | protected init(): void;
|
120 | dispose(): void;
|
121 | protected handleExpansion(node: Readonly<ExpandableTreeNode>): void;
|
122 | |
123 |
|
124 |
|
125 | protected selectIfAncestorOfSelected(node: Readonly<ExpandableTreeNode>): void;
|
126 | get root(): TreeNode | undefined;
|
127 | set root(root: TreeNode | undefined);
|
128 | get onChanged(): Event<void>;
|
129 | get onOpenNode(): Event<TreeNode>;
|
130 | protected fireChanged(): void;
|
131 | get onNodeRefreshed(): Event<Readonly<CompositeTreeNode> & WaitUntilEvent>;
|
132 | getNode(id: string | undefined): TreeNode | undefined;
|
133 | getFocusedNode(): SelectableTreeNode | undefined;
|
134 | validateNode(node: TreeNode | undefined): TreeNode | undefined;
|
135 | refresh(parent?: Readonly<CompositeTreeNode>): Promise<CompositeTreeNode | undefined>;
|
136 | get selectedNodes(): readonly Readonly<SelectableTreeNode>[];
|
137 | get onSelectionChanged(): Event<readonly Readonly<SelectableTreeNode>[]>;
|
138 | get onExpansionChanged(): Event<Readonly<ExpandableTreeNode>>;
|
139 | expandNode(raw?: Readonly<ExpandableTreeNode>): Promise<ExpandableTreeNode | undefined>;
|
140 | protected getExpansionCandidates(raw?: Readonly<TreeNode>): IterableIterator<TreeNode | undefined>;
|
141 | collapseNode(raw?: Readonly<ExpandableTreeNode>): Promise<boolean>;
|
142 | collapseAll(raw?: Readonly<CompositeTreeNode>): Promise<boolean>;
|
143 | toggleNodeExpansion(raw?: Readonly<ExpandableTreeNode>): Promise<void>;
|
144 | selectPrevNode(type?: TreeSelection.SelectionType): void;
|
145 | getPrevSelectableNode(node?: TreeNode | undefined): SelectableTreeNode | undefined;
|
146 | selectNextNode(type?: TreeSelection.SelectionType): void;
|
147 | getNextSelectableNode(node?: TreeNode | undefined): SelectableTreeNode | undefined;
|
148 | protected doGetNextNode<T extends TreeNode>(iterator: TreeIterator, criterion: (node: TreeNode) => node is T): T | undefined;
|
149 | protected isVisibleSelectableNode(node: TreeNode): node is SelectableTreeNode;
|
150 | protected createBackwardIterator(node: TreeNode | undefined): TreeIterator | undefined;
|
151 | protected createIterator(node: TreeNode | undefined): TreeIterator | undefined;
|
152 | protected createForwardIteratorForNode(node: TreeNode): TreeIterator;
|
153 | openNode(raw?: TreeNode | undefined): void;
|
154 | protected doOpenNode(node: TreeNode): void;
|
155 | selectParent(): void;
|
156 | navigateTo(nodeOrId: TreeNode | string | undefined): Promise<TreeNode | undefined>;
|
157 | canNavigateForward(): boolean;
|
158 | canNavigateBackward(): boolean;
|
159 | navigateForward(): Promise<void>;
|
160 | navigateBackward(): Promise<void>;
|
161 | protected doNavigate(node: TreeNode): Promise<void>;
|
162 | addSelection(selectionOrTreeNode: TreeSelection | Readonly<SelectableTreeNode>): void;
|
163 | clearSelection(): void;
|
164 | selectNode(node: Readonly<SelectableTreeNode>): void;
|
165 | toggleNode(node: Readonly<SelectableTreeNode>): void;
|
166 | selectRange(node: Readonly<SelectableTreeNode>): void;
|
167 | storeState(): TreeModelImpl.State;
|
168 | restoreState(state: TreeModelImpl.State): void;
|
169 | get onDidChangeBusy(): Event<TreeNode>;
|
170 | markAsBusy(node: Readonly<TreeNode>, ms: number, token: CancellationToken): Promise<void>;
|
171 | }
|
172 | export declare namespace TreeModelImpl {
|
173 | interface State {
|
174 | selection: object;
|
175 | }
|
176 | }
|
177 | //# sourceMappingURL=tree-model.d.ts.map |
\ | No newline at end of file |