@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.
@@ -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;CAuBlD"}
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
- newTerminalName: () => string;
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
@@ -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;AAErE,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;IAEpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAChC,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;;;;;;;;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;IACF,eAAe,eAEb;CACH"}
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), _dec3 = inject(TerminalConnectionFactory), _dec(_class = (_class2 = /*#__PURE__*/function () {
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._names = [];
41
- _initializerDefineProperty(this, "terminalRestAPI", _descriptor, this);
41
+ _initializerDefineProperty(this, "_names", _descriptor, this);
42
+ _initializerDefineProperty(this, "terminalRestAPI", _descriptor2, this);
42
43
  // @inject(ServerConnection) serverConnection: ServerConnection;
43
- _initializerDefineProperty(this, "terminalConnectionFactory", _descriptor2, this);
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
- this.newTerminalName = function () {
103
- return v4();
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, "terminalRestAPI", [_dec2], {
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
- }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "terminalConnectionFactory", [_dec3], {
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":"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"}
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$container;
241
+ var _this$container2;
232
242
  if (_this.termOpened) {
233
243
  return;
234
244
  }
235
- var node = (_this$container = _this.container) === null || _this$container === void 0 ? void 0 : _this$container.current;
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.14",
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.14",
35
- "@difizen/libro-common": "^0.1.14",
36
- "@difizen/libro-kernel": "^0.1.14",
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
- newTerminalName = () => {
288
- return v4();
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 => {