@theia/terminal-manager 1.67.0-next.86
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.
- package/README.md +31 -0
- package/lib/browser/terminal-manager-frontend-contribution.d.ts +25 -0
- package/lib/browser/terminal-manager-frontend-contribution.d.ts.map +1 -0
- package/lib/browser/terminal-manager-frontend-contribution.js +173 -0
- package/lib/browser/terminal-manager-frontend-contribution.js.map +1 -0
- package/lib/browser/terminal-manager-frontend-module.d.ts +5 -0
- package/lib/browser/terminal-manager-frontend-module.d.ts.map +1 -0
- package/lib/browser/terminal-manager-frontend-module.js +55 -0
- package/lib/browser/terminal-manager-frontend-module.js.map +1 -0
- package/lib/browser/terminal-manager-frontend-view-contribution.d.ts +27 -0
- package/lib/browser/terminal-manager-frontend-view-contribution.d.ts.map +1 -0
- package/lib/browser/terminal-manager-frontend-view-contribution.js +278 -0
- package/lib/browser/terminal-manager-frontend-view-contribution.js.map +1 -0
- package/lib/browser/terminal-manager-preferences.d.ts +12 -0
- package/lib/browser/terminal-manager-preferences.d.ts.map +1 -0
- package/lib/browser/terminal-manager-preferences.js +42 -0
- package/lib/browser/terminal-manager-preferences.js.map +1 -0
- package/lib/browser/terminal-manager-tree-model.d.ts +71 -0
- package/lib/browser/terminal-manager-tree-model.d.ts.map +1 -0
- package/lib/browser/terminal-manager-tree-model.js +299 -0
- package/lib/browser/terminal-manager-tree-model.js.map +1 -0
- package/lib/browser/terminal-manager-tree-widget.d.ts +40 -0
- package/lib/browser/terminal-manager-tree-widget.d.ts.map +1 -0
- package/lib/browser/terminal-manager-tree-widget.js +276 -0
- package/lib/browser/terminal-manager-tree-widget.js.map +1 -0
- package/lib/browser/terminal-manager-types.d.ts +77 -0
- package/lib/browser/terminal-manager-types.d.ts.map +1 -0
- package/lib/browser/terminal-manager-types.js +117 -0
- package/lib/browser/terminal-manager-types.js.map +1 -0
- package/lib/browser/terminal-manager-widget.d.ts +108 -0
- package/lib/browser/terminal-manager-widget.d.ts.map +1 -0
- package/lib/browser/terminal-manager-widget.js +616 -0
- package/lib/browser/terminal-manager-widget.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +40 -0
- package/src/browser/terminal-manager-frontend-contribution.ts +164 -0
- package/src/browser/terminal-manager-frontend-module.ts +64 -0
- package/src/browser/terminal-manager-frontend-view-contribution.ts +309 -0
- package/src/browser/terminal-manager-preferences.ts +52 -0
- package/src/browser/terminal-manager-tree-model.ts +336 -0
- package/src/browser/terminal-manager-tree-widget.tsx +305 -0
- package/src/browser/terminal-manager-types.ts +173 -0
- package/src/browser/terminal-manager-widget.ts +686 -0
- package/src/browser/terminal-manager.css +51 -0
- package/src/package.spec.ts +27 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
var TerminalManagerTreeWidget_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.TerminalManagerTreeWidget = void 0;
|
|
20
|
+
const tslib_1 = require("tslib");
|
|
21
|
+
const React = require("@theia/core/shared/react");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
+
const core_1 = require("@theia/core");
|
|
25
|
+
const terminal_manager_tree_model_1 = require("./terminal-manager-tree-model");
|
|
26
|
+
const terminal_manager_types_1 = require("./terminal-manager-types");
|
|
27
|
+
/* eslint-disable no-param-reassign */
|
|
28
|
+
let TerminalManagerTreeWidget = TerminalManagerTreeWidget_1 = class TerminalManagerTreeWidget extends browser_1.TreeWidget {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.onDidChangeEmitter = new core_1.Emitter();
|
|
32
|
+
this.onDidChange = this.onDidChangeEmitter.event;
|
|
33
|
+
this.handleRenameOnBlur = (e) => this.doHandleRenameOnBlur(e);
|
|
34
|
+
this.handleRenameOnKeyDown = (e) => this.doHandleRenameOnKeyDown(e);
|
|
35
|
+
this.handleActionItemOnClick = (e) => this.doHandleActionItemOnClick(e);
|
|
36
|
+
}
|
|
37
|
+
static createContainer(parent) {
|
|
38
|
+
const child = (0, browser_1.createTreeContainer)(parent, {
|
|
39
|
+
props: {
|
|
40
|
+
leftPadding: 8,
|
|
41
|
+
contextMenuPath: terminal_manager_types_1.TERMINAL_MANAGER_TREE_CONTEXT_MENU,
|
|
42
|
+
expandOnlyOnExpansionToggleClick: true,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
child.bind(terminal_manager_tree_model_1.TerminalManagerTreeModel).toSelf().inSingletonScope();
|
|
46
|
+
child.rebind(browser_1.TreeModel).to(terminal_manager_tree_model_1.TerminalManagerTreeModel);
|
|
47
|
+
child.bind(TerminalManagerTreeWidget_1).toSelf().inSingletonScope();
|
|
48
|
+
return child;
|
|
49
|
+
}
|
|
50
|
+
static createWidget(parent) {
|
|
51
|
+
return TerminalManagerTreeWidget_1.createContainer(parent).get(TerminalManagerTreeWidget_1);
|
|
52
|
+
}
|
|
53
|
+
init() {
|
|
54
|
+
super.init();
|
|
55
|
+
this.id = 'terminal-manager-tree-widget';
|
|
56
|
+
this.addClass(TerminalManagerTreeWidget_1.ID);
|
|
57
|
+
this.toDispose.push(this.onDidChangeEmitter);
|
|
58
|
+
}
|
|
59
|
+
toContextMenuArgs(node) {
|
|
60
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isPageNode(node)
|
|
61
|
+
|| terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalNode(node)
|
|
62
|
+
|| terminal_manager_types_1.TerminalManagerTreeTypes.isGroupNode(node)) {
|
|
63
|
+
return terminal_manager_types_1.TerminalManagerTreeTypes.toContextMenuArgs(this, node);
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
renderCaption(node, props) {
|
|
68
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalManagerTreeNode(node) && !!node.isEditing) {
|
|
69
|
+
const label = this.toNodeName(node);
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
71
|
+
const assignRef = (element) => {
|
|
72
|
+
if (element) {
|
|
73
|
+
element.selectionStart = 0;
|
|
74
|
+
element.selectionEnd = label.length;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
return (React.createElement("input", { spellCheck: false, type: 'text', className: 'theia-input rename-node-input', defaultValue: label, onBlur: this.handleRenameOnBlur, "data-id": node.id, onKeyDown: this.handleRenameOnKeyDown, autoFocus: true, ref: assignRef }));
|
|
78
|
+
}
|
|
79
|
+
return super.renderCaption(node, props);
|
|
80
|
+
}
|
|
81
|
+
doHandleRenameOnBlur(e) {
|
|
82
|
+
const { value } = e.currentTarget;
|
|
83
|
+
const id = e.currentTarget.getAttribute('data-id');
|
|
84
|
+
if (id) {
|
|
85
|
+
this.model.acceptRename(id, value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
renderExpansionToggle(node, props) {
|
|
89
|
+
return super.renderExpansionToggle(node, props);
|
|
90
|
+
}
|
|
91
|
+
doHandleRenameOnKeyDown(e) {
|
|
92
|
+
const { value, defaultValue } = e.currentTarget;
|
|
93
|
+
const id = e.currentTarget.getAttribute('data-id');
|
|
94
|
+
e.stopPropagation();
|
|
95
|
+
if (e.key === 'Escape') {
|
|
96
|
+
e.preventDefault();
|
|
97
|
+
if (value && id) {
|
|
98
|
+
this.model.acceptRename(id, defaultValue);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else if (e.key === 'Tab' || e.key === 'Enter') {
|
|
102
|
+
e.preventDefault();
|
|
103
|
+
if (value && id) {
|
|
104
|
+
this.model.acceptRename(id, value.trim());
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// @ts-expect-error 2416 cf. https://github.com/eclipse-theia/theia/issues/11640
|
|
109
|
+
handleLeft(event) {
|
|
110
|
+
if (event.target.tagName === 'INPUT') {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
;
|
|
114
|
+
return super.handleLeft(event);
|
|
115
|
+
}
|
|
116
|
+
// @ts-expect-error 2416 cf. https://github.com/eclipse-theia/theia/issues/11640
|
|
117
|
+
handleRight(event) {
|
|
118
|
+
if (event.target.tagName === 'INPUT') {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
;
|
|
122
|
+
return super.handleRight(event);
|
|
123
|
+
}
|
|
124
|
+
// cf. https://github.com/eclipse-theia/theia/issues/11640
|
|
125
|
+
handleEscape(event) {
|
|
126
|
+
if (event.target.tagName === 'INPUT') {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
;
|
|
130
|
+
return super.handleEscape(event);
|
|
131
|
+
}
|
|
132
|
+
// cf. https://github.com/eclipse-theia/theia/issues/11640
|
|
133
|
+
handleEnter(event) {
|
|
134
|
+
if (event.target.tagName === 'INPUT') {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
;
|
|
138
|
+
return super.handleEnter(event);
|
|
139
|
+
}
|
|
140
|
+
// cf. https://github.com/eclipse-theia/theia/issues/11640
|
|
141
|
+
handleSpace(event) {
|
|
142
|
+
if (event.target.tagName === 'INPUT') {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
;
|
|
146
|
+
return super.handleSpace(event);
|
|
147
|
+
}
|
|
148
|
+
renderTailDecorations(node, _props) {
|
|
149
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalManagerTreeNode(node)) {
|
|
150
|
+
const inlineActionsForNode = this.resolveInlineActionForNode(node);
|
|
151
|
+
return (React.createElement("div", { className: 'terminal-manager-inline-actions-container' },
|
|
152
|
+
React.createElement("div", { className: 'terminal-manager-inline-actions' }, inlineActionsForNode.map(({ icon, commandId, label }) => (React.createElement("span", { key: commandId, "data-command-id": commandId, "data-node-id": node.id, className: icon, onClick: this.handleActionItemOnClick, onKeyDown: this.handleActionItemOnClick, role: 'button', tabIndex: 0, title: label }))))));
|
|
153
|
+
}
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
doHandleActionItemOnClick(e) {
|
|
157
|
+
if ('key' in e && e.key !== browser_1.Key.ENTER.code) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
e.stopPropagation();
|
|
161
|
+
const commandId = e.currentTarget.getAttribute('data-command-id');
|
|
162
|
+
const nodeId = e.currentTarget.getAttribute('data-node-id');
|
|
163
|
+
if (commandId && nodeId) {
|
|
164
|
+
const node = this.model.getNode(nodeId);
|
|
165
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalManagerTreeNode(node)) {
|
|
166
|
+
const args = terminal_manager_types_1.TerminalManagerTreeTypes.toContextMenuArgs(this, node);
|
|
167
|
+
this.commandRegistry.executeCommand(commandId, ...args);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
resolveInlineActionForNode(node) {
|
|
172
|
+
let menuNode = undefined;
|
|
173
|
+
const inlineActionProps = [];
|
|
174
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isPageNode(node)) {
|
|
175
|
+
menuNode = this.menuRegistry.getMenu(terminal_manager_types_1.TerminalManagerTreeTypes.PAGE_NODE_MENU);
|
|
176
|
+
}
|
|
177
|
+
else if (terminal_manager_types_1.TerminalManagerTreeTypes.isGroupNode(node)) {
|
|
178
|
+
menuNode = this.menuRegistry.getMenu(terminal_manager_types_1.TerminalManagerTreeTypes.GROUP_NODE_MENU);
|
|
179
|
+
}
|
|
180
|
+
else if (terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalNode(node)) {
|
|
181
|
+
menuNode = this.menuRegistry.getMenu(terminal_manager_types_1.TerminalManagerTreeTypes.TERMINAL_NODE_MENU);
|
|
182
|
+
}
|
|
183
|
+
if (!menuNode) {
|
|
184
|
+
return [];
|
|
185
|
+
}
|
|
186
|
+
const menuItems = menuNode.children;
|
|
187
|
+
menuItems.forEach(item => {
|
|
188
|
+
const commandId = item.id;
|
|
189
|
+
const args = terminal_manager_types_1.TerminalManagerTreeTypes.toContextMenuArgs(this, node);
|
|
190
|
+
const isVisible = this.commandRegistry.isVisible(commandId, ...args);
|
|
191
|
+
if (isVisible) {
|
|
192
|
+
const command = this.commandRegistry.getCommand(commandId);
|
|
193
|
+
const icon = (command === null || command === void 0 ? void 0 : command.iconClass) ? command.iconClass : '';
|
|
194
|
+
const label = (command === null || command === void 0 ? void 0 : command.label) ? command.label : '';
|
|
195
|
+
inlineActionProps.push({ icon, label, commandId });
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
return inlineActionProps;
|
|
199
|
+
}
|
|
200
|
+
renderIcon(node, _props) {
|
|
201
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalNode(node)) {
|
|
202
|
+
return React.createElement("span", { className: `${(0, browser_1.codicon)('terminal')}` });
|
|
203
|
+
}
|
|
204
|
+
else if (terminal_manager_types_1.TerminalManagerTreeTypes.isPageNode(node)) {
|
|
205
|
+
return React.createElement("span", { className: `${(0, browser_1.codicon)('terminal-tmux')}` });
|
|
206
|
+
}
|
|
207
|
+
else if (terminal_manager_types_1.TerminalManagerTreeTypes.isGroupNode(node)) {
|
|
208
|
+
return React.createElement("span", { className: `${(0, browser_1.codicon)('split-horizontal')}` });
|
|
209
|
+
}
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
toNodeName(node) {
|
|
213
|
+
var _a;
|
|
214
|
+
return (_a = node.label) !== null && _a !== void 0 ? _a : 'node.id';
|
|
215
|
+
}
|
|
216
|
+
onUpdateRequest(msg) {
|
|
217
|
+
super.onUpdateRequest(msg);
|
|
218
|
+
this.onDidChangeEmitter.fire(undefined);
|
|
219
|
+
}
|
|
220
|
+
renderIndent(node, props) {
|
|
221
|
+
const renderIndentGuides = this.corePreferences['workbench.tree.renderIndentGuides'];
|
|
222
|
+
if (renderIndentGuides === 'none') {
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
const indentDivs = [];
|
|
226
|
+
let current = node;
|
|
227
|
+
let { depth } = props;
|
|
228
|
+
while (current && depth) {
|
|
229
|
+
const classNames = [browser_1.TREE_NODE_INDENT_GUIDE_CLASS];
|
|
230
|
+
if (this.needsActiveIndentGuideline(current)) {
|
|
231
|
+
classNames.push('active');
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
classNames.push(renderIndentGuides === 'onHover' ? 'hover' : 'always');
|
|
235
|
+
}
|
|
236
|
+
const paddingLeft = this.props.leftPadding * depth;
|
|
237
|
+
indentDivs.unshift(React.createElement("div", { key: depth, className: classNames.join(' '), style: {
|
|
238
|
+
paddingLeft: `${paddingLeft}px`,
|
|
239
|
+
} }));
|
|
240
|
+
current = current.parent;
|
|
241
|
+
depth -= 1;
|
|
242
|
+
}
|
|
243
|
+
return indentDivs;
|
|
244
|
+
}
|
|
245
|
+
getDepthForNode(node, depths) {
|
|
246
|
+
const parentDepth = depths.get(node.parent);
|
|
247
|
+
if (terminal_manager_types_1.TerminalManagerTreeTypes.isTerminalNode(node) && parentDepth === undefined) {
|
|
248
|
+
return 1;
|
|
249
|
+
}
|
|
250
|
+
return super.getDepthForNode(node, depths);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
exports.TerminalManagerTreeWidget = TerminalManagerTreeWidget;
|
|
254
|
+
TerminalManagerTreeWidget.ID = 'terminal-manager-tree-widget';
|
|
255
|
+
tslib_1.__decorate([
|
|
256
|
+
(0, inversify_1.inject)(core_1.MenuModelRegistry),
|
|
257
|
+
tslib_1.__metadata("design:type", core_1.MenuModelRegistry)
|
|
258
|
+
], TerminalManagerTreeWidget.prototype, "menuRegistry", void 0);
|
|
259
|
+
tslib_1.__decorate([
|
|
260
|
+
(0, inversify_1.inject)(browser_1.TreeModel),
|
|
261
|
+
tslib_1.__metadata("design:type", terminal_manager_tree_model_1.TerminalManagerTreeModel)
|
|
262
|
+
], TerminalManagerTreeWidget.prototype, "model", void 0);
|
|
263
|
+
tslib_1.__decorate([
|
|
264
|
+
(0, inversify_1.inject)(core_1.CommandRegistry),
|
|
265
|
+
tslib_1.__metadata("design:type", core_1.CommandRegistry)
|
|
266
|
+
], TerminalManagerTreeWidget.prototype, "commandRegistry", void 0);
|
|
267
|
+
tslib_1.__decorate([
|
|
268
|
+
(0, inversify_1.postConstruct)(),
|
|
269
|
+
tslib_1.__metadata("design:type", Function),
|
|
270
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
271
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
272
|
+
], TerminalManagerTreeWidget.prototype, "init", null);
|
|
273
|
+
exports.TerminalManagerTreeWidget = TerminalManagerTreeWidget = TerminalManagerTreeWidget_1 = tslib_1.__decorate([
|
|
274
|
+
(0, inversify_1.injectable)()
|
|
275
|
+
], TerminalManagerTreeWidget);
|
|
276
|
+
//# sourceMappingURL=terminal-manager-tree-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-manager-tree-widget.js","sourceRoot":"","sources":["../../src/browser/terminal-manager-tree-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Command, MenuPath } from '@theia/core';
|
|
3
|
+
import { SelectableTreeNode, CompositeTreeNode, SplitPanel, ExpandableTreeNode, Widget } from '@theia/core/lib/browser';
|
|
4
|
+
import { TerminalWidgetImpl } from '@theia/terminal/lib/browser/terminal-widget-impl';
|
|
5
|
+
export declare namespace TerminalManagerCommands {
|
|
6
|
+
const MANAGER_NEW_TERMINAL_GROUP: Command;
|
|
7
|
+
const MANAGER_DELETE_TERMINAL: Command;
|
|
8
|
+
const MANAGER_RENAME_TERMINAL: Command;
|
|
9
|
+
const MANAGER_NEW_PAGE_BOTTOM_TOOLBAR: Command;
|
|
10
|
+
const MANAGER_DELETE_PAGE: Command;
|
|
11
|
+
const MANAGER_ADD_TERMINAL_TO_GROUP: Command;
|
|
12
|
+
const MANAGER_DELETE_GROUP: Command;
|
|
13
|
+
const MANAGER_SHOW_TREE_TOOLBAR: Command;
|
|
14
|
+
const MANAGER_MAXIMIZE_BOTTOM_PANEL_TOOLBAR: Command;
|
|
15
|
+
const MANAGER_MINIMIZE_BOTTOM_PANEL_TOOLBAR: Command;
|
|
16
|
+
const MANAGER_CLEAR_ALL: Command;
|
|
17
|
+
const MANAGER_OPEN_VIEW: Command;
|
|
18
|
+
const MANAGER_CLOSE_VIEW: Command;
|
|
19
|
+
}
|
|
20
|
+
export declare const TERMINAL_MANAGER_TREE_CONTEXT_MENU: string[];
|
|
21
|
+
export declare namespace TerminalManagerTreeTypes {
|
|
22
|
+
type TerminalKey = `terminal-${string}`;
|
|
23
|
+
const generateTerminalKey: (widget: TerminalWidgetImpl) => TerminalKey;
|
|
24
|
+
const isTerminalKey: (obj: unknown) => obj is `terminal-${string}`;
|
|
25
|
+
interface TerminalNode extends SelectableTreeNode, CompositeTreeNode {
|
|
26
|
+
terminal: true;
|
|
27
|
+
isEditing: boolean;
|
|
28
|
+
label: string;
|
|
29
|
+
id: TerminalKey;
|
|
30
|
+
parentGroupId: GroupId;
|
|
31
|
+
}
|
|
32
|
+
type GroupId = `group-${string}`;
|
|
33
|
+
const isGroupId: (obj: unknown) => obj is `group-${string}`;
|
|
34
|
+
interface GroupSplitPanel extends SplitPanel {
|
|
35
|
+
id: GroupId;
|
|
36
|
+
}
|
|
37
|
+
interface TerminalGroupNode extends SelectableTreeNode, ExpandableTreeNode {
|
|
38
|
+
terminalGroup: true;
|
|
39
|
+
isEditing: boolean;
|
|
40
|
+
label: string;
|
|
41
|
+
id: GroupId;
|
|
42
|
+
parentPageId: PageId;
|
|
43
|
+
counter: number;
|
|
44
|
+
children: readonly TerminalNode[];
|
|
45
|
+
}
|
|
46
|
+
type PageId = `page-${string}`;
|
|
47
|
+
const isPageId: (obj: unknown) => obj is `page-${string}`;
|
|
48
|
+
interface PageSplitPanel extends SplitPanel {
|
|
49
|
+
id: PageId;
|
|
50
|
+
}
|
|
51
|
+
interface PageNode extends SelectableTreeNode, ExpandableTreeNode {
|
|
52
|
+
page: true;
|
|
53
|
+
children: TerminalGroupNode[];
|
|
54
|
+
isEditing: boolean;
|
|
55
|
+
label: string;
|
|
56
|
+
id: PageId;
|
|
57
|
+
counter: number;
|
|
58
|
+
}
|
|
59
|
+
type TerminalManagerTreeNode = PageNode | TerminalNode | TerminalGroupNode;
|
|
60
|
+
type TerminalManagerValidId = PageId | TerminalKey | GroupId;
|
|
61
|
+
const isPageNode: (obj: unknown) => obj is PageNode;
|
|
62
|
+
const isTerminalNode: (obj: unknown) => obj is TerminalNode;
|
|
63
|
+
const isGroupNode: (obj: unknown) => obj is TerminalGroupNode;
|
|
64
|
+
const isTerminalManagerTreeNode: (obj: unknown) => obj is TerminalNode | PageNode;
|
|
65
|
+
interface SelectionChangedEvent {
|
|
66
|
+
activePageId: PageId | undefined;
|
|
67
|
+
activeTerminalId: TerminalKey | undefined;
|
|
68
|
+
activeGroupId: GroupId | undefined;
|
|
69
|
+
}
|
|
70
|
+
type ContextMenuArgs = [Widget, TerminalManagerValidId];
|
|
71
|
+
const toContextMenuArgs: (widget: Widget, node: TerminalManagerTreeNode) => ContextMenuArgs;
|
|
72
|
+
const PAGE_NODE_MENU: MenuPath;
|
|
73
|
+
const GROUP_NODE_MENU: MenuPath;
|
|
74
|
+
const TERMINAL_NODE_MENU: MenuPath;
|
|
75
|
+
}
|
|
76
|
+
export type ReactInteraction<T = Element, U = MouseEvent> = React.MouseEvent<T, U> | React.KeyboardEvent<T>;
|
|
77
|
+
//# sourceMappingURL=terminal-manager-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-manager-types.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-manager-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TerminalManagerTreeTypes = exports.TERMINAL_MANAGER_TREE_CONTEXT_MENU = exports.TerminalManagerCommands = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
21
|
+
var TerminalManagerCommands;
|
|
22
|
+
(function (TerminalManagerCommands) {
|
|
23
|
+
TerminalManagerCommands.MANAGER_NEW_TERMINAL_GROUP = core_1.Command.toDefaultLocalizedCommand({
|
|
24
|
+
id: 'terminal:new-in-manager-toolbar',
|
|
25
|
+
category: 'Terminal Manager',
|
|
26
|
+
label: 'Create New Terminal Group',
|
|
27
|
+
iconClass: (0, browser_1.codicon)('split-horizontal'),
|
|
28
|
+
});
|
|
29
|
+
TerminalManagerCommands.MANAGER_DELETE_TERMINAL = core_1.Command.toDefaultLocalizedCommand({
|
|
30
|
+
id: 'terminal:delete-terminal',
|
|
31
|
+
category: 'Terminal Manager',
|
|
32
|
+
label: 'Delete Terminal',
|
|
33
|
+
iconClass: (0, browser_1.codicon)('trash'),
|
|
34
|
+
});
|
|
35
|
+
TerminalManagerCommands.MANAGER_RENAME_TERMINAL = core_1.Command.toDefaultLocalizedCommand({
|
|
36
|
+
id: 'terminal: rename-terminal',
|
|
37
|
+
category: 'Terminal Manager',
|
|
38
|
+
label: 'Rename...',
|
|
39
|
+
iconClass: (0, browser_1.codicon)('edit'),
|
|
40
|
+
});
|
|
41
|
+
TerminalManagerCommands.MANAGER_NEW_PAGE_BOTTOM_TOOLBAR = core_1.Command.toDefaultLocalizedCommand({
|
|
42
|
+
id: 'terminal:new-manager-page',
|
|
43
|
+
category: 'Terminal Manager',
|
|
44
|
+
label: 'Create New Terminal Page',
|
|
45
|
+
iconClass: (0, browser_1.codicon)('new-file'),
|
|
46
|
+
});
|
|
47
|
+
TerminalManagerCommands.MANAGER_DELETE_PAGE = core_1.Command.toDefaultLocalizedCommand({
|
|
48
|
+
id: 'terminal:delete-page',
|
|
49
|
+
category: 'Terminal Manager',
|
|
50
|
+
label: 'Delete Page',
|
|
51
|
+
iconClass: (0, browser_1.codicon)('trash'),
|
|
52
|
+
});
|
|
53
|
+
TerminalManagerCommands.MANAGER_ADD_TERMINAL_TO_GROUP = core_1.Command.toDefaultLocalizedCommand({
|
|
54
|
+
id: 'terminal:manager-split-horizontal',
|
|
55
|
+
category: 'Terminal Manager',
|
|
56
|
+
label: 'Add terminal to group',
|
|
57
|
+
iconClass: (0, browser_1.codicon)('split-vertical'),
|
|
58
|
+
});
|
|
59
|
+
TerminalManagerCommands.MANAGER_DELETE_GROUP = core_1.Command.toDefaultLocalizedCommand({
|
|
60
|
+
id: 'terminal:manager-delete-group',
|
|
61
|
+
category: 'Terminal Manager',
|
|
62
|
+
label: 'Delete Group...',
|
|
63
|
+
iconClass: (0, browser_1.codicon)('trash'),
|
|
64
|
+
});
|
|
65
|
+
TerminalManagerCommands.MANAGER_SHOW_TREE_TOOLBAR = core_1.Command.toDefaultLocalizedCommand({
|
|
66
|
+
id: 'terminal:manager-toggle-tree',
|
|
67
|
+
category: 'Terminal Manager',
|
|
68
|
+
label: 'Toggle Tree View',
|
|
69
|
+
iconClass: (0, browser_1.codicon)('list-tree'),
|
|
70
|
+
});
|
|
71
|
+
TerminalManagerCommands.MANAGER_MAXIMIZE_BOTTOM_PANEL_TOOLBAR = core_1.Command.toDefaultLocalizedCommand({
|
|
72
|
+
id: 'terminal:manager-maximize-bottom-panel',
|
|
73
|
+
category: 'Terminal Manager',
|
|
74
|
+
label: 'Maximize Bottom Panel',
|
|
75
|
+
});
|
|
76
|
+
TerminalManagerCommands.MANAGER_MINIMIZE_BOTTOM_PANEL_TOOLBAR = core_1.Command.toDefaultLocalizedCommand({
|
|
77
|
+
id: 'terminal:manager-minimize-bottom-panel',
|
|
78
|
+
category: 'Terminal Manager',
|
|
79
|
+
label: 'Minimize Bottom Panel',
|
|
80
|
+
});
|
|
81
|
+
TerminalManagerCommands.MANAGER_CLEAR_ALL = core_1.Command.toDefaultLocalizedCommand({
|
|
82
|
+
id: 'terminal:manager-clear-all',
|
|
83
|
+
category: 'Terminal Manager',
|
|
84
|
+
label: 'Reset Terminal Manager layout',
|
|
85
|
+
iconClass: (0, browser_1.codicon)('trash'),
|
|
86
|
+
});
|
|
87
|
+
TerminalManagerCommands.MANAGER_OPEN_VIEW = {
|
|
88
|
+
id: 'terminal:open-manager',
|
|
89
|
+
category: 'View',
|
|
90
|
+
label: 'Open Terminal Manager',
|
|
91
|
+
};
|
|
92
|
+
TerminalManagerCommands.MANAGER_CLOSE_VIEW = {
|
|
93
|
+
id: 'terminal:close-manager',
|
|
94
|
+
category: 'View',
|
|
95
|
+
label: 'Close Terminal Manager',
|
|
96
|
+
};
|
|
97
|
+
})(TerminalManagerCommands || (exports.TerminalManagerCommands = TerminalManagerCommands = {}));
|
|
98
|
+
exports.TERMINAL_MANAGER_TREE_CONTEXT_MENU = ['terminal-manager-tree-context-menu'];
|
|
99
|
+
var TerminalManagerTreeTypes;
|
|
100
|
+
(function (TerminalManagerTreeTypes) {
|
|
101
|
+
TerminalManagerTreeTypes.generateTerminalKey = (widget) => {
|
|
102
|
+
const { created } = widget.options;
|
|
103
|
+
return `terminal-${created}`;
|
|
104
|
+
};
|
|
105
|
+
TerminalManagerTreeTypes.isTerminalKey = (obj) => typeof obj === 'string' && obj.startsWith('terminal-');
|
|
106
|
+
TerminalManagerTreeTypes.isGroupId = (obj) => typeof obj === 'string' && obj.startsWith('group-');
|
|
107
|
+
TerminalManagerTreeTypes.isPageId = (obj) => typeof obj === 'string' && obj.startsWith('page-');
|
|
108
|
+
TerminalManagerTreeTypes.isPageNode = (obj) => !!obj && typeof obj === 'object' && 'page' in obj;
|
|
109
|
+
TerminalManagerTreeTypes.isTerminalNode = (obj) => !!obj && typeof obj === 'object' && 'terminal' in obj;
|
|
110
|
+
TerminalManagerTreeTypes.isGroupNode = (obj) => !!obj && typeof obj === 'object' && 'terminalGroup' in obj;
|
|
111
|
+
TerminalManagerTreeTypes.isTerminalManagerTreeNode = (obj) => TerminalManagerTreeTypes.isPageNode(obj) || TerminalManagerTreeTypes.isTerminalNode(obj) || TerminalManagerTreeTypes.isGroupNode(obj);
|
|
112
|
+
TerminalManagerTreeTypes.toContextMenuArgs = (widget, node) => [widget, node.id];
|
|
113
|
+
TerminalManagerTreeTypes.PAGE_NODE_MENU = ['terminal-manager-page-node'];
|
|
114
|
+
TerminalManagerTreeTypes.GROUP_NODE_MENU = ['terminal-manager-group-node'];
|
|
115
|
+
TerminalManagerTreeTypes.TERMINAL_NODE_MENU = ['terminal-manager-terminal-node'];
|
|
116
|
+
})(TerminalManagerTreeTypes || (exports.TerminalManagerTreeTypes = TerminalManagerTreeTypes = {}));
|
|
117
|
+
//# sourceMappingURL=terminal-manager-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-manager-types.js","sourceRoot":"","sources":["../../src/browser/terminal-manager-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
2
|
+
import { ApplicationShell, BaseWidget, Message, Panel, SplitLayout, SplitPanel, SplitPositionHandler, StatefulWidget, StorageService, Widget, WidgetManager } from '@theia/core/lib/browser';
|
|
3
|
+
import { Emitter } from '@theia/core';
|
|
4
|
+
import { TerminalWidget, TerminalWidgetOptions } from '@theia/terminal/lib/browser/base/terminal-widget';
|
|
5
|
+
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
|
|
6
|
+
import { TerminalFrontendContribution } from '@theia/terminal/lib/browser/terminal-frontend-contribution';
|
|
7
|
+
import { TerminalManagerPreferences } from './terminal-manager-preferences';
|
|
8
|
+
import { TerminalManagerTreeTypes } from './terminal-manager-types';
|
|
9
|
+
import { TerminalManagerTreeWidget } from './terminal-manager-tree-widget';
|
|
10
|
+
export declare namespace TerminalManagerWidgetState {
|
|
11
|
+
interface BaseLayoutData<ID> {
|
|
12
|
+
id: ID;
|
|
13
|
+
}
|
|
14
|
+
interface TerminalWidgetLayoutData {
|
|
15
|
+
widget: TerminalWidget | undefined;
|
|
16
|
+
}
|
|
17
|
+
interface TerminalGroupLayoutData extends BaseLayoutData<TerminalManagerTreeTypes.GroupId> {
|
|
18
|
+
childLayouts: TerminalWidgetLayoutData[];
|
|
19
|
+
widgetRelativeHeights: number[] | undefined;
|
|
20
|
+
}
|
|
21
|
+
interface PageLayoutData extends BaseLayoutData<TerminalManagerTreeTypes.PageId> {
|
|
22
|
+
childLayouts: TerminalGroupLayoutData[];
|
|
23
|
+
groupRelativeWidths: number[] | undefined;
|
|
24
|
+
}
|
|
25
|
+
interface TerminalManagerLayoutData extends BaseLayoutData<'ParentPanel'> {
|
|
26
|
+
childLayouts: PageLayoutData[];
|
|
27
|
+
}
|
|
28
|
+
const isLayoutData: (obj: unknown) => obj is LayoutData;
|
|
29
|
+
interface PanelRelativeSizes {
|
|
30
|
+
terminal: number;
|
|
31
|
+
tree: number;
|
|
32
|
+
}
|
|
33
|
+
interface LayoutData {
|
|
34
|
+
items?: TerminalManagerLayoutData;
|
|
35
|
+
widget: TerminalManagerTreeWidget;
|
|
36
|
+
terminalAndTreeRelativeSizes: PanelRelativeSizes | undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export declare class TerminalManagerWidget extends BaseWidget implements StatefulWidget, ApplicationShell.TrackableWidgetProvider {
|
|
40
|
+
static ID: string;
|
|
41
|
+
static LABEL: string;
|
|
42
|
+
protected panel: SplitPanel;
|
|
43
|
+
protected pageAndTreeLayout: SplitLayout | undefined;
|
|
44
|
+
protected stateIsSet: boolean;
|
|
45
|
+
pagePanels: Map<`page-${string}`, TerminalManagerTreeTypes.PageSplitPanel>;
|
|
46
|
+
groupPanels: Map<`group-${string}`, TerminalManagerTreeTypes.GroupSplitPanel>;
|
|
47
|
+
terminalWidgets: Map<`terminal-${string}`, TerminalWidget>;
|
|
48
|
+
protected readonly onDidChangeTrackableWidgetsEmitter: Emitter<Widget[]>;
|
|
49
|
+
readonly onDidChangeTrackableWidgets: import("@theia/core").Event<Widget[]>;
|
|
50
|
+
protected terminalPanelWrapper: Panel;
|
|
51
|
+
protected interceptCloseRequest: boolean;
|
|
52
|
+
protected terminalFrontendContribution: TerminalFrontendContribution;
|
|
53
|
+
readonly treeWidget: TerminalManagerTreeWidget;
|
|
54
|
+
protected readonly splitPositionHandler: SplitPositionHandler;
|
|
55
|
+
protected readonly shell: ApplicationShell;
|
|
56
|
+
protected readonly terminalManagerPreferences: TerminalManagerPreferences;
|
|
57
|
+
protected readonly applicationStateService: FrontendApplicationStateService;
|
|
58
|
+
protected readonly widgetManager: WidgetManager;
|
|
59
|
+
protected readonly storageService: StorageService;
|
|
60
|
+
protected readonly terminalsDeletingFromClose: Set<`terminal-${string}`>;
|
|
61
|
+
static createRestoreError: (nodeId: string) => Error;
|
|
62
|
+
static createContainer(parent: interfaces.Container): interfaces.Container;
|
|
63
|
+
static createWidget(parent: interfaces.Container): Promise<TerminalManagerWidget>;
|
|
64
|
+
protected init(): void;
|
|
65
|
+
populateLayout(force?: boolean): Promise<void>;
|
|
66
|
+
createTerminalWidget(options?: TerminalWidgetOptions): Promise<TerminalWidget>;
|
|
67
|
+
protected registerListeners(): void;
|
|
68
|
+
protected handlePageRenamed(): void;
|
|
69
|
+
setPanelSizes({ terminal, tree }?: TerminalManagerWidgetState.PanelRelativeSizes): void;
|
|
70
|
+
getTrackableWidgets(): Widget[];
|
|
71
|
+
toggleTreeVisibility(): void;
|
|
72
|
+
protected createPageAndTreeLayout(relativeSizes?: TerminalManagerWidgetState.PanelRelativeSizes): Promise<void>;
|
|
73
|
+
protected resolveMainLayout(relativeSizes?: TerminalManagerWidgetState.PanelRelativeSizes): Promise<void>;
|
|
74
|
+
protected onAfterAttach(msg: Message): void;
|
|
75
|
+
protected onCloseRequest(msg: Message): void;
|
|
76
|
+
protected confirmClose(): Promise<boolean>;
|
|
77
|
+
addTerminalPage(widget: Widget): void;
|
|
78
|
+
protected createPagePanel(pageId?: TerminalManagerTreeTypes.PageId): TerminalManagerTreeTypes.PageSplitPanel;
|
|
79
|
+
protected generateUUIDAvoidDuplicatesFromStorage(idPrefix: 'group-' | 'page-'): string;
|
|
80
|
+
protected handlePageAdded(pageId: TerminalManagerTreeTypes.PageId): void;
|
|
81
|
+
protected handlePageDeleted(pagePanelId: TerminalManagerTreeTypes.PageId): void;
|
|
82
|
+
addTerminalGroupToPage(widget: Widget, pageId: TerminalManagerTreeTypes.PageId): void;
|
|
83
|
+
protected createTerminalGroupPanel(groupId?: TerminalManagerTreeTypes.GroupId): TerminalManagerTreeTypes.GroupSplitPanel;
|
|
84
|
+
protected handleTerminalGroupAdded(groupId: TerminalManagerTreeTypes.GroupId, pageId: TerminalManagerTreeTypes.PageId): void;
|
|
85
|
+
protected activateTerminalWidget(terminalKey: TerminalManagerTreeTypes.TerminalKey): Promise<Widget | undefined>;
|
|
86
|
+
activateWidget(id: string): Widget | undefined;
|
|
87
|
+
protected handleTerminalGroupDeleted(groupPanelId: TerminalManagerTreeTypes.GroupId): void;
|
|
88
|
+
addWidgetToTerminalGroup(widget: Widget, groupId: TerminalManagerTreeTypes.GroupId): void;
|
|
89
|
+
protected onActivateRequest(msg: Message): void;
|
|
90
|
+
protected handleWidgetAddedToTerminalGroup(terminalKey: TerminalManagerTreeTypes.TerminalKey, groupId: TerminalManagerTreeTypes.GroupId): void;
|
|
91
|
+
protected handleTerminalDeleted(terminalId: TerminalManagerTreeTypes.TerminalKey): void;
|
|
92
|
+
protected handleOnDidChangeActiveWidget(widget: Widget | null): void;
|
|
93
|
+
protected handleSelectionChange(changeEvent: TerminalManagerTreeTypes.SelectionChangedEvent): void;
|
|
94
|
+
protected updateViewPage(activePageId: TerminalManagerTreeTypes.PageId): void;
|
|
95
|
+
deleteTerminal(terminalId: TerminalManagerTreeTypes.TerminalKey): void;
|
|
96
|
+
deleteGroup(groupId: TerminalManagerTreeTypes.GroupId): void;
|
|
97
|
+
deletePage(pageNode: TerminalManagerTreeTypes.PageId): void;
|
|
98
|
+
toggleRenameTerminal(entityId: TerminalManagerTreeTypes.TerminalManagerValidId): void;
|
|
99
|
+
storeState(): TerminalManagerWidgetState.LayoutData;
|
|
100
|
+
restoreState(oldState: TerminalManagerWidgetState.LayoutData): void;
|
|
101
|
+
protected resetLayout(): void;
|
|
102
|
+
protected iterateAndRestoreLayoutTree(pageLayouts: TerminalManagerWidgetState.PageLayoutData[], treeWidget: TerminalManagerTreeWidget): void;
|
|
103
|
+
restoreLayoutData(items: TerminalManagerWidgetState.TerminalManagerLayoutData, treeWidget: TerminalManagerTreeWidget): void;
|
|
104
|
+
getLayoutData(): TerminalManagerWidgetState.LayoutData;
|
|
105
|
+
protected registerTerminalCloseListener(widget: TerminalWidget, terminalKey: TerminalManagerTreeTypes.TerminalKey): void;
|
|
106
|
+
protected activateNextAvailableTerminal(excludeTerminalKey: TerminalManagerTreeTypes.TerminalKey): void;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=terminal-manager-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-manager-widget.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-manager-widget.ts"],"names":[],"mappings":"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"}
|