@difizen/libro-terminal 0.1.14 → 0.1.15
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/es/command.d.ts.map +1 -1
- package/es/command.js +3 -5
- package/es/manager.d.ts +8 -1
- package/es/manager.d.ts.map +1 -1
- package/es/manager.js +31 -9
- package/es/view.d.ts.map +1 -1
- package/es/view.js +14 -3
- package/package.json +4 -4
- package/src/command.ts +3 -4
- package/src/manager.ts +16 -2
- package/src/view.tsx +11 -1
package/es/command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAM3E,CAAC;AAEF,qBACa,2BACX,YAAW,mBAAmB,EAAE,sBAAsB;IAEjC,WAAW,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC;IAClD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAS1D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAM3E,CAAC;AAEF,qBACa,2BACX,YAAW,mBAAmB,EAAE,sBAAsB;IAEjC,WAAW,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC;IAClD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAS1D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAsBlD"}
|
package/es/command.js
CHANGED
|
@@ -52,16 +52,14 @@ export var TerminalCommandContribution = (_dec = singleton({
|
|
|
52
52
|
var _this = this;
|
|
53
53
|
commands.registerCommand(TerminalCommands['OpenTerminal'], {
|
|
54
54
|
execute: function () {
|
|
55
|
-
var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
55
|
+
var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(name) {
|
|
56
56
|
var terminalView, slot;
|
|
57
57
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
58
58
|
while (1) switch (_context.prev = _context.next) {
|
|
59
59
|
case 0:
|
|
60
60
|
_context.prev = 0;
|
|
61
61
|
_context.next = 3;
|
|
62
|
-
return _this.viewManager.getOrCreateView(LibroTerminalView,
|
|
63
|
-
id: _this.manager.newTerminalName()
|
|
64
|
-
});
|
|
62
|
+
return _this.viewManager.getOrCreateView(LibroTerminalView, _this.manager.getTerminalArgs(name));
|
|
65
63
|
case 3:
|
|
66
64
|
terminalView = _context.sent;
|
|
67
65
|
_context.next = 6;
|
|
@@ -85,7 +83,7 @@ export var TerminalCommandContribution = (_dec = singleton({
|
|
|
85
83
|
}
|
|
86
84
|
}, _callee, null, [[0, 10]]);
|
|
87
85
|
}));
|
|
88
|
-
function execute() {
|
|
86
|
+
function execute(_x) {
|
|
89
87
|
return _execute.apply(this, arguments);
|
|
90
88
|
}
|
|
91
89
|
return execute;
|
package/es/manager.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export declare class TerminalManager implements Disposable, Disposed {
|
|
|
56
56
|
* @returns A new iterator over the running terminals.
|
|
57
57
|
*/
|
|
58
58
|
running(): IterableIterator<TerminalModel>;
|
|
59
|
+
get runningModels(): string[];
|
|
59
60
|
/**
|
|
60
61
|
* Force a refresh of the running terminals.
|
|
61
62
|
*
|
|
@@ -101,6 +102,12 @@ export declare class TerminalManager implements Disposable, Disposed {
|
|
|
101
102
|
*/
|
|
102
103
|
protected _onDisposed(terminalConnection: TerminalConnection): void;
|
|
103
104
|
getOrCreate: (options: TerminalOption) => Promise<TerminalConnection>;
|
|
104
|
-
|
|
105
|
+
getTerminalArgs: (name?: string) => {
|
|
106
|
+
name: string;
|
|
107
|
+
id?: undefined;
|
|
108
|
+
} | {
|
|
109
|
+
id: string;
|
|
110
|
+
name?: undefined;
|
|
111
|
+
};
|
|
105
112
|
}
|
|
106
113
|
//# sourceMappingURL=manager.d.ts.map
|
package/es/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAgB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAgB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAU,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBACa,eAAgB,YAAW,UAAU,EAAE,QAAQ;IAC1D,QAAQ,UAAS;IACjB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;IAC5B,SAAS,CAAC,oBAAoB,0BAAiC;IAC/D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,eAAe,2BAAkC;IAC3D,SAAS,CAAC,kBAAkB,iBAAwB;IAIpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAEhC,SAAS,KAAK,OAAO,IAAI,aAAa,EAAE,CAIvC;IAEwB,eAAe,EAAE,eAAe,CAAC;IAG1D,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;gBACmC,gBAAgB,EAAE,gBAAgB;IAwBxE;;OAEG;IACH,IAAI,cAAc,8CAEjB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,CAE3C;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,CAEpC;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;IAoBf,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,kBAAkB;IAaxD;;;;OAIG;IACH,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC;IAI1C,IAAI,aAAa,aAEhB;IAED;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMpE;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAOlE;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAQnE,WAAW,YAAmB,cAAc,iCAoB1C;IAGF,eAAe,UAAW,MAAM;;;;;;MAM9B;CACH"}
|
package/es/manager.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
2
|
+
var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3;
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -19,12 +19,13 @@ function _initializerWarningHelper(descriptor, context) { throw new Error('Decor
|
|
|
19
19
|
|
|
20
20
|
import { Poll } from '@difizen/libro-common';
|
|
21
21
|
import { NetworkError, ServerConnection } from '@difizen/libro-kernel';
|
|
22
|
+
import { prop } from '@difizen/mana-app';
|
|
22
23
|
import { singleton } from '@difizen/mana-app';
|
|
23
24
|
import { Emitter, inject } from '@difizen/mana-app';
|
|
24
25
|
import { v4 } from 'uuid';
|
|
25
26
|
import { TerminalConnectionFactory } from "./protocol.js";
|
|
26
27
|
import { TerminalRestAPI } from "./restapi.js";
|
|
27
|
-
export var TerminalManager = (_dec = singleton(), _dec2 = inject(TerminalRestAPI),
|
|
28
|
+
export var TerminalManager = (_dec = singleton(), _dec2 = prop(), _dec3 = inject(TerminalRestAPI), _dec4 = inject(TerminalConnectionFactory), _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
28
29
|
/**
|
|
29
30
|
* Construct a new terminal manager.
|
|
30
31
|
*/
|
|
@@ -37,10 +38,10 @@ export var TerminalManager = (_dec = singleton(), _dec2 = inject(TerminalRestAPI
|
|
|
37
38
|
this._runningChanged = new Emitter();
|
|
38
39
|
this._connectionFailure = new Emitter();
|
|
39
40
|
// As an optimization, we unwrap the models to just store the names.
|
|
40
|
-
this
|
|
41
|
-
_initializerDefineProperty(this, "terminalRestAPI",
|
|
41
|
+
_initializerDefineProperty(this, "_names", _descriptor, this);
|
|
42
|
+
_initializerDefineProperty(this, "terminalRestAPI", _descriptor2, this);
|
|
42
43
|
// @inject(ServerConnection) serverConnection: ServerConnection;
|
|
43
|
-
_initializerDefineProperty(this, "terminalConnectionFactory",
|
|
44
|
+
_initializerDefineProperty(this, "terminalConnectionFactory", _descriptor3, this);
|
|
44
45
|
this.getOrCreate = /*#__PURE__*/function () {
|
|
45
46
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
|
|
46
47
|
var name, cwd, connection, models;
|
|
@@ -99,8 +100,17 @@ export var TerminalManager = (_dec = singleton(), _dec2 = inject(TerminalRestAPI
|
|
|
99
100
|
return _ref.apply(this, arguments);
|
|
100
101
|
};
|
|
101
102
|
}();
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
// 新建和打开一个已有Terminal,二者所需参数不一样
|
|
104
|
+
this.getTerminalArgs = function (name) {
|
|
105
|
+
if (name) {
|
|
106
|
+
return {
|
|
107
|
+
name: name
|
|
108
|
+
};
|
|
109
|
+
} else {
|
|
110
|
+
return {
|
|
111
|
+
id: v4()
|
|
112
|
+
};
|
|
113
|
+
}
|
|
104
114
|
};
|
|
105
115
|
this.serverConnection = serverConnection;
|
|
106
116
|
//
|
|
@@ -246,6 +256,11 @@ export var TerminalManager = (_dec = singleton(), _dec2 = inject(TerminalRestAPI
|
|
|
246
256
|
value: function running() {
|
|
247
257
|
return this._models[Symbol.iterator]();
|
|
248
258
|
}
|
|
259
|
+
}, {
|
|
260
|
+
key: "runningModels",
|
|
261
|
+
get: function get() {
|
|
262
|
+
return this._names;
|
|
263
|
+
}
|
|
249
264
|
|
|
250
265
|
/**
|
|
251
266
|
* Force a refresh of the running terminals.
|
|
@@ -474,12 +489,19 @@ export var TerminalManager = (_dec = singleton(), _dec2 = inject(TerminalRestAPI
|
|
|
474
489
|
}
|
|
475
490
|
}]);
|
|
476
491
|
return TerminalManager;
|
|
477
|
-
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "
|
|
492
|
+
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "_names", [_dec2], {
|
|
493
|
+
configurable: true,
|
|
494
|
+
enumerable: true,
|
|
495
|
+
writable: true,
|
|
496
|
+
initializer: function initializer() {
|
|
497
|
+
return [];
|
|
498
|
+
}
|
|
499
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "terminalRestAPI", [_dec3], {
|
|
478
500
|
configurable: true,
|
|
479
501
|
enumerable: true,
|
|
480
502
|
writable: true,
|
|
481
503
|
initializer: null
|
|
482
|
-
}),
|
|
504
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "terminalConnectionFactory", [_dec4], {
|
|
483
505
|
configurable: true,
|
|
484
506
|
enumerable: true,
|
|
485
507
|
writable: true,
|
package/es/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,OAAO,EAUR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuB5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,0FAc5B,CAAC;AAEH,qBAEa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,IAAI,2FAAqB;IAClC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACtC,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,uBAA8B;IAEnE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,mBAA0B;IAC7D,QAAQ,CAAC,SAAS,6CAA+B;IAEjD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,mBAA0B;IAEpE,SAAS,CAAC,QAAQ,CAAC,oBAAoB;cAC/B,MAAM;cACN,MAAM;OACT;IAEL,SAAS,CAAC,QAAQ,CAAC,aAAa,kBAAyB;IAEzD,SAAS,CAAC,QAAQ,CAAC,YAAY;aACxB,MAAM;kBACD,aAAa;OACpB;IAEL,SAAS,CAAC,QAAQ,CAAC,iBAAiB,6BAAoC;IAExE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,kBAAyB;IAEhE,SAAS,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAE1C,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,QAAQ,UAAS;IAE3B,SAAS,CAAC,cAAc,mBAA0B;gBAG5B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB;IACrC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,oBAAoB,EACvC,eAAe,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
|
package/es/view.js
CHANGED
|
@@ -211,6 +211,7 @@ export var LibroTerminalView = (_dec = transient(), _dec2 = view('libro-terminal
|
|
|
211
211
|
_this.fitAddon.fit();
|
|
212
212
|
};
|
|
213
213
|
_this.onViewResize = function () {
|
|
214
|
+
var _this$container;
|
|
214
215
|
// todo 这里为什么没有触发isAttached
|
|
215
216
|
// if (!this.isVisible || !this.isAttached) {
|
|
216
217
|
// return;
|
|
@@ -219,20 +220,29 @@ export var LibroTerminalView = (_dec = transient(), _dec2 = view('libro-terminal
|
|
|
219
220
|
if (!_this.isVisible) {
|
|
220
221
|
return;
|
|
221
222
|
}
|
|
223
|
+
if ((_this$container = _this.container) !== null && _this$container !== void 0 && _this$container.current) {
|
|
224
|
+
if (_this.container.current.offsetHeight === 0) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
if (_this.container.current.offsetWidth === 0) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// 触发term的resize 事件
|
|
222
233
|
_this.processResize();
|
|
223
234
|
};
|
|
224
235
|
_this.processResize = function () {
|
|
225
236
|
_this.open();
|
|
226
237
|
_this.resizeTerminal();
|
|
227
|
-
_this.setSessionSize();
|
|
228
238
|
};
|
|
229
239
|
_this.open = function () {
|
|
230
240
|
try {
|
|
231
|
-
var _this$
|
|
241
|
+
var _this$container2;
|
|
232
242
|
if (_this.termOpened) {
|
|
233
243
|
return;
|
|
234
244
|
}
|
|
235
|
-
var node = (_this$
|
|
245
|
+
var node = (_this$container2 = _this.container) === null || _this$container2 === void 0 ? void 0 : _this$container2.current;
|
|
236
246
|
if (node) {
|
|
237
247
|
_this.term.open(node);
|
|
238
248
|
}
|
|
@@ -343,6 +353,7 @@ export var LibroTerminalView = (_dec = transient(), _dec2 = view('libro-terminal
|
|
|
343
353
|
// bind onSizeChanged
|
|
344
354
|
_this.toDispose.push(_this.term.onResize(function (data) {
|
|
345
355
|
_this.onSizeChangedEmitter.fire(data);
|
|
356
|
+
_this.setSessionSize();
|
|
346
357
|
}));
|
|
347
358
|
|
|
348
359
|
// bind ondata
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@difizen/libro-terminal",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"libro"
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"src"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@difizen/libro-core": "^0.1.
|
|
35
|
-
"@difizen/libro-common": "^0.1.
|
|
36
|
-
"@difizen/libro-kernel": "^0.1.
|
|
34
|
+
"@difizen/libro-core": "^0.1.15",
|
|
35
|
+
"@difizen/libro-common": "^0.1.15",
|
|
36
|
+
"@difizen/libro-kernel": "^0.1.15",
|
|
37
37
|
"@ant-design/icons": "^5.1.0",
|
|
38
38
|
"@difizen/mana-app": "latest",
|
|
39
39
|
"lodash.throttle": "^4.1.1",
|
package/src/command.ts
CHANGED
|
@@ -36,15 +36,14 @@ export class TerminalCommandContribution
|
|
|
36
36
|
|
|
37
37
|
registerCommands(commands: CommandRegistry): void {
|
|
38
38
|
commands.registerCommand(TerminalCommands['OpenTerminal'], {
|
|
39
|
-
execute: async () => {
|
|
39
|
+
execute: async (name?: string) => {
|
|
40
40
|
try {
|
|
41
41
|
const terminalView =
|
|
42
42
|
await this.viewManager.getOrCreateView<LibroTerminalView>(
|
|
43
43
|
LibroTerminalView,
|
|
44
|
-
|
|
45
|
-
id: this.manager.newTerminalName(),
|
|
46
|
-
},
|
|
44
|
+
this.manager.getTerminalArgs(name),
|
|
47
45
|
);
|
|
46
|
+
|
|
48
47
|
const slot = await this.config.get(terminalDefaultSlot);
|
|
49
48
|
if (slot) {
|
|
50
49
|
this.slotManager.addView(terminalView, slot, {
|
package/src/manager.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { Poll } from '@difizen/libro-common';
|
|
5
5
|
import { NetworkError, ServerConnection } from '@difizen/libro-kernel';
|
|
6
6
|
import type { Disposable, Disposed, Event } from '@difizen/mana-app';
|
|
7
|
+
import { prop } from '@difizen/mana-app';
|
|
7
8
|
import { singleton } from '@difizen/mana-app';
|
|
8
9
|
import { Emitter, inject } from '@difizen/mana-app';
|
|
9
10
|
import { v4 } from 'uuid';
|
|
@@ -23,7 +24,10 @@ export class TerminalManager implements Disposable, Disposed {
|
|
|
23
24
|
protected _runningChanged = new Emitter<TerminalModel[]>();
|
|
24
25
|
protected _connectionFailure = new Emitter<Error>();
|
|
25
26
|
// As an optimization, we unwrap the models to just store the names.
|
|
27
|
+
|
|
28
|
+
@prop()
|
|
26
29
|
protected _names: string[] = [];
|
|
30
|
+
|
|
27
31
|
protected get _models(): TerminalModel[] {
|
|
28
32
|
return this._names.map((name) => {
|
|
29
33
|
return { name };
|
|
@@ -143,6 +147,10 @@ export class TerminalManager implements Disposable, Disposed {
|
|
|
143
147
|
return this._models[Symbol.iterator]();
|
|
144
148
|
}
|
|
145
149
|
|
|
150
|
+
get runningModels() {
|
|
151
|
+
return this._names;
|
|
152
|
+
}
|
|
153
|
+
|
|
146
154
|
/**
|
|
147
155
|
* Force a refresh of the running terminals.
|
|
148
156
|
*
|
|
@@ -284,7 +292,13 @@ export class TerminalManager implements Disposable, Disposed {
|
|
|
284
292
|
}
|
|
285
293
|
return connection;
|
|
286
294
|
};
|
|
287
|
-
|
|
288
|
-
|
|
295
|
+
|
|
296
|
+
// 新建和打开一个已有Terminal,二者所需参数不一样
|
|
297
|
+
getTerminalArgs = (name?: string) => {
|
|
298
|
+
if (name) {
|
|
299
|
+
return { name: name };
|
|
300
|
+
} else {
|
|
301
|
+
return { id: v4() };
|
|
302
|
+
}
|
|
289
303
|
};
|
|
290
304
|
}
|
package/src/view.tsx
CHANGED
|
@@ -182,6 +182,7 @@ export class LibroTerminalView extends BaseStatefulView {
|
|
|
182
182
|
this.toDispose.push(
|
|
183
183
|
this.term.onResize((data) => {
|
|
184
184
|
this.onSizeChangedEmitter.fire(data);
|
|
185
|
+
this.setSessionSize();
|
|
185
186
|
}),
|
|
186
187
|
);
|
|
187
188
|
|
|
@@ -455,13 +456,22 @@ export class LibroTerminalView extends BaseStatefulView {
|
|
|
455
456
|
if (!this.isVisible) {
|
|
456
457
|
return;
|
|
457
458
|
}
|
|
459
|
+
if (this.container?.current) {
|
|
460
|
+
if (this.container.current.offsetHeight === 0) {
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
if (this.container.current.offsetWidth === 0) {
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
// 触发term的resize 事件
|
|
458
469
|
this.processResize();
|
|
459
470
|
};
|
|
460
471
|
|
|
461
472
|
protected processResize = () => {
|
|
462
473
|
this.open();
|
|
463
474
|
this.resizeTerminal();
|
|
464
|
-
this.setSessionSize();
|
|
465
475
|
};
|
|
466
476
|
|
|
467
477
|
protected open = (): void => {
|