@theia/terminal-manager 1.68.0-next.9 → 1.68.1

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.
Files changed (29) hide show
  1. package/lib/browser/terminal-manager-frontend-contribution.d.ts +9 -1
  2. package/lib/browser/terminal-manager-frontend-contribution.d.ts.map +1 -1
  3. package/lib/browser/terminal-manager-frontend-contribution.js +45 -5
  4. package/lib/browser/terminal-manager-frontend-contribution.js.map +1 -1
  5. package/lib/browser/terminal-manager-frontend-view-contribution.d.ts +6 -1
  6. package/lib/browser/terminal-manager-frontend-view-contribution.d.ts.map +1 -1
  7. package/lib/browser/terminal-manager-frontend-view-contribution.js +42 -17
  8. package/lib/browser/terminal-manager-frontend-view-contribution.js.map +1 -1
  9. package/lib/browser/terminal-manager-tree-model.d.ts +3 -1
  10. package/lib/browser/terminal-manager-tree-model.d.ts.map +1 -1
  11. package/lib/browser/terminal-manager-tree-model.js +45 -34
  12. package/lib/browser/terminal-manager-tree-model.js.map +1 -1
  13. package/lib/browser/terminal-manager-tree-widget.d.ts +0 -1
  14. package/lib/browser/terminal-manager-tree-widget.d.ts.map +1 -1
  15. package/lib/browser/terminal-manager-tree-widget.js +6 -6
  16. package/lib/browser/terminal-manager-tree-widget.js.map +1 -1
  17. package/lib/browser/terminal-manager-types.d.ts +6 -5
  18. package/lib/browser/terminal-manager-types.d.ts.map +1 -1
  19. package/lib/browser/terminal-manager-types.js.map +1 -1
  20. package/lib/browser/terminal-manager-widget.d.ts +13 -1
  21. package/lib/browser/terminal-manager-widget.d.ts.map +1 -1
  22. package/lib/browser/terminal-manager-widget.js +107 -71
  23. package/lib/browser/terminal-manager-widget.js.map +1 -1
  24. package/package.json +5 -5
  25. package/src/browser/terminal-manager-frontend-contribution.ts +51 -2
  26. package/src/browser/terminal-manager-frontend-view-contribution.ts +40 -6
  27. package/src/browser/terminal-manager-tree-model.ts +35 -31
  28. package/src/browser/terminal-manager-types.ts +2 -0
  29. package/src/browser/terminal-manager-widget.ts +90 -44
@@ -33,13 +33,16 @@ var TerminalManagerWidgetState;
33
33
  (function (TerminalManagerWidgetState) {
34
34
  TerminalManagerWidgetState.isLayoutData = (obj) => typeof obj === 'object' && !!obj && 'type' in obj && obj.type === 'terminal-manager';
35
35
  })(TerminalManagerWidgetState || (exports.TerminalManagerWidgetState = TerminalManagerWidgetState = {}));
