@difizen/libro-core 0.2.33 → 0.2.35-next.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.
@@ -19,7 +19,7 @@
19
19
  line-height: 22px;
20
20
 
21
21
  .libro-add-cell-icon {
22
- padding-right: 8px;
22
+ display: flex;
23
23
  color: var(--mana-libro-bottom-btn-icon-color) !important;
24
24
  }
25
25
 
@@ -21,7 +21,6 @@ export declare class LibroCellModel extends Model implements CellModel {
21
21
  get source(): string;
22
22
  set decodeObject(data: DefaultDecodedFormatter);
23
23
  get decodeObject(): DefaultDecodedFormatter;
24
- run(): Promise<boolean>;
25
24
  toJSON(): Omit<ICell, 'outputs'>;
26
25
  disposed: boolean;
27
26
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-cell-model.d.ts","sourceRoot":"","sources":["../../src/cell/libro-cell-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAS,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAA2B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,qBACa,cAAe,SAAQ,KAAM,YAAW,SAAS;IAC5D,SAAS,uBAA8B;IAEvC,OAAO,EAAE,WAAW,CAAC;IAErB,eAAe,EAAE,MAAM,CAAC;IAExB,aAAa,EAAE,uBAAuB,CAAC;IAGvC,qBAAqB,EAAE,qBAAqB,CAC1C,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;IAGF,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAGrC,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,SAAK;gBAEqB,OAAO,EAAE,WAAW;IAiBrD,IAAI;IAoBJ,aAAa,aAIX;IAEF,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,uBAAuB,EAG7C;IAED,IAAI,YAAY,IALO,uBAAuB,CAO7C;IAEK,GAAG;IAIT,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;IAShC,QAAQ,UAAS;IACR,OAAO;CAMjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,cAAc,CAE1E"}
1
+ {"version":3,"file":"libro-cell-model.d.ts","sourceRoot":"","sources":["../../src/cell/libro-cell-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAS,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAA2B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,qBACa,cAAe,SAAQ,KAAM,YAAW,SAAS;IAC5D,SAAS,uBAA8B;IAEvC,OAAO,EAAE,WAAW,CAAC;IAErB,eAAe,EAAE,MAAM,CAAC;IAExB,aAAa,EAAE,uBAAuB,CAAC;IAGvC,qBAAqB,EAAE,qBAAqB,CAC1C,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;IAGF,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAGrC,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,SAAK;gBAEqB,OAAO,EAAE,WAAW;IAiBrD,IAAI;IAoBJ,aAAa,aAIX;IAEF,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,uBAAuB,EAG7C;IAED,IAAI,YAAY,IALO,uBAAuB,CAO7C;IAED,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;IAShC,QAAQ,UAAS;IACR,OAAO;CAMjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,cAAc,CAE1E"}
@@ -1,8 +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
2
  var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3;
3
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
4
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
5
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
6
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; }
7
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; }
8
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; }
@@ -92,25 +89,6 @@ export var LibroCellModel = (_dec = transient(), _dec2 = inject(LibroFormatterMa
92
89
  this.value = data.value;
93
90
  this._decodeObject = data;
94
91
  }
95
- }, {
96
- key: "run",
97
- value: function () {
98
- var _run = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
99
- return _regeneratorRuntime().wrap(function _callee$(_context) {
100
- while (1) switch (_context.prev = _context.next) {
101
- case 0:
102
- return _context.abrupt("return", true);
103
- case 1:
104
- case "end":
105
- return _context.stop();
106
- }
107
- }, _callee);
108
- }));
109
- function run() {
110
- return _run.apply(this, arguments);
111
- }
112
- return run;
113
- }()
114
92
  }, {
115
93
  key: "toJSON",
116
94
  value: function toJSON() {
@@ -172,7 +172,9 @@ export var LibroCellView = (_dec = view('libro-cell-view'), _dec2 = prop(), _dec
172
172
  }, {
173
173
  key: "toJSON",
174
174
  value: function toJSON() {
175
- var meta = _objectSpread({}, this.model.toJSON());
175
+ var meta = _objectSpread(_objectSpread({}, this.model.toJSON()), {}, {
176
+ outputs: []
177
+ });
176
178
  var modelContribution = this.cellService.findModelProvider(this.model.options);
177
179
  if (modelContribution !== null && modelContribution !== void 0 && modelContribution.cellMeta.nbformatType) {
178
180
  meta.metadata.libroCellType = modelContribution === null || modelContribution === void 0 ? void 0 : modelContribution.cellMeta.type;
@@ -1,6 +1,11 @@
1
- import type { IEditor } from '@difizen/libro-code-editor';
1
+ import type { CodeEditorView, CodeEditorViewOptions, IEditor } from '@difizen/libro-code-editor';
2
+ import { CodeEditorManager } from '@difizen/libro-code-editor';
3
+ import { DisposableCollection } from '@difizen/mana-app';
2
4
  import type { ReactNode } from 'react';
3
- import type { CellView, EditorStatus } from '../libro-protocol.js';
5
+ import { LibroContextKey } from '../libro-context-key.js';
6
+ import type { CellView, CellViewOptions } from '../libro-protocol.js';
7
+ import { EditorStatus } from '../libro-protocol.js';
8
+ import { CellService } from './libro-cell-protocol.js';
4
9
  import { LibroCellView } from './libro-cell-view.js';
5
10
  export interface EditorCellView extends CellView {
6
11
  editor: IEditor | undefined;
@@ -16,9 +21,22 @@ export declare const EditorCellView: {
16
21
  * 超出编辑器的相关能力放在其他的更高抽象中
17
22
  */
18
23
  export declare abstract class LibroEditorCellView extends LibroCellView implements EditorCellView {
24
+ protected toDisposeOnEditor: DisposableCollection;
19
25
  editor: IEditor | undefined;
26
+ protected readonly libroContextKey: LibroContextKey;
27
+ codeEditorManager: CodeEditorManager;
28
+ editorView?: CodeEditorView;
29
+ constructor(options: CellViewOptions, cellService: CellService);
30
+ protected getEditorOption(): CodeEditorViewOptions;
31
+ protected afterEditorReady(): Promise<void>;
32
+ createEditor(): Promise<void>;
20
33
  editorStatus: EditorStatus;
21
- renderEditor: () => ReactNode;
34
+ renderEditor: () => import("react/jsx-runtime").JSX.Element | null;
35
+ onViewMount(): void;
36
+ shouldEnterEditorMode(e: React.FocusEvent<HTMLElement>): boolean;
37
+ protected focusEditor(): void;
38
+ focus: (toEdit: boolean) => void;
39
+ blur: () => void;
22
40
  get wrapperCls(): string;
23
41
  redo(): void;
24
42
  undo(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-edit-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/libro-edit-cell-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAE5B,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,YAAY,EAAE,MAAM,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc;cACf,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS;CAWvC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,mBACpB,SAAQ,aACR,YAAW,cAAc;IAGzB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAG5B,YAAY,EAAE,YAAY,CAAC;IAE3B,YAAY,EAAE,MAAM,SAAS,CAAC;IAE9B,IAAI,UAAU,WAEb;IAED,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;CAGb"}
1
+ {"version":3,"file":"libro-edit-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/libro-edit-cell-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAEL,oBAAoB,EAOrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAE5B,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,YAAY,EAAE,MAAM,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc;cACf,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS;CAWvC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,mBACpB,SAAQ,aACR,YAAW,cAAc;IAEzB,SAAS,CAAC,iBAAiB,uBAA8B;IAEzD,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAEH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,iBAAiB,EAAE,iBAAiB,CAAC;IAGhE,UAAU,CAAC,EAAE,cAAc,CAAC;gBAGN,OAAO,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW;IAK/C,SAAS,CAAC,eAAe,IAAI,qBAAqB;cAalC,gBAAgB;IAoB1B,YAAY;IA2BlB,YAAY,EAAE,YAAY,CAA0B;IAEpD,YAAY,uDAKV;IAEO,WAAW;IAQX,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;IAQ/D,SAAS,CAAC,WAAW;IAgBZ,KAAK,WAAY,OAAO,UAS/B;IAEO,IAAI,aAGX;IAEF,IAAI,UAAU,WAEb;IAED,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;CAGb"}
@@ -1,5 +1,8 @@
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, _class, _descriptor, _descriptor2;
2
+ var _dec, _dec2, _dec3, _dec4, _dec5, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
3
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
4
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
5
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3
6
  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
4
7
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
8
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
@@ -15,9 +18,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
15
18
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
16
19
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
17
20
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
18
- import { prop } from '@difizen/mana-app';
21
+ import { CodeEditorManager } from '@difizen/libro-code-editor';
22
+ import { CellUri } from '@difizen/libro-common';
23
+ import { Disposable, DisposableCollection, getOrigin, inject, prop, ViewOption, ViewRender, watch } from '@difizen/mana-app';
24
+ import { LibroContextKey } from "../libro-context-key.js";
25
+ import { EditorStatus } from "../libro-protocol.js";
19
26
  import { isCellView } from "../libro-protocol.js";
27
+ import { CellService } from "./libro-cell-protocol.js";
20
28
  import { LibroCellView } from "./libro-cell-view.js";
29
+ import { jsx as _jsx } from "react/jsx-runtime";
21
30
  export var EditorCellView = {
22
31
  is: function is(arg) {
23
32
  return !!arg && isCellView(arg) &&
@@ -30,22 +39,175 @@ export var EditorCellView = {
30
39
  * 带有编辑器能力的cell view,例如raw、markdown、python、sql等
31
40
  * 超出编辑器的相关能力放在其他的更高抽象中
32
41
  */
33
- export var LibroEditorCellView = (_dec = prop(), _dec2 = prop(), (_class = /*#__PURE__*/function (_LibroCellView) {
42
+ export var LibroEditorCellView = (_dec = prop(), _dec2 = inject(LibroContextKey), _dec3 = inject(CodeEditorManager), _dec4 = prop(), _dec5 = prop(), (_class = /*#__PURE__*/function (_LibroCellView) {
34
43
  _inherits(LibroEditorCellView, _LibroCellView);
35
44
  var _super = _createSuper(LibroEditorCellView);
36
- function LibroEditorCellView() {
45
+ function LibroEditorCellView(options, cellService) {
37
46
  var _this;
38
47
  _classCallCheck(this, LibroEditorCellView);
39
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
40
- args[_key] = arguments[_key];
41
- }
42
- _this = _super.call.apply(_super, [this].concat(args));
48
+ _this = _super.call(this, options, cellService);
49
+ _this.toDisposeOnEditor = new DisposableCollection();
43
50
  _initializerDefineProperty(_this, "editor", _descriptor, _assertThisInitialized(_this));
44
- _initializerDefineProperty(_this, "editorStatus", _descriptor2, _assertThisInitialized(_this));
45
- _this.renderEditor = void 0;
51
+ _initializerDefineProperty(_this, "libroContextKey", _descriptor2, _assertThisInitialized(_this));
52
+ _initializerDefineProperty(_this, "codeEditorManager", _descriptor3, _assertThisInitialized(_this));
53
+ _initializerDefineProperty(_this, "editorView", _descriptor4, _assertThisInitialized(_this));
54
+ _initializerDefineProperty(_this, "editorStatus", _descriptor5, _assertThisInitialized(_this));
55
+ _this.renderEditor = function () {
56
+ if (_this.editorView) {
57
+ return /*#__PURE__*/_jsx(ViewRender, {
58
+ view: _this.editorView
59
+ });
60
+ }
61
+ return null;
62
+ };
63
+ _this.focus = function (toEdit) {
64
+ if (toEdit) {
65
+ _this.focusEditor();
66
+ } else {
67
+ var _this$container, _this$container2;
68
+ if ((_this$container = _this.container) !== null && _this$container !== void 0 && (_this$container = _this$container.current) !== null && _this$container !== void 0 && (_this$container = _this$container.parentElement) !== null && _this$container !== void 0 && _this$container.contains(document.activeElement)) {
69
+ return;
70
+ }
71
+ (_this$container2 = _this.container) === null || _this$container2 === void 0 || (_this$container2 = _this$container2.current) === null || _this$container2 === void 0 || (_this$container2 = _this$container2.parentElement) === null || _this$container2 === void 0 || _this$container2.focus();
72
+ }
73
+ };
74
+ _this.blur = function () {
75
+ var _this$editorView, _this$editorView2;
76
+ (_this$editorView = _this.editorView) === null || _this$editorView === void 0 || (_this$editorView = _this$editorView.editor) === null || _this$editorView === void 0 || _this$editorView.setOption('styleActiveLine', false);
77
+ (_this$editorView2 = _this.editorView) === null || _this$editorView2 === void 0 || (_this$editorView2 = _this$editorView2.editor) === null || _this$editorView2 === void 0 || _this$editorView2.setOption('highlightActiveLineGutter', false);
78
+ };
46
79
  return _this;
47
80
  }
81
+ LibroEditorCellView = inject(CellService)(LibroEditorCellView, undefined, 1) || LibroEditorCellView;
82
+ LibroEditorCellView = inject(ViewOption)(LibroEditorCellView, undefined, 0) || LibroEditorCellView;
48
83
  _createClass(LibroEditorCellView, [{
84
+ key: "getEditorOption",
85
+ value: function getEditorOption() {
86
+ var option = {
87
+ uuid: CellUri.from(this.parent.model.id, this.model.id).toString(),
88
+ editorHostId: this.parent.id + this.id,
89
+ model: this.model,
90
+ config: {
91
+ readOnly: !this.parent.model.inputEditable,
92
+ editable: this.parent.model.inputEditable
93
+ }
94
+ };
95
+ return option;
96
+ }
97
+ }, {
98
+ key: "afterEditorReady",
99
+ value: function () {
100
+ var _afterEditorReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
101
+ var _this2 = this,
102
+ _this$editorView$onMo,
103
+ _this$editorView3,
104
+ _this$editor$onModelC,
105
+ _this$editor,
106
+ _this$editor$onModelC2;
107
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
108
+ while (1) switch (_context.prev = _context.next) {
109
+ case 0:
110
+ this.focusEditor();
111
+ this.toDisposeOnEditor.push(watch(this.parent.model, 'inputEditable', function () {
112
+ var _this2$editorView;
113
+ (_this2$editorView = _this2.editorView) === null || _this2$editorView === void 0 || (_this2$editorView = _this2$editorView.editor) === null || _this2$editorView === void 0 || _this2$editorView.setOption('readOnly', getOrigin(!_this2.parent.model.inputEditable));
114
+ }));
115
+ this.toDisposeOnEditor.push((_this$editorView$onMo = (_this$editorView3 = this.editorView) === null || _this$editorView3 === void 0 ? void 0 : _this$editorView3.onModalChange(function (val) {
116
+ return _this2.hasModal = val;
117
+ })) !== null && _this$editorView$onMo !== void 0 ? _this$editorView$onMo : Disposable.NONE);
118
+ this.toDisposeOnEditor.push((_this$editor$onModelC = (_this$editor = this.editor) === null || _this$editor === void 0 || (_this$editor$onModelC2 = _this$editor.onModelContentChanged) === null || _this$editor$onModelC2 === void 0 ? void 0 : _this$editor$onModelC2.call(_this$editor, function (e) {
119
+ _this2.parent.model.onCellContentChange({
120
+ cell: _this2,
121
+ changes: e
122
+ });
123
+ })) !== null && _this$editor$onModelC !== void 0 ? _this$editor$onModelC : Disposable.NONE);
124
+ case 4:
125
+ case "end":
126
+ return _context.stop();
127
+ }
128
+ }, _callee, this);
129
+ }));
130
+ function afterEditorReady() {
131
+ return _afterEditorReady.apply(this, arguments);
132
+ }
133
+ return afterEditorReady;
134
+ }()
135
+ }, {
136
+ key: "createEditor",
137
+ value: function () {
138
+ var _createEditor = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
139
+ var _this3 = this;
140
+ var option, editorView;
141
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
142
+ while (1) switch (_context2.prev = _context2.next) {
143
+ case 0:
144
+ option = this.getEditorOption();
145
+ this.editorStatus = EditorStatus.LOADING;
146
+
147
+ // 防止虚拟滚动中编辑器被频繁创建
148
+ if (!this.editorView) {
149
+ _context2.next = 5;
150
+ break;
151
+ }
152
+ this.editorStatus = EditorStatus.LOADED;
153
+ return _context2.abrupt("return");
154
+ case 5:
155
+ _context2.next = 7;
156
+ return this.codeEditorManager.getOrCreateEditorView(option);
157
+ case 7:
158
+ editorView = _context2.sent;
159
+ this.editorView = editorView;
160
+ this.editorStatus = EditorStatus.LOADED;
161
+ editorView.onEditorStatusChange(function (e) {
162
+ if (e.status === 'ready') {
163
+ _this3.editor = _this3.editorView.editor;
164
+ _this3.afterEditorReady();
165
+ } else if (e.status === 'disposed') {
166
+ _this3.toDisposeOnEditor.dispose();
167
+ }
168
+ });
169
+ case 11:
170
+ case "end":
171
+ return _context2.stop();
172
+ }
173
+ }, _callee2, this);
174
+ }));
175
+ function createEditor() {
176
+ return _createEditor.apply(this, arguments);
177
+ }
178
+ return createEditor;
179
+ }()
180
+ }, {
181
+ key: "onViewMount",
182
+ value: function onViewMount() {
183
+ var _this$parent$model$ac;
184
+ this.createEditor();
185
+ //选中cell时才focus
186
+ if (((_this$parent$model$ac = this.parent.model.active) === null || _this$parent$model$ac === void 0 ? void 0 : _this$parent$model$ac.id) === this.id) {
187
+ this.focus(!this.parent.model.commandMode);
188
+ }
189
+ }
190
+ }, {
191
+ key: "shouldEnterEditorMode",
192
+ value: function shouldEnterEditorMode(e) {
193
+ var _getOrigin;
194
+ return (_getOrigin = getOrigin(this.editorView)) !== null && _getOrigin !== void 0 && (_getOrigin = _getOrigin.editor) !== null && _getOrigin !== void 0 && (_getOrigin = _getOrigin.host) !== null && _getOrigin !== void 0 && _getOrigin.contains(e.target) && this.parent.model.commandMode ? true : false;
195
+ }
196
+ }, {
197
+ key: "focusEditor",
198
+ value: function focusEditor() {
199
+ var _this$editorView4, _this$parent$model$ac2;
200
+ //选中cell、编辑模式、非只读时才focus
201
+ if ((_this$editorView4 = this.editorView) !== null && _this$editorView4 !== void 0 && _this$editorView4.editor && this.editorView.editorStatus === 'ready' && ((_this$parent$model$ac2 = this.parent.model.active) === null || _this$parent$model$ac2 === void 0 ? void 0 : _this$parent$model$ac2.id) === this.id && !this.parent.model.commandMode && this.libroContextKey.commandModeEnabled === true &&
202
+ // 排除弹窗等情况
203
+ this.parent.model.inputEditable) {
204
+ var _this$editorView5, _this$editorView6, _this$editorView7;
205
+ (_this$editorView5 = this.editorView) === null || _this$editorView5 === void 0 || _this$editorView5.editor.setOption('styleActiveLine', true);
206
+ (_this$editorView6 = this.editorView) === null || _this$editorView6 === void 0 || _this$editorView6.editor.setOption('highlightActiveLineGutter', true);
207
+ (_this$editorView7 = this.editorView) === null || _this$editorView7 === void 0 || _this$editorView7.editor.focus();
208
+ }
209
+ }
210
+ }, {
49
211
  key: "wrapperCls",
50
212
  get: function get() {
51
213
  return '';
@@ -53,14 +215,14 @@ export var LibroEditorCellView = (_dec = prop(), _dec2 = prop(), (_class = /*#__
53
215
  }, {
54
216
  key: "redo",
55
217
  value: function redo() {
56
- var _this$editor;
57
- (_this$editor = this.editor) === null || _this$editor === void 0 || _this$editor.redo();
218
+ var _this$editor2;
219
+ (_this$editor2 = this.editor) === null || _this$editor2 === void 0 || _this$editor2.redo();
58
220
  }
59
221
  }, {
60
222
  key: "undo",
61
223
  value: function undo() {
62
- var _this$editor2;
63
- (_this$editor2 = this.editor) === null || _this$editor2 === void 0 || _this$editor2.undo();
224
+ var _this$editor3;
225
+ (_this$editor3 = this.editor) === null || _this$editor3 === void 0 || _this$editor3.undo();
64
226
  }
65
227
  }]);
66
228
  return LibroEditorCellView;
@@ -69,9 +231,26 @@ export var LibroEditorCellView = (_dec = prop(), _dec2 = prop(), (_class = /*#__
69
231
  enumerable: true,
70
232
  writable: true,
71
233
  initializer: null
72
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "editorStatus", [_dec2], {
234
+ }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "libroContextKey", [_dec2], {
73
235
  configurable: true,
74
236
  enumerable: true,
75
237
  writable: true,
76
238
  initializer: null
239
+ }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "codeEditorManager", [_dec3], {
240
+ configurable: true,
241
+ enumerable: true,
242
+ writable: true,
243
+ initializer: null
244
+ }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "editorView", [_dec4], {
245
+ configurable: true,
246
+ enumerable: true,
247
+ writable: true,
248
+ initializer: null
249
+ }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "editorStatus", [_dec5], {
250
+ configurable: true,
251
+ enumerable: true,
252
+ writable: true,
253
+ initializer: function initializer() {
254
+ return EditorStatus.NOTLOADED;
255
+ }
77
256
  })), _class));
@@ -5,6 +5,7 @@ import { CellService } from './libro-cell-protocol.js';
5
5
  import { EditorCellView, LibroEditorCellView } from './libro-edit-cell-view.js';
6
6
  import { ExecutableCellModel } from './libro-executable-cell-model.js';
7
7
  interface ExecutableCellView extends EditorCellView {
8
+ run: () => Promise<boolean>;
8
9
  clearExecution: () => void;
9
10
  outputArea: BaseOutputArea;
10
11
  noEditorAreaHeight: number;
@@ -16,7 +17,7 @@ export declare const ExecutableCellView: {
16
17
  * 带有编辑器、执行、output相关能力的cell view,例如python、sql
17
18
  * model 必须为 ExecutableCellModel
18
19
  */
19
- export declare abstract class LibroExecutableCellView extends LibroEditorCellView implements ExecutableCellView {
20
+ export declare abstract class LibroEditableExecutableCellView extends LibroEditorCellView implements ExecutableCellView {
20
21
  model: CellModel & ExecutableCellModel;
21
22
  outputArea: BaseOutputArea;
22
23
  noEditorAreaHeight: number;
@@ -25,5 +26,9 @@ export declare abstract class LibroExecutableCellView extends LibroEditorCellVie
25
26
  hasCellHidden(): boolean;
26
27
  outputWatch(): void;
27
28
  }
29
+ /**
30
+ * @deprecated use LibroEditableExecutableCellView instead.
31
+ */
32
+ export declare const LibroExecutableCellView: typeof LibroEditableExecutableCellView;
28
33
  export {};
29
34
  //# sourceMappingURL=libro-executable-cell-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libro-executable-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/libro-executable-cell-view.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,UAAU,kBAAmB,SAAQ,cAAc;IACjD,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,UAAU,EAAE,cAAc,CAAC;IAE3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB;cACnB,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS;CAWvC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBACpB,SAAQ,mBACR,YAAW,kBAAkB;IAErB,KAAK,EAAE,SAAS,GAAG,mBAAmB,CAAC;IAE/C,UAAU,EAAE,cAAc,CAAC;IAEnB,kBAAkB,EAAE,MAAM,CAAC;gBAGb,OAAO,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW;IAM/C,cAAc,EAAE,MAAM,IAAI,CAExB;IAGO,aAAa;IAUtB,WAAW;CAOZ"}
1
+ {"version":3,"file":"libro-executable-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/libro-executable-cell-view.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,UAAU,kBAAmB,SAAQ,cAAc;IACjD,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,UAAU,EAAE,cAAc,CAAC;IAE3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB;cACnB,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS;CAYvC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,+BACpB,SAAQ,mBACR,YAAW,kBAAkB;IAErB,KAAK,EAAE,SAAS,GAAG,mBAAmB,CAAC;IAE/C,UAAU,EAAE,cAAc,CAAC;IAEnB,kBAAkB,EAAE,MAAM,CAAC;gBAGb,OAAO,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW;IAM/C,cAAc,EAAE,MAAM,IAAI,CAExB;IAGO,aAAa;IAUtB,WAAW;CAOZ;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,wCAAkC,CAAC"}
@@ -21,7 +21,7 @@ export var ExecutableCellView = {
21
21
  is: function is(arg) {
22
22
  return !!arg && EditorCellView.is(arg) &&
23
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- 'outputArea' in arg && _typeof(arg.outputArea) === 'object' && 'clearExecution' in arg && typeof arg.clearExecution === 'function';
24
+ 'outputArea' in arg && _typeof(arg.outputArea) === 'object' && 'clearExecution' in arg && typeof arg.clearExecution === 'function' && typeof arg.run === 'function';
25
25
  }
26
26
  };
27
27
 
@@ -29,12 +29,12 @@ export var ExecutableCellView = {
29
29
  * 带有编辑器、执行、output相关能力的cell view,例如python、sql
30
30
  * model 必须为 ExecutableCellModel
31
31
  */
32
- export var LibroExecutableCellView = /*#__PURE__*/function (_LibroEditorCellView) {
33
- _inherits(LibroExecutableCellView, _LibroEditorCellView);
34
- var _super = _createSuper(LibroExecutableCellView);
35
- function LibroExecutableCellView(options, cellService) {
32
+ export var LibroEditableExecutableCellView = /*#__PURE__*/function (_LibroEditorCellView) {
33
+ _inherits(LibroEditableExecutableCellView, _LibroEditorCellView);
34
+ var _super = _createSuper(LibroEditableExecutableCellView);
35
+ function LibroEditableExecutableCellView(options, cellService) {
36
36
  var _this;
37
- _classCallCheck(this, LibroExecutableCellView);
37
+ _classCallCheck(this, LibroEditableExecutableCellView);
38
38
  _this = _super.call(this, options, cellService);
39
39
  _this.outputArea = void 0;
40
40
  _this.clearExecution = function () {
@@ -43,9 +43,9 @@ export var LibroExecutableCellView = /*#__PURE__*/function (_LibroEditorCellView
43
43
  _this.outputWatch();
44
44
  return _this;
45
45
  }
46
- LibroExecutableCellView = inject(CellService)(LibroExecutableCellView, undefined, 1) || LibroExecutableCellView;
47
- LibroExecutableCellView = inject(ViewOption)(LibroExecutableCellView, undefined, 0) || LibroExecutableCellView;
48
- _createClass(LibroExecutableCellView, [{
46
+ LibroEditableExecutableCellView = inject(CellService)(LibroEditableExecutableCellView, undefined, 1) || LibroEditableExecutableCellView;
47
+ LibroEditableExecutableCellView = inject(ViewOption)(LibroEditableExecutableCellView, undefined, 0) || LibroEditableExecutableCellView;
48
+ _createClass(LibroEditableExecutableCellView, [{
49
49
  key: "hasCellHidden",
50
50
  value:
51
51
  // TODO: 性能!
@@ -65,5 +65,10 @@ export var LibroExecutableCellView = /*#__PURE__*/function (_LibroEditorCellView
65
65
  }));
66
66
  }
67
67
  }]);
68
- return LibroExecutableCellView;
69
- }(LibroEditorCellView);
68
+ return LibroEditableExecutableCellView;
69
+ }(LibroEditorCellView);
70
+
71
+ /**
72
+ * @deprecated use LibroEditableExecutableCellView instead.
73
+ */
74
+ export var LibroExecutableCellView = LibroEditableExecutableCellView;
@@ -187,7 +187,6 @@ export interface CellView extends View {
187
187
  wrapperCls?: string;
188
188
  blur: () => void;
189
189
  focus: (isEdit: boolean) => void;
190
- run: () => Promise<boolean>;
191
190
  shouldEnterEditorMode: (e: React.FocusEvent<HTMLElement>) => boolean;
192
191
  hasCellHidden: () => boolean;
193
192
  hasInputHidden: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-protocol.d.ts","sourceRoot":"","sources":["../src/libro-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-protocol.d.ts","sourceRoot":"","sources":["../src/libro-protocol.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ export declare class LibroView extends BaseView implements NotebookView {
74
74
  get activeCellIndex(): number;
75
75
  findCellIndex: (cell: CellView) => number;
76
76
  deleteCell: (cell: CellView) => void;
77
- executeCellRun(cell: CellView): Promise<boolean>;
77
+ executeCellRun(cell: CellView): Promise<boolean> | undefined;
78
78
  runCells: (cells: CellView[]) => Promise<boolean | undefined>;
79
79
  runAllCell: () => Promise<void>;
80
80
  runAllAbove: (cell: CellView) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-view.d.ts","sourceRoot":"","sources":["../src/libro-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-view.d.ts","sourceRoot":"","sources":["../src/libro-view.tsx"],"names":[],"mappings":"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"}
package/es/libro-view.js CHANGED
@@ -423,10 +423,7 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
423
423
  return _context5.abrupt("return", false);
424
424
  case 2:
425
425
  return _context5.abrupt("return", Promise.all(cells.map(function (cell) {
426
- if (ExecutableCellModel.is(cell.model)) {
427
- return _this.executeCellRun(cell);
428
- }
429
- return undefined;
426
+ return _this.executeCellRun(cell);
430
427
  })).then(function (resultList) {
431
428
  return resultList.filter(function (item) {
432
429
  return item !== undefined;
@@ -1859,7 +1856,11 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
1859
1856
  key: "executeCellRun",
1860
1857
  value: function executeCellRun(cell) {
1861
1858
  this.runCellEmitter.fire(cell);
1862
- return cell.run();
1859
+ if (ExecutableCellView.is(cell)) {
1860
+ return cell.run();
1861
+ } else {
1862
+ return undefined;
1863
+ }
1863
1864
  }
1864
1865
  }, {
1865
1866
  key: "getPreviousVisibleCell",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-core",
3
- "version": "0.2.33",
3
+ "version": "0.2.35-next.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "libro",
@@ -34,10 +34,10 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@ant-design/icons": "^5.1.0",
37
- "@difizen/libro-code-editor": "^0.2.33",
38
- "@difizen/libro-common": "^0.2.33",
39
- "@difizen/libro-shared-model": "^0.2.33",
40
- "@difizen/libro-virtualized": "^0.2.33",
37
+ "@difizen/libro-code-editor": "^0.2.35-next.0",
38
+ "@difizen/libro-common": "^0.2.35-next.0",
39
+ "@difizen/libro-shared-model": "^0.2.35-next.0",
40
+ "@difizen/libro-virtualized": "^0.2.35-next.0",
41
41
  "@difizen/mana-app": "latest",
42
42
  "@difizen/mana-l10n": "latest",
43
43
  "@difizen/mana-react": "latest",
@@ -19,7 +19,7 @@
19
19
  line-height: 22px;
20
20
 
21
21
  .libro-add-cell-icon {
22
- padding-right: 8px;
22
+ display: flex;
23
23
  color: var(--mana-libro-bottom-btn-icon-color) !important;
24
24
  }
25
25
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  - LibroCellView
8
8
  - LibroEditorCellView: 带有文本编辑器相关能力
9
- - LibroExecutableCellView: 带有执行、输出能力
9
+ - LibroEditableExecutableCellView: 带有执行、输出能力
10
10
  - LibroCodeCellView
11
11
  - AIStudioLibroCodeCellView
12
12
  - LibroSqlCellView
@@ -96,10 +96,6 @@ export class LibroCellModel extends Model implements CellModel {
96
96
  return { ...this._decodeObject, value: this.value };
97
97
  }
98
98
 
99
- async run() {
100
- return true;
101
- }
102
-
103
99
  toJSON(): Omit<ICell, 'outputs'> {
104
100
  return {
105
101
  id: this.id,
@@ -137,7 +137,7 @@ export class LibroCellView extends BaseView implements CellView {
137
137
  super.dispose();
138
138
  }
139
139
  toJSON(): LibroCell {
140
- const meta = { ...(this.model.toJSON() as LibroCell) };
140
+ const meta = { ...(this.model.toJSON() as LibroCell), outputs: [] };
141
141
  const modelContribution = this.cellService.findModelProvider(this.model.options);
142
142
  if (modelContribution?.cellMeta.nbformatType) {
143
143
  meta.metadata.libroCellType = modelContribution?.cellMeta.type;
@@ -1,10 +1,28 @@
1
- import type { IEditor } from '@difizen/libro-code-editor';
2
- import { prop } from '@difizen/mana-app';
1
+ import type {
2
+ CodeEditorView,
3
+ CodeEditorViewOptions,
4
+ IEditor,
5
+ } from '@difizen/libro-code-editor';
6
+ import { CodeEditorManager } from '@difizen/libro-code-editor';
7
+ import { CellUri } from '@difizen/libro-common';
8
+ import {
9
+ Disposable,
10
+ DisposableCollection,
11
+ getOrigin,
12
+ inject,
13
+ prop,
14
+ ViewOption,
15
+ ViewRender,
16
+ watch,
17
+ } from '@difizen/mana-app';
3
18
  import type { ReactNode } from 'react';
4
19
 
5
- import type { CellView, EditorStatus } from '../libro-protocol.js';
20
+ import { LibroContextKey } from '../libro-context-key.js';
21
+ import type { CellView, CellViewOptions } from '../libro-protocol.js';
22
+ import { EditorStatus } from '../libro-protocol.js';
6
23
  import { isCellView } from '../libro-protocol.js';
7
24
 
25
+ import { CellService } from './libro-cell-protocol.js';
8
26
  import { LibroCellView } from './libro-cell-view.js';
9
27
 
10
28
  export interface EditorCellView extends CellView {
@@ -39,13 +57,139 @@ export abstract class LibroEditorCellView
39
57
  extends LibroCellView
40
58
  implements EditorCellView
41
59
  {
60
+ protected toDisposeOnEditor = new DisposableCollection();
42
61
  @prop()
43
62
  editor: IEditor | undefined;
44
63
 
64
+ @inject(LibroContextKey) protected readonly libroContextKey: LibroContextKey;
65
+ @inject(CodeEditorManager) codeEditorManager: CodeEditorManager;
66
+
45
67
  @prop()
46
- editorStatus: EditorStatus;
68
+ editorView?: CodeEditorView;
47
69
 
48
- renderEditor: () => ReactNode;
70
+ constructor(
71
+ @inject(ViewOption) options: CellViewOptions,
72
+ @inject(CellService) cellService: CellService,
73
+ ) {
74
+ super(options, cellService);
75
+ }
76
+
77
+ protected getEditorOption(): CodeEditorViewOptions {
78
+ const option: CodeEditorViewOptions = {
79
+ uuid: CellUri.from(this.parent.model.id, this.model.id).toString(),
80
+ editorHostId: this.parent.id + this.id,
81
+ model: this.model,
82
+ config: {
83
+ readOnly: !this.parent.model.inputEditable,
84
+ editable: this.parent.model.inputEditable,
85
+ },
86
+ };
87
+ return option;
88
+ }
89
+
90
+ protected async afterEditorReady() {
91
+ this.focusEditor();
92
+ this.toDisposeOnEditor.push(
93
+ watch(this.parent.model, 'inputEditable', () => {
94
+ this.editorView?.editor?.setOption(
95
+ 'readOnly',
96
+ getOrigin(!this.parent.model.inputEditable),
97
+ );
98
+ }),
99
+ );
100
+ this.toDisposeOnEditor.push(
101
+ this.editorView?.onModalChange((val) => (this.hasModal = val)) ?? Disposable.NONE,
102
+ );
103
+ this.toDisposeOnEditor.push(
104
+ this.editor?.onModelContentChanged?.((e) => {
105
+ this.parent.model.onCellContentChange({ cell: this, changes: e });
106
+ }) ?? Disposable.NONE,
107
+ );
108
+ }
109
+
110
+ async createEditor() {
111
+ const option = this.getEditorOption();
112
+
113
+ this.editorStatus = EditorStatus.LOADING;
114
+
115
+ // 防止虚拟滚动中编辑器被频繁创建
116
+ if (this.editorView) {
117
+ this.editorStatus = EditorStatus.LOADED;
118
+ return;
119
+ }
120
+
121
+ const editorView = await this.codeEditorManager.getOrCreateEditorView(option);
122
+
123
+ this.editorView = editorView;
124
+ this.editorStatus = EditorStatus.LOADED;
125
+
126
+ editorView.onEditorStatusChange((e) => {
127
+ if (e.status === 'ready') {
128
+ this.editor = this.editorView!.editor;
129
+ this.afterEditorReady();
130
+ } else if (e.status === 'disposed') {
131
+ this.toDisposeOnEditor.dispose();
132
+ }
133
+ });
134
+ }
135
+
136
+ @prop()
137
+ editorStatus: EditorStatus = EditorStatus.NOTLOADED;
138
+
139
+ renderEditor = () => {
140
+ if (this.editorView) {
141
+ return <ViewRender view={this.editorView} />;
142
+ }
143
+ return null;
144
+ };
145
+
146
+ override onViewMount() {
147
+ this.createEditor();
148
+ //选中cell时才focus
149
+ if (this.parent.model.active?.id === this.id) {
150
+ this.focus(!this.parent.model.commandMode);
151
+ }
152
+ }
153
+
154
+ override shouldEnterEditorMode(e: React.FocusEvent<HTMLElement>) {
155
+ return getOrigin(this.editorView)?.editor?.host?.contains(
156
+ e.target as HTMLElement,
157
+ ) && this.parent.model.commandMode
158
+ ? true
159
+ : false;
160
+ }
161
+
162
+ protected focusEditor() {
163
+ //选中cell、编辑模式、非只读时才focus
164
+ if (
165
+ this.editorView?.editor &&
166
+ this.editorView.editorStatus === 'ready' &&
167
+ this.parent.model.active?.id === this.id &&
168
+ !this.parent.model.commandMode &&
169
+ this.libroContextKey.commandModeEnabled === true && // 排除弹窗等情况
170
+ this.parent.model.inputEditable
171
+ ) {
172
+ this.editorView?.editor.setOption('styleActiveLine', true);
173
+ this.editorView?.editor.setOption('highlightActiveLineGutter', true);
174
+ this.editorView?.editor.focus();
175
+ }
176
+ }
177
+
178
+ override focus = (toEdit: boolean) => {
179
+ if (toEdit) {
180
+ this.focusEditor();
181
+ } else {
182
+ if (this.container?.current?.parentElement?.contains(document.activeElement)) {
183
+ return;
184
+ }
185
+ this.container?.current?.parentElement?.focus();
186
+ }
187
+ };
188
+
189
+ override blur = () => {
190
+ this.editorView?.editor?.setOption('styleActiveLine', false);
191
+ this.editorView?.editor?.setOption('highlightActiveLineGutter', false);
192
+ };
49
193
 
50
194
  get wrapperCls() {
51
195
  return '';
@@ -11,6 +11,7 @@ import { EditorCellView, LibroEditorCellView } from './libro-edit-cell-view.js';
11
11
  import { ExecutableCellModel } from './libro-executable-cell-model.js';
12
12
 
13
13
  interface ExecutableCellView extends EditorCellView {
14
+ run: () => Promise<boolean>;
14
15
  clearExecution: () => void;
15
16
 
16
17
  outputArea: BaseOutputArea;
@@ -27,7 +28,8 @@ export const ExecutableCellView = {
27
28
  'outputArea' in arg &&
28
29
  typeof (arg as any).outputArea === 'object' &&
29
30
  'clearExecution' in arg &&
30
- typeof (arg as any).clearExecution === 'function'
31
+ typeof (arg as any).clearExecution === 'function' &&
32
+ typeof (arg as any).run === 'function'
31
33
  );
32
34
  },
33
35
  };
@@ -36,7 +38,7 @@ export const ExecutableCellView = {
36
38
  * 带有编辑器、执行、output相关能力的cell view,例如python、sql
37
39
  * model 必须为 ExecutableCellModel
38
40
  */
39
- export abstract class LibroExecutableCellView
41
+ export abstract class LibroEditableExecutableCellView
40
42
  extends LibroEditorCellView
41
43
  implements ExecutableCellView
42
44
  {
@@ -77,3 +79,8 @@ export abstract class LibroExecutableCellView
77
79
  );
78
80
  }
79
81
  }
82
+
83
+ /**
84
+ * @deprecated use LibroEditableExecutableCellView instead.
85
+ */
86
+ export const LibroExecutableCellView = LibroEditableExecutableCellView;
@@ -250,8 +250,6 @@ export interface CellView extends View {
250
250
  blur: () => void;
251
251
  focus: (isEdit: boolean) => void;
252
252
 
253
- run: () => Promise<boolean>;
254
-
255
253
  shouldEnterEditorMode: (e: React.FocusEvent<HTMLElement>) => boolean;
256
254
 
257
255
  hasCellHidden: () => boolean;
@@ -584,7 +584,11 @@ export class LibroView extends BaseView implements NotebookView {
584
584
 
585
585
  executeCellRun(cell: CellView) {
586
586
  this.runCellEmitter.fire(cell);
587
- return cell.run();
587
+ if (ExecutableCellView.is(cell)) {
588
+ return cell.run();
589
+ } else {
590
+ return undefined;
591
+ }
588
592
  }
589
593
 
590
594
  runCells = async (cells: CellView[]) => {
@@ -594,10 +598,7 @@ export class LibroView extends BaseView implements NotebookView {
594
598
 
595
599
  return Promise.all(
596
600
  cells.map((cell) => {
597
- if (ExecutableCellModel.is(cell.model)) {
598
- return this.executeCellRun(cell);
599
- }
600
- return undefined;
601
+ return this.executeCellRun(cell);
601
602
  }),
602
603
  )
603
604
  .then((resultList) => {