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