@difizen/libro-core 0.3.32 → 0.3.34
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/index.less +15 -0
- package/es/output/output-area.d.ts.map +1 -1
- package/es/output/output-area.js +22 -2
- package/package.json +5 -5
- package/src/index.less +15 -0
- package/src/output/output-area.tsx +22 -2
package/es/index.less
CHANGED
|
@@ -591,6 +591,21 @@
|
|
|
591
591
|
|
|
592
592
|
.libro-output-area {
|
|
593
593
|
padding-top: 12px;
|
|
594
|
+
|
|
595
|
+
.libro-output-area-oversized {
|
|
596
|
+
color: var(--mana-libro-link-color);
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
.libro-output-area-action {
|
|
600
|
+
color: var(--mana-libro-link-color);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
.libro-output-area-action-container {
|
|
604
|
+
cursor: pointer;
|
|
605
|
+
color: var(--mana-libro-toptoolbar-icon-color);
|
|
606
|
+
font-style: italic;
|
|
607
|
+
padding: 10px 24px;
|
|
608
|
+
}
|
|
594
609
|
}
|
|
595
610
|
|
|
596
611
|
.libro-cell-output-content {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-area.d.ts","sourceRoot":"","sources":["../../src/output/output-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAIL,QAAQ,EAKT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAoC,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"output-area.d.ts","sourceRoot":"","sources":["../../src/output/output-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAIL,QAAQ,EAKT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAoC,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0D1D,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAyB;IAErD,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ,CAAC;IAEf,OAAO,EAAE,cAAc,EAAE,CAAM;gBAEC,MAAM,EAAE,iBAAiB;IAIzD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B,IAAI,MAAM,WAET;IAED,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,UAAU,SAAM;IAC1B,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC3C,SAAS,CAAC,qBAAqB,UAAQ;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEzC;;OAEG;IACH,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAMlC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IASnE,GAAG,WAAkB,OAAO,KAAG,QAAQ,MAAM,CAAC,CA0E5C;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc;IAMtC,GAAG,UAAiB,MAAM,UAAU,OAAO,kBAAkB,OAAO,mBAkBlE;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAYhC,QAAQ,WAAkB,OAAO,EAAE,mBAQjC;IACF,MAAM,QAAO,OAAO,EAAE,CAEpB;IAEF,aAAa,CAAC,IAAI,EAAE,QAAQ;IAI5B,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAS5D;;;;;OAKG;IAEH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,cAAc,CAAC;KAC3B,GAAG,OAAO;CAGZ;AAoCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAoBD;;GAEG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAQtD"}
|
package/es/output/output-area.js
CHANGED
|
@@ -23,14 +23,18 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
23
23
|
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; }
|
|
24
24
|
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.'); }
|
|
25
25
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
26
28
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
27
29
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
30
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
28
32
|
import { concatMultilineString } from '@difizen/libro-common';
|
|
29
33
|
import { getBundleOptions } from '@difizen/libro-common';
|
|
30
34
|
import { isError, isStream } from '@difizen/libro-common';
|
|
31
35
|
import { ViewOption, getOrigin, ViewRender, BaseView, Priority, useInject, view, ViewInstance } from '@difizen/mana-app';
|
|
32
36
|
import { Emitter, prop, contrib, inject, transient } from '@difizen/mana-app';
|
|
33
|
-
import { useEffect, forwardRef } from 'react';
|
|
37
|
+
import { useEffect, useState, forwardRef } from 'react';
|
|
34
38
|
import { ExecutableCellView } from "../cell/index.js";
|
|
35
39
|
import { OutputContribution } from "./output-protocol.js";
|
|
36
40
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -45,7 +49,14 @@ var LibroOutputAreaRender = /*#__PURE__*/forwardRef(function LibroOutputAreaRend
|
|
|
45
49
|
}, [outputArea.onUpdateEmitter, outputArea.outputs]);
|
|
46
50
|
var childrenCannotClear = [];
|
|
47
51
|
var children = [];
|
|
48
|
-
var
|
|
52
|
+
var pageSize = 100;
|
|
53
|
+
var _useState = useState(pageSize),
|
|
54
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
55
|
+
oversizeLimit = _useState2[0],
|
|
56
|
+
setOversizeLimt = _useState2[1];
|
|
57
|
+
var oversized = outputArea.outputs.length > oversizeLimit;
|
|
58
|
+
var showOutputs = outputArea.outputs.slice(0, oversizeLimit);
|
|
59
|
+
var _iterator = _createForOfIteratorHelper(showOutputs),
|
|
49
60
|
_step;
|
|
50
61
|
try {
|
|
51
62
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -75,6 +86,15 @@ var LibroOutputAreaRender = /*#__PURE__*/forwardRef(function LibroOutputAreaRend
|
|
|
75
86
|
return /*#__PURE__*/_jsx(ViewRender, {
|
|
76
87
|
view: output
|
|
77
88
|
}, output.id);
|
|
89
|
+
}), oversized && /*#__PURE__*/_jsxs("div", {
|
|
90
|
+
className: "libro-output-area-action-container",
|
|
91
|
+
children: ["\u8D85\u8FC7 ", oversizeLimit, " \u6761\u8F93\u51FA\uFF0C\u70B9\u51FB", /*#__PURE__*/_jsx("a", {
|
|
92
|
+
className: "libro-output-area-action",
|
|
93
|
+
onClick: function onClick() {
|
|
94
|
+
setOversizeLimt(oversizeLimit + pageSize);
|
|
95
|
+
},
|
|
96
|
+
children: "\u5C55\u5F00\u66F4\u591A"
|
|
97
|
+
})]
|
|
78
98
|
})]
|
|
79
99
|
});
|
|
80
100
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@difizen/libro-core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.34",
|
|
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.3.
|
|
38
|
-
"@difizen/libro-common": "^0.3.
|
|
39
|
-
"@difizen/libro-shared-model": "^0.3.
|
|
40
|
-
"@difizen/libro-virtualized": "^0.3.
|
|
37
|
+
"@difizen/libro-code-editor": "^0.3.34",
|
|
38
|
+
"@difizen/libro-common": "^0.3.34",
|
|
39
|
+
"@difizen/libro-shared-model": "^0.3.34",
|
|
40
|
+
"@difizen/libro-virtualized": "^0.3.34",
|
|
41
41
|
"@difizen/mana-app": "latest",
|
|
42
42
|
"@difizen/mana-l10n": "latest",
|
|
43
43
|
"@difizen/mana-react": "latest",
|
package/src/index.less
CHANGED
|
@@ -591,6 +591,21 @@
|
|
|
591
591
|
|
|
592
592
|
.libro-output-area {
|
|
593
593
|
padding-top: 12px;
|
|
594
|
+
|
|
595
|
+
.libro-output-area-oversized {
|
|
596
|
+
color: var(--mana-libro-link-color);
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
.libro-output-area-action {
|
|
600
|
+
color: var(--mana-libro-link-color);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
.libro-output-area-action-container {
|
|
604
|
+
cursor: pointer;
|
|
605
|
+
color: var(--mana-libro-toptoolbar-icon-color);
|
|
606
|
+
font-style: italic;
|
|
607
|
+
padding: 10px 24px;
|
|
608
|
+
}
|
|
594
609
|
}
|
|
595
610
|
|
|
596
611
|
.libro-cell-output-content {
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
ViewInstance,
|
|
15
15
|
} from '@difizen/mana-app';
|
|
16
16
|
import { Emitter, prop, contrib, inject, transient } from '@difizen/mana-app';
|
|
17
|
-
import { useEffect, forwardRef } from 'react';
|
|
17
|
+
import { useEffect, useState, forwardRef, useMemo } from 'react';
|
|
18
18
|
|
|
19
19
|
import { ExecutableCellView } from '../cell/index.js';
|
|
20
20
|
import type { CellView } from '../libro-protocol.js';
|
|
@@ -35,15 +35,22 @@ const LibroOutputAreaRender = forwardRef<HTMLDivElement>(
|
|
|
35
35
|
useEffect(() => {
|
|
36
36
|
outputArea.onUpdateEmitter.fire();
|
|
37
37
|
}, [outputArea.onUpdateEmitter, outputArea.outputs]);
|
|
38
|
+
|
|
38
39
|
const childrenCannotClear = [];
|
|
39
40
|
const children = [];
|
|
40
|
-
|
|
41
|
+
const pageSize = 100;
|
|
42
|
+
const [oversizeLimit, setOversizeLimt] = useState(pageSize);
|
|
43
|
+
const oversized = outputArea.outputs.length > oversizeLimit;
|
|
44
|
+
const showOutputs = outputArea.outputs.slice(0, oversizeLimit);
|
|
45
|
+
|
|
46
|
+
for (const output of showOutputs) {
|
|
41
47
|
if (output.allowClear === false) {
|
|
42
48
|
childrenCannotClear.push(output);
|
|
43
49
|
} else {
|
|
44
50
|
children.push(output);
|
|
45
51
|
}
|
|
46
52
|
}
|
|
53
|
+
|
|
47
54
|
return (
|
|
48
55
|
<div
|
|
49
56
|
className="libro-output-area"
|
|
@@ -57,6 +64,19 @@ const LibroOutputAreaRender = forwardRef<HTMLDivElement>(
|
|
|
57
64
|
{children.map((output) => {
|
|
58
65
|
return <ViewRender view={output} key={output.id} />;
|
|
59
66
|
})}
|
|
67
|
+
{oversized && (
|
|
68
|
+
<div className="libro-output-area-action-container">
|
|
69
|
+
超过 {oversizeLimit} 条输出,点击
|
|
70
|
+
<a
|
|
71
|
+
className="libro-output-area-action"
|
|
72
|
+
onClick={() => {
|
|
73
|
+
setOversizeLimt(oversizeLimit + pageSize);
|
|
74
|
+
}}
|
|
75
|
+
>
|
|
76
|
+
展开更多
|
|
77
|
+
</a>
|
|
78
|
+
</div>
|
|
79
|
+
)}
|
|
60
80
|
</div>
|
|
61
81
|
);
|
|
62
82
|
},
|