@opensumi/ide-terminal-next 3.7.2-next-1740052080.0 → 3.7.2-next-1740054042.0
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/LICENSE +21 -0
- package/lib/browser/component/resize.delegate.d.ts +14 -0
- package/lib/browser/component/resize.delegate.d.ts.map +1 -0
- package/lib/browser/component/resize.delegate.js +46 -0
- package/lib/browser/component/resize.delegate.js.map +1 -0
- package/lib/browser/component/resize.module.less +77 -0
- package/lib/browser/component/resize.view.d.ts +16 -0
- package/lib/browser/component/resize.view.d.ts.map +1 -0
- package/lib/browser/component/resize.view.js +55 -0
- package/lib/browser/component/resize.view.js.map +1 -0
- package/lib/browser/component/search.module.less +61 -0
- package/lib/browser/component/search.view.d.ts +3 -0
- package/lib/browser/component/search.view.d.ts.map +1 -0
- package/lib/browser/component/search.view.js +89 -0
- package/lib/browser/component/search.view.js.map +1 -0
- package/lib/browser/component/tab.item.d.ts +7 -0
- package/lib/browser/component/tab.item.d.ts.map +1 -0
- package/lib/browser/component/tab.item.js +121 -0
- package/lib/browser/component/tab.item.js.map +1 -0
- package/lib/browser/component/tab.module.less +174 -0
- package/lib/browser/component/tab.view.d.ts +4 -0
- package/lib/browser/component/tab.view.d.ts.map +1 -0
- package/lib/browser/component/tab.view.js +65 -0
- package/lib/browser/component/tab.view.js.map +1 -0
- package/lib/browser/component/terminal.module.less +50 -0
- package/lib/browser/component/terminal.variable.d.ts +8 -0
- package/lib/browser/component/terminal.variable.d.ts.map +1 -0
- package/lib/browser/component/terminal.variable.js +44 -0
- package/lib/browser/component/terminal.variable.js.map +1 -0
- package/lib/browser/component/terminal.view.d.ts +5 -0
- package/lib/browser/component/terminal.view.d.ts.map +1 -0
- package/lib/browser/component/terminal.view.js +63 -0
- package/lib/browser/component/terminal.view.js.map +1 -0
- package/lib/browser/component/terminal.widget.d.ts +10 -0
- package/lib/browser/component/terminal.widget.d.ts.map +1 -0
- package/lib/browser/component/terminal.widget.js +65 -0
- package/lib/browser/component/terminal.widget.js.map +1 -0
- package/lib/browser/component/variable.module.less +15 -0
- package/lib/browser/contribution/index.d.ts.map +1 -0
- package/lib/browser/contribution/index.js +11 -0
- package/lib/browser/contribution/index.js.map +1 -0
- package/lib/browser/contribution/terminal.command.js +328 -0
- package/lib/browser/contribution/terminal.keybinding.js +87 -0
- package/lib/browser/contribution/terminal.lifecycle.js +52 -0
- package/lib/browser/contribution/terminal.menu.js +168 -0
- package/lib/browser/contribution/terminal.network.js +44 -0
- package/lib/browser/contribution/terminal.preference.js +43 -0
- package/lib/browser/contribution/terminal.view.js +57 -0
- package/lib/browser/index.js +124 -0
- package/lib/browser/links/base.d.ts +8 -0
- package/lib/browser/links/base.d.ts.map +1 -0
- package/lib/browser/links/base.js +13 -0
- package/lib/browser/links/base.js.map +1 -0
- package/lib/browser/links/external-link-provider-adapter.d.ts +21 -0
- package/lib/browser/links/external-link-provider-adapter.d.ts.map +1 -0
- package/lib/browser/links/external-link-provider-adapter.js +74 -0
- package/lib/browser/links/external-link-provider-adapter.js.map +1 -0
- package/lib/browser/links/helpers.d.ts +7 -0
- package/lib/browser/links/helpers.d.ts.map +1 -0
- package/lib/browser/links/helpers.js +128 -0
- package/lib/browser/links/helpers.js.map +1 -0
- package/lib/browser/links/link-manager.d.ts +92 -0
- package/lib/browser/links/link-manager.d.ts.map +1 -0
- package/lib/browser/links/link-manager.js +342 -0
- package/lib/browser/links/link-manager.js.map +1 -0
- package/lib/browser/links/link.d.ts +31 -0
- package/lib/browser/links/link.d.ts.map +1 -0
- package/lib/browser/links/link.js +136 -0
- package/lib/browser/links/link.js.map +1 -0
- package/lib/browser/links/protocol-link-provider.d.ts +14 -0
- package/lib/browser/links/protocol-link-provider.d.ts.map +1 -0
- package/lib/browser/links/protocol-link-provider.js +71 -0
- package/lib/browser/links/protocol-link-provider.js.map +1 -0
- package/lib/browser/links/validated-local-link-provider.d.ts +41 -0
- package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -0
- package/lib/browser/links/validated-local-link-provider.js +235 -0
- package/lib/browser/links/validated-local-link-provider.js.map +1 -0
- package/lib/browser/links/word-link-provider.d.ts +29 -0
- package/lib/browser/links/word-link-provider.d.ts.map +1 -0
- package/lib/browser/links/word-link-provider.js +153 -0
- package/lib/browser/links/word-link-provider.js.map +1 -0
- package/lib/browser/terminal.addon.js +83 -0
- package/lib/browser/terminal.api.js +162 -0
- package/lib/browser/terminal.client.js +680 -0
- package/lib/browser/terminal.color.js +240 -0
- package/lib/browser/terminal.context-key.js +29 -0
- package/lib/browser/terminal.context-menu.js +96 -0
- package/lib/browser/terminal.controller.js +669 -0
- package/lib/browser/terminal.environment.service.js +153 -0
- package/lib/browser/terminal.error.js +61 -0
- package/lib/browser/terminal.ext.host.proxy.js +108 -0
- package/lib/browser/terminal.hover.manager.js +85 -0
- package/lib/browser/terminal.input.js +32 -0
- package/lib/browser/terminal.internal.service.js +107 -0
- package/lib/browser/terminal.network.js +150 -0
- package/lib/browser/terminal.preference.js +136 -0
- package/lib/browser/terminal.profile.internal.js +104 -0
- package/lib/browser/terminal.profile.js +211 -0
- package/lib/browser/terminal.render.js +25 -0
- package/lib/browser/terminal.restore.js +49 -0
- package/lib/browser/terminal.search.js +109 -0
- package/lib/browser/terminal.service.js +163 -0
- package/lib/common/api.d.ts +22 -0
- package/lib/common/api.d.ts.map +1 -0
- package/lib/common/api.js +5 -0
- package/lib/common/api.js.map +1 -0
- package/lib/common/client.d.ts +199 -0
- package/lib/common/client.d.ts.map +1 -0
- package/lib/common/client.js +6 -0
- package/lib/common/client.js.map +1 -0
- package/lib/common/controller.d.ts +149 -0
- package/lib/common/controller.d.ts.map +1 -0
- package/lib/common/controller.js +8 -0
- package/lib/common/controller.js.map +1 -0
- package/lib/common/environmentVariable.d.ts +116 -0
- package/lib/common/environmentVariable.d.ts.map +1 -0
- package/lib/common/environmentVariable.js +30 -0
- package/lib/common/environmentVariable.js.map +1 -0
- package/lib/common/environmentVariableCollection.d.ts +9 -0
- package/lib/common/environmentVariableCollection.d.ts.map +1 -0
- package/lib/common/environmentVariableCollection.js +140 -0
- package/lib/common/environmentVariableCollection.js.map +1 -0
- package/lib/common/error.d.ts +41 -0
- package/lib/common/error.d.ts.map +1 -0
- package/lib/common/error.js +13 -0
- package/lib/common/error.js.map +1 -0
- package/lib/common/extension.d.ts +139 -0
- package/lib/common/extension.d.ts.map +1 -0
- package/lib/common/extension.js +57 -0
- package/lib/common/extension.js.map +1 -0
- package/lib/common/index.d.ts +17 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +20 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/link-computer.d.ts +56 -0
- package/lib/common/link-computer.d.ts.map +1 -0
- package/lib/common/link-computer.js +282 -0
- package/lib/common/link-computer.js.map +1 -0
- package/lib/common/network.d.ts +48 -0
- package/lib/common/network.d.ts.map +1 -0
- package/lib/common/network.js +10 -0
- package/lib/common/network.js.map +1 -0
- package/lib/common/preference.d.ts +134 -0
- package/lib/common/preference.d.ts.map +1 -0
- package/lib/common/preference.js +199 -0
- package/lib/common/preference.js.map +1 -0
- package/lib/common/process.d.ts +8 -0
- package/lib/common/process.d.ts.map +1 -0
- package/lib/common/process.js +3 -0
- package/lib/common/process.js.map +1 -0
- package/lib/common/profile.d.ts +99 -0
- package/lib/common/profile.d.ts.map +1 -0
- package/lib/common/profile.js +27 -0
- package/lib/common/profile.js.map +1 -0
- package/lib/common/pty.d.ts +525 -0
- package/lib/common/pty.d.ts.map +1 -0
- package/lib/common/pty.js +28 -0
- package/lib/common/pty.js.map +1 -0
- package/lib/common/render.d.ts +29 -0
- package/lib/common/render.d.ts.map +1 -0
- package/lib/common/render.js +10 -0
- package/lib/common/render.js.map +1 -0
- package/lib/common/resize.d.ts +43 -0
- package/lib/common/resize.d.ts.map +1 -0
- package/lib/common/resize.js +3 -0
- package/lib/common/resize.js.map +1 -0
- package/lib/common/restore.d.ts +6 -0
- package/lib/common/restore.d.ts.map +1 -0
- package/lib/common/restore.js +5 -0
- package/lib/common/restore.js.map +1 -0
- package/lib/common/service.d.ts +96 -0
- package/lib/common/service.d.ts.map +1 -0
- package/lib/common/service.js +6 -0
- package/lib/common/service.js.map +1 -0
- package/lib/common/shell.d.ts +11 -0
- package/lib/common/shell.d.ts.map +1 -0
- package/lib/common/shell.js +14 -0
- package/lib/common/shell.js.map +1 -0
- package/lib/common/theme.d.ts +6 -0
- package/lib/common/theme.d.ts.map +1 -0
- package/lib/common/theme.js +5 -0
- package/lib/common/theme.js.map +1 -0
- package/lib/common/utils.d.ts +4 -0
- package/lib/common/utils.d.ts.map +1 -0
- package/lib/common/utils.js +15 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/common/xterm.d.ts +27 -0
- package/lib/common/xterm.d.ts.map +1 -0
- package/lib/common/xterm.js +10 -0
- package/lib/common/xterm.js.map +1 -0
- package/lib/index.js +5 -0
- package/lib/node/data-store.d.ts +13 -0
- package/lib/node/data-store.d.ts.map +1 -0
- package/lib/node/data-store.js +6 -0
- package/lib/node/data-store.js.map +1 -0
- package/lib/node/index.d.ts +10 -0
- package/lib/node/index.d.ts.map +1 -0
- package/lib/node/index.js +64 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/pty.d.ts +42 -0
- package/lib/node/pty.d.ts.map +1 -0
- package/lib/node/pty.js +277 -0
- package/lib/node/pty.js.map +1 -0
- package/lib/node/pty.manager.d.ts +52 -0
- package/lib/node/pty.manager.d.ts.map +1 -0
- package/lib/node/pty.manager.js +157 -0
- package/lib/node/pty.manager.js.map +1 -0
- package/lib/node/pty.manager.remote.d.ts +23 -0
- package/lib/node/pty.manager.remote.d.ts.map +1 -0
- package/lib/node/pty.manager.remote.js +124 -0
- package/lib/node/pty.manager.remote.js.map +1 -0
- package/lib/node/pty.proxy.d.ts +45 -0
- package/lib/node/pty.proxy.d.ts.map +1 -0
- package/lib/node/pty.proxy.js +277 -0
- package/lib/node/pty.proxy.js.map +1 -0
- package/lib/node/pty.proxy.remote.exec.d.ts +2 -0
- package/lib/node/pty.proxy.remote.exec.d.ts.map +1 -0
- package/lib/node/pty.proxy.remote.exec.js +7 -0
- package/lib/node/pty.proxy.remote.exec.js.map +1 -0
- package/lib/node/shell-integration.service.d.ts +24 -0
- package/lib/node/shell-integration.service.d.ts.map +1 -0
- package/lib/node/shell-integration.service.js +187 -0
- package/lib/node/shell-integration.service.js.map +1 -0
- package/lib/node/shell.d.ts +20 -0
- package/lib/node/shell.d.ts.map +1 -0
- package/lib/node/shell.js +199 -0
- package/lib/node/shell.js.map +1 -0
- package/lib/node/terminal.process.service.d.ts +5 -0
- package/lib/node/terminal.process.service.d.ts.map +1 -0
- package/lib/node/terminal.process.service.js +15 -0
- package/lib/node/terminal.process.service.js.map +1 -0
- package/lib/node/terminal.profile.service.d.ts +19 -0
- package/lib/node/terminal.profile.service.d.ts.map +1 -0
- package/lib/node/terminal.profile.service.js +228 -0
- package/lib/node/terminal.profile.service.js.map +1 -0
- package/lib/node/terminal.service.client.d.ts +51 -0
- package/lib/node/terminal.service.client.d.ts.map +1 -0
- package/lib/node/terminal.service.client.js +159 -0
- package/lib/node/terminal.service.client.js.map +1 -0
- package/lib/node/terminal.service.d.ts +30 -0
- package/lib/node/terminal.service.d.ts.map +1 -0
- package/lib/node/terminal.service.js +246 -0
- package/lib/node/terminal.service.js.map +1 -0
- package/package.json +18 -18
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019-present Alibaba Group Holding Limited, Ant Group Co. Ltd.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IWidget } from '../../common/resize';
|
|
3
|
+
export interface IResizeDelegateProps {
|
|
4
|
+
start: () => void;
|
|
5
|
+
stop: () => void;
|
|
6
|
+
left: IWidget | null;
|
|
7
|
+
self: IWidget;
|
|
8
|
+
right: IWidget | null;
|
|
9
|
+
last: boolean;
|
|
10
|
+
wholeWidth: number;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: (props: IResizeDelegateProps) => React.JSX.Element;
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=resize.delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize.delegate.d.ts","sourceRoot":"","sources":["../../../src/browser/component/resize.delegate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;gCAMsB,oBAAoB;AAA3C,wBA6CE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
const resize_module_less_1 = tslib_1.__importDefault(require("./resize.module.less"));
|
|
6
|
+
// todo: 将这些变量放到一个实例中管理
|
|
7
|
+
let startX = 0;
|
|
8
|
+
let original = null;
|
|
9
|
+
exports.default = (props) => {
|
|
10
|
+
const { start, stop, self, left, right, wholeWidth, last } = props;
|
|
11
|
+
const onMouseDown = (event) => {
|
|
12
|
+
startX = event.clientX;
|
|
13
|
+
original = self;
|
|
14
|
+
start();
|
|
15
|
+
};
|
|
16
|
+
const onMouseMove = (event) => {
|
|
17
|
+
if (!startX) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const endX = event.clientX;
|
|
21
|
+
const move = ((endX - startX) / wholeWidth) * 100;
|
|
22
|
+
startX = endX;
|
|
23
|
+
if (move < 0) {
|
|
24
|
+
self && self.increase(move);
|
|
25
|
+
right && right.increase(-move);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (original) {
|
|
29
|
+
if (original === left) {
|
|
30
|
+
self && self.increase(-move);
|
|
31
|
+
left && left.increase(move);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const onMouseUp = (_) => {
|
|
37
|
+
startX = 0;
|
|
38
|
+
original = null;
|
|
39
|
+
self.resize();
|
|
40
|
+
left && left.resize();
|
|
41
|
+
right && right.resize();
|
|
42
|
+
stop();
|
|
43
|
+
};
|
|
44
|
+
return (react_1.default.createElement("div", { className: resize_module_less_1.default.resizeDelegetContainer, onMouseUp: onMouseUp, onMouseMove: onMouseMove }, !last && react_1.default.createElement("div", { className: resize_module_less_1.default.resizeDelegateBar, onMouseDown: onMouseDown, onMouseUp: onMouseUp })));
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=resize.delegate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize.delegate.js","sourceRoot":"","sources":["../../../src/browser/component/resize.delegate.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAI1B,sFAA0C;AAY1C,uBAAuB;AACvB,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,IAAI,QAAQ,GAAmB,IAAI,CAAC;AAEpC,kBAAe,CAAC,KAA2B,EAAE,EAAE;IAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEnE,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC9C,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QACvB,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,EAAE,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QAClD,MAAM,GAAG,IAAI,CAAC;QAEd,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC7B,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAmB,EAAE,EAAE;QACxC,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAE,4BAAM,CAAC,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,IAC1F,CAAC,IAAI,IAAI,uCAAK,SAAS,EAAE,4BAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAQ,CACtG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
@import '@opensumi/ide-core-browser/lib/style/variable.less';
|
|
2
|
+
|
|
3
|
+
.resizeWrapper {
|
|
4
|
+
width: 100%;
|
|
5
|
+
height: 100%;
|
|
6
|
+
user-select: none;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.resizePanel {
|
|
10
|
+
position: relative;
|
|
11
|
+
top: 0;
|
|
12
|
+
left: 0;
|
|
13
|
+
height: 100%;
|
|
14
|
+
width: 100%;
|
|
15
|
+
display: flex;
|
|
16
|
+
justify-content: flex-end;
|
|
17
|
+
|
|
18
|
+
.resizeItem {
|
|
19
|
+
position: relative;
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
padding: 8px 20px 0 10px;
|
|
24
|
+
.closeBtn {
|
|
25
|
+
display: none;
|
|
26
|
+
position: absolute;
|
|
27
|
+
right: 12px;
|
|
28
|
+
top: 10px;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
border-radius: 4px;
|
|
31
|
+
font-size: 14px;
|
|
32
|
+
width: 16px;
|
|
33
|
+
height: 16px;
|
|
34
|
+
line-height: 16px;
|
|
35
|
+
&:hover {
|
|
36
|
+
background-color: var(--kt-icon-hoverBackground);
|
|
37
|
+
transform: scale(1.1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
&:hover {
|
|
41
|
+
.closeBtn {
|
|
42
|
+
display: block;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.resizeDelegate {
|
|
49
|
+
position: absolute;
|
|
50
|
+
width: 100%;
|
|
51
|
+
height: 100%;
|
|
52
|
+
display: flex;
|
|
53
|
+
pointer-events: all;
|
|
54
|
+
z-index: 1;
|
|
55
|
+
|
|
56
|
+
.resizeHandler {
|
|
57
|
+
width: 100%;
|
|
58
|
+
height: 100%;
|
|
59
|
+
|
|
60
|
+
.resizeDelegetContainer {
|
|
61
|
+
width: 100%;
|
|
62
|
+
height: 100%;
|
|
63
|
+
pointer-events: inherit;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.resizeDelegateBar {
|
|
67
|
+
float: right;
|
|
68
|
+
width: 1px;
|
|
69
|
+
height: 100%;
|
|
70
|
+
cursor: ew-resize;
|
|
71
|
+
transform: translateX(1px);
|
|
72
|
+
pointer-events: all;
|
|
73
|
+
background: var(--terminal-border);
|
|
74
|
+
opacity: 0.35;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IWidget, IWidgetGroup } from '../../common/resize';
|
|
3
|
+
export declare enum ResizeDirection {
|
|
4
|
+
vertical = 0,
|
|
5
|
+
horizontal = 1
|
|
6
|
+
}
|
|
7
|
+
export interface IResizeViewProps {
|
|
8
|
+
direction: ResizeDirection;
|
|
9
|
+
useFlex: boolean;
|
|
10
|
+
shadow: boolean;
|
|
11
|
+
group: IWidgetGroup;
|
|
12
|
+
draw: (widget: IWidget) => JSX.Element;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: (props: IResizeViewProps) => React.JSX.Element;
|
|
15
|
+
export default _default;
|
|
16
|
+
//# sourceMappingURL=resize.view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize.view.d.ts","sourceRoot":"","sources":["../../../src/browser/component/resize.view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAK5D,oBAAY,eAAe;IACzB,QAAQ,IAAA;IACR,UAAU,IAAA;CACX;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;CACxC;gCAqCsB,gBAAgB;AAAvC,wBA0DE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResizeDirection = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
8
|
+
const controller_1 = require("../../common/controller");
|
|
9
|
+
const resize_delegate_1 = tslib_1.__importDefault(require("./resize.delegate"));
|
|
10
|
+
const resize_module_less_1 = tslib_1.__importDefault(require("./resize.module.less"));
|
|
11
|
+
var ResizeDirection;
|
|
12
|
+
(function (ResizeDirection) {
|
|
13
|
+
ResizeDirection[ResizeDirection["vertical"] = 0] = "vertical";
|
|
14
|
+
ResizeDirection[ResizeDirection["horizontal"] = 1] = "horizontal";
|
|
15
|
+
})(ResizeDirection || (exports.ResizeDirection = ResizeDirection = {}));
|
|
16
|
+
const ResizeItem = ({ index, widget, wholeWidth, setEvent, self, left, right, last }) => {
|
|
17
|
+
const shadowDynamic = (0, ide_core_browser_1.useAutorun)(widget.shadowDynamic);
|
|
18
|
+
return (react_1.default.createElement("div", { key: `resize-item-${index}`, style: { width: `${shadowDynamic}%` }, className: resize_module_less_1.default.resizeHandler },
|
|
19
|
+
react_1.default.createElement(resize_delegate_1.default, { wholeWidth: wholeWidth, start: () => setEvent(true), stop: () => setEvent(false), self: self, left: left, right: right, last: last })));
|
|
20
|
+
};
|
|
21
|
+
const ResizePanelItem = ({ widget, dynamic, draw, handleRemoveWidget, widgetsLength }) => {
|
|
22
|
+
const _dynamic = (0, ide_core_browser_1.useAutorun)(dynamic);
|
|
23
|
+
return (react_1.default.createElement("div", { key: widget.id, style: { width: `${_dynamic}%` }, className: resize_module_less_1.default.resizeItem },
|
|
24
|
+
draw(widget),
|
|
25
|
+
widgetsLength > 1 && (react_1.default.createElement("div", { className: (0, classnames_1.default)(resize_module_less_1.default.closeBtn, (0, ide_core_browser_1.getIcon)('close')), onClick: () => {
|
|
26
|
+
handleRemoveWidget(widget.id);
|
|
27
|
+
} }))));
|
|
28
|
+
};
|
|
29
|
+
exports.default = (props) => {
|
|
30
|
+
const { group, shadow } = props;
|
|
31
|
+
const widgets = (0, ide_core_browser_1.useAutorun)(group.widgets);
|
|
32
|
+
const [event, setEvent] = react_1.default.useState(false);
|
|
33
|
+
const [wholeWidth, setWholeWidth] = react_1.default.useState(Infinity);
|
|
34
|
+
const view = (0, ide_core_browser_1.useInjectable)(controller_1.ITerminalGroupViewService);
|
|
35
|
+
const whole = react_1.default.useRef(null);
|
|
36
|
+
react_1.default.useEffect(() => {
|
|
37
|
+
if (whole.current && whole.current.clientHeight !== wholeWidth) {
|
|
38
|
+
setWholeWidth(whole.current.clientWidth);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const handleRemoveWidget = react_1.default.useCallback((widgetId) => {
|
|
42
|
+
view.removeWidget(widgetId);
|
|
43
|
+
}, []);
|
|
44
|
+
return (react_1.default.createElement("div", { className: resize_module_less_1.default.resizeWrapper, ref: whole },
|
|
45
|
+
react_1.default.createElement("div", { style: { pointerEvents: event ? 'all' : 'none' }, className: resize_module_less_1.default.resizeDelegate }, widgets &&
|
|
46
|
+
widgets.map((widget, index) => {
|
|
47
|
+
const left = index - 1 > -1 ? widgets[index - 1] : null;
|
|
48
|
+
const self = widgets[index];
|
|
49
|
+
const right = index + 1 < widgets.length ? widgets[index + 1] : null;
|
|
50
|
+
return (react_1.default.createElement(ResizeItem, { key: index, index: index, widget: widget, wholeWidth: wholeWidth, setEvent: setEvent, self: self, left: left, right: right, last: index === widgets.length - 1 }));
|
|
51
|
+
})),
|
|
52
|
+
react_1.default.createElement("div", { style: { pointerEvents: !event ? 'all' : 'none' }, className: resize_module_less_1.default.resizePanel }, widgets &&
|
|
53
|
+
widgets.map((widget) => (react_1.default.createElement(ResizePanelItem, { key: widget.id, widget: widget, dynamic: shadow ? widget.dynamic : widget.shadowDynamic, draw: props.draw, handleRemoveWidget: handleRemoveWidget, widgetsLength: widgets.length }))))));
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=resize.view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize.view.js","sourceRoot":"","sources":["../../../src/browser/component/resize.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@option-size: 20px;
|
|
2
|
+
|
|
3
|
+
.terminalSearch {
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
position: absolute;
|
|
8
|
+
z-index: 999;
|
|
9
|
+
right: 16px;
|
|
10
|
+
border-radius: 2px;
|
|
11
|
+
padding: 6px 8px;
|
|
12
|
+
box-shadow: rgba(0, 0, 0, 0.133) 0px 3.2px 7.2px 0px, rgba(0, 0, 0, 0.11) 0px 0.6px 1.8px 0px;
|
|
13
|
+
background: var(--kt-panelTitle-background);
|
|
14
|
+
|
|
15
|
+
.searchField {
|
|
16
|
+
&:focus {
|
|
17
|
+
border-color: var(--focusBorder);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.optionBtn {
|
|
21
|
+
width: @option-size;
|
|
22
|
+
height: @option-size;
|
|
23
|
+
margin: 0 1px;
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
user-select: none;
|
|
28
|
+
background-repeat: no-repeat;
|
|
29
|
+
background-position: center;
|
|
30
|
+
border: 1px solid transparent;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
opacity: 0.7;
|
|
33
|
+
|
|
34
|
+
&:hover {
|
|
35
|
+
opacity: 1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&::before {
|
|
39
|
+
display: inline-block;
|
|
40
|
+
height: @option-size - 2;
|
|
41
|
+
line-height: @option-size - 2;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&.select {
|
|
45
|
+
background-color: var(--inputOption-activeBackground);
|
|
46
|
+
border-color: var(--inputOption-activeBorder);
|
|
47
|
+
opacity: 1;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.panelBtn {
|
|
53
|
+
padding: 0px 6px;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.searchResult {
|
|
58
|
+
margin: 0 4px;
|
|
59
|
+
font-size: 14px;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.view.d.ts","sourceRoot":"","sources":["../../../src/browser/component/search.view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAmItC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalSearch = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const ide_components_1 = require("@opensumi/ide-components");
|
|
8
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
9
|
+
const common_1 = require("../../common");
|
|
10
|
+
const search_module_less_1 = tslib_1.__importDefault(require("./search.module.less"));
|
|
11
|
+
exports.TerminalSearch = react_1.default.memo((props) => {
|
|
12
|
+
const searchService = (0, ide_core_browser_1.useInjectable)(common_1.ITerminalSearchService);
|
|
13
|
+
const [UIState, setUIState] = react_1.default.useState(searchService.UIState);
|
|
14
|
+
const [searchResult, setSearchResult] = react_1.default.useState(null);
|
|
15
|
+
const [inputText, setInputText] = react_1.default.useState(searchService.text || '');
|
|
16
|
+
const inputRef = react_1.default.useRef(null);
|
|
17
|
+
react_1.default.useEffect(() => {
|
|
18
|
+
const dispose = searchService.onVisibleChange((show) => {
|
|
19
|
+
if (show && inputRef.current) {
|
|
20
|
+
inputRef.current.focus();
|
|
21
|
+
if (inputRef.current.value.length > 0) {
|
|
22
|
+
inputRef.current.setSelectionRange(0, inputRef.current.value.length);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return () => dispose.dispose();
|
|
27
|
+
}, [searchService]);
|
|
28
|
+
react_1.default.useEffect(() => {
|
|
29
|
+
if (!searchService.onResultChange) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const dispose = searchService.onResultChange((event) => {
|
|
33
|
+
setSearchResult(event);
|
|
34
|
+
});
|
|
35
|
+
return () => dispose.dispose();
|
|
36
|
+
}, [searchService]);
|
|
37
|
+
const searchInput = react_1.default.useCallback((event) => {
|
|
38
|
+
searchService.text = event.target.value;
|
|
39
|
+
searchService.search();
|
|
40
|
+
setInputText(event.target.value);
|
|
41
|
+
}, [searchService]);
|
|
42
|
+
const searchKeyDown = react_1.default.useCallback((event) => {
|
|
43
|
+
if (event.key === 'Enter') {
|
|
44
|
+
searchService.search();
|
|
45
|
+
}
|
|
46
|
+
if (event.key === 'Escape') {
|
|
47
|
+
searchService.close();
|
|
48
|
+
searchService.clear();
|
|
49
|
+
}
|
|
50
|
+
}, [searchService]);
|
|
51
|
+
const toggleMatchCase = react_1.default.useCallback(() => {
|
|
52
|
+
searchService.updateUIState({ isMatchCase: !UIState.isMatchCase });
|
|
53
|
+
setUIState(searchService.UIState);
|
|
54
|
+
}, [searchService, UIState]);
|
|
55
|
+
const toggleRegex = react_1.default.useCallback(() => {
|
|
56
|
+
searchService.updateUIState({ isUseRegexp: !UIState.isUseRegexp });
|
|
57
|
+
setUIState(searchService.UIState);
|
|
58
|
+
}, [searchService, UIState]);
|
|
59
|
+
const toggleWholeWord = react_1.default.useCallback(() => {
|
|
60
|
+
searchService.updateUIState({ isWholeWord: !UIState.isWholeWord });
|
|
61
|
+
setUIState(searchService.UIState);
|
|
62
|
+
}, [searchService, UIState]);
|
|
63
|
+
const searchNext = react_1.default.useCallback(() => {
|
|
64
|
+
searchService.searchNext();
|
|
65
|
+
}, [searchService]);
|
|
66
|
+
const searchPrev = react_1.default.useCallback(() => {
|
|
67
|
+
searchService.searchPrevious();
|
|
68
|
+
}, [searchService]);
|
|
69
|
+
const close = react_1.default.useCallback(() => {
|
|
70
|
+
searchService.close();
|
|
71
|
+
}, [searchService]);
|
|
72
|
+
return (react_1.default.createElement("div", { className: search_module_less_1.default.terminalSearch },
|
|
73
|
+
react_1.default.createElement(ide_components_1.ValidateInput, { className: search_module_less_1.default.searchField, autoFocus: true, id: 'search-input-field', title: (0, ide_core_browser_1.localize)('search.input.placeholder'), type: 'text', value: inputText, placeholder: (0, ide_core_browser_1.localize)('common.find'), onKeyDown: searchKeyDown, onChange: searchInput, ref: inputRef, validateMessage: undefined, addonAfter: [
|
|
74
|
+
react_1.default.createElement("span", { key: (0, ide_core_browser_1.localize)('search.caseDescription'), className: (0, classnames_1.default)((0, ide_core_browser_1.getIcon)('ab'), search_module_less_1.default['match-case'], search_module_less_1.default.optionBtn, {
|
|
75
|
+
[search_module_less_1.default.select]: UIState.isMatchCase,
|
|
76
|
+
}), title: (0, ide_core_browser_1.localize)('search.caseDescription'), onClick: toggleMatchCase }),
|
|
77
|
+
react_1.default.createElement("span", { key: (0, ide_core_browser_1.localize)('search.wordsDescription'), className: (0, classnames_1.default)((0, ide_core_browser_1.getIcon)('abl'), search_module_less_1.default['whole-word'], search_module_less_1.default.optionBtn, {
|
|
78
|
+
[search_module_less_1.default.select]: UIState.isWholeWord,
|
|
79
|
+
}), title: (0, ide_core_browser_1.localize)('search.wordsDescription'), onClick: toggleWholeWord }),
|
|
80
|
+
react_1.default.createElement("span", { key: (0, ide_core_browser_1.localize)('search.regexDescription'), className: (0, classnames_1.default)((0, ide_core_browser_1.getIcon)('regex'), search_module_less_1.default['use-regexp'], search_module_less_1.default.optionBtn, {
|
|
81
|
+
[search_module_less_1.default.select]: UIState.isUseRegexp,
|
|
82
|
+
}), title: (0, ide_core_browser_1.localize)('search.regexDescription'), onClick: toggleRegex }),
|
|
83
|
+
] }),
|
|
84
|
+
react_1.default.createElement("div", { className: search_module_less_1.default.searchResult }, searchResult ? `${searchResult.resultIndex + 1}/${searchResult.resultCount}` : '0/0'),
|
|
85
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(search_module_less_1.default.panelBtn, (0, ide_core_browser_1.getIcon)('up')), onClick: searchPrev }),
|
|
86
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(search_module_less_1.default.panelBtn, (0, ide_core_browser_1.getIcon)('down')), onClick: searchNext }),
|
|
87
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(search_module_less_1.default.panelBtn, (0, ide_core_browser_1.getIcon)('close')), onClick: close })));
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=search.view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.view.js","sourceRoot":"","sources":["../../../src/browser/component/search.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ItemProps } from '../../common';
|
|
3
|
+
export declare const renderInfoItem: (props: ItemProps) => React.JSX.Element | null;
|
|
4
|
+
export declare const renderAddItem: (props: ItemProps) => React.JSX.Element;
|
|
5
|
+
declare const _default: (props: ItemProps) => React.FunctionComponentElement<ItemProps> | null;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=tab.item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.item.d.ts","sourceRoot":"","sources":["../../../src/browser/component/tab.item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAiB5F,OAAO,EAAE,SAAS,EAAY,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,cAAc,UAAW,SAAS,6BA0I9C,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,SAAS,sBA0B7C,CAAC;gCAEqB,SAAS;AAAhC,wBAUE"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderAddItem = exports.renderInfoItem = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
6
|
+
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
7
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
8
|
+
const icon_1 = require("@opensumi/ide-components/lib/icon/icon");
|
|
9
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
10
|
+
const loading_1 = require("@opensumi/ide-core-browser/lib/components/loading");
|
|
11
|
+
const constants_1 = require("@opensumi/ide-core-browser/lib/layout/constants");
|
|
12
|
+
const browser_1 = require("@opensumi/ide-theme/lib/browser");
|
|
13
|
+
const common_1 = require("../../common");
|
|
14
|
+
const tab_module_less_1 = tslib_1.__importDefault(require("./tab.module.less"));
|
|
15
|
+
const renderInfoItem = (props) => {
|
|
16
|
+
var _a, _b, _c, _d;
|
|
17
|
+
const iconService = (0, ide_core_browser_1.useInjectable)(browser_1.IconService);
|
|
18
|
+
const handleSelect = (0, debounce_1.default)(() => props.onClick && props.onClick(), 20);
|
|
19
|
+
const handleClose = (0, debounce_1.default)(() => props.onClose && props.onClose(), 20);
|
|
20
|
+
const styles_item_container = (0, ide_core_browser_1.useDesignStyles)(tab_module_less_1.default.item_container, 'item_container');
|
|
21
|
+
const styles_tab_item_selected = (0, ide_core_browser_1.useDesignStyles)(tab_module_less_1.default.tab_item_selected, 'tab_item_selected');
|
|
22
|
+
const styles_item_info_name = (0, ide_core_browser_1.useDesignStyles)(tab_module_less_1.default.item_info_name, 'item_info_name');
|
|
23
|
+
const styles_tab_close_icon = (0, ide_core_browser_1.useDesignStyles)(tab_module_less_1.default.tab_close_icon, 'tab_close_icon');
|
|
24
|
+
const layoutViewSize = (0, ide_core_browser_1.useInjectable)(constants_1.LayoutViewSizeConfig);
|
|
25
|
+
const ref = (0, react_1.useRef)(null);
|
|
26
|
+
const { group } = props;
|
|
27
|
+
if (!group) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const { options, id } = group;
|
|
31
|
+
const editable = (0, ide_core_browser_1.useAutorun)(group.editable);
|
|
32
|
+
const name = (0, ide_core_browser_1.useAutorun)(group.snapshot);
|
|
33
|
+
const handleOnKeyDown = (0, react_1.useCallback)((e) => {
|
|
34
|
+
if (e.key === 'Enter' && props.onInputEnter && id) {
|
|
35
|
+
props.onInputEnter(id, e.target.value);
|
|
36
|
+
}
|
|
37
|
+
}, [id, props.onInputEnter]);
|
|
38
|
+
(0, react_1.useEffect)(() => {
|
|
39
|
+
var _a;
|
|
40
|
+
if (props.selected) {
|
|
41
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
|
|
42
|
+
}
|
|
43
|
+
}, [ref, props.selected]);
|
|
44
|
+
let iconClass;
|
|
45
|
+
if (options === null || options === void 0 ? void 0 : options.icon) {
|
|
46
|
+
if ((_a = options.icon) === null || _a === void 0 ? void 0 : _a.id) {
|
|
47
|
+
iconClass = iconService.fromString(`$(${(_b = options.icon) === null || _b === void 0 ? void 0 : _b.id})`);
|
|
48
|
+
}
|
|
49
|
+
else if (options.icon instanceof ide_core_browser_1.URI) {
|
|
50
|
+
iconClass = iconService.fromIcon(options === null || options === void 0 ? void 0 : options.icon.toString());
|
|
51
|
+
}
|
|
52
|
+
else if (((_c = options.icon) === null || _c === void 0 ? void 0 : _c.light) || ((_d = options === null || options === void 0 ? void 0 : options.icon) === null || _d === void 0 ? void 0 : _d.dark)) {
|
|
53
|
+
iconClass =
|
|
54
|
+
props.theme === 'light'
|
|
55
|
+
? iconService.fromIcon(options.icon.light.toString())
|
|
56
|
+
: iconService.fromIcon(options.icon.dark.toString());
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const handleDragStart = (0, react_1.useCallback)((e) => {
|
|
60
|
+
var _a;
|
|
61
|
+
(_a = props.onDragStart) === null || _a === void 0 ? void 0 : _a.call(props, e);
|
|
62
|
+
}, [props.onDragStart]);
|
|
63
|
+
const handleDragOver = (0, react_1.useCallback)((e) => {
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
if (ref.current) {
|
|
66
|
+
ref.current.classList.add('on-drag-over');
|
|
67
|
+
}
|
|
68
|
+
}, [ref]);
|
|
69
|
+
const handleDragLeave = (0, react_1.useCallback)(() => {
|
|
70
|
+
if (ref.current) {
|
|
71
|
+
ref.current.classList.remove('on-drag-over');
|
|
72
|
+
}
|
|
73
|
+
}, [ref]);
|
|
74
|
+
const handleDrop = (0, react_1.useCallback)((e) => {
|
|
75
|
+
var _a;
|
|
76
|
+
if (ref.current) {
|
|
77
|
+
ref.current.classList.remove('on-drag-over');
|
|
78
|
+
}
|
|
79
|
+
(_a = props.onDrop) === null || _a === void 0 ? void 0 : _a.call(props, e);
|
|
80
|
+
}, [ref, props.onDrop]);
|
|
81
|
+
return (react_1.default.createElement("div", { draggable: props.draggable, onDragStart: handleDragStart, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, ref: ref, className: (0, classnames_1.default)({
|
|
82
|
+
[styles_item_container]: true,
|
|
83
|
+
[styles_tab_item_selected]: !!props.selected,
|
|
84
|
+
}), style: { height: layoutViewSize.panelTitleBarHeight }, onClick: () => handleSelect(), onContextMenu: (event) => props.onContextMenu && props.onContextMenu(event) },
|
|
85
|
+
editable ? (react_1.default.createElement("input", { autoFocus: true, ref: (ele) => ele && ele.select(), className: tab_module_less_1.default.item_info_input, defaultValue: name, onClick: (e) => e.stopPropagation(), onBlur: () => props.onInputBlur && group.id && props.onInputBlur(group.id), onKeyDown: (e) => handleOnKeyDown(e) })) : (react_1.default.createElement("div", { id: group.id, className: styles_item_info_name, title: name }, name !== '' ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
86
|
+
react_1.default.createElement(icon_1.Icon, { iconClass: iconClass ? iconClass : (0, ide_core_browser_1.getIcon)((name === null || name === void 0 ? void 0 : name.toLowerCase()) || 'terminal') || (0, ide_core_browser_1.getIcon)('terminal'), style: { marginRight: 4, color: 'inherit', fontSize: 14 } }),
|
|
87
|
+
react_1.default.createElement("span", { className: tab_module_less_1.default.item_title }, name))) : (react_1.default.createElement(loading_1.Loading, null)))),
|
|
88
|
+
editable ? (react_1.default.createElement("div", null)) : (react_1.default.createElement("div", { className: (0, classnames_1.default)([(0, ide_core_browser_1.getIcon)('close'), styles_tab_close_icon]), onClick: (event) => {
|
|
89
|
+
event.stopPropagation();
|
|
90
|
+
handleClose();
|
|
91
|
+
} }))));
|
|
92
|
+
};
|
|
93
|
+
exports.renderInfoItem = renderInfoItem;
|
|
94
|
+
const renderAddItem = (props) => {
|
|
95
|
+
const handleAdd = (0, debounce_1.default)(() => props.onClick && props.onClick(), 20);
|
|
96
|
+
const keybinding = props.getKeybinding && props.getKeybinding(ide_core_browser_1.TERMINAL_COMMANDS.ADD.id);
|
|
97
|
+
const createTitle = keybinding ? `${(0, ide_core_browser_1.localize)('terminal.new')}(${keybinding})` : (0, ide_core_browser_1.localize)('terminal.new');
|
|
98
|
+
const style_tab_item_wrapper = (0, ide_core_browser_1.useDesignStyles)(tab_module_less_1.default.tab_item_wrapper, 'tab_item_wrapper');
|
|
99
|
+
return (react_1.default.createElement("div", { className: style_tab_item_wrapper },
|
|
100
|
+
react_1.default.createElement("div", { title: createTitle, className: (0, classnames_1.default)({
|
|
101
|
+
[(0, ide_core_browser_1.getIcon)('plus')]: true,
|
|
102
|
+
[tab_module_less_1.default.item_add]: true,
|
|
103
|
+
}), onClick: () => handleAdd() }),
|
|
104
|
+
react_1.default.createElement("div", { title: (0, ide_core_browser_1.localize)('terminal.new.type'), className: (0, classnames_1.default)({
|
|
105
|
+
[(0, ide_core_browser_1.getIcon)('down')]: true,
|
|
106
|
+
[tab_module_less_1.default.item_more]: true,
|
|
107
|
+
}), onClick: props.onDropdown })));
|
|
108
|
+
};
|
|
109
|
+
exports.renderAddItem = renderAddItem;
|
|
110
|
+
exports.default = (props) => {
|
|
111
|
+
const type = props.type || common_1.ItemType.info;
|
|
112
|
+
switch (type) {
|
|
113
|
+
case common_1.ItemType.info:
|
|
114
|
+
return (0, react_1.createElement)(props.provider.infoItemRender, props);
|
|
115
|
+
case common_1.ItemType.add:
|
|
116
|
+
return (0, react_1.createElement)(props.provider.addItemRender, props);
|
|
117
|
+
default:
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=tab.item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.item.js","sourceRoot":"","sources":["../../../src/browser/component/tab.item.tsx"],"names":[],"mappings":"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"}
|