@difizen/libro-core 0.3.39 → 0.3.41

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.
@@ -41,16 +41,21 @@ export declare class LibroCellView extends BaseView implements CellView {
41
41
  toJSON(): LibroCell;
42
42
  toJSONWithoutId: () => {
43
43
  [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
44
- id?: string | undefined;
45
- cell_type: "raw";
46
- metadata: Partial<import("@difizen/libro-common").IRawCellMetadata>;
47
- attachments?: import("@difizen/libro-common").IAttachments | undefined;
44
+ metadata: Partial<import("./libro-cell-protocol.js").LibroCellMetadata>;
45
+ cell_type: string;
48
46
  source: import("@difizen/libro-common").MultilineString;
49
47
  } | {
50
48
  [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
51
49
  cell_type: string;
52
50
  source: import("@difizen/libro-common").MultilineString;
53
51
  metadata: Partial<import("@difizen/libro-common").ICellMetadata>;
52
+ } | {
53
+ [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
54
+ id?: string | undefined;
55
+ cell_type: "raw";
56
+ metadata: Partial<import("@difizen/libro-common").IRawCellMetadata>;
57
+ attachments?: import("@difizen/libro-common").IAttachments | undefined;
58
+ source: import("@difizen/libro-common").MultilineString;
54
59
  } | {
55
60
  [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
56
61
  id?: string | undefined;
@@ -66,11 +71,6 @@ export declare class LibroCellView extends BaseView implements CellView {
66
71
  outputs: import("@difizen/libro-common").IOutput[];
67
72
  execution_count: import("@difizen/libro-common").ExecutionCount;
68
73
  source: import("@difizen/libro-common").MultilineString;
69
- } | {
70
- [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
71
- metadata: Partial<import("./libro-cell-protocol.js").LibroCellMetadata>;
72
- cell_type: string;
73
- source: import("@difizen/libro-common").MultilineString;
74
74
  };
75
75
  }
76
76
  //# sourceMappingURL=libro-cell-view.d.ts.map
@@ -157,7 +157,7 @@ export var DndCellsRender = /*#__PURE__*/forwardRef(function DndCellsRender(_ref
157
157
  // TODO: 类型处理
158
158
  var model = libroView.model;
159
159
  if (model.currentFileContents && model.currentFileContents.size) {
160
- size = parseFloat((model.currentFileContents.size / 1048576).toFixed(3)); // 单位MB
160
+ size = model.currentFileContents.size; // 单位 byte
161
161
  path = model.currentFileContents.path || '';
162
162
  }
163
163
  setIsJudging(true);
@@ -1 +1 @@
1
- {"version":3,"file":"libro-virtualized-render.d.ts","sourceRoot":"","sources":["../../src/components/libro-virtualized-render.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,UAAU,wBAAwB;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAkBlE,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5C,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,SAAS,CAAC;CAC3B,CAoJA,CAAC"}
1
+ {"version":3,"file":"libro-virtualized-render.d.ts","sourceRoot":"","sources":["../../src/components/libro-virtualized-render.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,UAAU,wBAAwB;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAkBlE,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5C,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,SAAS,CAAC;CAC3B,CAkKA,CAAC"}
@@ -10,7 +10,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
10
10
  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; }
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
- /* eslint-disable react-hooks/exhaustive-deps */
14
13
  import { AutoSizer, List } from '@difizen/libro-virtualized';
15
14
  import { memo, useEffect, useMemo, useRef, useState } from 'react';
16
15
  import { EditorCellView } from "../cell/index.js";
@@ -82,6 +81,33 @@ export var LibroCellsOutputRender = function LibroCellsOutputRender(_ref2) {
82
81
  return pre + cur;
83
82
  });
84
83
  }, [noEditorAreaHeight]);
84
+
85
+ // 绘制所有的非编辑器区域
86
+ var noEditorArea = useMemo(function () {
87
+ var position = -1;
88
+ return /*#__PURE__*/_jsxs("div", {
89
+ style: {
90
+ position: 'absolute',
91
+ visibility: 'visible',
92
+ width: '100%',
93
+ height: '100%'
94
+ },
95
+ ref: noEditorAreaRef,
96
+ children: [cells
97
+ // .filter((cell) => cell.collapsedHidden === false)
98
+ .map(function (cell, index) {
99
+ position += 1;
100
+ if (cell.collapsedHidden) {
101
+ return null;
102
+ }
103
+ return /*#__PURE__*/_jsx(DndCellRender, {
104
+ cell: cell,
105
+ index: index,
106
+ position: position
107
+ }, cell.id);
108
+ }), addCellButtons]
109
+ });
110
+ }, [cells, addCellButtons]);
85
111
  useEffect(function () {
86
112
  if (!listRef || !listRef.current || !libroView.model) {
87
113
  return;
@@ -116,33 +142,6 @@ export var LibroCellsOutputRender = function LibroCellsOutputRender(_ref2) {
116
142
  });
117
143
  setEditorsOffset(newCellOffsets);
118
144
  }, [noEditorAreaRef.current, cells]);
119
-
120
- // 绘制所有的非编辑器区域
121
- var noEditorArea = useMemo(function () {
122
- var position = -1;
123
- return /*#__PURE__*/_jsxs("div", {
124
- style: {
125
- position: 'absolute',
126
- visibility: 'visible',
127
- width: '100%',
128
- height: '100%'
129
- },
130
- ref: noEditorAreaRef,
131
- children: [cells
132
- // .filter((cell) => cell.collapsedHidden === false)
133
- .map(function (cell, index) {
134
- position += 1;
135
- if (cell.collapsedHidden) {
136
- return null;
137
- }
138
- return /*#__PURE__*/_jsx(DndCellRender, {
139
- cell: cell,
140
- index: index,
141
- position: position
142
- }, cell.id);
143
- }), addCellButtons]
144
- });
145
- }, [cells, addCellButtons]);
146
145
  return /*#__PURE__*/_jsx(AutoSizer, {
147
146
  style: {
148
147
  height: '100%',
@@ -173,7 +172,16 @@ export var LibroCellsOutputRender = function LibroCellsOutputRender(_ref2) {
173
172
  totalSize: totalSize,
174
173
  editorAreaHeight: editorAreaHeight,
175
174
  noEditorArea: noEditorArea,
176
- editorsOffset: editorsOffset
175
+ editorsOffset: editorsOffset,
176
+ onScroll: function onScroll(scrollParams) {
177
+ libroView.cellScrollEmitter.fire({
178
+ scrollingContainer: scrollParams.scrollingContainer,
179
+ scrollTop: scrollParams.scrollTop
180
+ });
181
+ },
182
+ onGridRendered: function onGridRendered(Grid) {
183
+ libroView.virtualizedGridRenderedEmitter.fire(Grid);
184
+ }
177
185
  });
178
186
  }
179
187
  });
@@ -50,6 +50,10 @@ export interface ScrollParams {
50
50
  cellIndex: number;
51
51
  cellOffset?: number;
52
52
  }
53
+ export interface LibroViewScrollParams {
54
+ scrollingContainer: Element;
55
+ scrollTop: number;
56
+ }
53
57
  export type NotebookModel = BaseNotebookModel & DndListModel;
54
58
  export interface ICellContentChange {
55
59
  cell: CellView;
@@ -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":";AACA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AACF,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,aAAa,CAAC;AAE7E,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,oBAAY,YAAY;IACtB,SAAS,eAAe;IACxB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,GAAG,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AACD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB,cAAc,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,EAAE,OAAO,CAAC;IAEjB,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAErC;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE1B;;OAEG;IACH,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhC;;OAEG;IACH,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAEzC;;OAEG;IACH,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEhD,QAAQ,EAAE,MAAM,QAAQ,EAAE,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;OAEG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IAElC;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB,UAAU,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzC,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,gBAAgB,CAAC;IAE/B,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAExB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAE7C,mBAAmB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE3D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5D,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAE9C,cAAc,EAAE,MAAM,CAAC;IAEvB,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAExC,8BAA8B,EAAE,MAAM,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjC,qBAAqB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;IAErE,aAAa,EAAE,MAAM,OAAO,CAAC;IAE7B,cAAc,EAAE,OAAO,CAAC;IAExB,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB,MAAM,EAAE,MAAM,KAAK,CAAC;IAEpB,eAAe,EAAE,MAAM,KAAK,CAAC;IAE7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;IAEpC,gBAAgB,CAAC,EAAE,MAAM,MAAM,CAAC;IAEhC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAUD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,QAAQ,CAQvD;AAED,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD,MAAM,WAAW,WAAW;IAE1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,eAA4B,CAAC;AACzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;CAC/D;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM,EAAE,UAAU;IACnD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IAGH;;OAEG;IAGH;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1C;;;OAGG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAErC,OAAO,EAAE,WAAW,CAAC;CAEtB;AAED,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,aAAa,CAAC;IAC7D,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACpE,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CAClD;AAGD,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,UAAU,EAAE;QACV,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QACtB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACzB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;KAC3B,CAAC;IACF,YAAY,EAAE;QACZ,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC9C,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;KAC/C,CAAC;IACF,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAGD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,aAAa,CAAC;CAC3B;AACD,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E,eAAO,MAAM,+BAA+B,eAE3C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAC5C,IAAI,EAAE,wBAAwB,KAC3B,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigurationContribution } from '@difizen/mana-app';
2
2
  export declare class LibroSettingContribution implements ConfigurationContribution {
3
- registerConfigurations(): import("@difizen/mana-app").ConfigurationNode<boolean>[];
3
+ registerConfigurations(): (import("@difizen/mana-app").ConfigurationNode<boolean> | import("@difizen/mana-app").ConfigurationNode<number>)[];
4
4
  }
5
5
  //# sourceMappingURL=libro-setting-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libro-setting-contribution.d.ts","sourceRoot":"","sources":["../src/libro-setting-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAczE,qBACa,wBAAyB,YAAW,yBAAyB;IACxE,sBAAsB;CAavB"}
1
+ {"version":3,"file":"libro-setting-contribution.d.ts","sourceRoot":"","sources":["../src/libro-setting-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAiBzE,qBACa,wBAAyB,YAAW,yBAAyB;IACxE,sBAAsB;CAgBvB"}
@@ -6,7 +6,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  import { singleton, ConfigurationContribution } from '@difizen/mana-app';
9
- import { AutoInsertWhenNoCell, CellSideToolbarVisible, CellTopToolbarSetting, CollapserClickActive, EnterEditModeWhenAddCell, HeaderToolbarVisible, LargeOutputDisplay, MultiSelectionWhenShiftClick, RightContentFixed } from "./libro-setting.js";
9
+ import { AutoInsertWhenNoCell, CellSideToolbarVisible, CellTopToolbarSetting, CollapserClickActive, EnterEditModeWhenAddCell, HeaderToolbarVisible, LargeOutputDisplay, MultiSelectionWhenShiftClick, RightContentFixed, VirtualizationEnabled, VirtualizationThresholdCellCount, VirtualizationThresholdFileSize } from "./libro-setting.js";
10
10
  export var LibroSettingContribution = (_dec = singleton({
11
11
  contrib: ConfigurationContribution
12
12
  }), _dec(_class = /*#__PURE__*/function () {
@@ -16,7 +16,7 @@ export var LibroSettingContribution = (_dec = singleton({
16
16
  _createClass(LibroSettingContribution, [{
17
17
  key: "registerConfigurations",
18
18
  value: function registerConfigurations() {
19
- return [HeaderToolbarVisible, CellTopToolbarSetting, CellSideToolbarVisible, AutoInsertWhenNoCell, EnterEditModeWhenAddCell, CollapserClickActive, MultiSelectionWhenShiftClick, RightContentFixed, LargeOutputDisplay];
19
+ return [HeaderToolbarVisible, CellTopToolbarSetting, CellSideToolbarVisible, AutoInsertWhenNoCell, EnterEditModeWhenAddCell, CollapserClickActive, MultiSelectionWhenShiftClick, RightContentFixed, LargeOutputDisplay, VirtualizationEnabled, VirtualizationThresholdCellCount, VirtualizationThresholdFileSize];
20
20
  }
21
21
  }]);
22
22
  return LibroSettingContribution;
@@ -11,4 +11,7 @@ export declare const OutputScrollBtnVisiable: ConfigurationNode<boolean>;
11
11
  export declare const SupportCodeFormat: ConfigurationNode<boolean>;
12
12
  export declare const SpmReporter: ConfigurationNode<boolean>;
13
13
  export declare const LargeOutputDisplay: ConfigurationNode<boolean>;
14
+ export declare const VirtualizationEnabled: ConfigurationNode<boolean>;
15
+ export declare const VirtualizationThresholdCellCount: ConfigurationNode<number>;
16
+ export declare const VirtualizationThresholdFileSize: ConfigurationNode<number>;
14
17
  //# sourceMappingURL=libro-setting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libro-setting.d.ts","sourceRoot":"","sources":["../src/libro-setting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,OAAO,CAS3D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,CAS5D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAS7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,OAAO,CAS3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,OAAO,CAS/D,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,OAAO,CAS3D,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,OAAO,CASnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CASxD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,CAAC,OAAO,CAS9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CASxD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,OAAO,CASlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CASzD,CAAC"}
1
+ {"version":3,"file":"libro-setting.d.ts","sourceRoot":"","sources":["../src/libro-setting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,OAAO,CAS3D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,CAS5D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAS7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,OAAO,CAS3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,OAAO,CAS/D,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,OAAO,CAS3D,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,OAAO,CASnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CASxD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,CAAC,OAAO,CAS9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CASxD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,OAAO,CASlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CASzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,CAS5D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,iBAAiB,CAAC,MAAM,CAWtE,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,MAAM,CAWrE,CAAC"}
@@ -118,4 +118,39 @@ export var LargeOutputDisplay = {
118
118
  schema: {
119
119
  type: 'boolean'
120
120
  }
121
+ };
122
+ export var VirtualizationEnabled = {
123
+ id: 'libro.virtualization.enabled',
124
+ description: l10n.t('是否启用虚拟滚动功能'),
125
+ title: l10n.t('虚拟滚动'),
126
+ type: 'checkbox',
127
+ defaultValue: false,
128
+ schema: {
129
+ type: 'boolean'
130
+ }
131
+ };
132
+ export var VirtualizationThresholdCellCount = {
133
+ id: 'libro.virtualization.threshold.cellcount',
134
+ description: l10n.t('启用虚拟滚动所需的cell数量阈值'),
135
+ title: l10n.t('虚拟滚动 cell 数量阈值'),
136
+ type: 'input',
137
+ defaultValue: 50,
138
+ schema: {
139
+ type: 'number',
140
+ minimum: 1,
141
+ maximum: 1000
142
+ }
143
+ };
144
+ export var VirtualizationThresholdFileSize = {
145
+ id: 'libro.virtualization.threshold.filesize',
146
+ description: l10n.t('启用虚拟滚动所需的文件大小阈值,单位 byte'),
147
+ title: l10n.t('虚拟滚动文件大小阈值'),
148
+ type: 'input',
149
+ defaultValue: 100 * 1024,
150
+ // 100KB
151
+ schema: {
152
+ type: 'number',
153
+ minimum: 1,
154
+ maximum: 1024 * 1024 * 1024 // 1GB
155
+ }
121
156
  };
@@ -44,7 +44,7 @@ export declare class LibroViewTracker {
44
44
  isEnabledSpmReporter: boolean;
45
45
  protected onTrackerEmitter: Emitter<Record<string, any>>;
46
46
  get onTracker(): import("@difizen/mana-app").Event<Record<string, any>>;
47
- getOrCreateTrackers(options: Options): Tracker | ITracker | FpsTracker;
47
+ getOrCreateTrackers(options: Options): ITracker | FpsTracker | Tracker;
48
48
  tracker(tracker: ITracker): void;
49
49
  hasTracker(id: string): boolean;
50
50
  }
@@ -1,5 +1,6 @@
1
1
  import type { IModelContentChange } from '@difizen/libro-code-editor';
2
2
  import type { MultilineString } from '@difizen/libro-common';
3
+ import type { Grid } from '@difizen/libro-virtualized';
3
4
  import { BaseView, ViewManager, Deferred, DisposableCollection, Emitter, ConfigurationService } from '@difizen/mana-app';
4
5
  import type { FC, ForwardRefExoticComponent, RefAttributes } from 'react';
5
6
  import { CellService } from './cell/index.js';
@@ -8,7 +9,7 @@ import { CollapseServiceFactory } from './collapse-service.js';
8
9
  import type { CollapseService } from './collapse-service.js';
9
10
  import { LibroContextKey } from './libro-context-key.js';
10
11
  import { NotebookService } from './libro-protocol.js';
11
- import type { CellOptions, CellView, DndContentProps, DndItemProps, NotebookView, NotebookModel, NotebookOption } from './libro-protocol.js';
12
+ import type { CellOptions, CellView, DndContentProps, DndItemProps, NotebookView, NotebookModel, NotebookOption, LibroViewScrollParams } from './libro-protocol.js';
12
13
  import { LibroService } from './libro-service.js';
13
14
  import { LibroViewTracker } from './libro-view-tracker.js';
14
15
  import { LibroSlotManager } from './slot/index.js';
@@ -60,8 +61,10 @@ export declare class LibroView extends BaseView implements NotebookView {
60
61
  get onCellContentChanged(): import("@difizen/mana-app").Event<IModelContentChange[]>;
61
62
  runCellEmitter: Emitter<CellView>;
62
63
  get onRunCell(): import("@difizen/mana-app").Event<CellView>;
63
- cellScrollEmitter: Emitter<void>;
64
- get onCellScroll(): import("@difizen/mana-app").Event<void>;
64
+ cellScrollEmitter: Emitter<LibroViewScrollParams>;
65
+ get onCellScroll(): import("@difizen/mana-app").Event<LibroViewScrollParams>;
66
+ virtualizedGridRenderedEmitter: Emitter<Grid>;
67
+ get onVirtualizedGridRendered(): import("@difizen/mana-app").Event<Grid>;
65
68
  outputRenderTabEmitter: Emitter<{
66
69
  mimeType: string;
67
70
  data: MultilineString | null;
@@ -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
@@ -83,7 +83,10 @@ export var LibroContentComponent = /*#__PURE__*/memo(function LibroContentCompon
83
83
  });
84
84
  var handleScroll = useCallback(function () {
85
85
  var _instance$container, _instance$activeCell, _instance$activeCell2, _instance$activeCell3, _activeOutput$outputs, _instance$activeCell4, _libroViewTopRef$curr;
86
- instance.cellScrollEmitter.fire();
86
+ libroViewContentRef.current && instance.cellScrollEmitter.fire({
87
+ scrollingContainer: libroViewContentRef.current,
88
+ scrollTop: libroViewContentRef.current.scrollTop
89
+ });
87
90
  var cellRightToolbar = (_instance$container = instance.container) === null || _instance$container === void 0 || (_instance$container = _instance$container.current) === null || _instance$container === void 0 ? void 0 : _instance$container.getElementsByClassName('libro-cell-right-toolbar')[instance.model.activeIndex];
88
91
  var activeCellOffsetY = (_instance$activeCell = instance.activeCell) === null || _instance$activeCell === void 0 || (_instance$activeCell = _instance$activeCell.container) === null || _instance$activeCell === void 0 || (_instance$activeCell = _instance$activeCell.current) === null || _instance$activeCell === void 0 ? void 0 : _instance$activeCell.getBoundingClientRect().y;
89
92
  var activeCellOffsetRight = (_instance$activeCell2 = instance.activeCell) === null || _instance$activeCell2 === void 0 || (_instance$activeCell2 = _instance$activeCell2.container) === null || _instance$activeCell2 === void 0 || (_instance$activeCell2 = _instance$activeCell2.current) === null || _instance$activeCell2 === void 0 ? void 0 : _instance$activeCell2.getBoundingClientRect().right;
@@ -265,6 +268,7 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
265
268
  _this.onCellContentChangedEmitter = new Emitter();
266
269
  _this.runCellEmitter = new Emitter();
267
270
  _this.cellScrollEmitter = new Emitter();
271
+ _this.virtualizedGridRenderedEmitter = new Emitter();
268
272
  _this.outputRenderTabEmitter = new Emitter();
269
273
  _this.initializedDefer = new Deferred();
270
274
  _this.view = LibroRender;
@@ -996,7 +1000,6 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
996
1000
  var selectedCell = _step2.value;
997
1001
  if (ExecutableCellView.is(selectedCell) && ExecutableCellModel.is(selectedCell.model)) {
998
1002
  selectedCell.clearExecution();
999
- selectedCell.model.executing = false;
1000
1003
  selectedCell.model.hasOutputHidden = false;
1001
1004
  }
1002
1005
  }
@@ -1008,7 +1011,6 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
1008
1011
  } else {
1009
1012
  if (ExecutableCellView.is(cell) && ExecutableCellModel.is(cell.model)) {
1010
1013
  cell.clearExecution();
1011
- cell.model.executing = false;
1012
1014
  cell.model.hasOutputHidden = false;
1013
1015
  }
1014
1016
  }
@@ -1023,7 +1025,6 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
1023
1025
  var cell = _step3.value;
1024
1026
  if (ExecutableCellView.is(cell) && ExecutableCellModel.is(cell.model)) {
1025
1027
  cell.clearExecution();
1026
- cell.model.executing = false;
1027
1028
  cell.model.hasOutputHidden = false;
1028
1029
  }
1029
1030
  }
@@ -1809,6 +1810,11 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
1809
1810
  get: function get() {
1810
1811
  return this.cellScrollEmitter.event;
1811
1812
  }
1813
+ }, {
1814
+ key: "onVirtualizedGridRendered",
1815
+ get: function get() {
1816
+ return this.virtualizedGridRenderedEmitter.event;
1817
+ }
1812
1818
  }, {
1813
1819
  key: "onOutputRenderTab",
1814
1820
  get: function get() {
@@ -1,3 +1,4 @@
1
+ import { ConfigurationService } from '@difizen/mana-app';
1
2
  import type { NotebookModel } from './libro-protocol.js';
2
3
  import { VirtualizedManagerOption } from './libro-protocol.js';
3
4
  export interface IVirtualizedManager {
@@ -11,11 +12,12 @@ export declare class VirtualizedManager implements IVirtualizedManager {
11
12
  */
12
13
  isVirtualized: boolean;
13
14
  libroModel: NotebookModel;
14
- constructor(virtualizedManagerOption: VirtualizedManagerOption);
15
+ protected configurationService: ConfigurationService;
16
+ constructor(virtualizedManagerOption: VirtualizedManagerOption, configurationService: ConfigurationService);
15
17
  /**
16
18
  *
17
19
  * @param length cell个数
18
- * @param size undefined 或者 单位 为B
20
+ * @param size undefined 或者 number,单位为 byte
19
21
  * @returns 是否使用虚拟滚动
20
22
  */
21
23
  openVirtualized: (length: number, size?: number, path?: string) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"virtualized-manager.d.ts","sourceRoot":"","sources":["../src/virtualized-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBACa,kBAAmB,YAAW,mBAAmB;IAC5D;;;OAGG;IAEH,aAAa,UAAS;IAEtB,UAAU,EAAE,aAAa,CAAC;gBAIxB,wBAAwB,EAAE,wBAAwB;IAKpD;;;;;OAKG;IAEH,eAAe,WAAkB,MAAM,SAAS,MAAM,SAAS,MAAM,sBAYnE;CACH"}
1
+ {"version":3,"file":"virtualized-manager.d.ts","sourceRoot":"","sources":["../src/virtualized-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBACa,kBAAmB,YAAW,mBAAmB;IAC5D;;;OAGG;IAEH,aAAa,UAAS;IAEtB,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;gBAInD,wBAAwB,EAAE,wBAAwB,EACpB,oBAAoB,EAAE,oBAAoB;IAM1E;;;;;OAKG;IACH,eAAe,WAAkB,MAAM,SAAS,MAAM,SAAS,MAAM,sBA2BnE;CACH"}
@@ -12,8 +12,10 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
12
12
  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; }
13
13
  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.'); }
14
14
  import { transient, prop, inject } from '@difizen/mana-app';
15
+ import { ConfigurationService } from '@difizen/mana-app';
15
16
  import { VirtualizedManagerOption } from "./libro-protocol.js";
16
- export var VirtualizedManager = (_dec = transient(), _dec2 = prop(), _dec(_class = (_class2 = /*#__PURE__*/_createClass(function VirtualizedManager(virtualizedManagerOption) {
17
+ import { VirtualizationEnabled, VirtualizationThresholdFileSize, VirtualizationThresholdCellCount } from "./libro-setting.js";
18
+ export var VirtualizedManager = (_dec = transient(), _dec2 = prop(), _dec(_class = (_class2 = /*#__PURE__*/_createClass(function VirtualizedManager(virtualizedManagerOption, configurationService) {
17
19
  var _this = this;
18
20
  _classCallCheck(this, VirtualizedManager);
19
21
  /**
@@ -22,21 +24,48 @@ export var VirtualizedManager = (_dec = transient(), _dec2 = prop(), _dec(_class
22
24
  */
23
25
  _initializerDefineProperty(this, "isVirtualized", _descriptor, this);
24
26
  this.libroModel = void 0;
27
+ this.configurationService = void 0;
25
28
  /**
26
29
  *
27
30
  * @param length cell个数
28
- * @param size undefined 或者 单位 为B
31
+ * @param size undefined 或者 number,单位为 byte
29
32
  * @returns 是否使用虚拟滚动
30
33
  */
31
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
34
  this.openVirtualized = /*#__PURE__*/function () {
33
35
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(length, size, path) {
36
+ var virtualizationEnabled, virtualizationThresholdFileSize, virtualizationThresholdCellCount;
34
37
  return _regeneratorRuntime().wrap(function _callee$(_context) {
35
38
  while (1) switch (_context.prev = _context.next) {
36
39
  case 0:
40
+ _context.next = 2;
41
+ return _this.configurationService.get(VirtualizationEnabled);
42
+ case 2:
43
+ virtualizationEnabled = _context.sent;
44
+ _context.next = 5;
45
+ return _this.configurationService.get(VirtualizationThresholdFileSize);
46
+ case 5:
47
+ virtualizationThresholdFileSize = _context.sent;
48
+ _context.next = 8;
49
+ return _this.configurationService.get(VirtualizationThresholdCellCount);
50
+ case 8:
51
+ virtualizationThresholdCellCount = _context.sent;
52
+ if (virtualizationEnabled) {
53
+ _context.next = 12;
54
+ break;
55
+ }
37
56
  _this.isVirtualized = false;
38
57
  return _context.abrupt("return", false);
39
- case 2:
58
+ case 12:
59
+ if (!(length >= virtualizationThresholdCellCount || size && size >= virtualizationThresholdFileSize)) {
60
+ _context.next = 15;
61
+ break;
62
+ }
63
+ _this.isVirtualized = true;
64
+ return _context.abrupt("return", true);
65
+ case 15:
66
+ _this.isVirtualized = false;
67
+ return _context.abrupt("return", false);
68
+ case 17:
40
69
  case "end":
41
70
  return _context.stop();
42
71
  }
@@ -47,6 +76,7 @@ export var VirtualizedManager = (_dec = transient(), _dec2 = prop(), _dec(_class
47
76
  };
48
77
  }();
49
78
  this.libroModel = virtualizedManagerOption.libroModel;
79
+ this.configurationService = configurationService;
50
80
  }), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "isVirtualized", [_dec2], {
51
81
  configurable: true,
52
82
  enumerable: true,
@@ -55,4 +85,5 @@ export var VirtualizedManager = (_dec = transient(), _dec2 = prop(), _dec(_class
55
85
  return false;
56
86
  }
57
87
  })), _class2)) || _class);
88
+ VirtualizedManager = inject(ConfigurationService)(VirtualizedManager, undefined, 1) || VirtualizedManager;
58
89
  VirtualizedManager = inject(VirtualizedManagerOption)(VirtualizedManager, undefined, 0) || VirtualizedManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-core",
3
- "version": "0.3.39",
3
+ "version": "0.3.41",
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.39",
38
- "@difizen/libro-common": "^0.3.39",
39
- "@difizen/libro-shared-model": "^0.3.39",
40
- "@difizen/libro-virtualized": "^0.3.39",
37
+ "@difizen/libro-code-editor": "^0.3.41",
38
+ "@difizen/libro-common": "^0.3.41",
39
+ "@difizen/libro-shared-model": "^0.3.41",
40
+ "@difizen/libro-virtualized": "^0.3.41",
41
41
  "@difizen/mana-app": "latest",
42
42
  "@difizen/mana-l10n": "latest",
43
43
  "@difizen/mana-react": "latest",
@@ -169,7 +169,7 @@ export const DndCellsRender = forwardRef<
169
169
  // TODO: 类型处理
170
170
  const model = libroView.model as any;
171
171
  if (model.currentFileContents && model.currentFileContents.size) {
172
- size = parseFloat((model.currentFileContents.size / 1048576).toFixed(3)); // 单位MB
172
+ size = model.currentFileContents.size; // 单位 byte
173
173
  path = model.currentFileContents.path || '';
174
174
  }
175
175
 
@@ -1,5 +1,5 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */
2
1
  import { AutoSizer, List } from '@difizen/libro-virtualized';
2
+ import type { Grid } from '@difizen/libro-virtualized';
3
3
  import type { ReactNode } from 'react';
4
4
  import { memo, useEffect, useMemo, useRef, useState } from 'react';
5
5
 
@@ -88,6 +88,40 @@ export const LibroCellsOutputRender: React.FC<{
88
88
  [noEditorAreaHeight],
89
89
  );
90
90
 
91
+ // 绘制所有的非编辑器区域
92
+ const noEditorArea = useMemo(() => {
93
+ let position = -1;
94
+ return (
95
+ <div
96
+ style={{
97
+ position: 'absolute',
98
+ visibility: 'visible',
99
+ width: '100%',
100
+ height: '100%',
101
+ }}
102
+ ref={noEditorAreaRef}
103
+ >
104
+ {cells
105
+ // .filter((cell) => cell.collapsedHidden === false)
106
+ .map((cell, index) => {
107
+ position += 1;
108
+ if (cell.collapsedHidden) {
109
+ return null;
110
+ }
111
+ return (
112
+ <DndCellRender
113
+ cell={cell}
114
+ key={cell.id}
115
+ index={index}
116
+ position={position}
117
+ />
118
+ );
119
+ })}
120
+ {addCellButtons}
121
+ </div>
122
+ );
123
+ }, [cells, addCellButtons]);
124
+
91
125
  useEffect(() => {
92
126
  if (!listRef || !listRef.current || !libroView.model) {
93
127
  return;
@@ -127,41 +161,7 @@ export const LibroCellsOutputRender: React.FC<{
127
161
  });
128
162
 
129
163
  setEditorsOffset(newCellOffsets);
130
- }, [noEditorAreaRef.current, cells]);
131
-
132
- // 绘制所有的非编辑器区域
133
- const noEditorArea = useMemo(() => {
134
- let position = -1;
135
- return (
136
- <div
137
- style={{
138
- position: 'absolute',
139
- visibility: 'visible',
140
- width: '100%',
141
- height: '100%',
142
- }}
143
- ref={noEditorAreaRef}
144
- >
145
- {cells
146
- // .filter((cell) => cell.collapsedHidden === false)
147
- .map((cell, index) => {
148
- position += 1;
149
- if (cell.collapsedHidden) {
150
- return null;
151
- }
152
- return (
153
- <DndCellRender
154
- cell={cell}
155
- key={cell.id}
156
- index={index}
157
- position={position}
158
- />
159
- );
160
- })}
161
- {addCellButtons}
162
- </div>
163
- );
164
- }, [cells, addCellButtons]);
164
+ }, [cells]);
165
165
 
166
166
  return (
167
167
  <AutoSizer style={{ height: '100%', width: '100%' }} ref={parentRef}>
@@ -182,6 +182,20 @@ export const LibroCellsOutputRender: React.FC<{
182
182
  editorAreaHeight={editorAreaHeight}
183
183
  noEditorArea={noEditorArea}
184
184
  editorsOffset={editorsOffset}
185
+ onScroll={(scrollParams: {
186
+ clientHeight: number;
187
+ scrollHeight: number;
188
+ scrollTop: number;
189
+ scrollingContainer: Element;
190
+ }) => {
191
+ libroView.cellScrollEmitter.fire({
192
+ scrollingContainer: scrollParams.scrollingContainer,
193
+ scrollTop: scrollParams.scrollTop,
194
+ });
195
+ }}
196
+ onGridRendered={(Grid: Grid) => {
197
+ libroView.virtualizedGridRenderedEmitter.fire(Grid);
198
+ }}
185
199
  />
186
200
  );
187
201
  }}
@@ -66,6 +66,11 @@ export interface ScrollParams {
66
66
  cellOffset?: number;
67
67
  }
68
68
 
69
+ export interface LibroViewScrollParams {
70
+ scrollingContainer: Element;
71
+ scrollTop: number;
72
+ }
73
+
69
74
  export type NotebookModel = BaseNotebookModel & DndListModel;
70
75
 
71
76
  export interface ICellContentChange {
@@ -10,6 +10,9 @@ import {
10
10
  LargeOutputDisplay,
11
11
  MultiSelectionWhenShiftClick,
12
12
  RightContentFixed,
13
+ VirtualizationEnabled,
14
+ VirtualizationThresholdCellCount,
15
+ VirtualizationThresholdFileSize,
13
16
  } from './libro-setting.js';
14
17
 
15
18
  @singleton({ contrib: ConfigurationContribution })
@@ -25,6 +28,9 @@ export class LibroSettingContribution implements ConfigurationContribution {
25
28
  MultiSelectionWhenShiftClick,
26
29
  RightContentFixed,
27
30
  LargeOutputDisplay,
31
+ VirtualizationEnabled,
32
+ VirtualizationThresholdCellCount,
33
+ VirtualizationThresholdFileSize,
28
34
  ];
29
35
  }
30
36
  }
@@ -130,3 +130,40 @@ export const LargeOutputDisplay: ConfigurationNode<boolean> = {
130
130
  type: 'boolean',
131
131
  },
132
132
  };
133
+
134
+ export const VirtualizationEnabled: ConfigurationNode<boolean> = {
135
+ id: 'libro.virtualization.enabled',
136
+ description: l10n.t('是否启用虚拟滚动功能'),
137
+ title: l10n.t('虚拟滚动'),
138
+ type: 'checkbox',
139
+ defaultValue: false,
140
+ schema: {
141
+ type: 'boolean',
142
+ },
143
+ };
144
+
145
+ export const VirtualizationThresholdCellCount: ConfigurationNode<number> = {
146
+ id: 'libro.virtualization.threshold.cellcount',
147
+ description: l10n.t('启用虚拟滚动所需的cell数量阈值'),
148
+ title: l10n.t('虚拟滚动 cell 数量阈值'),
149
+ type: 'input',
150
+ defaultValue: 50,
151
+ schema: {
152
+ type: 'number',
153
+ minimum: 1,
154
+ maximum: 1000,
155
+ },
156
+ };
157
+
158
+ export const VirtualizationThresholdFileSize: ConfigurationNode<number> = {
159
+ id: 'libro.virtualization.threshold.filesize',
160
+ description: l10n.t('启用虚拟滚动所需的文件大小阈值,单位 byte'),
161
+ title: l10n.t('虚拟滚动文件大小阈值'),
162
+ type: 'input',
163
+ defaultValue: 100 * 1024, // 100KB
164
+ schema: {
165
+ type: 'number',
166
+ minimum: 1,
167
+ maximum: 1024 * 1024 * 1024, // 1GB
168
+ },
169
+ };
@@ -6,6 +6,7 @@ import {
6
6
  copy2clipboard,
7
7
  readFromClipboard,
8
8
  } from '@difizen/libro-common';
9
+ import type { Grid } from '@difizen/libro-virtualized';
9
10
  import {
10
11
  equals,
11
12
  useInject,
@@ -56,6 +57,7 @@ import type {
56
57
  NotebookView,
57
58
  NotebookModel,
58
59
  NotebookOption,
60
+ LibroViewScrollParams,
59
61
  } from './libro-protocol.js';
60
62
  import { LibroService } from './libro-service.js';
61
63
  import {
@@ -105,7 +107,11 @@ export const LibroContentComponent = memo(function LibroContentComponent() {
105
107
  );
106
108
 
107
109
  const handleScroll = useCallback(() => {
108
- instance.cellScrollEmitter.fire();
110
+ libroViewContentRef.current &&
111
+ instance.cellScrollEmitter.fire({
112
+ scrollingContainer: libroViewContentRef.current,
113
+ scrollTop: libroViewContentRef.current.scrollTop,
114
+ });
109
115
  const cellRightToolbar = instance.container?.current?.getElementsByClassName(
110
116
  'libro-cell-right-toolbar',
111
117
  )[instance.model.activeIndex] as HTMLDivElement;
@@ -386,11 +392,16 @@ export class LibroView extends BaseView implements NotebookView {
386
392
  return this.runCellEmitter.event;
387
393
  }
388
394
 
389
- cellScrollEmitter = new Emitter<void>();
395
+ cellScrollEmitter = new Emitter<LibroViewScrollParams>();
390
396
  get onCellScroll() {
391
397
  return this.cellScrollEmitter.event;
392
398
  }
393
399
 
400
+ virtualizedGridRenderedEmitter = new Emitter<Grid>();
401
+ get onVirtualizedGridRendered() {
402
+ return this.virtualizedGridRenderedEmitter.event;
403
+ }
404
+
394
405
  outputRenderTabEmitter = new Emitter<{
395
406
  mimeType: string;
396
407
  data: MultilineString | null;
@@ -1045,14 +1056,12 @@ export class LibroView extends BaseView implements NotebookView {
1045
1056
  ExecutableCellModel.is(selectedCell.model)
1046
1057
  ) {
1047
1058
  selectedCell.clearExecution();
1048
- selectedCell.model.executing = false;
1049
1059
  selectedCell.model.hasOutputHidden = false;
1050
1060
  }
1051
1061
  }
1052
1062
  } else {
1053
1063
  if (ExecutableCellView.is(cell) && ExecutableCellModel.is(cell.model)) {
1054
1064
  cell.clearExecution();
1055
- cell.model.executing = false;
1056
1065
  cell.model.hasOutputHidden = false;
1057
1066
  }
1058
1067
  }
@@ -1064,7 +1073,6 @@ export class LibroView extends BaseView implements NotebookView {
1064
1073
  for (const cell of this.model.cells) {
1065
1074
  if (ExecutableCellView.is(cell) && ExecutableCellModel.is(cell.model)) {
1066
1075
  cell.clearExecution();
1067
- cell.model.executing = false;
1068
1076
  cell.model.hasOutputHidden = false;
1069
1077
  }
1070
1078
  }
@@ -1,7 +1,13 @@
1
1
  import { transient, prop, inject } from '@difizen/mana-app';
2
+ import { ConfigurationService } from '@difizen/mana-app';
2
3
 
3
4
  import type { NotebookModel } from './libro-protocol.js';
4
5
  import { VirtualizedManagerOption } from './libro-protocol.js';
6
+ import {
7
+ VirtualizationEnabled,
8
+ VirtualizationThresholdFileSize,
9
+ VirtualizationThresholdCellCount,
10
+ } from './libro-setting.js';
5
11
 
6
12
  export interface IVirtualizedManager {
7
13
  openVirtualized: (length: number, size?: number, path?: string) => Promise<boolean>;
@@ -18,32 +24,49 @@ export class VirtualizedManager implements IVirtualizedManager {
18
24
  isVirtualized = false;
19
25
 
20
26
  libroModel: NotebookModel;
27
+ protected configurationService: ConfigurationService;
21
28
 
22
29
  constructor(
23
30
  @inject(VirtualizedManagerOption)
24
31
  virtualizedManagerOption: VirtualizedManagerOption,
32
+ @inject(ConfigurationService) configurationService: ConfigurationService,
25
33
  ) {
26
34
  this.libroModel = virtualizedManagerOption.libroModel;
35
+ this.configurationService = configurationService;
27
36
  }
28
37
 
29
38
  /**
30
39
  *
31
40
  * @param length cell个数
32
- * @param size undefined 或者 单位 为B
41
+ * @param size undefined 或者 number,单位为 byte
33
42
  * @returns 是否使用虚拟滚动
34
43
  */
35
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
36
44
  openVirtualized = async (length: number, size?: number, path?: string) => {
45
+ // 获取配置项
46
+ const virtualizationEnabled =
47
+ await this.configurationService.get(VirtualizationEnabled);
48
+ const virtualizationThresholdFileSize = await this.configurationService.get(
49
+ VirtualizationThresholdFileSize,
50
+ );
51
+ const virtualizationThresholdCellCount = await this.configurationService.get(
52
+ VirtualizationThresholdCellCount,
53
+ );
54
+
55
+ if (!virtualizationEnabled) {
56
+ this.isVirtualized = false;
57
+ return false;
58
+ }
59
+
60
+ // 如果启用虚拟化,根据阈值判断是否使用虚拟滚动
61
+ if (
62
+ length >= virtualizationThresholdCellCount ||
63
+ (size && size >= virtualizationThresholdFileSize)
64
+ ) {
65
+ this.isVirtualized = true;
66
+ return true;
67
+ }
68
+
37
69
  this.isVirtualized = false;
38
70
  return false;
39
- // this.isVirtualized = true;
40
- // return true;
41
- // if (length > 100 || (size && size > 4)) {
42
- // this.isVirtualized = true;
43
- // return true;
44
- // } else {
45
- // this.isVirtualized = false;
46
- // return false;
47
- // }
48
71
  };
49
72
  }
@@ -1,19 +0,0 @@
1
- export interface IVirtualizedManager {
2
- openVirtualized: (length: number, size?: number) => Promise<boolean>;
3
- isVirtualized: boolean;
4
- }
5
- export declare class VirtualizedManager implements IVirtualizedManager {
6
- /**
7
- * 因为进行isVirtualized判断过后才会渲染list
8
- * 所以它用于滚动到某个cell的判断依据是没有问题的。
9
- */
10
- isVirtualized: boolean;
11
- /**
12
- *
13
- * @param length cell个数
14
- * @param size undefined 或者 单位 为B
15
- * @returns 是否使用虚拟滚动
16
- */
17
- openVirtualized: (length: number, size?: number) => Promise<boolean>;
18
- }
19
- //# sourceMappingURL=virtualized-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"virtualized-manager.d.ts","sourceRoot":"","sources":["../../../src/components/dnd-component/virtualized-manager.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBACa,kBAAmB,YAAW,mBAAmB;IAC5D;;;OAGG;IAEH,aAAa,UAAS;IAEtB;;;;;OAKG;IAEH,eAAe,WAAkB,MAAM,SAAS,MAAM,sBAYpD;CACH"}
@@ -1,54 +0,0 @@
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, _class2, _descriptor;
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
- 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 }); }
7
- 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); } }
8
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12
- 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; }
13
- 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.'); }
14
- import { prop, singleton } from '@difizen/mana-app';
15
- export var VirtualizedManager = (_dec = singleton(), _dec2 = prop(), _dec(_class = (_class2 = /*#__PURE__*/_createClass(function VirtualizedManager() {
16
- var _this = this;
17
- _classCallCheck(this, VirtualizedManager);
18
- /**
19
- * 因为进行isVirtualized判断过后才会渲染list
20
- * 所以它用于滚动到某个cell的判断依据是没有问题的。
21
- */
22
- _initializerDefineProperty(this, "isVirtualized", _descriptor, this);
23
- /**
24
- *
25
- * @param length cell个数
26
- * @param size undefined 或者 单位 为B
27
- * @returns 是否使用虚拟滚动
28
- */
29
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
- this.openVirtualized = /*#__PURE__*/function () {
31
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(length, size) {
32
- return _regeneratorRuntime().wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- _this.isVirtualized = false;
36
- return _context.abrupt("return", false);
37
- case 2:
38
- case "end":
39
- return _context.stop();
40
- }
41
- }, _callee);
42
- }));
43
- return function (_x, _x2) {
44
- return _ref.apply(this, arguments);
45
- };
46
- }();
47
- }), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "isVirtualized", [_dec2], {
48
- configurable: true,
49
- enumerable: true,
50
- writable: true,
51
- initializer: function initializer() {
52
- return false;
53
- }
54
- })), _class2)) || _class);
@@ -1,37 +0,0 @@
1
- import { prop, singleton } from '@difizen/mana-app';
2
-
3
- export interface IVirtualizedManager {
4
- openVirtualized: (length: number, size?: number) => Promise<boolean>;
5
- isVirtualized: boolean;
6
- }
7
-
8
- @singleton()
9
- export class VirtualizedManager implements IVirtualizedManager {
10
- /**
11
- * 因为进行isVirtualized判断过后才会渲染list
12
- * 所以它用于滚动到某个cell的判断依据是没有问题的。
13
- */
14
- @prop()
15
- isVirtualized = false;
16
-
17
- /**
18
- *
19
- * @param length cell个数
20
- * @param size undefined 或者 单位 为B
21
- * @returns 是否使用虚拟滚动
22
- */
23
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- openVirtualized = async (length: number, size?: number) => {
25
- this.isVirtualized = false;
26
- return false;
27
- // this.isVirtualized = true;
28
- // return true;
29
- // if (length > 100 || (size && size > 4)) {
30
- // this.isVirtualized = true;
31
- // return true;
32
- // } else {
33
- // this.isVirtualized = false;
34
- // return false;
35
- // }
36
- };
37
- }