@univerjs/slides 0.2.4 → 0.2.7

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/lib/es/index.js CHANGED
@@ -1,79 +1,81 @@
1
- var De = Object.defineProperty;
2
- var Oe = (a, e, r) => e in a ? De(a, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[e] = r;
3
- var g = (a, e, r) => Oe(a, typeof e != "symbol" ? e + "" : e, r);
4
- import { Registry as Ee, LocaleService as he, PageElementType as F, DocumentDataModel as ye, getColorStyle as te, BasicShapes as pe, SlideDataModel as xe, IContextService as je, ObjectMatrix as Me, Styles as Ce, Worksheet as Ve, sortRules as Xe, OnLifecycle as Le, LifecycleStages as ze, RxDisposable as $e, UniverInstanceType as V, debounce as Ne, IUniverInstanceService as Ae, Plugin as We } from "@univerjs/core";
5
- import { Liquid as Ye, DocumentViewModel as Ue, DocumentSkeleton as He, Documents as Fe, SceneViewer as Ie, Scene as ne, Viewport as $, ScrollBar as ue, Rect as H, Image as be, PageLayoutType as _e, RichText as Ke, Slide as Pe, SpreadsheetSkeleton as ke, Spreadsheet as Be, SpreadsheetRowHeader as qe, SpreadsheetColumnHeader as Ge, getColor as fe, IRenderManagerService as Ze, IRenderingEngine as Je } from "@univerjs/engine-render";
6
- import { Inject as W, Injector as ie } from "@wendellhu/redi";
7
- import { Subject as Qe, takeUntil as ve } from "rxjs";
8
- class K {
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
+ import { Registry, Inject, LocaleService, PageElementType, DocumentDataModel, getColorStyle, BasicShapes, Injector, SlideDataModel, IContextService, ObjectMatrix, Styles, Worksheet, sortRules, OnLifecycle, LifecycleStages, RxDisposable, UniverInstanceType, debounce, IUniverInstanceService, Plugin } from "@univerjs/core";
6
+ import { Liquid, DocumentViewModel, DocumentSkeleton, Documents, SceneViewer, Scene, Viewport, ScrollBar, Image, PageLayoutType, RichText, Rect, Slide, SpreadsheetSkeleton, Spreadsheet, SpreadsheetRowHeader, SpreadsheetColumnHeader, getColor, IRenderManagerService, IRenderingEngine } from "@univerjs/engine-render";
7
+ import { takeUntil } from "rxjs";
8
+ const _ObjectAdaptor = class _ObjectAdaptor {
9
9
  constructor() {
10
- g(this, "zIndex", 0);
11
- g(this, "viewKey", null);
10
+ __publicField(this, "zIndex", 0);
11
+ __publicField(this, "viewKey", null);
12
12
  }
13
- check(e) {
14
- if (e === this.viewKey)
13
+ check(type) {
14
+ if (type === this.viewKey)
15
15
  return this;
16
16
  }
17
- create(e) {
18
- }
19
- }
20
- const Y = Ee.create();
21
- var et = Object.defineProperty, tt = Object.getOwnPropertyDescriptor, rt = (a, e, r, n) => {
22
- for (var t = n > 1 ? void 0 : n ? tt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
23
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
24
- return n && t && et(e, r, t), t;
25
- }, nt = (a, e) => (r, n) => e(r, n, a);
26
- let ce = class extends K {
27
- constructor(e) {
17
+ create(injector) {
18
+ }
19
+ };
20
+ __name(_ObjectAdaptor, "ObjectAdaptor");
21
+ let ObjectAdaptor = _ObjectAdaptor;
22
+ const CanvasObjectProviderRegistry = Registry.create();
23
+ var __defProp$6 = Object.defineProperty, __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor, __decorateClass$6 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
24
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
25
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
26
+ return kind && result && __defProp$6(target, key, result), result;
27
+ }, "__decorateClass$6"), __decorateParam$6 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$6"), _a;
28
+ let DocsAdaptor = (_a = class extends ObjectAdaptor {
29
+ constructor(_localeService) {
28
30
  super();
29
- g(this, "zIndex", 5);
30
- g(this, "viewKey", F.DOCUMENT);
31
- g(this, "_liquid", new Ye());
32
- this._localeService = e;
31
+ __publicField(this, "zIndex", 5);
32
+ __publicField(this, "viewKey", PageElementType.DOCUMENT);
33
+ __publicField(this, "_liquid", new Liquid());
34
+ this._localeService = _localeService;
33
35
  }
34
- check(e) {
35
- if (e === this.viewKey)
36
+ check(type) {
37
+ if (type === this.viewKey)
36
38
  return this;
37
39
  }
38
40
  // eslint-disable-next-line max-lines-per-function
39
- convert(e, r) {
40
- var B, ge;
41
+ convert(pageElement, mainScene) {
42
+ var _a8, _b;
41
43
  const {
42
- id: n,
43
- zIndex: t,
44
- left: s = 0,
45
- top: i = 0,
46
- width: o,
47
- height: c,
48
- angle: d,
49
- scaleX: f,
50
- scaleY: h,
51
- skewX: u,
52
- skewY: l,
53
- flipX: p,
54
- flipY: _,
55
- title: O,
56
- description: E,
57
- document: T
58
- } = e;
59
- if (T == null)
44
+ id,
45
+ zIndex,
46
+ left = 0,
47
+ top = 0,
48
+ width,
49
+ height,
50
+ angle,
51
+ scaleX,
52
+ scaleY,
53
+ skewX,
54
+ skewY,
55
+ flipX,
56
+ flipY,
57
+ title,
58
+ description,
59
+ document: documentData
60
+ } = pageElement;
61
+ if (documentData == null)
60
62
  return;
61
- const P = new ye(T), w = new Ue(P), I = He.create(w, this._localeService), S = new Fe("__DocsRender__", I);
62
- I.calculate();
63
- const D = new Ie("__DocsViewer__" + n, {
64
- top: i,
65
- left: s,
66
- width: o,
67
- height: c,
68
- zIndex: t,
69
- angle: d,
70
- scaleX: f,
71
- scaleY: h,
72
- skewX: u,
73
- skewY: l,
74
- flipX: p,
75
- flipY: _
76
- }), v = new ne("__DocsScene__" + n, D), b = new $("__DocsViewPort_" + n, v, {
63
+ const docDataModel = new DocumentDataModel(documentData), docViewModel = new DocumentViewModel(docDataModel), documentSkeleton = DocumentSkeleton.create(docViewModel, this._localeService), documents = new Documents("__DocsRender__", documentSkeleton);
64
+ documentSkeleton.calculate();
65
+ const sv = new SceneViewer("__DocsViewer__" + id, {
66
+ top,
67
+ left,
68
+ width,
69
+ height,
70
+ zIndex,
71
+ angle,
72
+ scaleX,
73
+ scaleY,
74
+ skewX,
75
+ skewY,
76
+ flipX,
77
+ flipY
78
+ }), scene = new Scene("__DocsScene__" + id, sv), viewMain = new Viewport("__DocsViewPort_" + id, scene, {
77
79
  left: 0,
78
80
  top: 0,
79
81
  bottom: 0,
@@ -82,387 +84,390 @@ let ce = class extends K {
82
84
  isRelativeY: !0,
83
85
  isWheelPreventDefaultX: !0
84
86
  });
85
- v.attachControl(), v.onMouseWheel$.subscribeEvent((M, A) => {
86
- const R = M;
87
- if (R.ctrlKey) {
88
- const z = Math.abs(R.deltaX);
89
- let x = z < 40 ? 0.2 : z < 80 ? 0.4 : 0.2;
90
- x *= R.deltaY > 0 ? -1 : 1, v.scaleX < 1 && (x /= 2), v.scaleX + x > 4 ? v.scale(4, 4) : v.scaleX + x < 0.1 ? v.scale(0.1, 0.1) : (R.deltaY > 0, R.preventDefault());
87
+ scene.attachControl(), scene.onMouseWheel$.subscribeEvent((evt, state) => {
88
+ const e = evt;
89
+ if (e.ctrlKey) {
90
+ const deltaFactor = Math.abs(e.deltaX);
91
+ let scrollNum = deltaFactor < 40 ? 0.2 : deltaFactor < 80 ? 0.4 : 0.2;
92
+ scrollNum *= e.deltaY > 0 ? -1 : 1, scene.scaleX < 1 && (scrollNum /= 2), scene.scaleX + scrollNum > 4 ? scene.scale(4, 4) : scene.scaleX + scrollNum < 0.1 ? scene.scale(0.1, 0.1) : (e.deltaY > 0, e.preventDefault());
91
93
  } else
92
- b.onMouseWheel(R, A);
93
- }), new ue(b, {
94
- mainScene: r
95
- }), v.addObject(S);
96
- const m = I.getActualSize();
97
- S.resize(m.actualWidth, m.actualHeight), v.resize(m.actualWidth, m.actualHeight + 200);
98
- const y = (B = S.getSkeleton()) == null ? void 0 : B.getPageSize();
99
- S.pageRender$.subscribe((M) => {
100
- const { page: A, pageLeft: R, pageTop: z, ctx: x } = M, { width: q, height: G, marginBottom: se, marginLeft: C, marginRight: Z, marginTop: J } = A;
101
- x.save(), x.translate(R - 0.5, z - 0.5), H.drawWith(x, {
102
- width: (y == null ? void 0 : y.width) || q,
103
- height: (y == null ? void 0 : y.height) || G,
104
- strokeWidth: 1,
105
- stroke: "rgba(198,198,198, 1)",
106
- fill: "rgba(255,255,255, 1)",
107
- zIndex: 3
108
- }), x.restore();
94
+ viewMain.onMouseWheel(e, state);
95
+ }), new ScrollBar(viewMain, {
96
+ mainScene
97
+ }), scene.addObject(documents);
98
+ const size = documentSkeleton.getActualSize();
99
+ documents.resize(size.actualWidth, size.actualHeight), scene.resize(size.actualWidth, size.actualHeight + 200), (_a8 = documents.getSkeleton()) == null || _a8.getPageSize(), documents.pageRender$.subscribe((config) => {
100
+ const { page, pageLeft, pageTop, ctx } = config;
101
+ ctx.save(), ctx.translate(pageLeft - 0.5, pageTop - 0.5), ctx.restore();
109
102
  });
110
- const { left: U, top: N } = S, X = I.getSkeletonData();
111
- if (X == null)
103
+ const { left: docsLeft, top: docsTop } = documents, skeletonData = documentSkeleton.getSkeletonData();
104
+ if (skeletonData == null)
112
105
  return;
113
- const { pages: j } = X, L = [], k = /* @__PURE__ */ new Map();
114
- this._recalculateSizeBySkeleton(S, v, I);
115
- for (let M = 0, A = j.length; M < A; M++) {
116
- const R = j[M], { skeDrawings: z, marginLeft: x, marginTop: q, pageWidth: G, pageHeight: se } = R;
117
- this._liquid.translatePagePadding(R), z.forEach((C) => {
118
- const { aLeft: Z, aTop: J, height: me, width: Te, drawingOrigin: zt } = C, Re = new be(C.drawingId, {
106
+ const { pages } = skeletonData, objectList = [], pageMarginCache = /* @__PURE__ */ new Map();
107
+ this._recalculateSizeBySkeleton(documents, scene, documentSkeleton);
108
+ for (let i = 0, len = pages.length; i < len; i++) {
109
+ const page = pages[i], { skeDrawings, marginLeft, marginTop, pageWidth, pageHeight } = page;
110
+ this._liquid.translatePagePadding(page), skeDrawings.forEach((drawing) => {
111
+ const { aLeft, aTop, height: height2, width: width2, drawingOrigin } = drawing, rect = new Image(drawing.drawingId, {
119
112
  // url: docTransform.imageProperties?.contentUrl || '',
120
- left: Z + U + this._liquid.x,
121
- top: J + N + this._liquid.y,
122
- width: Te,
123
- height: me,
113
+ left: aLeft + docsLeft + this._liquid.x,
114
+ top: aTop + docsTop + this._liquid.y,
115
+ width: width2,
116
+ height: height2,
124
117
  zIndex: 11
125
118
  });
126
- k.set(C.drawingId, {
119
+ pageMarginCache.set(drawing.drawingId, {
127
120
  marginLeft: this._liquid.x,
128
121
  marginTop: this._liquid.y
129
- }), L.push(Re);
122
+ }), objectList.push(rect);
130
123
  }), this._liquid.translatePage(
131
- R,
132
- S.pageLayoutType,
133
- S.pageMarginLeft,
134
- S.pageMarginTop
124
+ page,
125
+ documents.pageLayoutType,
126
+ documents.pageMarginLeft,
127
+ documents.pageMarginTop
135
128
  );
136
129
  }
137
- return v.addObjects(L), L.forEach((M) => {
138
- v.attachTransformerTo(M);
139
- }), (ge = v.getTransformer()) == null || ge.changing$.subscribe((M) => {
140
- const { objects: A } = M;
141
- A.forEach((R) => {
142
- const { oKey: z, left: x, top: q, height: G, width: se } = R, C = k.get(z), Z = (C == null ? void 0 : C.marginLeft) || 0, J = (C == null ? void 0 : C.marginTop) || 0;
143
- I == null || I.getViewModel().getDataModel().updateDrawing(z, {
144
- left: x - U - Z,
145
- top: q - N - J,
146
- height: G,
147
- width: se
130
+ return scene.addObjects(objectList), objectList.forEach((object) => {
131
+ scene.attachTransformerTo(object);
132
+ }), (_b = scene.getTransformer()) == null || _b.changing$.subscribe((state) => {
133
+ const { objects } = state;
134
+ objects.forEach((object) => {
135
+ const { oKey, left: left2, top: top2, height: height2, width: width2 } = object, cache = pageMarginCache.get(oKey), marginLeft = (cache == null ? void 0 : cache.marginLeft) || 0, marginTop = (cache == null ? void 0 : cache.marginTop) || 0;
136
+ documentSkeleton == null || documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey, {
137
+ left: left2 - docsLeft - marginLeft,
138
+ top: top2 - docsTop - marginTop,
139
+ height: height2,
140
+ width: width2
148
141
  });
149
- }), I == null || I.calculate();
150
- }), this._calculatePagePosition(S, v, b), D;
142
+ }), documentSkeleton == null || documentSkeleton.calculate();
143
+ }), this._calculatePagePosition(documents, scene, viewMain), sv;
151
144
  }
152
- _recalculateSizeBySkeleton(e, r, n) {
153
- var o;
154
- const t = (o = n.getSkeletonData()) == null ? void 0 : o.pages;
155
- if (t == null)
145
+ _recalculateSizeBySkeleton(docsComponent, scene, skeleton) {
146
+ var _a8;
147
+ const pages = (_a8 = skeleton.getSkeletonData()) == null ? void 0 : _a8.pages;
148
+ if (pages == null)
156
149
  return;
157
- let s = 0, i = 0;
158
- for (let c = 0, d = t.length; c < d; c++) {
159
- const f = t[c], { pageWidth: h, pageHeight: u } = f;
160
- e.pageLayoutType === _e.VERTICAL ? (i += u, i += e.pageMarginTop, c === d - 1 && (i += e.pageMarginTop), s = Math.max(s, h)) : e.pageLayoutType === _e.HORIZONTAL && (s += h, c !== d - 1 && (s += e.pageMarginLeft), i = Math.max(i, u));
150
+ let width = 0, height = 0;
151
+ for (let i = 0, len = pages.length; i < len; i++) {
152
+ const page = pages[i], { pageWidth, pageHeight } = page;
153
+ docsComponent.pageLayoutType === PageLayoutType.VERTICAL ? (height += pageHeight, height += docsComponent.pageMarginTop, i === len - 1 && (height += docsComponent.pageMarginTop), width = Math.max(width, pageWidth)) : docsComponent.pageLayoutType === PageLayoutType.HORIZONTAL && (width += pageWidth, i !== len - 1 && (width += docsComponent.pageMarginLeft), height = Math.max(height, pageHeight));
161
154
  }
162
- e.resize(s, i), r.resize(s, i);
155
+ docsComponent.resize(width, height), scene.resize(width, height);
163
156
  }
164
- _calculatePagePosition(e, r, n, t = 1) {
165
- const s = r == null ? void 0 : r.getParent(), { width: i, height: o, pageMarginLeft: c, pageMarginTop: d } = e;
166
- if (s == null || i === Number.POSITIVE_INFINITY || o === Number.POSITIVE_INFINITY)
157
+ _calculatePagePosition(docsComponent, scene, viewport, zoomRatio = 1) {
158
+ const parent = scene == null ? void 0 : scene.getParent(), { width: docsWidth, height: docsHeight, pageMarginLeft, pageMarginTop } = docsComponent;
159
+ if (parent == null || docsWidth === Number.POSITIVE_INFINITY || docsHeight === Number.POSITIVE_INFINITY)
167
160
  return;
168
- const { width: f, height: h } = s;
169
- let u = 0, l = 0, p = 0, _ = 0, O = Number.POSITIVE_INFINITY;
170
- if (f > (i + c * 2) * t ? (u = f / 2 - i * t / 2, u /= t, p = (f - c * 2) / t, O = 0) : (u = c, p = i + c * 2, O = (p - f / t) / 2), h > o ? (l = h / 2 - o / 2, _ = (h - d * 2) / t) : (l = d, _ = o + d * 2), r.resize(p, _ + 200), e.translate(u, l), O !== Number.POSITIVE_INFINITY && n != null) {
171
- const E = n.transScroll2ViewportScrollValue(O, 0).x;
172
- n.scrollTo({
173
- x: E
161
+ const { width: engineWidth, height: engineHeight } = parent;
162
+ let docsLeft = 0, docsTop = 0, sceneWidth = 0, sceneHeight = 0, scrollToX = Number.POSITIVE_INFINITY;
163
+ if (engineWidth > (docsWidth + pageMarginLeft * 2) * zoomRatio ? (docsLeft = engineWidth / 2 - docsWidth * zoomRatio / 2, docsLeft /= zoomRatio, sceneWidth = (engineWidth - pageMarginLeft * 2) / zoomRatio, scrollToX = 0) : (docsLeft = pageMarginLeft, sceneWidth = docsWidth + pageMarginLeft * 2, scrollToX = (sceneWidth - engineWidth / zoomRatio) / 2), engineHeight > docsHeight ? (docsTop = engineHeight / 2 - docsHeight / 2, sceneHeight = (engineHeight - pageMarginTop * 2) / zoomRatio) : (docsTop = pageMarginTop, sceneHeight = docsHeight + pageMarginTop * 2), scene.resize(sceneWidth, sceneHeight + 200), docsComponent.translate(docsLeft, docsTop), scrollToX !== Number.POSITIVE_INFINITY && viewport != null) {
164
+ const actualX = viewport.transScroll2ViewportScrollValue(scrollToX, 0).x;
165
+ viewport.scrollToBarPos({
166
+ x: actualX
174
167
  });
175
168
  }
176
169
  return this;
177
170
  }
178
- };
179
- ce = rt([
180
- nt(0, W(he))
181
- ], ce);
182
- class it {
171
+ }, __name(_a, "DocsAdaptor"), _a);
172
+ DocsAdaptor = __decorateClass$6([
173
+ __decorateParam$6(0, Inject(LocaleService))
174
+ ], DocsAdaptor);
175
+ const _DocsAdaptorFactory = class _DocsAdaptorFactory {
183
176
  constructor() {
184
- g(this, "zIndex", 5);
177
+ __publicField(this, "zIndex", 5);
185
178
  }
186
- create(e) {
187
- return e.createInstance(ce);
179
+ create(injector) {
180
+ return injector.createInstance(DocsAdaptor);
188
181
  }
189
- }
190
- Y.add(new it());
191
- class st extends K {
182
+ };
183
+ __name(_DocsAdaptorFactory, "DocsAdaptorFactory");
184
+ let DocsAdaptorFactory = _DocsAdaptorFactory;
185
+ CanvasObjectProviderRegistry.add(new DocsAdaptorFactory());
186
+ const _ImageAdaptor = class _ImageAdaptor extends ObjectAdaptor {
192
187
  constructor() {
193
188
  super(...arguments);
194
- g(this, "zIndex", 1);
195
- g(this, "viewKey", F.IMAGE);
189
+ __publicField(this, "zIndex", 1);
190
+ __publicField(this, "viewKey", PageElementType.IMAGE);
196
191
  }
197
- check(r) {
198
- if (r === this.viewKey)
192
+ check(type) {
193
+ if (type === this.viewKey)
199
194
  return this;
200
195
  }
201
- convert(r) {
196
+ convert(pageElement) {
202
197
  const {
203
- id: n,
204
- zIndex: t,
205
- left: s = 0,
206
- top: i = 0,
207
- width: o,
208
- height: c,
209
- angle: d,
210
- scaleX: f,
211
- scaleY: h,
212
- skewX: u,
213
- skewY: l,
214
- flipX: p,
215
- flipY: _,
216
- title: O,
217
- description: E,
218
- image: T = {}
219
- } = r, { imageProperties: P, placeholder: w, link: I } = T, S = (P == null ? void 0 : P.contentUrl) || "";
220
- return new be(n, {
221
- url: S,
222
- top: i,
223
- left: s,
224
- width: o,
225
- height: c,
226
- zIndex: t,
227
- angle: d,
228
- scaleX: f,
229
- scaleY: h,
230
- skewX: u,
231
- skewY: l,
232
- flipX: p,
233
- flipY: _,
198
+ id,
199
+ zIndex,
200
+ left = 0,
201
+ top = 0,
202
+ width,
203
+ height,
204
+ angle,
205
+ scaleX,
206
+ scaleY,
207
+ skewX,
208
+ skewY,
209
+ flipX,
210
+ flipY,
211
+ title,
212
+ description,
213
+ image = {}
214
+ } = pageElement, { imageProperties, placeholder, link } = image, contentUrl = (imageProperties == null ? void 0 : imageProperties.contentUrl) || "";
215
+ return new Image(id, {
216
+ url: contentUrl,
217
+ top,
218
+ left,
219
+ width,
220
+ height,
221
+ zIndex,
222
+ angle,
223
+ scaleX,
224
+ scaleY,
225
+ skewX,
226
+ skewY,
227
+ flipX,
228
+ flipY,
234
229
  forceRender: !0
235
230
  });
236
231
  }
237
- }
238
- class at {
232
+ };
233
+ __name(_ImageAdaptor, "ImageAdaptor");
234
+ let ImageAdaptor = _ImageAdaptor;
235
+ const _ImageAdaptorFactory = class _ImageAdaptorFactory {
239
236
  constructor() {
240
- g(this, "zIndex", 4);
241
- }
242
- create(e) {
243
- return e.createInstance(st);
244
- }
245
- }
246
- Y.add(new at());
247
- var ct = Object.defineProperty, ot = Object.getOwnPropertyDescriptor, lt = (a, e, r, n) => {
248
- for (var t = n > 1 ? void 0 : n ? ot(e, r) : e, s = a.length - 1, i; s >= 0; s--)
249
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
250
- return n && t && ct(e, r, t), t;
251
- }, dt = (a, e) => (r, n) => e(r, n, a);
252
- let oe = class extends K {
253
- constructor(e) {
237
+ __publicField(this, "zIndex", 4);
238
+ }
239
+ create(injector) {
240
+ return injector.createInstance(ImageAdaptor);
241
+ }
242
+ };
243
+ __name(_ImageAdaptorFactory, "ImageAdaptorFactory");
244
+ let ImageAdaptorFactory = _ImageAdaptorFactory;
245
+ CanvasObjectProviderRegistry.add(new ImageAdaptorFactory());
246
+ var __defProp$5 = Object.defineProperty, __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor, __decorateClass$5 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
247
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
248
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
249
+ return kind && result && __defProp$5(target, key, result), result;
250
+ }, "__decorateClass$5"), __decorateParam$5 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$5"), _a2;
251
+ let RichTextAdaptor = (_a2 = class extends ObjectAdaptor {
252
+ constructor(_localeService) {
254
253
  super();
255
- g(this, "zIndex", 2);
256
- g(this, "viewKey", F.TEXT);
257
- this._localeService = e;
254
+ __publicField(this, "zIndex", 2);
255
+ __publicField(this, "viewKey", PageElementType.TEXT);
256
+ this._localeService = _localeService;
258
257
  }
259
- check(e) {
260
- if (e === this.viewKey)
258
+ check(type) {
259
+ if (type === this.viewKey)
261
260
  return this;
262
261
  }
263
- convert(e, r) {
262
+ convert(pageElement, _mainScene) {
264
263
  const {
265
- id: n,
266
- zIndex: t,
267
- left: s = 0,
268
- top: i = 0,
269
- width: o,
270
- height: c,
271
- angle: d,
272
- scaleX: f,
273
- scaleY: h,
274
- skewX: u,
275
- skewY: l,
276
- flipX: p,
277
- flipY: _,
278
- title: O,
279
- description: E,
280
- richText: T = {}
281
- } = e, { text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: N, rich: X } = T;
282
- let j = {
283
- top: i,
284
- left: s,
285
- width: o,
286
- height: c,
287
- zIndex: t,
288
- angle: d,
289
- scaleX: f,
290
- scaleY: h,
291
- skewX: u,
292
- skewY: l,
293
- flipX: p,
294
- flipY: _,
264
+ id,
265
+ zIndex,
266
+ left = 0,
267
+ top = 0,
268
+ width,
269
+ height,
270
+ angle,
271
+ scaleX,
272
+ scaleY,
273
+ skewX,
274
+ skewY,
275
+ flipX,
276
+ flipY,
277
+ title,
278
+ description,
279
+ richText = {}
280
+ } = pageElement, { text, ff, fs, it, bl, ul, st, ol, bg, bd, cl, rich } = richText;
281
+ let config = {
282
+ top,
283
+ left,
284
+ width,
285
+ height,
286
+ zIndex,
287
+ angle,
288
+ scaleX,
289
+ scaleY,
290
+ skewX,
291
+ skewY,
292
+ flipX,
293
+ flipY,
295
294
  forceRender: !0
296
- }, L = !1;
297
- if (P != null ? (j = { ...j, text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: N }, L = !0) : X != null && (j = { ...j, richText: X }, L = !0), L !== !1)
298
- return new Ke(this._localeService, n, j);
299
- }
300
- };
301
- oe = lt([
302
- dt(0, W(he))
303
- ], oe);
304
- class ht {
295
+ }, isNotNull = !1;
296
+ if (text != null ? (config = { ...config, text, ff, fs, it, bl, ul, st, ol, bg, bd, cl }, isNotNull = !0) : rich != null && (config = { ...config, richText: rich }, isNotNull = !0), isNotNull !== !1)
297
+ return new RichText(this._localeService, id, config);
298
+ }
299
+ }, __name(_a2, "RichTextAdaptor"), _a2);
300
+ RichTextAdaptor = __decorateClass$5([
301
+ __decorateParam$5(0, Inject(LocaleService))
302
+ ], RichTextAdaptor);
303
+ const _RichTextAdaptorFactory = class _RichTextAdaptorFactory {
305
304
  constructor() {
306
- g(this, "zIndex", 0);
305
+ __publicField(this, "zIndex", 0);
307
306
  }
308
- create(e) {
309
- return e.createInstance(oe);
307
+ create(injector) {
308
+ return injector.createInstance(RichTextAdaptor);
310
309
  }
311
- }
312
- Y.add(new ht());
313
- class ut extends K {
310
+ };
311
+ __name(_RichTextAdaptorFactory, "RichTextAdaptorFactory");
312
+ let RichTextAdaptorFactory = _RichTextAdaptorFactory;
313
+ CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory());
314
+ const _ShapeAdaptor = class _ShapeAdaptor extends ObjectAdaptor {
314
315
  constructor() {
315
316
  super(...arguments);
316
- g(this, "zIndex", 2);
317
- g(this, "viewKey", F.SHAPE);
317
+ __publicField(this, "zIndex", 2);
318
+ __publicField(this, "viewKey", PageElementType.SHAPE);
318
319
  }
319
- check(r) {
320
- if (r === this.viewKey)
320
+ check(type) {
321
+ if (type === this.viewKey)
321
322
  return this;
322
323
  }
323
- convert(r) {
324
+ convert(pageElement) {
324
325
  const {
325
- id: n,
326
- zIndex: t,
327
- left: s = 0,
328
- top: i = 0,
329
- width: o,
330
- height: c,
331
- angle: d,
332
- scaleX: f,
333
- scaleY: h,
334
- skewX: u,
335
- skewY: l,
336
- flipX: p,
337
- flipY: _,
338
- title: O,
339
- description: E
340
- } = r, { shapeType: T, text: P, shapeProperties: w, placeholder: I, link: S } = r.shape || {}, D = w == null ? "" : te(w.shapeBackgroundFill) || "rgba(255,255,255,1)", v = w == null ? void 0 : w.outline, b = {};
341
- if (v) {
342
- const { outlineFill: m, weight: y } = v;
343
- b.strokeWidth = y, b.stroke = te(m) || "rgba(0,0,0,1)";
326
+ id,
327
+ zIndex,
328
+ left = 0,
329
+ top = 0,
330
+ width,
331
+ height,
332
+ angle,
333
+ scaleX,
334
+ scaleY,
335
+ skewX,
336
+ skewY,
337
+ flipX,
338
+ flipY,
339
+ title,
340
+ description
341
+ } = pageElement, { shapeType, text, shapeProperties, placeholder, link } = pageElement.shape || {}, fill = shapeProperties == null ? "" : getColorStyle(shapeProperties.shapeBackgroundFill) || "rgba(255,255,255,1)", outline = shapeProperties == null ? void 0 : shapeProperties.outline, strokeStyle = {};
342
+ if (outline) {
343
+ const { outlineFill, weight } = outline;
344
+ strokeStyle.strokeWidth = weight, strokeStyle.stroke = getColorStyle(outlineFill) || "rgba(0,0,0,1)";
344
345
  }
345
- if (T === pe.Rect)
346
- return new H(n, {
347
- fill: D,
348
- top: i,
349
- left: s,
350
- width: o,
351
- height: c,
352
- zIndex: t,
353
- angle: d,
354
- scaleX: f,
355
- scaleY: h,
356
- skewX: u,
357
- skewY: l,
358
- flipX: p,
359
- flipY: _,
346
+ if (shapeType === BasicShapes.Rect)
347
+ return new Rect(id, {
348
+ fill,
349
+ top,
350
+ left,
351
+ width,
352
+ height,
353
+ zIndex,
354
+ angle,
355
+ scaleX,
356
+ scaleY,
357
+ skewX,
358
+ skewY,
359
+ flipX,
360
+ flipY,
360
361
  forceRender: !0,
361
- ...b
362
+ ...strokeStyle
362
363
  });
363
- if (T === pe.RoundRect) {
364
- const m = (w == null ? void 0 : w.radius) || 0;
365
- return new H(n, {
366
- fill: D,
367
- top: i,
368
- left: s,
369
- width: o,
370
- height: c,
371
- zIndex: t,
372
- angle: d,
373
- scaleX: f,
374
- scaleY: h,
375
- skewX: u,
376
- skewY: l,
377
- flipX: p,
378
- flipY: _,
364
+ if (shapeType === BasicShapes.RoundRect) {
365
+ const radius = (shapeProperties == null ? void 0 : shapeProperties.radius) || 0;
366
+ return new Rect(id, {
367
+ fill,
368
+ top,
369
+ left,
370
+ width,
371
+ height,
372
+ zIndex,
373
+ angle,
374
+ scaleX,
375
+ scaleY,
376
+ skewX,
377
+ skewY,
378
+ flipX,
379
+ flipY,
379
380
  forceRender: !0,
380
- radius: m,
381
- ...b
381
+ radius,
382
+ ...strokeStyle
382
383
  });
383
384
  }
384
385
  }
385
- }
386
- class gt {
386
+ };
387
+ __name(_ShapeAdaptor, "ShapeAdaptor");
388
+ let ShapeAdaptor = _ShapeAdaptor;
389
+ const _ShapeAdaptorFactory = class _ShapeAdaptorFactory {
387
390
  constructor() {
388
- g(this, "zIndex", 2);
389
- }
390
- create(e) {
391
- return e.createInstance(ut);
392
- }
393
- }
394
- Y.add(new gt());
395
- var pt = Object.defineProperty, _t = Object.getOwnPropertyDescriptor, ft = (a, e, r, n) => {
396
- for (var t = n > 1 ? void 0 : n ? _t(e, r) : e, s = a.length - 1, i; s >= 0; s--)
397
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
398
- return n && t && pt(e, r, t), t;
399
- }, vt = (a, e) => (r, n) => e(r, n, a);
400
- let le = class extends K {
401
- constructor(e) {
391
+ __publicField(this, "zIndex", 2);
392
+ }
393
+ create(injector) {
394
+ return injector.createInstance(ShapeAdaptor);
395
+ }
396
+ };
397
+ __name(_ShapeAdaptorFactory, "ShapeAdaptorFactory");
398
+ let ShapeAdaptorFactory = _ShapeAdaptorFactory;
399
+ CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory());
400
+ var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
401
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
402
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
403
+ return kind && result && __defProp$4(target, key, result), result;
404
+ }, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a3;
405
+ let SlideAdaptor = (_a3 = class extends ObjectAdaptor {
406
+ constructor(_injector) {
402
407
  super();
403
- g(this, "zIndex", 6);
404
- g(this, "viewKey", F.SLIDE);
405
- g(this, "_ObjectProvider", null);
406
- this._injector = e;
408
+ __publicField(this, "zIndex", 6);
409
+ __publicField(this, "viewKey", PageElementType.SLIDE);
410
+ __publicField(this, "_ObjectProvider", null);
411
+ this._injector = _injector;
407
412
  }
408
- check(e) {
409
- if (e === this.viewKey)
413
+ check(type) {
414
+ if (type === this.viewKey)
410
415
  return this;
411
416
  }
412
- convert(e, r) {
417
+ convert(pageElement, mainScene) {
413
418
  const {
414
- id: n,
415
- zIndex: t,
416
- left: s = 0,
417
- top: i = 0,
418
- width: o,
419
- height: c,
420
- angle: d,
421
- scaleX: f,
422
- scaleY: h,
423
- skewX: u,
424
- skewY: l,
425
- flipX: p,
426
- flipY: _,
427
- title: O,
428
- description: E,
429
- slide: T
430
- } = e;
431
- if (T == null)
419
+ id,
420
+ zIndex,
421
+ left = 0,
422
+ top = 0,
423
+ width,
424
+ height,
425
+ angle,
426
+ scaleX,
427
+ scaleY,
428
+ skewX,
429
+ skewY,
430
+ flipX,
431
+ flipY,
432
+ title,
433
+ description,
434
+ slide: slideData
435
+ } = pageElement;
436
+ if (slideData == null)
432
437
  return;
433
- const P = new xe(T), w = new Pe("__SLIDERender__" + n, {
434
- top: i,
435
- left: s,
436
- width: o,
437
- height: c,
438
- zIndex: t,
439
- angle: d,
440
- scaleX: f,
441
- scaleY: h,
442
- skewX: u,
443
- skewY: l,
444
- flipX: p,
445
- flipY: _,
438
+ const model = new SlideDataModel(slideData), slideComponent = new Slide("__SLIDERender__" + id, {
439
+ top,
440
+ left,
441
+ width,
442
+ height,
443
+ zIndex,
444
+ angle,
445
+ scaleX,
446
+ scaleY,
447
+ skewX,
448
+ skewY,
449
+ flipX,
450
+ flipY,
446
451
  forceRender: !0
447
452
  });
448
- w.enableNav(), w.enableSelectedClipElement();
449
- const I = P.getPageOrder(), S = P.getPages();
450
- if (!I || !S)
451
- return w;
452
- this._ObjectProvider = new re(this._injector);
453
- for (let D = 0, v = I.length; D < v; D++) {
454
- const b = S[I[D]], { id: m } = b;
455
- w.addPage(this._createScene(m, w, b, r, P));
453
+ slideComponent.enableNav(), slideComponent.enableSelectedClipElement();
454
+ const pageOrder = model.getPageOrder(), pages = model.getPages();
455
+ if (!pageOrder || !pages)
456
+ return slideComponent;
457
+ this._ObjectProvider = new ObjectProvider(this._injector);
458
+ for (let i = 0, len = pageOrder.length; i < len; i++) {
459
+ const page = pages[pageOrder[i]], { id: id2 } = page;
460
+ slideComponent.addPage(this._createScene(id2, slideComponent, page, mainScene, model));
456
461
  }
457
- return w.activeFirstPage(), w;
462
+ return slideComponent.activeFirstPage(), slideComponent;
458
463
  }
459
- _createScene(e, r, n, t, s) {
460
- var l;
461
- const { width: i, height: o } = r, c = new ne(e, r, {
462
- width: i,
463
- height: o
464
+ _createScene(pageId, parent, page, mainScene, model) {
465
+ var _a8;
466
+ const { width, height } = parent, scene = new Scene(pageId, parent, {
467
+ width,
468
+ height
464
469
  });
465
- new $(`PageViewer_${e}`, c, {
470
+ new Viewport(`PageViewer_${pageId}`, scene, {
466
471
  left: 0,
467
472
  top: 0,
468
473
  bottom: 0,
@@ -470,297 +475,304 @@ let le = class extends K {
470
475
  isRelativeX: !0,
471
476
  isRelativeY: !0
472
477
  }).closeClip();
473
- const { pageElements: f, pageBackgroundFill: h } = n, u = (l = this._ObjectProvider) == null ? void 0 : l.convertToRenderObjects(f, t);
474
- return this._addBackgroundRect(c, h, s), c.addObjects(u), u == null || u.forEach((p) => {
475
- c.attachTransformerTo(p);
476
- }), c;
478
+ const { pageElements, pageBackgroundFill } = page, objects = (_a8 = this._ObjectProvider) == null ? void 0 : _a8.convertToRenderObjects(pageElements, mainScene);
479
+ return this._addBackgroundRect(scene, pageBackgroundFill, model), scene.addObjects(objects), objects == null || objects.forEach((object) => {
480
+ scene.attachTransformerTo(object);
481
+ }), scene;
477
482
  }
478
- _addBackgroundRect(e, r, n) {
479
- const t = n.getPageSize(), { width: s = 0, height: i = 0 } = t, o = new H("canvas", {
483
+ _addBackgroundRect(scene, fill, model) {
484
+ const pageSize = model.getPageSize(), { width: pageWidth = 0, height: pageHeight = 0 } = pageSize, page = new Rect("canvas", {
480
485
  left: 0,
481
486
  top: 0,
482
- width: s,
483
- height: i,
487
+ width: pageWidth,
488
+ height: pageHeight,
484
489
  strokeWidth: 1,
485
490
  stroke: "rgba(198,198,198, 1)",
486
- fill: te(r) || "rgba(255,255,255, 1)",
491
+ fill: getColorStyle(fill) || "rgba(255,255,255, 1)",
487
492
  zIndex: 0,
488
493
  evented: !1
489
494
  });
490
- e.addObject(o, 0);
495
+ scene.addObject(page, 0);
491
496
  }
492
- };
493
- le = ft([
494
- vt(0, W(ie))
495
- ], le);
496
- class wt {
497
+ }, __name(_a3, "SlideAdaptor"), _a3);
498
+ SlideAdaptor = __decorateClass$4([
499
+ __decorateParam$4(0, Inject(Injector))
500
+ ], SlideAdaptor);
501
+ const _SlideAdaptorFactory = class _SlideAdaptorFactory {
497
502
  constructor() {
498
- g(this, "zIndex", 6);
499
- }
500
- create(e) {
501
- return e.createInstance(le);
502
- }
503
- }
504
- Y.add(new wt());
505
- var St = Object.defineProperty, It = Object.getOwnPropertyDescriptor, bt = (a, e, r, n) => {
506
- for (var t = n > 1 ? void 0 : n ? It(e, r) : e, s = a.length - 1, i; s >= 0; s--)
507
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
508
- return n && t && St(e, r, t), t;
509
- }, we = (a, e) => (r, n) => e(r, n, a);
510
- let de = class extends K {
511
- constructor(e, r) {
503
+ __publicField(this, "zIndex", 6);
504
+ }
505
+ create(injector) {
506
+ return injector.createInstance(SlideAdaptor);
507
+ }
508
+ };
509
+ __name(_SlideAdaptorFactory, "SlideAdaptorFactory");
510
+ let SlideAdaptorFactory = _SlideAdaptorFactory;
511
+ CanvasObjectProviderRegistry.add(new SlideAdaptorFactory());
512
+ var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
513
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
514
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
515
+ return kind && result && __defProp$3(target, key, result), result;
516
+ }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a4;
517
+ let SpreadsheetAdaptor = (_a4 = class extends ObjectAdaptor {
518
+ constructor(_localeService, _contextService) {
512
519
  super();
513
- g(this, "zIndex", 4);
514
- g(this, "viewKey", F.SPREADSHEET);
515
- this._localeService = e, this._contextService = r;
520
+ __publicField(this, "zIndex", 4);
521
+ __publicField(this, "viewKey", PageElementType.SPREADSHEET);
522
+ this._localeService = _localeService, this._contextService = _contextService;
516
523
  }
517
- check(e) {
518
- if (e === this.viewKey)
524
+ check(type) {
525
+ if (type === this.viewKey)
519
526
  return this;
520
527
  }
521
528
  // eslint-disable-next-line max-lines-per-function
522
- convert(e, r) {
529
+ convert(pageElement, mainScene) {
523
530
  const {
524
- id: n,
525
- zIndex: t,
526
- left: s = 0,
527
- top: i = 0,
528
- width: o,
529
- height: c,
530
- angle: d,
531
- scaleX: f,
532
- scaleY: h,
533
- skewX: u,
534
- skewY: l,
535
- flipX: p,
536
- flipY: _,
537
- spreadsheet: O
538
- } = e;
539
- if (O == null)
531
+ id,
532
+ zIndex,
533
+ left = 0,
534
+ top = 0,
535
+ width,
536
+ height,
537
+ angle,
538
+ scaleX,
539
+ scaleY,
540
+ skewX,
541
+ skewY,
542
+ flipX,
543
+ flipY,
544
+ spreadsheet: spreadsheetModel
545
+ } = pageElement;
546
+ if (spreadsheetModel == null)
540
547
  return;
541
- const { worksheet: E, styles: T } = O, { cellData: P } = E, w = new Me(P), I = new Ce(T), S = new ke(
542
- new Ve(n, E, I),
548
+ const { worksheet, styles } = spreadsheetModel, { cellData } = worksheet, cellDataMatrix = new ObjectMatrix(cellData), styleModel = new Styles(styles), spreadsheetSkeleton = new SpreadsheetSkeleton(
549
+ new Worksheet(id, worksheet, styleModel),
543
550
  // FIXME: worksheet in slide doesn't has a Worksheet object
544
- E,
545
- w,
546
- I,
551
+ worksheet,
552
+ cellDataMatrix,
553
+ styleModel,
547
554
  this._localeService,
548
555
  this._contextService
549
- ), { rowTotalHeight: D, columnTotalWidth: v, rowHeaderWidth: b, columnHeaderHeight: m } = S, y = v + E.rowHeader.width || 0, U = D + E.columnHeader.height || 0, N = new Ie("spreadInSlideSceneViewer" + n, {
550
- top: i,
551
- left: s,
552
- width: o,
553
- height: c,
554
- zIndex: t,
555
- angle: d,
556
- scaleX: f,
557
- scaleY: h,
558
- skewX: u,
559
- skewY: l,
560
- flipX: p,
561
- flipY: _,
556
+ ), { rowTotalHeight, columnTotalWidth, rowHeaderWidth, columnHeaderHeight } = spreadsheetSkeleton, allWidth = columnTotalWidth + worksheet.rowHeader.width || 0, allHeight = rowTotalHeight + worksheet.columnHeader.height || 0, sv = new SceneViewer("spreadInSlideSceneViewer" + id, {
557
+ top,
558
+ left,
559
+ width,
560
+ height,
561
+ zIndex,
562
+ angle,
563
+ scaleX,
564
+ scaleY,
565
+ skewX,
566
+ skewY,
567
+ flipX,
568
+ flipY,
562
569
  forceRender: !0
563
- }), X = new ne("spreadInSlideScene" + n, N, {
564
- width: y,
565
- height: U
570
+ }), scene = new Scene("spreadInSlideScene" + id, sv, {
571
+ width: allWidth,
572
+ height: allHeight
566
573
  });
567
- this._updateViewport(n, b, m, X, r);
568
- const j = new Be("testSheetViewer", S, !1), L = new qe("spreadInSlideRow", S), k = new Ge("spreadInSlideColumn", S), B = new H("spreadInSlideLeftTop", {
574
+ this._updateViewport(id, rowHeaderWidth, columnHeaderHeight, scene, mainScene);
575
+ const spreadsheet = new Spreadsheet("testSheetViewer", spreadsheetSkeleton, !1), spreadsheetRowHeader = new SpreadsheetRowHeader("spreadInSlideRow", spreadsheetSkeleton), spreadsheetColumnHeader = new SpreadsheetColumnHeader("spreadInSlideColumn", spreadsheetSkeleton), SpreadsheetLeftTopPlaceholder = new Rect("spreadInSlideLeftTop", {
569
576
  zIndex: 2,
570
577
  left: -1,
571
578
  top: -1,
572
- width: b,
573
- height: m,
574
- fill: fe([248, 249, 250]),
575
- stroke: fe([217, 217, 217]),
579
+ width: rowHeaderWidth,
580
+ height: columnHeaderHeight,
581
+ fill: getColor([248, 249, 250]),
582
+ stroke: getColor([217, 217, 217]),
576
583
  strokeWidth: 1
577
584
  });
578
- return j.zIndex = 10, X.addObjects([j], 1), X.addObjects([L, k, B], 2), N;
585
+ return spreadsheet.zIndex = 10, scene.addObjects([spreadsheet], 1), scene.addObjects([spreadsheetRowHeader, spreadsheetColumnHeader, SpreadsheetLeftTopPlaceholder], 2), sv;
579
586
  }
580
587
  // eslint-disable-next-line max-lines-per-function
581
- _updateViewport(e, r, n, t, s) {
582
- if (s == null)
588
+ _updateViewport(id, rowHeaderWidth, columnHeaderHeight, scene, mainScene) {
589
+ if (mainScene == null)
583
590
  return;
584
- const i = r * t.scaleX, o = n * t.scaleY, c = new $("spreadInSlideViewMain" + e, t, {
585
- left: i,
586
- top: o,
591
+ const rowHeaderWidthScale = rowHeaderWidth * scene.scaleX, columnHeaderHeightScale = columnHeaderHeight * scene.scaleY, viewMain = new Viewport("spreadInSlideViewMain" + id, scene, {
592
+ left: rowHeaderWidthScale,
593
+ top: columnHeaderHeightScale,
587
594
  bottom: 0,
588
595
  right: 0,
589
596
  isRelativeX: !0,
590
597
  isRelativeY: !0,
591
598
  isWheelPreventDefaultX: !0
592
- }), d = new $("spreadInSlideViewTop" + e, t, {
593
- left: i,
594
- height: o,
599
+ }), viewTop = new Viewport("spreadInSlideViewTop" + id, scene, {
600
+ left: rowHeaderWidthScale,
601
+ height: columnHeaderHeightScale,
595
602
  top: 0,
596
603
  right: 0,
597
604
  isRelativeX: !0,
598
605
  isWheelPreventDefaultX: !0
599
- }), f = new $("spreadInSlideViewLeft" + e, t, {
606
+ }), viewLeft = new Viewport("spreadInSlideViewLeft" + id, scene, {
600
607
  left: 0,
601
608
  bottom: 0,
602
- top: o,
603
- width: i,
609
+ top: columnHeaderHeightScale,
610
+ width: rowHeaderWidthScale,
604
611
  isRelativeY: !0,
605
612
  isWheelPreventDefaultX: !0
606
613
  });
607
- new $("spreadInSlideViewLeftTop" + e, t, {
614
+ new Viewport("spreadInSlideViewLeftTop" + id, scene, {
608
615
  left: 0,
609
616
  top: 0,
610
- width: i,
611
- height: o,
617
+ width: rowHeaderWidthScale,
618
+ height: columnHeaderHeightScale,
612
619
  isWheelPreventDefaultX: !0
613
- }), c.onScrollAfter$.subscribeEvent((h) => {
614
- const { scrollX: u, scrollY: l, viewportScrollX: p, viewportScrollY: _ } = h;
615
- d.updateScroll({
616
- scrollX: u,
617
- viewportScrollX: p
618
- }), f.updateScroll({
619
- scrollY: l,
620
- viewportScrollY: _
620
+ }), viewMain.onScrollAfter$.subscribeEvent((param) => {
621
+ const { scrollX, scrollY, viewportScrollX, viewportScrollY } = param;
622
+ viewTop.updateScrollVal({
623
+ scrollX,
624
+ viewportScrollX
625
+ }), viewLeft.updateScrollVal({
626
+ scrollY,
627
+ viewportScrollY
621
628
  });
622
- }), t.attachControl(), new ue(c, {
623
- mainScene: s
624
- }), t.onMouseWheel$.subscribeEvent((h, u) => {
625
- const l = h;
626
- if (l.ctrlKey) {
627
- const p = Math.abs(l.deltaX);
628
- let _ = p < 40 ? 0.05 : p < 80 ? 0.02 : 0.01;
629
- _ *= l.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (_ /= 2), t.scaleX + _ > 4 ? t.scale(4, 4) : t.scaleX + _ < 0.1 ? t.scale(0.1, 0.1) : (t.scaleBy(_, _), l.preventDefault());
629
+ }), scene.attachControl(), new ScrollBar(viewMain, {
630
+ mainScene
631
+ }), scene.onMouseWheel$.subscribeEvent((evt, state) => {
632
+ const e = evt;
633
+ if (e.ctrlKey) {
634
+ const deltaFactor = Math.abs(e.deltaX);
635
+ let scrollNum = deltaFactor < 40 ? 0.05 : deltaFactor < 80 ? 0.02 : 0.01;
636
+ scrollNum *= e.deltaY > 0 ? -1 : 1, scene.scaleX < 1 && (scrollNum /= 2), scene.scaleX + scrollNum > 4 ? scene.scale(4, 4) : scene.scaleX + scrollNum < 0.1 ? scene.scale(0.1, 0.1) : (scene.scaleBy(scrollNum, scrollNum), e.preventDefault());
630
637
  } else
631
- c.onMouseWheel(l, u);
638
+ viewMain.onMouseWheel(e, state);
632
639
  });
633
640
  }
634
- };
635
- de = bt([
636
- we(0, W(he)),
637
- we(1, je)
638
- ], de);
639
- class Pt {
641
+ }, __name(_a4, "SpreadsheetAdaptor"), _a4);
642
+ SpreadsheetAdaptor = __decorateClass$3([
643
+ __decorateParam$3(0, Inject(LocaleService)),
644
+ __decorateParam$3(1, IContextService)
645
+ ], SpreadsheetAdaptor);
646
+ const _SpreadsheetAdaptorFactory = class _SpreadsheetAdaptorFactory {
640
647
  constructor() {
641
- g(this, "zIndex", 4);
642
- }
643
- create(e) {
644
- return e.createInstance(de);
645
- }
646
- }
647
- Y.add(new Pt());
648
- var mt = Object.defineProperty, Tt = Object.getOwnPropertyDescriptor, Rt = (a, e, r, n) => {
649
- for (var t = n > 1 ? void 0 : n ? Tt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
650
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
651
- return n && t && mt(e, r, t), t;
652
- }, Dt = (a, e) => (r, n) => e(r, n, a);
653
- let re = class {
654
- constructor(a) {
655
- g(this, "_adaptors", []);
656
- this._injector = a, this._adaptorLoader();
657
- }
658
- convertToRenderObjects(a, e) {
659
- const r = Object.keys(a), n = [];
660
- return r.forEach((t) => {
661
- const s = a[t], i = this._executor(s, e);
662
- i != null && n.push(i);
663
- }), n;
664
- }
665
- _executor(a, e) {
666
- var t;
667
- const { id: r, type: n } = a;
668
- for (const s of this._adaptors) {
669
- const i = (t = s.check(n)) == null ? void 0 : t.convert(a, e);
670
- if (i != null)
671
- return i;
648
+ __publicField(this, "zIndex", 4);
649
+ }
650
+ create(injector) {
651
+ return injector.createInstance(SpreadsheetAdaptor);
652
+ }
653
+ };
654
+ __name(_SpreadsheetAdaptorFactory, "SpreadsheetAdaptorFactory");
655
+ let SpreadsheetAdaptorFactory = _SpreadsheetAdaptorFactory;
656
+ CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory());
657
+ var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
658
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
659
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
660
+ return kind && result && __defProp$2(target, key, result), result;
661
+ }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a5;
662
+ let ObjectProvider = (_a5 = class {
663
+ constructor(_injector) {
664
+ __publicField(this, "_adaptors", []);
665
+ this._injector = _injector, this._adaptorLoader();
666
+ }
667
+ convertToRenderObjects(pageElements, mainScene) {
668
+ const pageKeys = Object.keys(pageElements), objects = [];
669
+ return pageKeys.forEach((key) => {
670
+ const pageElement = pageElements[key], o = this._executor(pageElement, mainScene);
671
+ o != null && objects.push(o);
672
+ }), objects;
673
+ }
674
+ convertToRenderObject(pageElement, mainScene) {
675
+ return this._executor(pageElement, mainScene);
676
+ }
677
+ _executor(pageElement, mainScene) {
678
+ var _a8;
679
+ const { id: pageElementId, type } = pageElement;
680
+ for (const adaptor of this._adaptors) {
681
+ const o = (_a8 = adaptor.check(type)) == null ? void 0 : _a8.convert(pageElement, mainScene);
682
+ if (o != null)
683
+ return o;
672
684
  }
673
685
  }
674
686
  _adaptorLoader() {
675
- Y.getData().sort(Xe).forEach((a) => {
676
- this._adaptors.push(a.create(this._injector));
687
+ CanvasObjectProviderRegistry.getData().sort(sortRules).forEach((adaptorFactory) => {
688
+ this._adaptors.push(adaptorFactory.create(this._injector));
677
689
  });
678
690
  }
679
- };
680
- re = Rt([
681
- Dt(0, W(ie))
682
- ], re);
683
- var Ot = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, yt = (a, e, r, n) => {
684
- for (var t = n > 1 ? void 0 : n ? Et(e, r) : e, s = a.length - 1, i; s >= 0; s--)
685
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
686
- return n && t && Ot(e, r, t), t;
687
- }, ae = (a, e) => (r, n) => e(r, n, a), xt = /* @__PURE__ */ ((a) => (a.COMPONENT = "__slideRender__", a.SCENE = "__mainScene__", a.VIEW = "__mainView__", a))(xt || {});
688
- let ee = class extends $e {
689
- constructor(e, r, n) {
691
+ }, __name(_a5, "ObjectProvider"), _a5);
692
+ ObjectProvider = __decorateClass$2([
693
+ __decorateParam$2(0, Inject(Injector))
694
+ ], ObjectProvider);
695
+ var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
696
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
697
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
698
+ return kind && result && __defProp$1(target, key, result), result;
699
+ }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), SLIDE_KEY = /* @__PURE__ */ ((SLIDE_KEY2) => (SLIDE_KEY2.COMPONENT = "__slideRender__", SLIDE_KEY2.SCENE = "__mainScene__", SLIDE_KEY2.VIEW = "__mainView__", SLIDE_KEY2))(SLIDE_KEY || {}), _a6;
700
+ let CanvasView = (_a6 = class extends RxDisposable {
701
+ constructor(_injector, _univerInstanceService, _renderManagerService) {
690
702
  super();
691
- g(this, "_objectProvider", null);
692
- g(this, "_activePageId", "");
693
- g(this, "activePageId$", new Qe());
694
- g(this, "_refreshThumb", Ne(() => {
703
+ __publicField(this, "_objectProvider", null);
704
+ __publicField(this, "_refreshThumb", debounce(() => {
695
705
  this.createThumbs();
696
706
  }, 300));
697
- this._univerInstanceService = e, this._injector = r, this._renderManagerService = n, this._initializeDependencies(this._injector), this._initialize();
707
+ __publicField(this, "_sceneMap", /* @__PURE__ */ new Map());
708
+ this._injector = _injector, this._univerInstanceService = _univerInstanceService, this._renderManagerService = _renderManagerService, this._initializeDependencies(this._injector), this._initialize();
698
709
  }
699
710
  _initialize() {
700
- this._renderManagerService.createRender$.pipe(ve(this.dispose$)).subscribe((e) => {
701
- this._create(e);
702
- }), this._univerInstanceService.getCurrentTypeOfUnit$(V.UNIVER_SLIDE).pipe(ve(this.dispose$)).subscribe((e) => {
703
- this._create(e == null ? void 0 : e.getUnitId());
704
- }), this._univerInstanceService.getAllUnitsForType(V.UNIVER_SLIDE).forEach((e) => {
705
- this._create(e.getUnitId());
711
+ this._renderManagerService.createRender$.pipe(takeUntil(this.dispose$)).subscribe((unitId) => {
712
+ this._create(unitId);
713
+ }), this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SLIDE).pipe(takeUntil(this.dispose$)).subscribe((slideModel) => {
714
+ this._create(slideModel == null ? void 0 : slideModel.getUnitId());
715
+ }), this._univerInstanceService.getAllUnitsForType(UniverInstanceType.UNIVER_SLIDE).forEach((slideModel) => {
716
+ this._create(slideModel.getUnitId());
706
717
  });
707
718
  }
708
- activePage(e) {
709
- const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE);
710
- let n;
711
- if (e)
712
- n = r.getPage(e);
719
+ activePage(_pageId) {
720
+ let pageId = _pageId;
721
+ const model = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE);
722
+ let page;
723
+ if (pageId)
724
+ page = model.getPage(pageId);
713
725
  else {
714
- const o = r.getPages(), c = r.getPageOrder();
715
- if (c == null || o == null)
726
+ const pageElements = model.getPages(), pageOrder = model.getPageOrder();
727
+ if (pageOrder == null || pageElements == null)
716
728
  return;
717
- n = o[c[0]], e = n.id;
729
+ page = pageElements[pageOrder[0]], pageId = page.id;
718
730
  }
719
- const t = this._currentRender();
720
- if (n == null || t == null || t.mainComponent == null)
731
+ const render = this._currentRender();
732
+ if (page == null || render == null || render.mainComponent == null)
721
733
  return;
722
- const { id: s } = n, i = t.mainComponent;
723
- if (this._activePageId = e, this.activePageId$.next(e), i != null && i.hasPage(s)) {
724
- i.changePage(s);
734
+ const { id } = page, slide = render.mainComponent;
735
+ if (model.setActivePage(page), slide != null && slide.hasPage(id)) {
736
+ slide.changePage(id);
725
737
  return;
726
738
  }
727
- this._createScene(s, n);
739
+ this._createScene(id, page);
728
740
  }
729
741
  _scrollToCenter() {
730
- var c;
731
- const e = (c = this._currentRender()) == null ? void 0 : c.scene, r = e == null ? void 0 : e.getViewport("__mainView__"), n = this._getCenterPositionViewPort(e);
732
- if (!r || !n) return;
733
- const { left: t, top: s } = n, { x: i, y: o } = r.transViewportScroll2ScrollValue(t, s);
734
- r.scrollTo({
735
- x: i,
736
- y: o
742
+ var _a8;
743
+ const mainScene = (_a8 = this._currentRender()) == null ? void 0 : _a8.scene, viewMain = mainScene == null ? void 0 : mainScene.getViewport("__mainView__"), getCenterPositionViewPort = this._getCenterPositionViewPort(mainScene);
744
+ if (!viewMain || !getCenterPositionViewPort) return;
745
+ const { left: viewPortLeft, top: viewPortTop } = getCenterPositionViewPort, { x, y } = viewMain.transViewportScroll2ScrollValue(viewPortLeft, viewPortTop);
746
+ viewMain.scrollToBarPos({
747
+ x,
748
+ y
737
749
  });
738
750
  }
739
- _create(e) {
740
- e == null || this._univerInstanceService.getUnit(e, V.UNIVER_SLIDE) == null || this._renderManagerService.has(e) || this._addNewRender(e);
751
+ _create(unitId) {
752
+ unitId == null || this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SLIDE) == null || this._renderManagerService.has(unitId) || this._addNewRender(unitId);
741
753
  }
742
754
  _currentRender() {
743
- const e = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE);
744
- return this._renderManagerService.getRenderById(e.getUnitId());
755
+ const slideDataModel = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE);
756
+ return this._renderManagerService.getRenderById(slideDataModel.getUnitId());
745
757
  }
746
758
  // eslint-disable-next-line max-lines-per-function
747
- _addNewRender(e) {
748
- const r = this._univerInstanceService.getUnit(e, V.UNIVER_SLIDE);
749
- if (r == null)
759
+ _addNewRender(unitId) {
760
+ const slideDataModel = this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SLIDE);
761
+ if (slideDataModel == null)
750
762
  return;
751
- this._renderManagerService.createRender(e);
752
- const n = this._renderManagerService.getRenderById(e);
753
- if (n == null)
763
+ this._renderManagerService.createRender(unitId);
764
+ const currentRender = this._renderManagerService.getRenderById(unitId);
765
+ if (currentRender == null)
754
766
  return;
755
- const { scene: t, engine: s } = n, i = s.onTransformChange$.subscribeEvent(() => {
756
- this._scrollToCenter(), i == null || i.unsubscribe();
767
+ const { scene, engine } = currentRender, observer = engine.onTransformChange$.subscribeEvent(() => {
768
+ this._scrollToCenter(), observer == null || observer.unsubscribe();
757
769
  });
758
- s.onTransformChange$.subscribeEvent(() => {
770
+ engine.onTransformChange$.subscribeEvent(() => {
759
771
  setTimeout(() => {
760
772
  this.createThumbs();
761
773
  }, 300);
762
- }), t.resize(2400, 1800);
763
- const o = new $("__mainView__", t, {
774
+ });
775
+ const viewMain = new Viewport("__mainView__", scene, {
764
776
  left: 0,
765
777
  top: 0,
766
778
  bottom: 0,
@@ -769,94 +781,99 @@ let ee = class extends $e {
769
781
  isRelativeY: !0,
770
782
  isWheelPreventDefaultX: !0
771
783
  });
772
- t.attachControl(), t.onMouseWheel$.subscribeEvent((d, f) => {
773
- const h = d;
774
- if (h.ctrlKey) {
775
- const u = Math.abs(h.deltaX);
776
- let l = u < 40 ? 0.2 : u < 80 ? 0.4 : 0.2;
777
- l *= h.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (l /= 2), t.scaleX + l > 4 ? t.scale(4, 4) : t.scaleX + l < 0.1 ? t.scale(0.1, 0.1) : (h.deltaY > 0, h.preventDefault());
784
+ scene.attachControl(), scene.onMouseWheel$.subscribeEvent((evt, state) => {
785
+ const e = evt;
786
+ if (e.ctrlKey) {
787
+ const deltaFactor = Math.abs(e.deltaX);
788
+ let scrollNum = deltaFactor < 40 ? 0.2 : deltaFactor < 80 ? 0.4 : 0.2;
789
+ scrollNum *= e.deltaY > 0 ? -1 : 1, scene.scaleX < 1 && (scrollNum /= 2), scene.scaleX + scrollNum > 4 ? scene.scale(4, 4) : scene.scaleX + scrollNum < 0.1 ? scene.scale(0.1, 0.1) : (e.deltaY > 0, e.preventDefault());
778
790
  } else
779
- o.onMouseWheel(h, f);
780
- }), t.onFileLoaded$.subscribeEvent(() => {
791
+ viewMain.onMouseWheel(e, state);
792
+ }), scene.onFileLoaded$.subscribeEvent(() => {
781
793
  this._refreshThumb();
782
- }), ue.attachTo(o), this._renderManagerService.setCurrent(e);
783
- const c = this._createSlide(t);
784
- n.mainComponent = c, n.components.set("__slideRender__", c), this._createSlidePages(r, c), s.runRenderLoop(() => {
785
- t.render();
794
+ }), ScrollBar.attachTo(viewMain), this._renderManagerService.setCurrent(unitId);
795
+ const slideComponent = this._createSlide(scene);
796
+ currentRender.mainComponent = slideComponent, currentRender.components.set("__slideRender__", slideComponent), this._createSlidePages(slideDataModel, slideComponent), engine.runRenderLoop(() => {
797
+ scene.render();
786
798
  });
787
799
  }
788
- _createSlide(e) {
789
- const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE), { width: n, height: t } = e, s = r.getPageSize(), { width: i = 100, height: o = 100 } = s, c = new Pe("__slideRender__", {
790
- left: (n - i) / 2,
791
- top: (t - o) / 2,
792
- width: i,
793
- height: o,
800
+ _createSlide(mainScene) {
801
+ const model = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE), { width: sceneWidth, height: sceneHeight } = mainScene, pageSize = model.getPageSize(), { width = 100, height = 100 } = pageSize, slideComponent = new Slide("__slideRender__", {
802
+ left: (sceneWidth - width) / 2,
803
+ top: (sceneHeight - height) / 2,
804
+ width,
805
+ height,
794
806
  zIndex: 10
795
807
  });
796
- return c.enableNav(), c.enableSelectedClipElement(), e.addObject(c), c;
808
+ return slideComponent.enableSelectedClipElement(), mainScene.addObject(slideComponent), slideComponent;
797
809
  }
798
- _addBackgroundRect(e, r) {
799
- const t = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE).getPageSize(), { width: s = 0, height: i = 0 } = t, o = new H("canvas", {
810
+ _addBackgroundRect(scene, fill) {
811
+ const pageSize = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE).getPageSize(), { width: pageWidth = 0, height: pageHeight = 0 } = pageSize, page = new Rect("canvas", {
800
812
  left: 0,
801
813
  top: 0,
802
- width: s,
803
- height: i,
814
+ width: pageWidth,
815
+ height: pageHeight,
804
816
  strokeWidth: 1,
805
- stroke: "rgba(198,198,198, 1)",
806
- fill: te(r) || "rgba(255,255,255, 1)",
817
+ stroke: "rgba(198,198,198,1)",
818
+ fill: getColorStyle(fill) || "rgba(255,255,255,1)",
807
819
  zIndex: 0,
808
820
  evented: !1
809
821
  });
810
- e.addObject(o, 0);
822
+ scene.addObject(page, 0);
811
823
  }
812
- _getCenterPositionViewPort(e) {
813
- if (!e) return { left: 0, top: 0 };
814
- const { width: r, height: n } = e, t = e.getEngine(), s = (t == null ? void 0 : t.width) || 0, i = (t == null ? void 0 : t.height) || 0;
824
+ _getCenterPositionViewPort(mainScene) {
825
+ if (!mainScene) return { left: 0, top: 0 };
826
+ const { width, height } = mainScene, engine = mainScene.getEngine(), canvasWidth = (engine == null ? void 0 : engine.width) || 0, canvasHeight = (engine == null ? void 0 : engine.height) || 0;
815
827
  return {
816
- left: (r - s) / 2,
817
- top: (n - i) / 2
828
+ left: (width - canvasWidth) / 2,
829
+ top: (height - canvasHeight) / 2
818
830
  };
819
831
  }
820
- _thumbSceneRender(e, r) {
821
- const n = this._renderManagerService.getRenderById(e);
822
- if (n == null)
832
+ _thumbSceneRender(pageId, slide) {
833
+ const render = this._renderManagerService.getRenderById(pageId);
834
+ if (render == null)
823
835
  return;
824
- const { engine: t } = n;
825
- if (t == null)
836
+ const { engine: thumbEngine } = render;
837
+ if (thumbEngine == null)
826
838
  return;
827
- const { width: s, height: i } = r, { width: o = s, height: c = i } = t, d = t.getCanvas().getContext();
828
- r.renderToThumb(d, e, o / s, c / i);
829
- }
830
- _createSlidePages(e, r) {
831
- const n = e.getPages(), t = e.getPageOrder();
832
- if (!(!n || !t) && t.length !== 0) {
833
- for (let s = 0, i = t.length; s < i; s++) {
834
- const o = t[s];
835
- this._createScene(o, n[o]), this._createThumb(o);
839
+ const { width, height } = slide, { width: pageWidth = width, height: pageHeight = height } = thumbEngine, thumbContext = thumbEngine.getCanvas().getContext();
840
+ slide.renderToThumb(thumbContext, pageId, pageWidth / width, pageHeight / height);
841
+ }
842
+ _createSlidePages(slideDataModel, slide) {
843
+ const pages = slideDataModel.getPages(), pageOrder = slideDataModel.getPageOrder();
844
+ if (!(!pages || !pageOrder) && pageOrder.length !== 0) {
845
+ for (let i = 0, len = pageOrder.length; i < len; i++) {
846
+ const pageId = pageOrder[i];
847
+ this._createScene(pageId, pages[pageId]), this._createThumb(pageId);
836
848
  }
837
- this._activePageId = t[0], r.activeFirstPage();
849
+ slide.activeFirstPage();
838
850
  }
839
851
  }
840
852
  createThumbs() {
841
- const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE).getPageOrder(), n = this._currentRender();
842
- if (!(!r || !n) && r.length !== 0)
843
- for (let t = 0, s = r.length; t < s; t++) {
844
- const i = r[t];
845
- this._thumbSceneRender(i, n.mainComponent);
853
+ const pageOrder = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE).getPageOrder(), render = this._currentRender();
854
+ if (!(!pageOrder || !render) && pageOrder.length !== 0)
855
+ for (let i = 0, len = pageOrder.length; i < len; i++) {
856
+ const pageId = pageOrder[i];
857
+ this._thumbSceneRender(pageId, render.mainComponent);
846
858
  }
847
859
  }
848
- _createThumb(e) {
849
- this._renderManagerService.createRender(e);
850
- }
851
- _createScene(e, r) {
852
- const n = this._currentRender();
853
- if (!n || !this._objectProvider)
860
+ _createThumb(pageId) {
861
+ this._renderManagerService.createRender(pageId);
862
+ }
863
+ /**
864
+ * @param pageId
865
+ * @param page
866
+ * @returns pageScene: Scene
867
+ */
868
+ _createScene(pageId, page) {
869
+ const render = this._currentRender();
870
+ if (!render || !this._objectProvider)
854
871
  return;
855
- const { scene: t, mainComponent: s } = n, i = s, { width: o, height: c } = i, d = new ne(e, i, {
856
- width: o,
857
- height: c
872
+ const { scene: mainScene, mainComponent } = render, slide = mainComponent, { width, height } = slide, pageScene = new Scene(pageId, slide, {
873
+ width,
874
+ height
858
875
  });
859
- new $(`PageViewer_${e}`, d, {
876
+ this._sceneMap.set(pageId, pageScene), new Viewport(`PageViewer_${pageId}`, pageScene, {
860
877
  left: 0,
861
878
  top: 0,
862
879
  bottom: 0,
@@ -864,51 +881,89 @@ let ee = class extends $e {
864
881
  isRelativeX: !0,
865
882
  isRelativeY: !0
866
883
  }).closeClip();
867
- const { pageElements: h, pageBackgroundFill: u } = r, l = this._objectProvider.convertToRenderObjects(h, t);
868
- if (!l || !i) return;
869
- this._addBackgroundRect(d, u), d.addObjects(l), l.forEach((_) => {
870
- d.attachTransformerTo(_);
884
+ const { pageElements, pageBackgroundFill } = page, objects = this._objectProvider.convertToRenderObjects(pageElements, mainScene);
885
+ if (!objects || !slide) return;
886
+ this._addBackgroundRect(pageScene, pageBackgroundFill), pageScene.addObjects(objects), objects.forEach((object) => {
887
+ pageScene.attachTransformerTo(object);
871
888
  });
872
- const p = d.getTransformer();
873
- return p == null || p.changeEnd$.subscribe(() => {
874
- this._thumbSceneRender(this._activePageId, i);
875
- }), p == null || p.clearControl$.subscribe(() => {
876
- this._thumbSceneRender(this._activePageId, i);
877
- }), i.addPage(d), d;
889
+ const transformer = pageScene.getTransformer();
890
+ return transformer == null || transformer.changeEnd$.subscribe(() => {
891
+ this._thumbSceneRender(pageId, slide);
892
+ }), transformer == null || transformer.clearControl$.subscribe(() => {
893
+ this._thumbSceneRender(pageId, slide);
894
+ }), slide.addPage(pageScene), pageScene;
878
895
  }
879
- _initializeDependencies(e) {
880
- this._objectProvider = e.createInstance(re);
896
+ _initializeDependencies(slideInjector) {
897
+ this._objectProvider = slideInjector.createInstance(ObjectProvider);
881
898
  }
882
- };
883
- ee = yt([
884
- Le(ze.Ready, ee),
885
- ae(0, Ae),
886
- ae(1, W(ie)),
887
- ae(2, Ze)
888
- ], ee);
889
- var jt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Ct = (a, e, r, n) => {
890
- for (var t = n > 1 ? void 0 : n ? Mt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
891
- (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
892
- return n && t && jt(e, r, t), t;
893
- }, Vt = (a, e) => (r, n) => e(r, n, a);
894
- const Xt = {}, Lt = "slides";
895
- var Q;
896
- let Se = (Q = class extends We {
897
- constructor(e = {}, r) {
899
+ getRenderUnitByPageId(pageId) {
900
+ return {
901
+ scene: this._sceneMap.get(pageId)
902
+ // engine,
903
+ // unit,
904
+ };
905
+ }
906
+ createObjectToPage(element, pageID) {
907
+ if (!this._currentRender() || !this._objectProvider)
908
+ return;
909
+ const { scene } = this.getRenderUnitByPageId(pageID);
910
+ if (!scene) return;
911
+ const object = this._objectProvider.convertToRenderObject(element, scene);
912
+ if (object)
913
+ return scene.addObject(object), scene.attachTransformerTo(object), scene.getLayer().makeDirty(), object;
914
+ }
915
+ setObjectActiveByPage(obj, pageID) {
916
+ const { scene } = this.getRenderUnitByPageId(pageID);
917
+ if (!scene) return;
918
+ const transformer = scene.getTransformer();
919
+ transformer == null || transformer.activeAnObject(obj);
920
+ }
921
+ removeObjectById(id, pageID) {
922
+ const { scene } = this.getRenderUnitByPageId(pageID);
923
+ if (!scene) return;
924
+ scene.removeObject(id);
925
+ const transformer = scene.getTransformer();
926
+ transformer == null || transformer.clearControls();
927
+ }
928
+ appendPage() {
929
+ const model = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE), page = model.getBlankPage(), render = this._currentRender();
930
+ if (page == null || render == null || render.mainComponent == null)
931
+ return;
932
+ const { id } = page, slide = render.mainComponent, scene = this._createScene(id, page);
933
+ scene && (slide == null || slide.addPage(scene)), model.appendPage(page), model.setActivePage(page);
934
+ }
935
+ }, __name(_a6, "CanvasView"), _a6);
936
+ CanvasView = __decorateClass$1([
937
+ OnLifecycle(LifecycleStages.Ready, CanvasView),
938
+ __decorateParam$1(0, Inject(Injector)),
939
+ __decorateParam$1(1, IUniverInstanceService),
940
+ __decorateParam$1(2, IRenderManagerService)
941
+ ], CanvasView);
942
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
943
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
944
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
945
+ return kind && result && __defProp2(target, key, result), result;
946
+ }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
947
+ const DEFAULT_SLIDE_PLUGIN_DATA = {}, PLUGIN_NAME = "slides";
948
+ var _a7;
949
+ let UniverSlidesPlugin = (_a7 = class extends Plugin {
950
+ // private _canvasView: CanvasView | null = null;
951
+ constructor(config = {}, _injector, _renderManagerService) {
898
952
  super();
899
- g(this, "_config");
900
- g(this, "_canvasEngine", null);
901
- g(this, "_canvasView", null);
902
- this._injector = r, this._config = Object.assign(Xt, e), this._initializeDependencies(this._injector);
953
+ __publicField(this, "_config");
954
+ __publicField(this, "_canvasEngine", null);
955
+ this._injector = _injector, this._renderManagerService = _renderManagerService, this._config = Object.assign(DEFAULT_SLIDE_PLUGIN_DATA, config), this._initializeDependencies(this._injector);
903
956
  }
904
957
  initialize() {
905
958
  this.initCanvasEngine();
906
959
  }
960
+ onReady() {
961
+ }
907
962
  getConfig() {
908
963
  return this._config;
909
964
  }
910
965
  initCanvasEngine() {
911
- this._canvasEngine = this._injector.get(Je);
966
+ this._canvasEngine = this._injector.get(IRenderingEngine);
912
967
  }
913
968
  onRendered() {
914
969
  this.initialize();
@@ -916,20 +971,21 @@ let Se = (Q = class extends We {
916
971
  getCanvasEngine() {
917
972
  return this._canvasEngine;
918
973
  }
919
- getCanvasView() {
920
- return this._canvasView;
921
- }
922
- _initializeDependencies(e) {
923
- [[ee]].forEach((n) => {
924
- e.add(n);
974
+ _initializeDependencies(slideInjector) {
975
+ [
976
+ [CanvasView]
977
+ // [TextSelectionManagerService],
978
+ ].forEach((d) => {
979
+ slideInjector.add(d);
925
980
  });
926
981
  }
927
- }, g(Q, "pluginName", Lt), g(Q, "type", V.UNIVER_SLIDE), Q);
928
- Se = Ct([
929
- Vt(1, W(ie))
930
- ], Se);
982
+ }, __name(_a7, "UniverSlidesPlugin"), __publicField(_a7, "pluginName", PLUGIN_NAME), __publicField(_a7, "type", UniverInstanceType.UNIVER_SLIDE), _a7);
983
+ UniverSlidesPlugin = __decorateClass([
984
+ __decorateParam(1, Inject(Injector)),
985
+ __decorateParam(2, IRenderManagerService)
986
+ ], UniverSlidesPlugin);
931
987
  export {
932
- ee as CanvasView,
933
- xt as SLIDE_KEY,
934
- Se as UniverSlidesPlugin
988
+ CanvasView,
989
+ SLIDE_KEY,
990
+ UniverSlidesPlugin
935
991
  };