@theia/plugin-ext 1.34.0 → 1.34.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,19 +15,269 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TabsMainImp = void 0;
19
- class TabsMainImp {
20
- constructor(rpc, container) { }
18
+ exports.TabsMainImpl = void 0;
19
+ const browser_1 = require("@theia/core/lib/browser");
20
+ const plugin_api_rpc_1 = require("../../../common/plugin-api-rpc");
21
+ const editor_preview_widget_1 = require("@theia/editor-preview/lib/browser/editor-preview-widget");
22
+ const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
23
+ const monaco_diff_editor_1 = require("@theia/monaco/lib/browser/monaco-diff-editor");
24
+ const hierarchy_types_converters_1 = require("../hierarchy/hierarchy-types-converters");
25
+ const terminal_widget_1 = require("@theia/terminal/lib/browser/base/terminal-widget");
26
+ const core_1 = require("@theia/core");
27
+ class TabsMainImpl {
28
+ constructor(rpc, container) {
29
+ this.tabGroupModel = new Map();
30
+ this.tabInfoLookup = new Map();
31
+ this.disposableTabBarListeners = new core_1.DisposableCollection();
32
+ this.toDisposeOnDestroy = new core_1.DisposableCollection();
33
+ this.groupIdCounter = 0;
34
+ this.tabGroupChanged = false;
35
+ this.proxy = rpc.getProxy(plugin_api_rpc_1.MAIN_RPC_CONTEXT.TABS_EXT);
36
+ this.applicationShell = container.get(browser_1.ApplicationShell);
37
+ this.createTabsModel();
38
+ const tabBars = this.applicationShell.mainPanel.tabBars();
39
+ for (let tabBar; tabBar = tabBars.next();) {
40
+ this.attachListenersToTabBar(tabBar);
41
+ }
42
+ this.toDisposeOnDestroy.push(this.applicationShell.mainPanelRenderer.onDidCreateTabBar(tabBar => {
43
+ this.attachListenersToTabBar(tabBar);
44
+ this.onTabGroupCreated(tabBar);
45
+ }));
46
+ this.connectToSignal(this.toDisposeOnDestroy, this.applicationShell.mainPanel.widgetAdded, (mainPanel, widget) => {
47
+ if (this.tabGroupChanged || this.tabGroupModel.size === 0) {
48
+ this.tabGroupChanged = false;
49
+ this.createTabsModel();
50
+ // tab Open event is done in backend
51
+ }
52
+ else {
53
+ const tabBar = mainPanel.findTabBar(widget.title);
54
+ const oldTabInfo = this.tabInfoLookup.get(widget.title);
55
+ const group = this.tabGroupModel.get(tabBar);
56
+ if (group !== (oldTabInfo === null || oldTabInfo === void 0 ? void 0 : oldTabInfo.group)) {
57
+ if (oldTabInfo) {
58
+ this.onTabClosed(oldTabInfo, widget.title);
59
+ }
60
+ this.onTabCreated(tabBar, { index: tabBar.titles.indexOf(widget.title), title: widget.title });
61
+ }
62
+ }
63
+ });
64
+ this.connectToSignal(this.toDisposeOnDestroy, this.applicationShell.mainPanel.widgetRemoved, (mainPanel, widget) => {
65
+ if (!(widget instanceof browser_1.TabBar)) {
66
+ const tabInfo = this.getOrRebuildModel(this.tabInfoLookup, widget.title);
67
+ this.onTabClosed(tabInfo, widget.title);
68
+ if (this.tabGroupChanged) {
69
+ this.tabGroupChanged = false;
70
+ this.createTabsModel();
71
+ }
72
+ }
73
+ });
74
+ }
75
+ createTabsModel() {
76
+ var _a, _b;
77
+ const newTabGroupModel = new Map();
78
+ this.tabInfoLookup.clear();
79
+ this.disposableTabBarListeners.dispose();
80
+ this.applicationShell.mainAreaTabBars.forEach(tabBar => {
81
+ this.attachListenersToTabBar(tabBar);
82
+ const groupDto = this.createTabGroupDto(tabBar);
83
+ tabBar.titles.forEach((title, index) => this.tabInfoLookup.set(title, { group: groupDto, tab: groupDto.tabs[index], tabIndex: index }));
84
+ newTabGroupModel.set(tabBar, groupDto);
85
+ });
86
+ if (newTabGroupModel.size > 0 && Array.from(newTabGroupModel.values()).indexOf(this.currentActiveGroup) < 0) {
87
+ this.currentActiveGroup = (_b = (_a = this.tabInfoLookup.get(this.applicationShell.mainPanel.currentTitle)) === null || _a === void 0 ? void 0 : _a.group) !== null && _b !== void 0 ? _b : newTabGroupModel.values().next().value;
88
+ this.currentActiveGroup.isActive = true;
89
+ }
90
+ this.tabGroupModel = newTabGroupModel;
91
+ this.proxy.$acceptEditorTabModel(Array.from(this.tabGroupModel.values()));
92
+ }
93
+ createTabDto(tabTitle, groupId) {
94
+ const widget = tabTitle.owner;
95
+ return {
96
+ id: this.createTabId(tabTitle, groupId),
97
+ label: tabTitle.label,
98
+ input: this.evaluateTabDtoInput(widget),
99
+ isActive: tabTitle.owner.isVisible,
100
+ isPinned: tabTitle.className.includes(browser_1.PINNED_CLASS),
101
+ isDirty: browser_1.Saveable.isDirty(widget),
102
+ isPreview: widget instanceof editor_preview_widget_1.EditorPreviewWidget && widget.isPreview
103
+ };
104
+ }
105
+ createTabId(tabTitle, groupId) {
106
+ return `${groupId}~${tabTitle.owner.id}`;
107
+ }
108
+ createTabGroupDto(tabBar) {
109
+ var _a;
110
+ const oldDto = this.tabGroupModel.get(tabBar);
111
+ const groupId = (_a = oldDto === null || oldDto === void 0 ? void 0 : oldDto.groupId) !== null && _a !== void 0 ? _a : this.groupIdCounter++;
112
+ const tabs = tabBar.titles.map(title => this.createTabDto(title, groupId));
113
+ return {
114
+ groupId,
115
+ tabs,
116
+ isActive: false,
117
+ viewColumn: 1
118
+ };
119
+ }
120
+ attachListenersToTabBar(tabBar) {
121
+ if (!tabBar) {
122
+ return;
123
+ }
124
+ tabBar.titles.forEach(title => {
125
+ this.connectToSignal(this.disposableTabBarListeners, title.changed, this.onTabTitleChanged);
126
+ });
127
+ this.connectToSignal(this.disposableTabBarListeners, tabBar.tabMoved, this.onTabMoved);
128
+ this.connectToSignal(this.disposableTabBarListeners, tabBar.disposed, this.onTabGroupClosed);
129
+ }
130
+ evaluateTabDtoInput(widget) {
131
+ if (widget instanceof editor_preview_widget_1.EditorPreviewWidget) {
132
+ if (widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor) {
133
+ return {
134
+ kind: 2 /* TextDiffInput */,
135
+ original: (0, hierarchy_types_converters_1.toUriComponents)(widget.editor.originalModel.uri),
136
+ modified: (0, hierarchy_types_converters_1.toUriComponents)(widget.editor.modifiedModel.uri)
137
+ };
138
+ }
139
+ else {
140
+ return {
141
+ kind: 1 /* TextInput */,
142
+ uri: (0, hierarchy_types_converters_1.toUriComponents)(widget.editor.uri.toString())
143
+ };
144
+ }
145
+ // TODO notebook support when implemented
146
+ }
147
+ else if (widget instanceof browser_1.ViewContainer) {
148
+ return {
149
+ kind: 7 /* WebviewEditorInput */,
150
+ viewType: widget.id
151
+ };
152
+ }
153
+ else if (widget instanceof terminal_widget_1.TerminalWidget) {
154
+ return {
155
+ kind: 8 /* TerminalEditorInput */
156
+ };
157
+ }
158
+ return { kind: 0 /* UnknownInput */ };
159
+ }
160
+ connectToSignal(disposableList, signal, listener) {
161
+ signal.connect(listener, this);
162
+ disposableList.push(vscode_languageserver_protocol_1.Disposable.create(() => signal.disconnect(listener)));
163
+ }
164
+ tabDtosEqual(a, b) {
165
+ return a.isActive === b.isActive &&
166
+ a.isDirty === b.isDirty &&
167
+ a.isPinned === b.isPinned &&
168
+ a.isPreview === b.isPreview &&
169
+ a.id === b.id;
170
+ }
171
+ getOrRebuildModel(map, key) {
172
+ // something broke so we rebuild the model
173
+ let item = map.get(key);
174
+ if (!item) {
175
+ this.createTabsModel();
176
+ item = map.get(key);
177
+ }
178
+ return item;
179
+ }
180
+ // #region event listeners
181
+ onTabCreated(tabBar, args) {
182
+ const group = this.getOrRebuildModel(this.tabGroupModel, tabBar);
183
+ this.connectToSignal(this.disposableTabBarListeners, args.title.changed, this.onTabTitleChanged);
184
+ const tabDto = this.createTabDto(args.title, group.groupId);
185
+ this.tabInfoLookup.set(args.title, { group, tab: tabDto, tabIndex: args.index });
186
+ group.tabs.splice(args.index, 0, tabDto);
187
+ this.proxy.$acceptTabOperation({
188
+ kind: 0 /* TAB_OPEN */,
189
+ index: args.index,
190
+ tabDto,
191
+ groupId: group.groupId
192
+ });
193
+ }
194
+ onTabTitleChanged(title) {
195
+ const tabInfo = this.getOrRebuildModel(this.tabInfoLookup, title);
196
+ if (!tabInfo) {
197
+ return;
198
+ }
199
+ const oldTabDto = tabInfo.tab;
200
+ const newTabDto = this.createTabDto(title, tabInfo.group.groupId);
201
+ if (newTabDto.isActive && !tabInfo.group.isActive) {
202
+ tabInfo.group.isActive = true;
203
+ this.currentActiveGroup.isActive = false;
204
+ this.currentActiveGroup = tabInfo.group;
205
+ this.proxy.$acceptTabGroupUpdate(tabInfo.group);
206
+ }
207
+ if (!this.tabDtosEqual(oldTabDto, newTabDto)) {
208
+ tabInfo.group.tabs[tabInfo.tabIndex] = newTabDto;
209
+ tabInfo.tab = newTabDto;
210
+ this.proxy.$acceptTabOperation({
211
+ kind: 2 /* TAB_UPDATE */,
212
+ index: tabInfo.tabIndex,
213
+ tabDto: newTabDto,
214
+ groupId: tabInfo.group.groupId
215
+ });
216
+ }
217
+ }
218
+ onTabClosed(tabInfo, title) {
219
+ tabInfo.group.tabs.splice(tabInfo.tabIndex, 1);
220
+ this.tabInfoLookup.delete(title);
221
+ this.proxy.$acceptTabOperation({
222
+ kind: 1 /* TAB_CLOSE */,
223
+ index: tabInfo.tabIndex,
224
+ tabDto: this.createTabDto(title, tabInfo.group.groupId),
225
+ groupId: tabInfo.group.groupId
226
+ });
227
+ }
228
+ onTabMoved(tabBar, args) {
229
+ const tabInfo = this.getOrRebuildModel(this.tabInfoLookup, args.title);
230
+ tabInfo.tabIndex = args.toIndex;
231
+ const tabDto = this.createTabDto(args.title, tabInfo.group.groupId);
232
+ tabInfo.group.tabs.splice(args.fromIndex, 1);
233
+ tabInfo.group.tabs.splice(args.toIndex, 0, tabDto);
234
+ this.proxy.$acceptTabOperation({
235
+ kind: 3 /* TAB_MOVE */,
236
+ index: args.toIndex,
237
+ tabDto,
238
+ groupId: tabInfo.group.groupId,
239
+ oldIndex: args.fromIndex
240
+ });
241
+ }
242
+ onTabGroupCreated(tabBar) {
243
+ this.tabGroupChanged = true;
244
+ }
245
+ onTabGroupClosed(tabBar) {
246
+ this.tabGroupChanged = true;
247
+ }
248
+ // #endregion
21
249
  // #region Messages received from Ext Host
22
250
  $moveTab(tabId, index, viewColumn, preserveFocus) {
23
251
  return;
24
252
  }
25
253
  async $closeTab(tabIds, preserveFocus) {
26
- return false;
254
+ const widgets = [];
255
+ for (const tabId of tabIds) {
256
+ const cleanedId = tabId.substring(tabId.indexOf('~') + 1);
257
+ const widget = this.applicationShell.getWidgetById(cleanedId);
258
+ if (widget) {
259
+ widgets.push(widget);
260
+ }
261
+ }
262
+ await this.applicationShell.closeMany(widgets);
263
+ return true;
27
264
  }
28
265
  async $closeGroup(groupIds, preserveFocus) {
29
- return false;
266
+ for (const groupId of groupIds) {
267
+ tabGroupModel: for (const [bar, groupDto] of this.tabGroupModel) {
268
+ if (groupDto.groupId === groupId) {
269
+ this.applicationShell.closeTabs(bar);
270
+ break tabGroupModel;
271
+ }
272
+ }
273
+ }
274
+ return true;
275
+ }
276
+ // #endregion
277
+ dispose() {
278
+ this.toDisposeOnDestroy.dispose();
279
+ this.disposableTabBarListeners.dispose();
30
280
  }
31
281
  }
32
- exports.TabsMainImp = TabsMainImp;
282
+ exports.TabsMainImpl = TabsMainImpl;
33
283
  //# sourceMappingURL=tabs-main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-main.js","sourceRoot":"","sources":["../../../../src/main/browser/tabs/tabs-main.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAOhF,MAAa,WAAW;IAEpB,YACI,GAAgB,EAChB,SAA+B,IAChC,CAAC;IAEJ,0CAA0C;IAC1C,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,UAAkB,EAAE,aAAuB;QAC9E,OAAO;IACX,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAgB,EAAE,aAAuB;QACrD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,aAAuB;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AApBD,kCAoBC"}
1
+ {"version":3,"file":"tabs-main.js","sourceRoot":"","sources":["../../../../src/main/browser/tabs/tabs-main.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/plugin/tabs.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAA8B,WAAW,EAAuC,YAAY,EAAE,OAAO,EAAY,MAAM,0BAA0B,CAAC;AAmOzJ,qBAAa,WAAY,YAAW,OAAO;IAc3B,QAAQ,CAAC,GAAG,EAAE,WAAW;IAbrC,SAAiB,aAAa,EAAE,SAAS,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4C;IAGjF,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,SAAS,CAA8B;gBAE1B,GAAG,EAAE,WAAW;IAIrC,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,CAyC/B;IAED,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;IA4BrD,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAYlD,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAkClD,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,2BAA2B;YAIrB,UAAU;YAYV,YAAY;CAW7B"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/plugin/tabs.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAA8B,WAAW,EAAuC,YAAY,EAAE,OAAO,EAAY,MAAM,0BAA0B,CAAC;AAmOzJ,qBAAa,WAAY,YAAW,OAAO;IAc3B,QAAQ,CAAC,GAAG,EAAE,WAAW;IAbrC,SAAiB,aAAa,EAAE,SAAS,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4C;IAGjF,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,SAAS,CAA8B;gBAE1B,GAAG,EAAE,WAAW;IAIrC,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,CAiC/B;IAED,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;IAgCrD,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAYlD,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAkClD,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,2BAA2B;YAIrB,UAAU;YAYV,YAAY;CAW7B"}
@@ -232,14 +232,6 @@ class TabsExtImpl {
232
232
  return this._closeTabs(tabsOrTabGroups, preserveFocus);
233
233
  }
234
234
  },
235
- // move: async (tab: theia.Tab, viewColumn: ViewColumn, index: number, preserveFocus?: boolean) => {
236
- // const extHostTab = this._findExtHostTabFromApi(tab);
237
- // if (!extHostTab) {
238
- // throw new Error('Invalid tab');
239
- // }
240
- // this._proxy.$moveTab(extHostTab.tabId, index, typeConverters.ViewColumn.from(viewColumn), preserveFocus);
241
- // return;
242
- // }
243
235
  };
244
236
  this.apiObject = Object.freeze(obj);
245
237
  }
