@univerjs/slides 0.2.5 → 0.2.8

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