36
- let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidget extends browser_1.BaseWidget {
36
+ let TerminalManagerWidget = class TerminalManagerWidget extends browser_1.BaseWidget {
37
37
  constructor() {
38
38
  super(...arguments);
39
39
  this.stateIsSet = false;
40
40
  this.pagePanels = new Map();
41
41
  this.groupPanels = new Map();
42
+ /** By node ID: safer for state restoration. */
42
43
  this.terminalWidgets = new Map();
44
+ /** By terminal ID to work from widget to internal metadata. */
45
+ this.terminalWidgetIdsToNodeIds = new Map();
43
46
  this.onDidChangeTrackableWidgetsEmitter = new core_1.Emitter();
44
47
  this.onDidChangeTrackableWidgets = this.onDidChangeTrackableWidgetsEmitter.event;
45
48
  // serves as an empty container so that different view containers can be swapped out
@@ -49,6 +52,10 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
49
52
  this.interceptCloseRequest = true;
50
53
  this.terminalsDeletingFromClose = new Set();
51
54
  }
55
+ static { TerminalManagerWidget_1 = this; }
56
+ static { this.ID = 'terminal-manager-widget'; }
57
+ static { this.LABEL = core_1.nls.localize('theia/terminal-manager/label', 'Terminals'); }
58
+ static { this.createRestoreError = (nodeId) => new Error(`Terminal manager widget state could not be restored, mismatch in restored data for ${nodeId}`); }
52
59
  static createContainer(parent) {
53
60
  const child = parent.createChild();
54
61
  child.bind(TerminalManagerWidget_1).toSelf().inSingletonScope();
@@ -62,12 +69,21 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
62
69
  this.id = TerminalManagerWidget_1.ID;
63
70
  this.title.closable = true;
64
71
  this.title.label = TerminalManagerWidget_1.LABEL;
72
+ this.title.caption = TerminalManagerWidget_1.LABEL;
65
73
  this.node.tabIndex = 0;
66
74
  this.registerListeners();
67
75
  this.createPageAndTreeLayout();
68
76
  }
77
+ /** Yields all terminal widgets owned by this widget and then closes this widget. */
78
+ *drainWidgets() {
79
+ for (const [key, widget] of this.terminalWidgets) {
80
+ this.removeTerminalReferenceByNodeId(key);
81
+ yield widget;
82
+ }
83
+ this.close();
84
+ }
69
85
  async populateLayout(force) {
70
- if (!this.stateIsSet || force) {
86
+ if ((!this.stateIsSet && this.terminalWidgets.size === 0) || force) {
71
87
  const terminalWidget = await this.createTerminalWidget();
72
88
  this.addTerminalPage(terminalWidget);
73
89
  this.onDidChangeTrackableWidgetsEmitter.fire(this.getTrackableWidgets());
@@ -105,7 +121,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
105
121
  setPanelSizes({ terminal, tree } = { terminal: .6, tree: .2 }) {
106
122
  const treeViewLocation = this.terminalManagerPreferences.get('terminal.grouping.treeViewLocation');
107
123
  const panelSizes = treeViewLocation === 'left' ? [tree, terminal] : [terminal, tree];
108
- requestAnimationFrame(() => { var _a; return (_a = this.pageAndTreeLayout) === null || _a === void 0 ? void 0 : _a.setRelativeSizes(panelSizes); });
124
+ requestAnimationFrame(() => this.pageAndTreeLayout?.setRelativeSizes(panelSizes));
109
125
  }
110
126
  getTrackableWidgets() {
111
127
  return [this.treeWidget, ...this.terminalWidgets.values()];
@@ -120,16 +136,15 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
120
136
  }
121
137
  }
122
138
  async createPageAndTreeLayout(relativeSizes) {
123
- var _a;
124
139
  const layout = this.layout = new browser_1.PanelLayout();
125
140
  this.pageAndTreeLayout = new browser_1.SplitLayout({
126
141
  renderer: browser_1.SplitPanel.defaultRenderer,
127
142
  orientation: 'horizontal',
128
143
  spacing: 2,
129
144
  });
130
- (_a = this.panel) !== null && _a !== void 0 ? _a : (this.panel = new browser_1.SplitPanel({
145
+ this.panel ??= new browser_1.SplitPanel({
131
146
  layout: this.pageAndTreeLayout,
132
- }));
147
+ });
133
148
  layout.addWidget(this.panel);
134
149
  await this.resolveMainLayout(relativeSizes);
135
150
  this.update();
@@ -142,8 +157,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
142
157
  const treeViewLocation = this.terminalManagerPreferences.get('terminal.grouping.treeViewLocation');
143
158
  const widgetsInDesiredOrder = treeViewLocation === 'left' ? [this.treeWidget, this.terminalPanelWrapper] : [this.terminalPanelWrapper, this.treeWidget];
144
159
  widgetsInDesiredOrder.forEach((widget, index) => {
145
- var _a;
146
- (_a = this.pageAndTreeLayout) === null || _a === void 0 ? void 0 : _a.insertWidget(index, widget);
160
+ this.pageAndTreeLayout?.insertWidget(index, widget);
147
161
  });
148
162
  this.setPanelSizes(relativeSizes);
149
163
  }
@@ -152,7 +166,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
152
166
  this.populateLayout();
153
167
  }
154
168
  onCloseRequest(msg) {
155
- if (this.interceptCloseRequest) {
169
+ if (this.interceptCloseRequest && this.terminalWidgets.size > 0) {
156
170
  this.interceptCloseRequest = false;
157
171
  this.confirmClose()
158
172
  .then(confirmed => {
@@ -179,17 +193,40 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
179
193
  return confirmed === true;
180
194
  }
181
195
  addTerminalPage(widget) {
196
+ this.doAddTerminalPage(widget);
197
+ }
198
+ doAddTerminalPage(widget) {
182
199
  if (widget instanceof terminal_widget_impl_1.TerminalWidgetImpl) {
183
200
  const terminalKey = terminal_manager_types_1.TerminalManagerTreeTypes.generateTerminalKey(widget);
184
- this.registerTerminalCloseListener(widget, terminalKey);
185
- this.terminalWidgets.set(terminalKey, widget);
201
+ this.addTerminalReference(widget, terminalKey);
186
202
  this.onDidChangeTrackableWidgetsEmitter.fire(this.getTrackableWidgets());
187
203
  const groupPanel = this.createTerminalGroupPanel();
188
204
  groupPanel.addWidget(widget);
189
205
  const pagePanel = this.createPagePanel();
190
206
  pagePanel.addWidget(groupPanel);
191
207
  this.treeWidget.model.addTerminalPage(terminalKey, groupPanel.id, pagePanel.id);
208
+ return pagePanel;
209
+ }
210
+ }
211
+ addTerminalReference(widget, nodeId) {
212
+ this.terminalWidgets.set(nodeId, widget);
213
+ this.terminalWidgetIdsToNodeIds.set(widget.id, nodeId);
214
+ }
215
+ removeTerminalReferenceByWidgetId(widgetId) {
216
+ const nodeId = this.terminalWidgetIdsToNodeIds.get(widgetId);
217
+ if (nodeId === undefined) {
218
+ return false;
219
+ }
220
+ return this.terminalWidgets.delete(nodeId);
221
+ }
222
+ removeTerminalReferenceByNodeId(nodeId) {
223
+ const widget = this.terminalWidgets.get(nodeId);
224
+ if (!widget) {
225
+ return false;
192
226
  }
227
+ this.terminalWidgets.delete(nodeId);
228
+ this.terminalWidgetIdsToNodeIds.delete(widget.id);
229
+ return true;
193
230
  }
194
231
  createPagePanel(pageId) {
195
232
  const newPageLayout = new browser_1.ViewContainerLayout({
@@ -205,7 +242,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
205
242
  const idPrefix = 'page-';
206
243
  const uuid = this.generateUUIDAvoidDuplicatesFromStorage(idPrefix);
207
244
  pagePanel.node.tabIndex = -1;
208
- pagePanel.id = pageId !== null && pageId !== void 0 ? pageId : `${idPrefix}${uuid}`;
245
+ pagePanel.id = pageId ?? `${idPrefix}${uuid}`;
209
246
  this.pagePanels.set(pagePanel.id, pagePanel);
210
247
  return pagePanel;
211
248
  }
@@ -232,11 +269,24 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
232
269
  }
233
270
  }
234
271
  handlePageDeleted(pagePanelId) {
235
- var _a;
236
- (_a = this.pagePanels.get(pagePanelId)) === null || _a === void 0 ? void 0 : _a.dispose();
272
+ const panel = this.pagePanels.get(pagePanelId);
273
+ if (!panel) {
274
+ return;
275
+ }
276
+ const isLastPanel = this.pagePanels.size === 1;
277
+ if (isLastPanel) {
278
+ this.interceptCloseRequest = false;
279
+ this.close();
280
+ return;
281
+ }
282
+ this.clearGroupReferences(panel);
283
+ panel.dispose();
237
284
  this.pagePanels.delete(pagePanelId);
238
- if (this.pagePanels.size === 0) {
239
- this.populateLayout(true);
285
+ }
286
+ clearGroupReferences(panel) {
287
+ for (const group of panel.widgets) {
288
+ this.clearTerminalReferences(group);
289
+ this.groupPanels.delete(group.id);
240
290
  }
241
291
  }
242
292
  addTerminalGroupToPage(widget, pageId) {
@@ -245,8 +295,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
245
295
  }
246
296
  if (widget instanceof terminal_widget_impl_1.TerminalWidgetImpl) {
247
297
  const terminalId = terminal_manager_types_1.TerminalManagerTreeTypes.generateTerminalKey(widget);
248
- this.registerTerminalCloseListener(widget, terminalId);
249
- this.terminalWidgets.set(terminalId, widget);
298
+ this.addTerminalReference(widget, terminalId);
250
299
  this.onDidChangeTrackableWidgetsEmitter.fire(this.getTrackableWidgets());
251
300
  const groupPanel = this.createTerminalGroupPanel();
252
301
  groupPanel.addWidget(widget);
@@ -268,7 +317,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
268
317
  const idPrefix = 'group-';
269
318
  const uuid = this.generateUUIDAvoidDuplicatesFromStorage(idPrefix);
270
319
  groupPanel.node.tabIndex = -1;
271
- groupPanel.id = groupId !== null && groupId !== void 0 ? groupId : `${idPrefix}${uuid}`;
320
+ groupPanel.id = groupId ?? `${idPrefix}${uuid}`;
272
321
  this.groupPanels.set(groupPanel.id, groupPanel);
273
322
  return groupPanel;
274
323
  }
@@ -287,8 +336,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
287
336
  }
288
337
  }
289
338
  async activateTerminalWidget(terminalKey) {
290
- var _a;
291
- const terminalWidgetToActivate = (_a = this.terminalWidgets.get(terminalKey)) === null || _a === void 0 ? void 0 : _a.id;
339
+ const terminalWidgetToActivate = this.terminalWidgets.get(terminalKey)?.id;
292
340
  if (terminalWidgetToActivate) {
293
341
  const activeWidgetFound = await this.shell.activateWidget(terminalWidgetToActivate);
294
342
  return activeWidgetFound;
@@ -297,29 +345,34 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
297
345
  }
298
346
  activateWidget(id) {
299
347
  const widget = Array.from(this.terminalWidgets.values()).find(terminalWidget => terminalWidget.id === id);
300
- if (widget instanceof terminal_widget_impl_1.TerminalWidgetImpl) {
301
- widget.activate();
302
- }
348
+ widget?.activate();
303
349
  return widget;
304
350
  }
305
351
  handleTerminalGroupDeleted(groupPanelId) {
306
- var _a;
307
- (_a = this.groupPanels.get(groupPanelId)) === null || _a === void 0 ? void 0 : _a.dispose();
352
+ const panel = this.groupPanels.get(groupPanelId);
308
353
  this.groupPanels.delete(groupPanelId);
354
+ if (!panel) {
355
+ return;
356
+ }
357
+ this.clearTerminalReferences(panel);
358
+ panel.dispose();
359
+ }
360
+ clearTerminalReferences(panel) {
361
+ for (const terminal of panel.widgets) {
362
+ this.removeTerminalReferenceByWidgetId(terminal.id);
363
+ }
309
364
  }
310
365
  addWidgetToTerminalGroup(widget, groupId) {
311
366
  if (widget instanceof terminal_widget_impl_1.TerminalWidgetImpl) {
312
367
  const newTerminalId = terminal_manager_types_1.TerminalManagerTreeTypes.generateTerminalKey(widget);
313
- this.registerTerminalCloseListener(widget, newTerminalId);
314
- this.terminalWidgets.set(newTerminalId, widget);
368
+ this.addTerminalReference(widget, newTerminalId);
315
369
  this.onDidChangeTrackableWidgetsEmitter.fire(this.getTrackableWidgets());
316
370
  this.treeWidget.model.addTerminal(newTerminalId, groupId);
317
371
  }
318
372
  }
319
373
  onActivateRequest(msg) {
320
- var _a;
321
374
  super.onActivateRequest(msg);
322
- const activeTerminalId = (_a = this.treeWidget.model.activeTerminalNode) === null || _a === void 0 ? void 0 : _a.id;
375
+ const activeTerminalId = this.treeWidget.model.activeTerminalNode?.id;
323
376
  if (activeTerminalId) {
324
377
  const activeTerminalWidget = this.terminalWidgets.get(activeTerminalId);
325
378
  if (activeTerminalWidget) {
@@ -334,20 +387,16 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
334
387
  const group = this.groupPanels.get(groupId);
335
388
  if (terminalWidget && group) {
336
389
  const groupPanel = this.groupPanels.get(groupId);
337
- groupPanel === null || groupPanel === void 0 ? void 0 : groupPanel.addWidget(terminalWidget);
390
+ groupPanel?.addWidget(terminalWidget);
338
391
  this.update();
339
392
  }
340
393
  }
341
394
  handleTerminalDeleted(terminalId) {
342
395
  const terminalWidget = this.terminalWidgets.get(terminalId);
343
- const wasActiveWidget = this.shell.activeWidget === terminalWidget;
344
- if (!this.terminalsDeletingFromClose.has(terminalId)) {
345
- terminalWidget === null || terminalWidget === void 0 ? void 0 : terminalWidget.dispose();
346
- }
347
- this.terminalWidgets.delete(terminalId);
348
- if (wasActiveWidget) {
349
- this.activateNextAvailableTerminal(terminalId);
396
+ if (!terminalWidget?.isDisposed) {
397
+ terminalWidget?.dispose();
350
398
  }
399
+ this.removeTerminalReferenceByNodeId(terminalId);
351
400
  }
352
401
  handleOnDidChangeActiveWidget(widget) {
353
402
  if (!(widget instanceof terminal_widget_impl_1.TerminalWidgetImpl)) {
@@ -407,8 +456,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
407
456
  this.stateIsSet = true;
408
457
  const { activeTerminalNode } = this.treeWidget.model;
409
458
  setTimeout(() => {
410
- var _a;
411
- this.treeWidget.model.selectTerminalNode((_a = activeTerminalNode === null || activeTerminalNode === void 0 ? void 0 : activeTerminalNode.id) !== null && _a !== void 0 ? _a : Array.from(this.terminalWidgets.keys())[0]);
459
+ this.treeWidget.model.selectTerminalNode(activeTerminalNode?.id ?? Array.from(this.terminalWidgets.keys())[0]);
412
460
  });
413
461
  }
414
462
  }
@@ -418,6 +466,15 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
418
466
  this.groupPanels = new Map();
419
467
  this.terminalWidgets = new Map();
420
468
  }
469
+ async resetView() {
470
+ const terminalWidget = await this.createTerminalWidget();
471
+ const page = this.doAddTerminalPage(terminalWidget);
472
+ for (const id of this.pagePanels.keys()) {
473
+ if (id !== page?.id) {
474
+ this.deletePage(id);
475
+ }
476
+ }
477
+ }
421
478
  iterateAndRestoreLayoutTree(pageLayouts, treeWidget) {
422
479
  for (const pageLayout of pageLayouts) {
423
480
  const pageId = pageLayout.id;
@@ -447,8 +504,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
447
504
  if (!terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalNode(widgetNode)) {
448
505
  throw TerminalManagerWidget_1.createRestoreError(widgetId);
449
506
  }
450
- this.terminalWidgets.set(widgetId, widget);
451
- this.registerTerminalCloseListener(widget, widgetId);
507
+ this.addTerminalReference(widget, widgetId);
452
508
  this.onDidChangeTrackableWidgetsEmitter.fire(this.getTrackableWidgets());
453
509
  groupPanel.addWidget(widget);
454
510
  }
@@ -472,11 +528,10 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
472
528
  this.update();
473
529
  }
474
530
  getLayoutData() {
475
- var _a;
476
531
  const pageItems = { childLayouts: [], id: 'ParentPanel' };
477
532
  const treeViewLocation = this.terminalManagerPreferences.get('terminal.grouping.treeViewLocation');
478
533
  let terminalAndTreeRelativeSizes = undefined;
479
- const sizeArray = (_a = this.pageAndTreeLayout) === null || _a === void 0 ? void 0 : _a.relativeSizes();
534
+ const sizeArray = this.pageAndTreeLayout?.relativeSizes();
480
535
  if (sizeArray && treeViewLocation === 'right') {
481
536
  terminalAndTreeRelativeSizes = { tree: sizeArray[1], terminal: sizeArray[0] };
482
537
  }
@@ -498,7 +553,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
498
553
  const pageLayoutData = {
499
554
  childLayouts: [],
500
555
  id: pageNode.id,
501
- groupRelativeWidths: pagePanel === null || pagePanel === void 0 ? void 0 : pagePanel.relativeSizes(),
556
+ groupRelativeWidths: pagePanel?.relativeSizes(),
502
557
  };
503
558
  for (const groupNode of groupNodes) {
504
559
  const groupPanel = this.groupPanels.get(groupNode.id);
@@ -506,7 +561,7 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
506
561
  const groupLayoutData = {
507
562
  id: groupNode.id,
508
563
  childLayouts: [],
509
- widgetRelativeHeights: groupPanel === null || groupPanel === void 0 ? void 0 : groupPanel.relativeSizes(),
564
+ widgetRelativeHeights: groupPanel?.relativeSizes(),
510
565
  };
511
566
  const widgetNodes = groupNode.children;
512
567
  for (const widgetNode of widgetNodes) {
@@ -527,31 +582,10 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
527
582
  }
528
583
  return fullLayoutData;
529
584
  }
530
- registerTerminalCloseListener(widget, terminalKey) {
531
- const originalOnCloseRequest = widget['onCloseRequest'].bind(widget);
532
- widget['onCloseRequest'] = (msg) => {
533
- const wasActiveWidget = this.shell.activeWidget === widget;
534
- if (wasActiveWidget) {
535
- this.activateNextAvailableTerminal(terminalKey);
536
- }
537
- originalOnCloseRequest(msg);
538
- };
539
- const disposable = widget.onTerminalDidClose(() => {
540
- this.terminalsDeletingFromClose.add(terminalKey);
541
- try {
542
- this.treeWidget.model.deleteTerminalNode(terminalKey);
543
- }
544
- finally {
545
- this.terminalsDeletingFromClose.delete(terminalKey);
546
- }
547
- });
548
- this.toDispose.push(disposable);
549
- }
550
585
  activateNextAvailableTerminal(excludeTerminalKey) {
551
- var _a;
552
586
  const remainingTerminals = Array.from(this.terminalWidgets.entries()).filter(([key]) => key !== excludeTerminalKey);
553
587
  if (remainingTerminals.length > 0) {
554
- const activeTerminalId = (_a = this.treeWidget.model.activeTerminalNode) === null || _a === void 0 ? void 0 : _a.id;
588
+ const activeTerminalId = this.treeWidget.model.activeTerminalNode?.id;
555
589
  let targetTerminal;
556
590
  if (activeTerminalId && activeTerminalId !== excludeTerminalKey && this.terminalWidgets.has(activeTerminalId)) {
557
591
  targetTerminal = this.terminalWidgets.get(activeTerminalId);
@@ -567,11 +601,13 @@ let TerminalManagerWidget = TerminalManagerWidget_1 = class TerminalManagerWidge
567
601
  this.shell.activateWidget(this.id);
568
602
  }
569
603
  }
604
+ dispose() {
605
+ this.toDispose.dispose();
606
+ super.dispose();
607
+ this.terminalWidgets.clear();
608
+ }
570
609
  };
571
610
  exports.TerminalManagerWidget = TerminalManagerWidget;
572
- TerminalManagerWidget.ID = 'terminal-manager-widget';
573
- TerminalManagerWidget.LABEL = core_1.nls.localize('theia/terminal-manager/label', 'Terminals');
574
- TerminalManagerWidget.createRestoreError = (nodeId) => new Error(`Terminal manager widget state could not be restored, mismatch in restored data for ${nodeId}`);
575
611
  tslib_1.__decorate([
576
612
  (0, inversify_1.inject)(terminal_frontend_contribution_1.TerminalFrontendContribution),
577
613
  tslib_1.__metadata("design:type", terminal_frontend_contribution_1.TerminalFrontendContribution)
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-manager-widget.js","sourceRoot":"","sources":["../../src/browser/terminal-manager-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-manager-widget.js","sourceRoot":"","sources":["../../src/browser/terminal-manager-widget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/terminal-manager",
3
- "version": "1.68.0-next.9+da2eb8707",
3
+ "version": "1.68.1",
4
4
  "description": "Theia - Terminal Manager Extension",
5
5
  "keywords": [
6
6
  "theia-extension"
@@ -24,9 +24,9 @@
24
24
  "watch": "theiaext watch"
25
25
  },
26
26
  "dependencies": {
27
- "@theia/core": "1.68.0-next.9+da2eb8707",
28
- "@theia/preferences": "1.68.0-next.9+da2eb8707",
29
- "@theia/terminal": "1.68.0-next.9+da2eb8707"
27
+ "@theia/core": "1.68.1",
28
+ "@theia/preferences": "1.68.1",
29
+ "@theia/terminal": "1.68.1"
30
30
  },
31
31
  "theiaExtensions": [
32
32
  {
@@ -36,5 +36,5 @@
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
- "gitHead": "da2eb87074d90bd79cfa76c868cceb00e7bc2b47"
39
+ "gitHead": "d1eb23a174e0096923ce08666ae35ce9762a0b81"
40
40
  }
@@ -49,7 +49,7 @@ export class TerminalManagerFrontendContribution implements FrontendApplicationC
49
49
  this.preferenceService.ready.then(() => {
50
50
  this.preferenceService.onPreferenceChanged(change => {
51
51
  if (change.preferenceName === 'terminal.grouping.mode') {
52
- this.handleTabsDisplayChange(change.newValue as string);
52
+ this.handleTabsDisplayChange(this.preferences['terminal.grouping.mode']);
53
53
  }
54
54
  });
55
55
  if (this.preferences.get('terminal.grouping.mode') !== 'tree') {
@@ -61,11 +61,60 @@ export class TerminalManagerFrontendContribution implements FrontendApplicationC
61
61
  });
62
62
  }
63
63
 
64
- protected handleTabsDisplayChange(newValue: string): void {
64
+ protected async handleTabsDisplayChange(newValue: string): Promise<void> {
65
65
  if (newValue === 'tree') {
66
+ await this.migrateTerminalsToManager();
66
67
  this.registerHandlers();
67
68
  } else {
68
69
  this.unregisterHandlers();
70
+ await this.migrateTerminalsToTabs();
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Migrate terminals from tabs to terminal manager. Applies only to terminals currently in bottom panel.
76
+ */
77
+ protected async migrateTerminalsToManager(): Promise<void> {
78
+ const bottomTerminals = this.shell.getWidgets('bottom')
79
+ .filter((w): w is TerminalWidget => w instanceof TerminalWidget);
80
+
81
+ if (bottomTerminals.length === 0) {
82
+ return;
83
+ }
84
+
85
+ const managerWidget = await this.widgetManager.getOrCreateWidget<TerminalManagerWidget>(TerminalManagerWidget.ID);
86
+ if (!(managerWidget instanceof TerminalManagerWidget)) {
87
+ return;
88
+ }
89
+
90
+ // Before terminal manager attachment to precede creation of default widget.
91
+ for (const terminal of bottomTerminals) {
92
+ managerWidget.addTerminalPage(terminal);
93
+ terminal.show(); // Clear hidden flag that may have been set by dock panel on removal.
94
+ }
95
+
96
+ await this.terminalManagerViewContribution.openView({ reveal: true });
97
+ }
98
+
99
+ /**
100
+ * Migrate terminals from the terminal manager to the bottom panel as separate tabs.
101
+ */
102
+ protected async migrateTerminalsToTabs(): Promise<void> {
103
+ const managerWidget = this.terminalManagerViewContribution.tryGetWidget();
104
+ if (!(managerWidget instanceof TerminalManagerWidget)) {
105
+ return;
106
+ }
107
+
108
+ let toActivate: TerminalWidget | undefined = undefined;
109
+ for (const terminal of managerWidget.drainWidgets()) {
110
+ if (!terminal.isDisposed) {
111
+ toActivate ??= terminal;
112
+ this.shell.addWidget(terminal, { area: 'bottom' });
113
+ }
114
+ }
115
+
116
+ if (toActivate) {
117
+ this.shell.activateWidget(toActivate.id);
69
118
  }
70
119
  }
71
120