@@ -253,22 +245,27 @@ class TabsExtImpl {
253
245
  const closed = this.tabGroupArr.filter(group => diff.removed.includes(group.groupId)).map(group => group.apiObject);
254
246
  const opened = [];
255
247
  const changed = [];
248
+ const tabsOpened = [];
256
249
  this.tabGroupArr = tabGroups.map(tabGroup => {
257
250
  const group = new TabGroupExt(tabGroup, () => this.activeGroupId);
258
251
  if (diff.added.includes(group.groupId)) {
259
- opened.push(group.apiObject);
252
+ opened.push({ activeTab: undefined, isActive: group.apiObject.isActive, tabs: [], viewColumn: group.apiObject.viewColumn });
253
+ tabsOpened.push(...group.apiObject.tabs);
260
254
  }
261
255
  else {
262
256
  changed.push(group.apiObject);
263
257
  }
264
258
  return group;
265
259
  });
266
- // Set the active tab group id
267
- const activeTabGroupId = (0, types_1.assertIsDefined)((_a = tabGroups.find(group => group.isActive === true)) === null || _a === void 0 ? void 0 : _a.groupId);
268
- if (activeTabGroupId !== undefined && this.activeGroupId !== activeTabGroupId) {
269
- this.activeGroupId = activeTabGroupId;
260
+ // Set the active tab group id. skip if no tabgroups are open
261
+ if (tabGroups.length > 0) {
262
+ const activeTabGroupId = (0, types_1.assertIsDefined)((_a = tabGroups.find(group => group.isActive === true)) === null || _a === void 0 ? void 0 : _a.groupId);
263
+ if (this.activeGroupId !== activeTabGroupId) {
264
+ this.activeGroupId = activeTabGroupId;
265
+ }
270
266
  }
271
267
  this.onDidChangeTabGroups.fire(Object.freeze({ opened, closed, changed }));
268
+ this.onDidChangeTabs.fire({ opened: tabsOpened, changed: [], closed: [] });
272
269
  }
273
270
  $acceptTabGroupUpdate(groupDto) {
274
271
  const group = this.tabGroupArr.find(tabGroup => tabGroup.groupId === groupDto.groupId);
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/plugin/tabs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/plugin/tabs.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare class TreeViewsExtImpl implements TreeViewsExt {
13
13
  constructor(rpc: RPCProtocol, commandRegistry: CommandRegistryImpl);
14
14
  $dragStarted(treeViewId: string, treeItemIds: string[], token: CancellationToken): Promise<UriComponents[] | undefined>;
15
15
  $drop(treeViewId: string, treeItemId: string | undefined, dataTransferItems: [string, string | DataTransferFileDTO][], token: CancellationToken): Promise<void>;
16
- protected toTreeItem(treeViewItemRef: TreeViewItemReference): any;
16
+ protected toTreeElement(treeViewItemRef: TreeViewItemReference): any;
17
17
  registerTreeDataProvider<T>(plugin: Plugin, treeViewId: string, treeDataProvider: TreeDataProvider<T>): PluginDisposable;
18
18
  createTreeView<T>(plugin: Plugin, treeViewId: string, options: TreeViewOptions<T>): TreeView<T>;
19
19
  $getChildren(treeViewId: string, treeItemId: string): Promise<TreeViewItem[] | undefined>;
@@ -30,6 +30,9 @@ declare class TreeViewExtImpl<T> implements Disposable {
30
30
  private options;
31
31
  private proxy;
32
32
  readonly commandsConverter: CommandsConverter;
33
+ private static readonly ID_COMPUTED;
34
+ private static readonly ID_ITEM;
35
+ private nextItemId;
33
36
  private readonly onDidExpandElementEmitter;
34
37
  readonly onDidExpandElement: import("@theia/core/lib/common/event").Event<TreeViewExpansionEvent<T>>;
35
38
  private readonly onDidCollapseElementEmitter;
@@ -54,7 +57,7 @@ declare class TreeViewExtImpl<T> implements Disposable {
54
57
  private _description;
55
58
  get description(): string;
56
59
  set description(description: string);
57
- getTreeItem(treeItemId: string): T | undefined;
60
+ getElement(treeItemId: string): T | undefined;
58
61
  /**
59
62
  * calculate the chain of node ids from root to element so that the frontend can expand all of them and reveal element.
60
63
  * this is needed as the frontend may not have the full tree nodes.
@@ -67,7 +70,7 @@ declare class TreeViewExtImpl<T> implements Disposable {
67
70
  private calculateRevealParentChain;
68
71
  private getTreeItemLabel;
69
72
  private getTreeItemLabelHighlights;
70
- private getTreeItemIdLabel;
73
+ private getItemLabel;
71
74
  private buildTreeItemId;
72
75
  getChildren(parentId: string): Promise<TreeViewItem[] | undefined>;
73
76
  private clearChildren;
@@ -1 +1 @@
1
- {"version":3,"file":"tree-views.d.ts","sourceRoot":"","sources":["../../../src/plugin/tree/tree-views.ts"],"names":[],"mappings":"AAkBA,OAAO,EACH,gBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAClD,4BAA4B,EAAE,6BAA6B,EAAE,iBAAiB,EAAoB,eAAe,EACpH,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,UAAU,EAAwB,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAkC,UAAU,IAAI,gBAAgB,EAAa,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAsB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAChK,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,qBAAa,gBAAiB,YAAW,YAAY;IAMnB,QAAQ,CAAC,eAAe,EAAE,mBAAmB;IAJ3E,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;gBAEzD,GAAG,EAAE,WAAW,EAAW,eAAe,EAAE,mBAAmB;IAe3E,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAIvH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/J,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,qBAAqB,GAAG,GAAG;IAIjE,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB;IASxH,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwDzF,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAMzF,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIrH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAUrF,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC;CAQlE;AAcD,cAAM,eAAe,CAAC,CAAC,CAAE,YAAW,UAAU;IA4BtC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IA9BjD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA4C;IACtF,QAAQ,CAAC,kBAAkB,0EAAwC;IAEnE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA4C;IACxF,QAAQ,CAAC,oBAAoB,0EAA0C;IAEvE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAkD;IAC9F,QAAQ,CAAC,oBAAoB,gFAA0C;IAEvE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAgD;IAC7F,QAAQ,CAAC,qBAAqB,8EAA2C;IAEzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,cAAc,CAAqB;IAE3C,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAMxB;gBAGU,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,aAAa,EACnB,iBAAiB,EAAE,iBAAiB;IAYjD,OAAO,IAAI,IAAI;IAIT,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjF,OAAO,CAAC,QAAQ,CAAc;IAC9B,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAG1B;IAED,OAAO,CAAC,MAAM,CAAc;IAC5B,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IAED,OAAO,CAAC,YAAY,CAAc;IAClC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAGlC;IAED,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9C;;;;;;;;OAQG;YACW,0BAA0B;IAsCxC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IAIjB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAqFxE,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,QAAQ;IAKV,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAY5C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAY7C,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAgBtG,kBAAkB,IAAI,OAAO;IAI7B,OAAO,CAAC,eAAe,CAAqB;IAC5C,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAS1B;IAED,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAa7C,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAKzD,OAAO,CAAC,QAAQ,CAAS;IACzB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAO5B,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAmBpG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgCzJ"}
1
+ {"version":3,"file":"tree-views.d.ts","sourceRoot":"","sources":["../../../src/plugin/tree/tree-views.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,10 @@ class TreeViewsExtImpl {
33
33
  commandRegistry.registerArgumentProcessor({
34
34
  processArgument: arg => {
35
35
  if (common_1.TreeViewItemReference.is(arg)) {
36
- return this.toTreeItem(arg);
36
+ return this.toTreeElement(arg);
37
37
  }
38
38
  else if (Array.isArray(arg)) {
39
- return arg.map(param => common_1.TreeViewItemReference.is(param) ? this.toTreeItem(param) : param);
39
+ return arg.map(param => common_1.TreeViewItemReference.is(param) ? this.toTreeElement(param) : param);
40
40
  }
41
41
  else {
42
42
  return arg;
@@ -50,9 +50,9 @@ class TreeViewsExtImpl {
50
50
  $drop(treeViewId, treeItemId, dataTransferItems, token) {
51
51
  return this.getTreeView(treeViewId).handleDrop(treeItemId, dataTransferItems, token);
52
52
  }
53
- toTreeItem(treeViewItemRef) {
53
+ toTreeElement(treeViewItemRef) {
54
54
  var _a;
55
- return (_a = this.treeViews.get(treeViewItemRef.viewId)) === null || _a === void 0 ? void 0 : _a.getTreeItem(treeViewItemRef.itemId);
55
+ return (_a = this.treeViews.get(treeViewItemRef.viewId)) === null || _a === void 0 ? void 0 : _a.getElement(treeViewItemRef.itemId);
56
56
  }
57
57
  registerTreeDataProvider(plugin, treeViewId, treeDataProvider) {
58
58
  const treeView = this.createTreeView(plugin, treeViewId, { treeDataProvider });
@@ -211,7 +211,7 @@ class TreeViewExtImpl {
211
211
  this._description = description;
212
212
  this.proxy.$setDescription(this.treeViewId, this._description);
213
213
  }
214
- getTreeItem(treeItemId) {
214
+ getElement(treeItemId) {
215
215
  var _a;
216
216
  return (_a = this.nodes.get(treeItemId)) === null || _a === void 0 ? void 0 : _a.value;
217
217
  }
@@ -250,14 +250,9 @@ class TreeViewExtImpl {
250
250
  // parent is inconsistent
251
251
  return undefined;
252
252
  }
253
- const idLabel = this.getTreeItemIdLabel(treeItem);
254
- let possibleIndex = children.length;
255
- // find the right element id by searching all possible id names in the cache
256
- while (possibleIndex-- > 0) {
257
- const candidateId = this.buildTreeItemId(parentId, possibleIndex, idLabel);
258
- if (this.nodes.has(candidateId)) {
259
- return chain.concat(candidateId);
260
- }
253
+ const candidateId = this.buildTreeItemId(parentId, treeItem);
254
+ if (this.nodes.has(candidateId)) {
255
+ return chain.concat(candidateId);
261
256
  }
262
257
  // couldn't calculate consistent parent chain and id
263
258
  return undefined;
@@ -270,7 +265,7 @@ class TreeViewExtImpl {
270
265
  const treeItemLabel = treeItem.label;
271
266
  return typeof treeItemLabel === 'object' ? treeItemLabel.highlights : undefined;
272
267
  }
273
- getTreeItemIdLabel(treeItem) {
268
+ getItemLabel(treeItem) {
274
269
  let idLabel = this.getTreeItemLabel(treeItem);
275
270
  // Use resource URI if label is not set
276
271
  if (idLabel === undefined && treeItem.resourceUri) {
@@ -282,8 +277,19 @@ class TreeViewExtImpl {
282
277
  }
283
278
  return idLabel;
284
279
  }
285
- buildTreeItemId(parentId, index, idLabel) {
286
- return `${parentId}/${index}:${idLabel}`;
280
+ buildTreeItemId(parentId, item) {
281
+ // build tree id according to https://code.visualstudio.com/api/references/vscode-api#TreeItem
282
+ // note: the front end tree implementation cannot handle reparenting items, hence the id is set to the "path" of individual ids
283
+ let id = typeof item.id === 'string' ? item.id : this.getItemLabel(item);
284
+ if (id) {
285
+ // we use '' as the id of the root, we don't consider that a valid id
286
+ // since '' is falsy, we'll never get '' in this branch
287
+ id = TreeViewExtImpl.ID_ITEM + id;
288
+ }
289
+ else {
290
+ id = TreeViewExtImpl.ID_COMPUTED + this.nextItemId++;
291
+ }
292
+ return `${parentId}/${id}`;
287
293
  }
288
294
  async getChildren(parentId) {
289
295
  const parentNode = this.nodes.get(parentId);
@@ -301,17 +307,16 @@ class TreeViewExtImpl {
301
307
  // ask data provider for children for cached element
302
308
  const result = await this.options.treeDataProvider.getChildren(parent);
303
309
  if (result) {
304
- const treeItemPromises = result.map(async (value, index) => {
310
+ const treeItemPromises = result.map(async (value) => {
305
311
  // Ask data provider for a tree item for the value
306
312
  // Data provider must return theia.TreeItem
307
313
  const treeItem = await this.options.treeDataProvider.getTreeItem(value);
308
314
  // Convert theia.TreeItem to the TreeViewItem
309
- const label = this.getTreeItemLabel(treeItem);
315
+ const label = this.getItemLabel(treeItem);
310
316
  const highlights = this.getTreeItemLabelHighlights(treeItem);
311
- const idLabel = this.getTreeItemIdLabel(treeItem);
312
317
  // Generate the ID
313
318
  // ID is used for caching the element
314
- const id = treeItem.id || this.buildTreeItemId(parentId, index, idLabel);
319
+ const id = this.buildTreeItemId(parentId, treeItem);
315
320
  const toDisposeElement = new disposable_1.DisposableCollection();
316
321
  const node = {
317
322
  id,
@@ -391,7 +396,7 @@ class TreeViewExtImpl {
391
396
  }
392
397
  async onExpanded(treeItemId) {
393
398
  // get element from a cache
394
- const cachedElement = this.getTreeItem(treeItemId);
399
+ const cachedElement = this.getElement(treeItemId);
395
400
  // fire an event
396
401
  if (cachedElement) {
397
402
  this.onDidExpandElementEmitter.fire({
@@ -401,7 +406,7 @@ class TreeViewExtImpl {
401
406
  }
402
407
  async onCollapsed(treeItemId) {
403
408
  // get element from a cache
404
- const cachedElement = this.getTreeItem(treeItemId);
409
+ const cachedElement = this.getElement(treeItemId);
405
410
  // fire an event
406
411
  if (cachedElement) {
407
412
  this.onDidCollapseElementEmitter.fire({
@@ -429,7 +434,7 @@ class TreeViewExtImpl {
429
434
  get selectedElements() {
430
435
  const items = [];
431
436
  for (const id of this.selectedItemIds) {
432
- const item = this.getTreeItem(id);
437
+ const item = this.getElement(id);
433
438
  if (item) {
434
439
  items.push(item);
435
440
  }
@@ -466,7 +471,7 @@ class TreeViewExtImpl {
466
471
  var _a, _b;
467
472
  const treeItems = [];
468
473
  for (const id of treeItemIds) {
469
- const item = this.getTreeItem(id);
474
+ const item = this.getElement(id);
470
475
  if (item) {
471
476
  treeItems.push(item);
472
477
  }
@@ -483,7 +488,7 @@ class TreeViewExtImpl {
483
488
  }
484
489
  async handleDrop(treeItemId, dataTransferItems, token) {
485
490
  var _a;
486
- const treeItem = treeItemId ? this.getTreeItem(treeItemId) : undefined;
491
+ const treeItem = treeItemId ? this.getElement(treeItemId) : undefined;
487
492
  const dropTransfer = new types_impl_1.DataTransfer();
488
493
  if ((_a = this.options.dragAndDropController) === null || _a === void 0 ? void 0 : _a.handleDrop) {
489
494
  this.localDataTransfer.forEach((item, type) => {
@@ -514,4 +519,6 @@ class TreeViewExtImpl {
514
519
  }
515
520
  }
516
521
  }
522
+ TreeViewExtImpl.ID_COMPUTED = 'c';
523
+ TreeViewExtImpl.ID_ITEM = 'i';
517
524
  //# sourceMappingURL=tree-views.js.map