@univerjs/slides 0.20.1 → 0.21.0
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/cjs/index.js +1184 -1
- package/lib/es/index.js +1159 -1
- package/lib/index.js +1159 -1
- package/lib/types/basics/const/default-slide.d.ts +23 -0
- package/lib/types/data-model/slide-data-model.d.ts +62 -0
- package/lib/types/index.d.ts +4 -0
- package/lib/types/plugin.d.ts +4 -4
- package/lib/types/types/enum/prst-geom-type.d.ts +118 -0
- package/lib/types/types/interfaces/i-slide-data.d.ts +158 -0
- package/lib/types/views/render/adaptor.d.ts +2 -1
- package/lib/types/views/render/adaptors/docs-adaptor.d.ts +4 -2
- package/lib/types/views/render/adaptors/image-adaptor.d.ts +3 -2
- package/lib/types/views/render/adaptors/rich-text-adaptor.d.ts +4 -2
- package/lib/types/views/render/adaptors/shape-adaptor.d.ts +3 -2
- package/lib/types/views/render/adaptors/slide-adaptor.d.ts +3 -2
- package/lib/types/views/render/adaptors/spreadsheet-adaptor.d.ts +3 -2
- package/lib/types/views/render/object-provider.d.ts +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +9 -5
package/lib/es/index.js
CHANGED
|
@@ -1 +1,1159 @@
|
|
|
1
|
-
import{BasicShapes as e,DocumentDataModel as t,IConfigService as n,IContextService as r,Inject as i,Injector as a,LocaleService as o,PageElementType as s,Plugin as c,Registry as l,SlideDataModel as u,Styles as d,UniverInstanceType as f,Worksheet as p,getColorStyle as m,merge as h,sortRules as g}from"@univerjs/core";import{Circle as _,DocumentSkeleton as v,DocumentViewModel as y,Documents as b,IRenderManagerService as x,IRenderingEngine as S,Image as C,Liquid as w,PageLayoutType as T,Rect as E,RichText as D,Scene as O,SceneViewer as k,ScrollBar as A,Slide as j,Spreadsheet as M,SpreadsheetColumnHeader as N,SpreadsheetRowHeader as P,SpreadsheetSkeleton as F,Viewport as I,getColor as L}from"@univerjs/engine-render";var R=`@univerjs/slides`,z=`0.20.1`;const B=`slides.config`;Symbol(B);const V={};function H(e){"@babel/helpers - typeof";return H=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},H(e)}function ee(e,t){if(H(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(H(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return H(t)==`symbol`?t:t+``}function U(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W(e,t){return function(n,r){t(n,r,e)}}function G(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let K=class extends c{constructor(e=V,t,n,r){super(),this._config=e,this._injector=t,this._renderManagerService=n,this._configService=r,U(this,`_canvasEngine`,null);let{...i}=h({},V,this._config);this._configService.setConfig(B,i),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(S)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(e){[].forEach(t=>{e.add(t)})}};U(K,`pluginName`,`UNIVER_SLIDES_PLUGIN`),U(K,`packageName`,R),U(K,`version`,z),U(K,`type`,f.UNIVER_SLIDE),K=G([W(1,i(a)),W(2,x),W(3,n)],K);var q=class{constructor(){U(this,`zIndex`,0),U(this,`viewKey`,null)}check(e){if(e===this.viewKey)return this}create(e){}};const J=l.create();let Y=function(e){return e.MAIN=`__DocsRender__`,e.SCENE_VIEWER=`__DocsViewer__`,e.SCENE=`__DocsScene__`,e.VIEWPORT=`__DocsViewPort_`,e}({}),X=class extends q{constructor(e){super(),this._localeService=e,U(this,`zIndex`,5),U(this,`viewKey`,s.DOCUMENT),U(this,`_liquid`,new w)}check(e){if(e===this.viewKey)return this}convert(e,n){var r,i;let{id:a,zIndex:o,left:s=0,top:c=0,width:l,height:u,angle:d,scaleX:f,scaleY:p,skewX:m,skewY:h,flipX:g,flipY:_,title:x,description:S,document:w}=e;if(w==null)return;let T=new y(new t(w)),E=v.create(T,this._localeService),D=new b(Y.MAIN,E);E.calculate();let j=new k(Y.SCENE_VIEWER+a,{top:c,left:s,width:l,height:u,zIndex:o,angle:d,scaleX:f,scaleY:p,skewX:m,skewY:h,flipX:g,flipY:_}),M=new O(Y.SCENE+a,j),N=new I(Y.VIEWPORT+a,M,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});M.attachControl(),M.onMouseWheel$.subscribeEvent((e,t)=>{let n=e;if(n.ctrlKey){let e=Math.abs(n.deltaX),t=e<40?.2:e<80?.4:.2;t*=n.deltaY>0?-1:1,M.scaleX<1&&(t/=2),M.scaleX+t>4?M.scale(4,4):M.scaleX+t<.1?M.scale(.1,.1):(n.deltaY,n.preventDefault())}else N.onMouseWheel(n,t)}),new A(N,{mainScene:n}),M.addObject(D);let P=E.getActualSize();D.resize(P.actualWidth,P.actualHeight),M.resize(P.actualWidth,P.actualHeight+200),(r=D.getSkeleton())==null||r.getPageSize(),D.pageRender$.subscribe(e=>{let{page:t,pageLeft:n,pageTop:r,ctx:i}=e,{width:a,height:o,marginBottom:s,marginLeft:c,marginRight:l,marginTop:u}=t;i.save(),i.translate(n-.5,r-.5),i.restore()});let{left:F,top:L}=D,R=E.getSkeletonData();if(R==null)return;let{pages:z}=R,B=[],V=new Map;this._recalculateSizeBySkeleton(D,M,E);for(let e=0,t=z.length;e<t;e++){let t=z[e],{skeDrawings:n,marginLeft:r,marginTop:i,pageWidth:a,pageHeight:o}=t;this._liquid.translatePagePadding(t),n.forEach(e=>{let{aLeft:t,aTop:n,height:r,width:i,drawingOrigin:a}=e,{docTransform:o}=a,s=new C(e.drawingId,{left:t+F+this._liquid.x,top:n+L+this._liquid.y,width:i,height:r,zIndex:11});V.set(e.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),B.push(s)}),this._liquid.translatePage(t,D.pageLayoutType,D.pageMarginLeft,D.pageMarginTop)}return M.addObjects(B),B.forEach(e=>{M.attachTransformerTo(e)}),(i=M.getTransformer())==null||i.changing$.subscribe(e=>{let{objects:t}=e;t.forEach(e=>{let{oKey:t,left:n,top:r,height:i,width:a}=e,o=V.get(t),s=(o==null?void 0:o.marginLeft)||0,c=(o==null?void 0:o.marginTop)||0;E==null||E.getViewModel().getDataModel().updateDrawing(t,{left:n-F-s,top:r-L-c,height:i,width:a})}),E==null||E.calculate()}),this._calculatePagePosition(D,M,N),j}_recalculateSizeBySkeleton(e,t,n){var r;let i=(r=n.getSkeletonData())==null?void 0:r.pages;if(i==null)return;let a=0,o=0;for(let t=0,n=i.length;t<n;t++){let{pageWidth:r,pageHeight:s}=i[t];e.pageLayoutType===T.VERTICAL?(o+=s,o+=e.pageMarginTop,t===n-1&&(o+=e.pageMarginTop),a=Math.max(a,r)):e.pageLayoutType===T.HORIZONTAL&&(a+=r,t!==n-1&&(a+=e.pageMarginLeft),o=Math.max(o,s))}e.resize(a,o),t.resize(a,o)}_calculatePagePosition(e,t,n,r=1){let i=t==null?void 0:t.getParent(),{width:a,height:o,pageMarginLeft:s,pageMarginTop:c}=e;if(i==null||a===1/0||o===1/0)return;let{width:l,height:u}=i,d=0,f=0,p=0,m=0,h=1/0;if(l>(a+s*2)*r?(d=l/2-a*r/2,d/=r,p=(l-s*2)/r,h=0):(d=s,p=a+s*2,h=(p-l/r)/2),u>o?(f=u/2-o/2,m=(u-c*2)/r):(f=c,m=o+c*2),t.resize(p,m+200),e.translate(d,f),h!==1/0&&n!=null){let e=n.transScroll2ViewportScrollValue(h,0).x;n.scrollToBarPos({x:e})}return this}};X=G([W(0,i(o))],X);var ne=class{constructor(){U(this,`zIndex`,5)}create(e){return e.createInstance(X)}};J.add(new ne);var re=class extends q{constructor(...e){super(...e),U(this,`zIndex`,1),U(this,`viewKey`,s.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){let{id:t,zIndex:n,left:r=0,top:i=0,width:a,height:o,angle:s,scaleX:c,scaleY:l,skewX:u,skewY:d,flipX:f,flipY:p,title:m,description:h,image:g={}}=e,{imageProperties:_,placeholder:v,link:y}=g;return new C(t,{url:(_==null?void 0:_.contentUrl)||``,top:i,left:r,width:a,height:o,zIndex:n,angle:s,scaleX:c,scaleY:l,skewX:u,skewY:d,flipX:f,flipY:p,forceRender:!0})}},ie=class{constructor(){U(this,`zIndex`,4)}create(e){return e.createInstance(re)}};J.add(new ie);let Z=class extends q{constructor(e){super(),this._localeService=e,U(this,`zIndex`,2),U(this,`viewKey`,s.TEXT)}check(e){if(e===this.viewKey)return this}convert(e,t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:m,title:h,description:g,richText:_={}}=e,{text:v,ff:y,fs:b,it:x,bl:S,ul:C,st:w,ol:T,bg:E,bd:O,cl:k,rich:A}=_,j={top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:m,forceRender:!0},M=!1;if(v==null?A!=null&&(j={...j,richText:A},M=!0):(j={...j,text:v,ff:y,fs:b,it:x,bl:S,ul:C,st:w,ol:T,bg:E,bd:O,cl:k},M=!0),M!==!1)return new D(this._localeService,n,j)}};Z=G([W(0,i(o))],Z);var ae=class{constructor(){U(this,`zIndex`,0)}create(e){return e.createInstance(Z)}};J.add(new ae);var oe=class extends q{constructor(...e){super(...e),U(this,`zIndex`,2),U(this,`viewKey`,s.SHAPE)}check(e){if(e===this.viewKey)return this}convert(t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,title:g,description:v}=t,{shapeType:y,text:b,shapeProperties:x,placeholder:S,link:C}=t.shape||{},w=x==null?``:m(x.shapeBackgroundFill)||`rgba(255,255,255,1)`,T=x==null?void 0:x.outline,D={};if(T){let{outlineFill:e,weight:t}=T;D.strokeWidth=t,D.stroke=m(e)||`rgba(0,0,0,1)`}if(y===e.Rect)return new E(n,{fill:w,top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,forceRender:!0,...D});if(y===e.RoundRect)return new E(n,{fill:w,top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,forceRender:!0,radius:(x==null?void 0:x.radius)||0,...D});if(y===e.Ellipse)return console.warn(x==null?void 0:x.radius),new _(n,{fill:w,top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,forceRender:!0,radius:(x==null?void 0:x.radius)||0,...D})}},se=class{constructor(){U(this,`zIndex`,2)}create(e){return e.createInstance(oe)}};J.add(new se);let Q=class{constructor(e){this._injector=e,U(this,`_adaptors`,[]),this._adaptorLoader()}convertToRenderObjects(e,t){let n=Object.keys(e),r=[];return n.forEach(n=>{let i=e[n],a=this._executor(i,t);a!=null&&r.push(a)}),r}convertToRenderObject(e,t){return this._executor(e,t)}_executor(e,t){let{id:n,type:r}=e;for(let n of this._adaptors){var i;let a=(i=n.check(r))==null?void 0:i.convert(e,t);if(a!=null)return a}}_adaptorLoader(){J.getData().sort(g).forEach(e=>{this._adaptors.push(e.create(this._injector))})}};Q=G([W(0,i(a))],Q);let ce=function(e){return e.MAIN=`__SLIDERender__`,e.SCENE_VIEWER=`__SLIDEViewer__`,e.SCENE=`__SLIDEScene__`,e.VIEWPORT=`__SLIDEViewPort_`,e}({}),le=class extends q{constructor(e){super(),this._injector=e,U(this,`zIndex`,6),U(this,`viewKey`,s.SLIDE),U(this,`_ObjectProvider`,null)}check(e){if(e===this.viewKey)return this}convert(e,t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:d,skewX:f,skewY:p,flipX:m,flipY:h,title:g,description:_,slide:v}=e;if(v==null)return;let y=new u(v),b=new j(ce.MAIN+n,{top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:d,skewX:f,skewY:p,flipX:m,flipY:h,forceRender:!0});b.enableNav(),b.enableSelectedClipElement();let x=y.getPageOrder(),S=y.getPages();if(!x||!S)return b;this._ObjectProvider=new Q(this._injector);for(let e=0,n=x.length;e<n;e++){let n=S[x[e]],{id:r}=n;b.addPageScene(this._createScene(r,b,n,t,y))}return b.activeFirstPage(),b}_createScene(e,t,n,r,i){var a;let{width:o,height:s}=t,c=new O(e,t,{width:o,height:s});new I(`PageViewer_${e}`,c,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1}).closeClip();let{pageElements:l,pageBackgroundFill:u}=n,d=(a=this._ObjectProvider)==null?void 0:a.convertToRenderObjects(l,r);return this._addBackgroundRect(c,u,i),c.addObjects(d),d==null||d.forEach(e=>{c.attachTransformerTo(e)}),c}_addBackgroundRect(e,t,n){let{width:r=0,height:i=0}=n.getPageSize(),a=new E(`canvas`,{left:0,top:0,width:r,height:i,strokeWidth:1,stroke:`rgba(198,198,198, 1)`,fill:m(t)||`rgba(255,255,255, 1)`,zIndex:0,evented:!1});e.addObject(a,0)}};le=G([W(0,i(a))],le);var ue=class{constructor(){U(this,`zIndex`,6)}create(e){return e.createInstance(le)}};J.add(new ue);var $=function(e){return e.MAIN=`spreadInSlide`,e.SCENE=`spreadInSlideScene`,e.SCENE_VIEWER=`spreadInSlideSceneViewer`,e.ROW=`spreadInSlideRow`,e.COLUMN=`spreadInSlideColumn`,e.LEFT_TOP=`spreadInSlideLeftTop`,e.VIEW_MAIN=`spreadInSlideViewMain`,e.VIEW_TOP=`spreadInSlideViewTop`,e.VIEW_LEFT=`spreadInSlideViewLeft`,e.VIEW_LEFT_TOP=`spreadInSlideViewLeftTop`,e}($||{});let de=class extends q{constructor(e,t,n,r){super(),this._localeService=e,this._contextService=t,this._configService=n,this._injector=r,U(this,`zIndex`,4),U(this,`viewKey`,s.SPREADSHEET)}check(e){if(e===this.viewKey)return this}convert(e,t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:u,skewX:f,skewY:m,flipX:h,flipY:g,spreadsheet:_}=e;if(_==null)return;let{worksheet:v,styles:y}=_,b=new d(y),x=new F(new p(n,v,b),b,this._localeService,this._contextService,this._configService,this._injector),{rowTotalHeight:S,columnTotalWidth:C,rowHeaderWidth:w,columnHeaderHeight:T}=x,D=C+v.rowHeader.width||0,A=S+v.columnHeader.height||0,j=new k($.SCENE_VIEWER+n,{top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:f,skewY:m,flipX:h,flipY:g,forceRender:!0}),I=new O($.SCENE+n,j,{width:D,height:A});this._updateViewport(n,w,T,I,t);let R=new M(`testSheetViewer`,x,!1),z=new P($.ROW,x),B=new N($.COLUMN,x),V=new E($.LEFT_TOP,{zIndex:2,left:-1,top:-1,width:w,height:T,fill:L([248,249,250]),stroke:L([217,217,217]),strokeWidth:1});return R.zIndex=10,I.addObjects([R],1),I.addObjects([z,B,V],2),j}_updateViewport(e,t,n,r,i){if(i==null)return;let a=t*r.scaleX,o=n*r.scaleY,s=new I($.VIEW_MAIN+e,r,{left:a,top:o,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0}),c=new I($.VIEW_TOP+e,r,{left:a,height:o,top:0,right:0,explicitViewportWidthSet:!1,isWheelPreventDefaultX:!0}),l=new I($.VIEW_LEFT+e,r,{left:0,bottom:0,top:o,width:a,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});new I($.VIEW_LEFT_TOP+e,r,{left:0,top:0,width:a,height:o,isWheelPreventDefaultX:!0}),s.onScrollAfter$.subscribeEvent(e=>{let{scrollX:t,scrollY:n,viewportScrollX:r,viewportScrollY:i}=e;c.updateScrollVal({scrollX:t,viewportScrollX:r}),l.updateScrollVal({scrollY:n,viewportScrollY:i})}),r.attachControl(),new A(s,{mainScene:i}),r.onMouseWheel$.subscribeEvent((e,t)=>{let n=e;if(n.ctrlKey){let e=Math.abs(n.deltaX),t=e<40?.05:e<80?.02:.01;t*=n.deltaY>0?-1:1,r.scaleX<1&&(t/=2),r.scaleX+t>4?r.scale(4,4):r.scaleX+t<.1?r.scale(.1,.1):(r.scaleBy(t,t),n.preventDefault())}else s.onMouseWheel(n,t)})}};de=G([W(0,i(o)),W(1,r),W(2,n),W(3,i(a))],de);var fe=class{constructor(){U(this,`zIndex`,4)}create(e){return e.createInstance(de)}};J.add(new fe);let pe=function(e){return e.COMPONENT=`__slideRender__`,e.SCENE=`__mainScene__`,e.VIEW=`__mainView__`,e}({});export{J as CanvasObjectProviderRegistry,q as ObjectAdaptor,Q as ObjectProvider,pe as SLIDE_KEY,ce as SLIDE_VIEW_KEY,K as UniverSlidesPlugin};
|
|
1
|
+
import { DocumentDataModel, IConfigService, IContextService, IUniverInstanceService, Inject, Injector, LocaleService, Plugin, Registry, Styles, UnitModel, UniverInstanceType, Worksheet, generateRandomId, getColorStyle, merge, sortRules } from "@univerjs/core";
|
|
2
|
+
import { BehaviorSubject } from "rxjs";
|
|
3
|
+
import { Circle, DocumentSkeleton, DocumentViewModel, Documents, IRenderingEngine, Image, Liquid, PageLayoutType, Rect, RichText, Scene, SceneViewer, ScrollBar, Slide, Spreadsheet, SpreadsheetColumnHeader, SpreadsheetRowHeader, SpreadsheetSkeleton, Viewport, getColor } from "@univerjs/engine-render";
|
|
4
|
+
|
|
5
|
+
//#region src/basics/const/default-slide.ts
|
|
6
|
+
/**
|
|
7
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* you may not use this file except in compliance with the License.
|
|
11
|
+
* You may obtain a copy of the License at
|
|
12
|
+
*
|
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
* See the License for the specific language governing permissions and
|
|
19
|
+
* limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
const DEFAULT_SLIDE = {
|
|
22
|
+
id: "default_slide",
|
|
23
|
+
title: "defaultSlide",
|
|
24
|
+
pageSize: {
|
|
25
|
+
width: 300,
|
|
26
|
+
height: 300
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/types/interfaces/i-slide-data.ts
|
|
32
|
+
let PageType = /* @__PURE__ */ function(PageType) {
|
|
33
|
+
PageType[PageType["SLIDE"] = 0] = "SLIDE";
|
|
34
|
+
PageType[PageType["MASTER"] = 1] = "MASTER";
|
|
35
|
+
PageType[PageType["LAYOUT"] = 2] = "LAYOUT";
|
|
36
|
+
PageType[PageType["HANDOUT_MASTER"] = 3] = "HANDOUT_MASTER";
|
|
37
|
+
PageType[PageType["NOTES_MASTER"] = 4] = "NOTES_MASTER";
|
|
38
|
+
return PageType;
|
|
39
|
+
}({});
|
|
40
|
+
let PageElementType = /* @__PURE__ */ function(PageElementType) {
|
|
41
|
+
PageElementType[PageElementType["SHAPE"] = 0] = "SHAPE";
|
|
42
|
+
PageElementType[PageElementType["IMAGE"] = 1] = "IMAGE";
|
|
43
|
+
PageElementType[PageElementType["TEXT"] = 2] = "TEXT";
|
|
44
|
+
PageElementType[PageElementType["SPREADSHEET"] = 3] = "SPREADSHEET";
|
|
45
|
+
PageElementType[PageElementType["DOCUMENT"] = 4] = "DOCUMENT";
|
|
46
|
+
PageElementType[PageElementType["SLIDE"] = 5] = "SLIDE";
|
|
47
|
+
return PageElementType;
|
|
48
|
+
}({});
|
|
49
|
+
let RelativeSlideLink = /* @__PURE__ */ function(RelativeSlideLink) {
|
|
50
|
+
RelativeSlideLink[RelativeSlideLink["RELATIVE_SLIDE_LINK_UNSPECIFIED"] = 0] = "RELATIVE_SLIDE_LINK_UNSPECIFIED";
|
|
51
|
+
RelativeSlideLink[RelativeSlideLink["NEXT_SLIDE"] = 1] = "NEXT_SLIDE";
|
|
52
|
+
RelativeSlideLink[RelativeSlideLink["PREVIOUS_SLIDE"] = 2] = "PREVIOUS_SLIDE";
|
|
53
|
+
RelativeSlideLink[RelativeSlideLink["FIRST_SLIDE"] = 3] = "FIRST_SLIDE";
|
|
54
|
+
RelativeSlideLink[RelativeSlideLink["LAST_SLIDE"] = 4] = "LAST_SLIDE";
|
|
55
|
+
return RelativeSlideLink;
|
|
56
|
+
}({});
|
|
57
|
+
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/typeof.js
|
|
60
|
+
function _typeof(o) {
|
|
61
|
+
"@babel/helpers - typeof";
|
|
62
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
63
|
+
return typeof o;
|
|
64
|
+
} : function(o) {
|
|
65
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
66
|
+
}, _typeof(o);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/toPrimitive.js
|
|
71
|
+
function toPrimitive(t, r) {
|
|
72
|
+
if ("object" != _typeof(t) || !t) return t;
|
|
73
|
+
var e = t[Symbol.toPrimitive];
|
|
74
|
+
if (void 0 !== e) {
|
|
75
|
+
var i = e.call(t, r || "default");
|
|
76
|
+
if ("object" != _typeof(i)) return i;
|
|
77
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
78
|
+
}
|
|
79
|
+
return ("string" === r ? String : Number)(t);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/toPropertyKey.js
|
|
84
|
+
function toPropertyKey(t) {
|
|
85
|
+
var i = toPrimitive(t, "string");
|
|
86
|
+
return "symbol" == _typeof(i) ? i : i + "";
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/defineProperty.js
|
|
91
|
+
function _defineProperty(e, r, t) {
|
|
92
|
+
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
93
|
+
value: t,
|
|
94
|
+
enumerable: !0,
|
|
95
|
+
configurable: !0,
|
|
96
|
+
writable: !0
|
|
97
|
+
}) : e[r] = t, e;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/data-model/slide-data-model.ts
|
|
102
|
+
var SlideDataModel = class extends UnitModel {
|
|
103
|
+
get _activePage() {
|
|
104
|
+
const activePage = this._activePage$.getValue();
|
|
105
|
+
if (!activePage) {
|
|
106
|
+
var _this$getPageOrder, _this$getPages;
|
|
107
|
+
const activePageId = (_this$getPageOrder = this.getPageOrder()) === null || _this$getPageOrder === void 0 ? void 0 : _this$getPageOrder[0];
|
|
108
|
+
if (!activePageId) return null;
|
|
109
|
+
return (_this$getPages = this.getPages()) === null || _this$getPages === void 0 ? void 0 : _this$getPages[activePageId];
|
|
110
|
+
}
|
|
111
|
+
return activePage;
|
|
112
|
+
}
|
|
113
|
+
constructor(snapshot) {
|
|
114
|
+
var _this$_snapshot$id;
|
|
115
|
+
super();
|
|
116
|
+
_defineProperty(this, "type", UniverInstanceType.UNIVER_SLIDE);
|
|
117
|
+
_defineProperty(this, "_activePage$", new BehaviorSubject(null));
|
|
118
|
+
_defineProperty(this, "activePage$", this._activePage$.asObservable());
|
|
119
|
+
_defineProperty(this, "_name$", void 0);
|
|
120
|
+
_defineProperty(this, "name$", void 0);
|
|
121
|
+
_defineProperty(this, "_snapshot", void 0);
|
|
122
|
+
_defineProperty(this, "_unitId", void 0);
|
|
123
|
+
this._snapshot = {
|
|
124
|
+
...DEFAULT_SLIDE,
|
|
125
|
+
...snapshot
|
|
126
|
+
};
|
|
127
|
+
this._unitId = (_this$_snapshot$id = this._snapshot.id) !== null && _this$_snapshot$id !== void 0 ? _this$_snapshot$id : generateRandomId(6);
|
|
128
|
+
this._name$ = new BehaviorSubject(this._snapshot.title);
|
|
129
|
+
this.name$ = this._name$.asObservable();
|
|
130
|
+
}
|
|
131
|
+
setName(name) {
|
|
132
|
+
var _this$_snapshot$id2;
|
|
133
|
+
this._snapshot.title = name;
|
|
134
|
+
this._name$.next(name);
|
|
135
|
+
this._unitId = (_this$_snapshot$id2 = this._snapshot.id) !== null && _this$_snapshot$id2 !== void 0 ? _this$_snapshot$id2 : generateRandomId(6);
|
|
136
|
+
}
|
|
137
|
+
getRev() {
|
|
138
|
+
return 0;
|
|
139
|
+
}
|
|
140
|
+
incrementRev() {}
|
|
141
|
+
setRev(_rev) {}
|
|
142
|
+
getSnapshot() {
|
|
143
|
+
return this._snapshot;
|
|
144
|
+
}
|
|
145
|
+
getUnitId() {
|
|
146
|
+
return this._unitId;
|
|
147
|
+
}
|
|
148
|
+
getPages() {
|
|
149
|
+
var _this$_snapshot$body;
|
|
150
|
+
return (_this$_snapshot$body = this._snapshot.body) === null || _this$_snapshot$body === void 0 ? void 0 : _this$_snapshot$body.pages;
|
|
151
|
+
}
|
|
152
|
+
getPageOrder() {
|
|
153
|
+
var _this$_snapshot$body2;
|
|
154
|
+
return (_this$_snapshot$body2 = this._snapshot.body) === null || _this$_snapshot$body2 === void 0 ? void 0 : _this$_snapshot$body2.pageOrder;
|
|
155
|
+
}
|
|
156
|
+
getPage(pageId) {
|
|
157
|
+
const pages = this.getPages();
|
|
158
|
+
return pages === null || pages === void 0 ? void 0 : pages[pageId];
|
|
159
|
+
}
|
|
160
|
+
getElementsByPage(pageId) {
|
|
161
|
+
var _this$getPage;
|
|
162
|
+
return (_this$getPage = this.getPage(pageId)) === null || _this$getPage === void 0 ? void 0 : _this$getPage.pageElements;
|
|
163
|
+
}
|
|
164
|
+
getElement(pageId, elementId) {
|
|
165
|
+
var _this$getElementsByPa;
|
|
166
|
+
return (_this$getElementsByPa = this.getElementsByPage(pageId)) === null || _this$getElementsByPa === void 0 ? void 0 : _this$getElementsByPa[elementId];
|
|
167
|
+
}
|
|
168
|
+
getPageSize() {
|
|
169
|
+
return this._snapshot.pageSize;
|
|
170
|
+
}
|
|
171
|
+
getBlankPage() {
|
|
172
|
+
const id = generateRandomId(6);
|
|
173
|
+
return {
|
|
174
|
+
id,
|
|
175
|
+
pageType: PageType.SLIDE,
|
|
176
|
+
zIndex: 10,
|
|
177
|
+
title: id,
|
|
178
|
+
description: "",
|
|
179
|
+
pageBackgroundFill: { rgb: "rgb(255,255,255)" },
|
|
180
|
+
pageElements: {}
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
setActivePage(page) {
|
|
184
|
+
this._activePage$.next(page);
|
|
185
|
+
}
|
|
186
|
+
getActivePage() {
|
|
187
|
+
return this._activePage;
|
|
188
|
+
}
|
|
189
|
+
updatePage(pageId, page) {
|
|
190
|
+
if (!this._snapshot.body) return;
|
|
191
|
+
this._snapshot.body.pages[pageId] = page;
|
|
192
|
+
}
|
|
193
|
+
appendPage(page) {
|
|
194
|
+
var _activePage$id;
|
|
195
|
+
if (!this._snapshot.body) return;
|
|
196
|
+
this._snapshot.body.pages[page.id] = page;
|
|
197
|
+
const activePage = this._activePage;
|
|
198
|
+
const index = this._snapshot.body.pageOrder.indexOf((_activePage$id = activePage === null || activePage === void 0 ? void 0 : activePage.id) !== null && _activePage$id !== void 0 ? _activePage$id : "");
|
|
199
|
+
this._snapshot.body.pageOrder.splice(index + 1, 0, page.id);
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
//#endregion
|
|
204
|
+
//#region package.json
|
|
205
|
+
var name = "@univerjs/slides";
|
|
206
|
+
var version = "0.21.0";
|
|
207
|
+
|
|
208
|
+
//#endregion
|
|
209
|
+
//#region src/config/config.ts
|
|
210
|
+
/**
|
|
211
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
212
|
+
*
|
|
213
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
214
|
+
* you may not use this file except in compliance with the License.
|
|
215
|
+
* You may obtain a copy of the License at
|
|
216
|
+
*
|
|
217
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
218
|
+
*
|
|
219
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
220
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
221
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
222
|
+
* See the License for the specific language governing permissions and
|
|
223
|
+
* limitations under the License.
|
|
224
|
+
*/
|
|
225
|
+
const SLIDES_PLUGIN_CONFIG_KEY = "slides.config";
|
|
226
|
+
const configSymbol = Symbol(SLIDES_PLUGIN_CONFIG_KEY);
|
|
227
|
+
const defaultPluginConfig = {};
|
|
228
|
+
|
|
229
|
+
//#endregion
|
|
230
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/decorateParam.js
|
|
231
|
+
function __decorateParam(paramIndex, decorator) {
|
|
232
|
+
return function(target, key) {
|
|
233
|
+
decorator(target, key, paramIndex);
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
//#endregion
|
|
238
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/decorate.js
|
|
239
|
+
function __decorate(decorators, target, key, desc) {
|
|
240
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
241
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
242
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
243
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region src/plugin.ts
|
|
248
|
+
let UniverSlidesPlugin = class UniverSlidesPlugin extends Plugin {
|
|
249
|
+
constructor(_config = defaultPluginConfig, _injector, _configService, _univerInstanceService) {
|
|
250
|
+
super();
|
|
251
|
+
this._config = _config;
|
|
252
|
+
this._injector = _injector;
|
|
253
|
+
this._configService = _configService;
|
|
254
|
+
this._univerInstanceService = _univerInstanceService;
|
|
255
|
+
_defineProperty(this, "_canvasEngine", null);
|
|
256
|
+
const { ...rest } = merge({}, defaultPluginConfig, this._config);
|
|
257
|
+
this._configService.setConfig(SLIDES_PLUGIN_CONFIG_KEY, rest);
|
|
258
|
+
this._initializeDependencies(this._injector);
|
|
259
|
+
}
|
|
260
|
+
onStarting() {
|
|
261
|
+
this._univerInstanceService.registerCtorForType(UniverInstanceType.UNIVER_SLIDE, SlideDataModel);
|
|
262
|
+
}
|
|
263
|
+
initialize() {
|
|
264
|
+
this.initCanvasEngine();
|
|
265
|
+
}
|
|
266
|
+
onReady() {}
|
|
267
|
+
getConfig() {
|
|
268
|
+
return this._config;
|
|
269
|
+
}
|
|
270
|
+
initCanvasEngine() {
|
|
271
|
+
this._canvasEngine = this._injector.get(IRenderingEngine);
|
|
272
|
+
}
|
|
273
|
+
onRendered() {
|
|
274
|
+
this.initialize();
|
|
275
|
+
}
|
|
276
|
+
getCanvasEngine() {
|
|
277
|
+
return this._canvasEngine;
|
|
278
|
+
}
|
|
279
|
+
_initializeDependencies(slideInjector) {
|
|
280
|
+
[].forEach((d) => {
|
|
281
|
+
slideInjector.add(d);
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
_defineProperty(UniverSlidesPlugin, "pluginName", "UNIVER_SLIDES_PLUGIN");
|
|
286
|
+
_defineProperty(UniverSlidesPlugin, "packageName", name);
|
|
287
|
+
_defineProperty(UniverSlidesPlugin, "version", version);
|
|
288
|
+
_defineProperty(UniverSlidesPlugin, "type", UniverInstanceType.UNIVER_SLIDE);
|
|
289
|
+
UniverSlidesPlugin = __decorate([
|
|
290
|
+
__decorateParam(1, Inject(Injector)),
|
|
291
|
+
__decorateParam(2, IConfigService),
|
|
292
|
+
__decorateParam(3, IUniverInstanceService)
|
|
293
|
+
], UniverSlidesPlugin);
|
|
294
|
+
|
|
295
|
+
//#endregion
|
|
296
|
+
//#region src/types/enum/prst-geom-type.ts
|
|
297
|
+
/**
|
|
298
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
299
|
+
*
|
|
300
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
301
|
+
* you may not use this file except in compliance with the License.
|
|
302
|
+
* You may obtain a copy of the License at
|
|
303
|
+
*
|
|
304
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
305
|
+
*
|
|
306
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
307
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
308
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
309
|
+
* See the License for the specific language governing permissions and
|
|
310
|
+
* limitations under the License.
|
|
311
|
+
*/
|
|
312
|
+
let BasicShapes = /* @__PURE__ */ function(BasicShapes) {
|
|
313
|
+
BasicShapes["Line"] = "line";
|
|
314
|
+
BasicShapes["LineInv"] = "lineInv";
|
|
315
|
+
BasicShapes["Triangle"] = "triangle";
|
|
316
|
+
BasicShapes["RtTriangle"] = "rtTriangle";
|
|
317
|
+
BasicShapes["Rect"] = "rect";
|
|
318
|
+
BasicShapes["Diamond"] = "diamond";
|
|
319
|
+
BasicShapes["Parallelogram"] = "parallelogram";
|
|
320
|
+
BasicShapes["Trapezoid"] = "trapezoid";
|
|
321
|
+
BasicShapes["NonIsocelesTrapezoid"] = "nonIsocelesTrapezoid";
|
|
322
|
+
BasicShapes["Pentagon"] = "pentagon";
|
|
323
|
+
BasicShapes["Hexagon"] = "hexagon";
|
|
324
|
+
BasicShapes["Heptagon"] = "heptagon";
|
|
325
|
+
BasicShapes["Octagon"] = "octagon";
|
|
326
|
+
BasicShapes["Decagon"] = "decagon";
|
|
327
|
+
BasicShapes["Dodecagon"] = "dodecagon";
|
|
328
|
+
BasicShapes["Star4"] = "star4";
|
|
329
|
+
BasicShapes["Star5"] = "star5";
|
|
330
|
+
BasicShapes["Star6"] = "star6";
|
|
331
|
+
BasicShapes["Star7"] = "star7";
|
|
332
|
+
BasicShapes["Star8"] = "star8";
|
|
333
|
+
BasicShapes["Star10"] = "star10";
|
|
334
|
+
BasicShapes["Star12"] = "star12";
|
|
335
|
+
BasicShapes["Star16"] = "star16";
|
|
336
|
+
BasicShapes["Star24"] = "star24";
|
|
337
|
+
BasicShapes["Star32"] = "star32";
|
|
338
|
+
BasicShapes["RoundRect"] = "roundRect";
|
|
339
|
+
BasicShapes["Round1Rect"] = "round1Rect";
|
|
340
|
+
BasicShapes["Round2SameRect"] = "round2SameRect";
|
|
341
|
+
BasicShapes["Round2DiagRect"] = "round2DiagRect";
|
|
342
|
+
BasicShapes["Ellipse"] = "ellipse";
|
|
343
|
+
return BasicShapes;
|
|
344
|
+
}({});
|
|
345
|
+
let ArrowsAndMarkersShapes = /* @__PURE__ */ function(ArrowsAndMarkersShapes) {
|
|
346
|
+
ArrowsAndMarkersShapes["RightArrow"] = "rightArrow";
|
|
347
|
+
ArrowsAndMarkersShapes["LeftArrow"] = "leftArrow";
|
|
348
|
+
ArrowsAndMarkersShapes["UpArrow"] = "upArrow";
|
|
349
|
+
ArrowsAndMarkersShapes["DownArrow"] = "downArrow";
|
|
350
|
+
ArrowsAndMarkersShapes["LeftRightArrow"] = "leftRightArrow";
|
|
351
|
+
ArrowsAndMarkersShapes["UpDownArrow"] = "upDownArrow";
|
|
352
|
+
ArrowsAndMarkersShapes["QuadArrow"] = "quadArrow";
|
|
353
|
+
ArrowsAndMarkersShapes["LeftRightUpArrow"] = "leftRightUpArrow";
|
|
354
|
+
ArrowsAndMarkersShapes["BentArrow"] = "bentArrow";
|
|
355
|
+
ArrowsAndMarkersShapes["UturnArrow"] = "uturnArrow";
|
|
356
|
+
ArrowsAndMarkersShapes["CircularArrow"] = "circularArrow";
|
|
357
|
+
ArrowsAndMarkersShapes["NotchedRightArrow"] = "notchedRightArrow";
|
|
358
|
+
ArrowsAndMarkersShapes["HomePlate"] = "homePlate";
|
|
359
|
+
ArrowsAndMarkersShapes["Chevron"] = "chevron";
|
|
360
|
+
ArrowsAndMarkersShapes["LeftCircularArrow"] = "leftCircularArrow";
|
|
361
|
+
ArrowsAndMarkersShapes["LeftRightCircularArrow"] = "leftRightCircularArrow";
|
|
362
|
+
return ArrowsAndMarkersShapes;
|
|
363
|
+
}({});
|
|
364
|
+
let OtherShapes = /* @__PURE__ */ function(OtherShapes) {
|
|
365
|
+
OtherShapes["Plaque"] = "plaque";
|
|
366
|
+
OtherShapes["Can"] = "can";
|
|
367
|
+
OtherShapes["Cube"] = "cube";
|
|
368
|
+
OtherShapes["Bevel"] = "bevel";
|
|
369
|
+
OtherShapes["Donut"] = "donut";
|
|
370
|
+
OtherShapes["NoSmoking"] = "noSmoking";
|
|
371
|
+
OtherShapes["BlockArc"] = "blockArc";
|
|
372
|
+
OtherShapes["FoldedCorner"] = "foldedCorner";
|
|
373
|
+
return OtherShapes;
|
|
374
|
+
}({});
|
|
375
|
+
let SpecialShapes = /* @__PURE__ */ function(SpecialShapes) {
|
|
376
|
+
SpecialShapes["SmileyFace"] = "smileyFace";
|
|
377
|
+
SpecialShapes["Heart"] = "heart";
|
|
378
|
+
SpecialShapes["LightningBolt"] = "lightningBolt";
|
|
379
|
+
SpecialShapes["Sun"] = "sun";
|
|
380
|
+
SpecialShapes["Moon"] = "moon";
|
|
381
|
+
SpecialShapes["Cloud"] = "cloud";
|
|
382
|
+
SpecialShapes["Arc"] = "arc";
|
|
383
|
+
SpecialShapes["Backpack"] = "backpack";
|
|
384
|
+
SpecialShapes["Frame"] = "frame";
|
|
385
|
+
SpecialShapes["HalfFrame"] = "halfFrame";
|
|
386
|
+
SpecialShapes["Corner"] = "corner";
|
|
387
|
+
SpecialShapes["Chord"] = "chord";
|
|
388
|
+
SpecialShapes["Pie"] = "pie";
|
|
389
|
+
SpecialShapes["Teardrop"] = "teardrop";
|
|
390
|
+
SpecialShapes["WedgeRectCallout"] = "wedgeRectCallout";
|
|
391
|
+
SpecialShapes["WedgeRRectCallout"] = "wedgeRRectCallout";
|
|
392
|
+
SpecialShapes["WedgeEllipseCallout"] = "wedgeEllipseCallout";
|
|
393
|
+
SpecialShapes["CloudCallout"] = "cloudCallout";
|
|
394
|
+
SpecialShapes["BorderCallout1"] = "borderCallout1";
|
|
395
|
+
SpecialShapes["BorderCallout2"] = "borderCallout2";
|
|
396
|
+
SpecialShapes["BorderCallout3"] = "borderCallout3";
|
|
397
|
+
SpecialShapes["AccentCallout1"] = "accentCallout1";
|
|
398
|
+
SpecialShapes["AccentCallout2"] = "accentCallout2";
|
|
399
|
+
SpecialShapes["AccentCallout3"] = "accentCallout3";
|
|
400
|
+
SpecialShapes["Callout1"] = "callout1";
|
|
401
|
+
SpecialShapes["Callout2"] = "callout2";
|
|
402
|
+
SpecialShapes["Callout3"] = "callout3";
|
|
403
|
+
SpecialShapes["ActionButtonBackPrevious"] = "actionButtonBackPrevious";
|
|
404
|
+
SpecialShapes["ActionButtonEnd"] = "actionButtonEnd";
|
|
405
|
+
SpecialShapes["ActionButtonForwardNext"] = "actionButtonForwardNext";
|
|
406
|
+
SpecialShapes["ActionButtonHelp"] = "actionButtonHelp";
|
|
407
|
+
SpecialShapes["ActionButtonHome"] = "actionButtonHome";
|
|
408
|
+
SpecialShapes["ActionButtonInformation"] = "actionButtonInformation";
|
|
409
|
+
SpecialShapes["ActionButtonMovie"] = "actionButtonMovie";
|
|
410
|
+
SpecialShapes["ActionButtonReturn"] = "actionButtonReturn";
|
|
411
|
+
SpecialShapes["ActionButtonSound"] = "actionButtonSound";
|
|
412
|
+
return SpecialShapes;
|
|
413
|
+
}({});
|
|
414
|
+
|
|
415
|
+
//#endregion
|
|
416
|
+
//#region src/views/render/adaptor.ts
|
|
417
|
+
var ObjectAdaptor = class {
|
|
418
|
+
constructor() {
|
|
419
|
+
_defineProperty(this, "zIndex", 0);
|
|
420
|
+
_defineProperty(this, "viewKey", null);
|
|
421
|
+
}
|
|
422
|
+
check(type) {
|
|
423
|
+
if (type !== this.viewKey) return;
|
|
424
|
+
return this;
|
|
425
|
+
}
|
|
426
|
+
create(injector) {}
|
|
427
|
+
};
|
|
428
|
+
const CanvasObjectProviderRegistry = Registry.create();
|
|
429
|
+
|
|
430
|
+
//#endregion
|
|
431
|
+
//#region src/views/render/adaptors/docs-adaptor.ts
|
|
432
|
+
let DOCS_VIEW_KEY = /* @__PURE__ */ function(DOCS_VIEW_KEY) {
|
|
433
|
+
DOCS_VIEW_KEY["MAIN"] = "__DocsRender__";
|
|
434
|
+
DOCS_VIEW_KEY["SCENE_VIEWER"] = "__DocsViewer__";
|
|
435
|
+
DOCS_VIEW_KEY["SCENE"] = "__DocsScene__";
|
|
436
|
+
DOCS_VIEW_KEY["VIEWPORT"] = "__DocsViewPort_";
|
|
437
|
+
return DOCS_VIEW_KEY;
|
|
438
|
+
}({});
|
|
439
|
+
let DocsAdaptor = class DocsAdaptor extends ObjectAdaptor {
|
|
440
|
+
constructor(_localeService) {
|
|
441
|
+
super();
|
|
442
|
+
this._localeService = _localeService;
|
|
443
|
+
_defineProperty(this, "zIndex", 5);
|
|
444
|
+
_defineProperty(this, "viewKey", PageElementType.DOCUMENT);
|
|
445
|
+
_defineProperty(this, "_liquid", new Liquid());
|
|
446
|
+
}
|
|
447
|
+
check(type) {
|
|
448
|
+
if (type !== this.viewKey) return;
|
|
449
|
+
return this;
|
|
450
|
+
}
|
|
451
|
+
convert(pageElement, mainScene) {
|
|
452
|
+
var _documents$getSkeleto, _scene$getTransformer;
|
|
453
|
+
const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, document: documentData } = pageElement;
|
|
454
|
+
if (documentData == null) return;
|
|
455
|
+
const docViewModel = new DocumentViewModel(new DocumentDataModel(documentData));
|
|
456
|
+
const documentSkeleton = DocumentSkeleton.create(docViewModel, this._localeService);
|
|
457
|
+
const documents = new Documents(DOCS_VIEW_KEY.MAIN, documentSkeleton);
|
|
458
|
+
documentSkeleton.calculate();
|
|
459
|
+
const sv = new SceneViewer(DOCS_VIEW_KEY.SCENE_VIEWER + id, {
|
|
460
|
+
top,
|
|
461
|
+
left,
|
|
462
|
+
width,
|
|
463
|
+
height,
|
|
464
|
+
zIndex,
|
|
465
|
+
angle,
|
|
466
|
+
scaleX,
|
|
467
|
+
scaleY,
|
|
468
|
+
skewX,
|
|
469
|
+
skewY,
|
|
470
|
+
flipX,
|
|
471
|
+
flipY
|
|
472
|
+
});
|
|
473
|
+
const scene = new Scene(DOCS_VIEW_KEY.SCENE + id, sv);
|
|
474
|
+
const viewMain = new Viewport(DOCS_VIEW_KEY.VIEWPORT + id, scene, {
|
|
475
|
+
left: 0,
|
|
476
|
+
top: 0,
|
|
477
|
+
bottom: 0,
|
|
478
|
+
right: 0,
|
|
479
|
+
explicitViewportWidthSet: false,
|
|
480
|
+
explicitViewportHeightSet: false,
|
|
481
|
+
isWheelPreventDefaultX: true
|
|
482
|
+
});
|
|
483
|
+
scene.attachControl();
|
|
484
|
+
scene.onMouseWheel$.subscribeEvent((evt, state) => {
|
|
485
|
+
const e = evt;
|
|
486
|
+
if (e.ctrlKey) {
|
|
487
|
+
const deltaFactor = Math.abs(e.deltaX);
|
|
488
|
+
let scrollNum = deltaFactor < 40 ? .2 : deltaFactor < 80 ? .4 : .2;
|
|
489
|
+
scrollNum *= e.deltaY > 0 ? -1 : 1;
|
|
490
|
+
if (scene.scaleX < 1) scrollNum /= 2;
|
|
491
|
+
if (scene.scaleX + scrollNum > 4) scene.scale(4, 4);
|
|
492
|
+
else if (scene.scaleX + scrollNum < .1) scene.scale(.1, .1);
|
|
493
|
+
else {
|
|
494
|
+
e.deltaY;
|
|
495
|
+
e.preventDefault();
|
|
496
|
+
}
|
|
497
|
+
} else viewMain.onMouseWheel(e, state);
|
|
498
|
+
});
|
|
499
|
+
new ScrollBar(viewMain, { mainScene });
|
|
500
|
+
scene.addObject(documents);
|
|
501
|
+
const size = documentSkeleton.getActualSize();
|
|
502
|
+
documents.resize(size.actualWidth, size.actualHeight);
|
|
503
|
+
scene.resize(size.actualWidth, size.actualHeight + 200);
|
|
504
|
+
(_documents$getSkeleto = documents.getSkeleton()) === null || _documents$getSkeleto === void 0 || _documents$getSkeleto.getPageSize();
|
|
505
|
+
documents.pageRender$.subscribe((config) => {
|
|
506
|
+
const { page, pageLeft, pageTop, ctx } = config;
|
|
507
|
+
const { width, height, marginBottom, marginLeft, marginRight, marginTop } = page;
|
|
508
|
+
ctx.save();
|
|
509
|
+
ctx.translate(pageLeft - .5, pageTop - .5);
|
|
510
|
+
ctx.restore();
|
|
511
|
+
});
|
|
512
|
+
const { left: docsLeft, top: docsTop } = documents;
|
|
513
|
+
const skeletonData = documentSkeleton.getSkeletonData();
|
|
514
|
+
if (skeletonData == null) return;
|
|
515
|
+
const { pages } = skeletonData;
|
|
516
|
+
const objectList = [];
|
|
517
|
+
const pageMarginCache = /* @__PURE__ */ new Map();
|
|
518
|
+
this._recalculateSizeBySkeleton(documents, scene, documentSkeleton);
|
|
519
|
+
for (let i = 0, len = pages.length; i < len; i++) {
|
|
520
|
+
const page = pages[i];
|
|
521
|
+
const { skeDrawings, marginLeft, marginTop, pageWidth, pageHeight } = page;
|
|
522
|
+
this._liquid.translatePagePadding(page);
|
|
523
|
+
skeDrawings.forEach((drawing) => {
|
|
524
|
+
const { aLeft, aTop, height, width, drawingOrigin } = drawing;
|
|
525
|
+
const { docTransform } = drawingOrigin;
|
|
526
|
+
const rect = new Image(drawing.drawingId, {
|
|
527
|
+
left: aLeft + docsLeft + this._liquid.x,
|
|
528
|
+
top: aTop + docsTop + this._liquid.y,
|
|
529
|
+
width,
|
|
530
|
+
height,
|
|
531
|
+
zIndex: 11
|
|
532
|
+
});
|
|
533
|
+
pageMarginCache.set(drawing.drawingId, {
|
|
534
|
+
marginLeft: this._liquid.x,
|
|
535
|
+
marginTop: this._liquid.y
|
|
536
|
+
});
|
|
537
|
+
objectList.push(rect);
|
|
538
|
+
});
|
|
539
|
+
this._liquid.translatePage(page, documents.pageLayoutType, documents.pageMarginLeft, documents.pageMarginTop);
|
|
540
|
+
}
|
|
541
|
+
scene.addObjects(objectList);
|
|
542
|
+
objectList.forEach((object) => {
|
|
543
|
+
scene.attachTransformerTo(object);
|
|
544
|
+
});
|
|
545
|
+
(_scene$getTransformer = scene.getTransformer()) === null || _scene$getTransformer === void 0 || _scene$getTransformer.changing$.subscribe((state) => {
|
|
546
|
+
const { objects } = state;
|
|
547
|
+
objects.forEach((object) => {
|
|
548
|
+
const { oKey, left, top, height, width } = object;
|
|
549
|
+
const cache = pageMarginCache.get(oKey);
|
|
550
|
+
const marginLeft = (cache === null || cache === void 0 ? void 0 : cache.marginLeft) || 0;
|
|
551
|
+
const marginTop = (cache === null || cache === void 0 ? void 0 : cache.marginTop) || 0;
|
|
552
|
+
documentSkeleton === null || documentSkeleton === void 0 || documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey, {
|
|
553
|
+
left: left - docsLeft - marginLeft,
|
|
554
|
+
top: top - docsTop - marginTop,
|
|
555
|
+
height,
|
|
556
|
+
width
|
|
557
|
+
});
|
|
558
|
+
});
|
|
559
|
+
documentSkeleton === null || documentSkeleton === void 0 || documentSkeleton.calculate();
|
|
560
|
+
});
|
|
561
|
+
this._calculatePagePosition(documents, scene, viewMain);
|
|
562
|
+
return sv;
|
|
563
|
+
}
|
|
564
|
+
_recalculateSizeBySkeleton(docsComponent, scene, skeleton) {
|
|
565
|
+
var _skeleton$getSkeleton;
|
|
566
|
+
const pages = (_skeleton$getSkeleton = skeleton.getSkeletonData()) === null || _skeleton$getSkeleton === void 0 ? void 0 : _skeleton$getSkeleton.pages;
|
|
567
|
+
if (pages == null) return;
|
|
568
|
+
let width = 0;
|
|
569
|
+
let height = 0;
|
|
570
|
+
for (let i = 0, len = pages.length; i < len; i++) {
|
|
571
|
+
const { pageWidth, pageHeight } = pages[i];
|
|
572
|
+
if (docsComponent.pageLayoutType === PageLayoutType.VERTICAL) {
|
|
573
|
+
height += pageHeight;
|
|
574
|
+
height += docsComponent.pageMarginTop;
|
|
575
|
+
if (i === len - 1) height += docsComponent.pageMarginTop;
|
|
576
|
+
width = Math.max(width, pageWidth);
|
|
577
|
+
} else if (docsComponent.pageLayoutType === PageLayoutType.HORIZONTAL) {
|
|
578
|
+
width += pageWidth;
|
|
579
|
+
if (i !== len - 1) width += docsComponent.pageMarginLeft;
|
|
580
|
+
height = Math.max(height, pageHeight);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
docsComponent.resize(width, height);
|
|
584
|
+
scene.resize(width, height);
|
|
585
|
+
}
|
|
586
|
+
_calculatePagePosition(docsComponent, scene, viewport, zoomRatio = 1) {
|
|
587
|
+
const parent = scene === null || scene === void 0 ? void 0 : scene.getParent();
|
|
588
|
+
const { width: docsWidth, height: docsHeight, pageMarginLeft, pageMarginTop } = docsComponent;
|
|
589
|
+
if (parent == null || docsWidth === Number.POSITIVE_INFINITY || docsHeight === Number.POSITIVE_INFINITY) return;
|
|
590
|
+
const { width: engineWidth, height: engineHeight } = parent;
|
|
591
|
+
let docsLeft = 0;
|
|
592
|
+
let docsTop = 0;
|
|
593
|
+
let sceneWidth = 0;
|
|
594
|
+
let sceneHeight = 0;
|
|
595
|
+
let scrollToX = Number.POSITIVE_INFINITY;
|
|
596
|
+
if (engineWidth > (docsWidth + pageMarginLeft * 2) * zoomRatio) {
|
|
597
|
+
docsLeft = engineWidth / 2 - docsWidth * zoomRatio / 2;
|
|
598
|
+
docsLeft /= zoomRatio;
|
|
599
|
+
sceneWidth = (engineWidth - pageMarginLeft * 2) / zoomRatio;
|
|
600
|
+
scrollToX = 0;
|
|
601
|
+
} else {
|
|
602
|
+
docsLeft = pageMarginLeft;
|
|
603
|
+
sceneWidth = docsWidth + pageMarginLeft * 2;
|
|
604
|
+
scrollToX = (sceneWidth - engineWidth / zoomRatio) / 2;
|
|
605
|
+
}
|
|
606
|
+
if (engineHeight > docsHeight) {
|
|
607
|
+
docsTop = engineHeight / 2 - docsHeight / 2;
|
|
608
|
+
sceneHeight = (engineHeight - pageMarginTop * 2) / zoomRatio;
|
|
609
|
+
} else {
|
|
610
|
+
docsTop = pageMarginTop;
|
|
611
|
+
sceneHeight = docsHeight + pageMarginTop * 2;
|
|
612
|
+
}
|
|
613
|
+
scene.resize(sceneWidth, sceneHeight + 200);
|
|
614
|
+
docsComponent.translate(docsLeft, docsTop);
|
|
615
|
+
if (scrollToX !== Number.POSITIVE_INFINITY && viewport != null) {
|
|
616
|
+
const actualX = viewport.transScroll2ViewportScrollValue(scrollToX, 0).x;
|
|
617
|
+
viewport.scrollToBarPos({ x: actualX });
|
|
618
|
+
}
|
|
619
|
+
return this;
|
|
620
|
+
}
|
|
621
|
+
};
|
|
622
|
+
DocsAdaptor = __decorate([__decorateParam(0, Inject(LocaleService))], DocsAdaptor);
|
|
623
|
+
var DocsAdaptorFactory = class {
|
|
624
|
+
constructor() {
|
|
625
|
+
_defineProperty(this, "zIndex", 5);
|
|
626
|
+
}
|
|
627
|
+
create(injector) {
|
|
628
|
+
return injector.createInstance(DocsAdaptor);
|
|
629
|
+
}
|
|
630
|
+
};
|
|
631
|
+
CanvasObjectProviderRegistry.add(new DocsAdaptorFactory());
|
|
632
|
+
|
|
633
|
+
//#endregion
|
|
634
|
+
//#region src/views/render/adaptors/image-adaptor.ts
|
|
635
|
+
var ImageAdaptor = class extends ObjectAdaptor {
|
|
636
|
+
constructor(..._args) {
|
|
637
|
+
super(..._args);
|
|
638
|
+
_defineProperty(this, "zIndex", 1);
|
|
639
|
+
_defineProperty(this, "viewKey", PageElementType.IMAGE);
|
|
640
|
+
}
|
|
641
|
+
check(type) {
|
|
642
|
+
if (type !== this.viewKey) return;
|
|
643
|
+
return this;
|
|
644
|
+
}
|
|
645
|
+
convert(pageElement) {
|
|
646
|
+
const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, image = {} } = pageElement;
|
|
647
|
+
const { imageProperties, placeholder, link } = image;
|
|
648
|
+
return new Image(id, {
|
|
649
|
+
url: (imageProperties === null || imageProperties === void 0 ? void 0 : imageProperties.contentUrl) || "",
|
|
650
|
+
top,
|
|
651
|
+
left,
|
|
652
|
+
width,
|
|
653
|
+
height,
|
|
654
|
+
zIndex,
|
|
655
|
+
angle,
|
|
656
|
+
scaleX,
|
|
657
|
+
scaleY,
|
|
658
|
+
skewX,
|
|
659
|
+
skewY,
|
|
660
|
+
flipX,
|
|
661
|
+
flipY,
|
|
662
|
+
forceRender: true
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
};
|
|
666
|
+
var ImageAdaptorFactory = class {
|
|
667
|
+
constructor() {
|
|
668
|
+
_defineProperty(this, "zIndex", 4);
|
|
669
|
+
}
|
|
670
|
+
create(injector) {
|
|
671
|
+
return injector.createInstance(ImageAdaptor);
|
|
672
|
+
}
|
|
673
|
+
};
|
|
674
|
+
CanvasObjectProviderRegistry.add(new ImageAdaptorFactory());
|
|
675
|
+
|
|
676
|
+
//#endregion
|
|
677
|
+
//#region src/views/render/adaptors/rich-text-adaptor.ts
|
|
678
|
+
let RichTextAdaptor = class RichTextAdaptor extends ObjectAdaptor {
|
|
679
|
+
constructor(_localeService) {
|
|
680
|
+
super();
|
|
681
|
+
this._localeService = _localeService;
|
|
682
|
+
_defineProperty(this, "zIndex", 2);
|
|
683
|
+
_defineProperty(this, "viewKey", PageElementType.TEXT);
|
|
684
|
+
}
|
|
685
|
+
check(type) {
|
|
686
|
+
if (type !== this.viewKey) return;
|
|
687
|
+
return this;
|
|
688
|
+
}
|
|
689
|
+
convert(pageElement, _mainScene) {
|
|
690
|
+
const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, richText = {} } = pageElement;
|
|
691
|
+
const { text, ff, fs, it, bl, ul, st, ol, bg, bd, cl, rich } = richText;
|
|
692
|
+
let config = {
|
|
693
|
+
top,
|
|
694
|
+
left,
|
|
695
|
+
width,
|
|
696
|
+
height,
|
|
697
|
+
zIndex,
|
|
698
|
+
angle,
|
|
699
|
+
scaleX,
|
|
700
|
+
scaleY,
|
|
701
|
+
skewX,
|
|
702
|
+
skewY,
|
|
703
|
+
flipX,
|
|
704
|
+
flipY,
|
|
705
|
+
forceRender: true
|
|
706
|
+
};
|
|
707
|
+
let isNotNull = false;
|
|
708
|
+
if (text != null) {
|
|
709
|
+
config = {
|
|
710
|
+
...config,
|
|
711
|
+
text,
|
|
712
|
+
ff,
|
|
713
|
+
fs,
|
|
714
|
+
it,
|
|
715
|
+
bl,
|
|
716
|
+
ul,
|
|
717
|
+
st,
|
|
718
|
+
ol,
|
|
719
|
+
bg,
|
|
720
|
+
bd,
|
|
721
|
+
cl
|
|
722
|
+
};
|
|
723
|
+
isNotNull = true;
|
|
724
|
+
} else if (rich != null) {
|
|
725
|
+
config = {
|
|
726
|
+
...config,
|
|
727
|
+
richText: rich
|
|
728
|
+
};
|
|
729
|
+
isNotNull = true;
|
|
730
|
+
}
|
|
731
|
+
if (isNotNull === false) return;
|
|
732
|
+
return new RichText(this._localeService, id, config);
|
|
733
|
+
}
|
|
734
|
+
};
|
|
735
|
+
RichTextAdaptor = __decorate([__decorateParam(0, Inject(LocaleService))], RichTextAdaptor);
|
|
736
|
+
var RichTextAdaptorFactory = class {
|
|
737
|
+
constructor() {
|
|
738
|
+
_defineProperty(this, "zIndex", 0);
|
|
739
|
+
}
|
|
740
|
+
create(injector) {
|
|
741
|
+
return injector.createInstance(RichTextAdaptor);
|
|
742
|
+
}
|
|
743
|
+
};
|
|
744
|
+
CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory());
|
|
745
|
+
|
|
746
|
+
//#endregion
|
|
747
|
+
//#region src/views/render/adaptors/shape-adaptor.ts
|
|
748
|
+
var ShapeAdaptor = class extends ObjectAdaptor {
|
|
749
|
+
constructor(..._args) {
|
|
750
|
+
super(..._args);
|
|
751
|
+
_defineProperty(this, "zIndex", 2);
|
|
752
|
+
_defineProperty(this, "viewKey", PageElementType.SHAPE);
|
|
753
|
+
}
|
|
754
|
+
check(type) {
|
|
755
|
+
if (type !== this.viewKey) return;
|
|
756
|
+
return this;
|
|
757
|
+
}
|
|
758
|
+
convert(pageElement) {
|
|
759
|
+
const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description } = pageElement;
|
|
760
|
+
const { shapeType, text, shapeProperties, placeholder, link } = pageElement.shape || {};
|
|
761
|
+
const fill = shapeProperties == null ? "" : getColorStyle(shapeProperties.shapeBackgroundFill) || "rgba(255,255,255,1)";
|
|
762
|
+
const outline = shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.outline;
|
|
763
|
+
const strokeStyle = {};
|
|
764
|
+
if (outline) {
|
|
765
|
+
const { outlineFill, weight } = outline;
|
|
766
|
+
strokeStyle.strokeWidth = weight;
|
|
767
|
+
strokeStyle.stroke = getColorStyle(outlineFill) || "rgba(0,0,0,1)";
|
|
768
|
+
}
|
|
769
|
+
if (shapeType === BasicShapes.Rect) return new Rect(id, {
|
|
770
|
+
fill,
|
|
771
|
+
top,
|
|
772
|
+
left,
|
|
773
|
+
width,
|
|
774
|
+
height,
|
|
775
|
+
zIndex,
|
|
776
|
+
angle,
|
|
777
|
+
scaleX,
|
|
778
|
+
scaleY,
|
|
779
|
+
skewX,
|
|
780
|
+
skewY,
|
|
781
|
+
flipX,
|
|
782
|
+
flipY,
|
|
783
|
+
forceRender: true,
|
|
784
|
+
...strokeStyle
|
|
785
|
+
});
|
|
786
|
+
if (shapeType === BasicShapes.RoundRect) return new Rect(id, {
|
|
787
|
+
fill,
|
|
788
|
+
top,
|
|
789
|
+
left,
|
|
790
|
+
width,
|
|
791
|
+
height,
|
|
792
|
+
zIndex,
|
|
793
|
+
angle,
|
|
794
|
+
scaleX,
|
|
795
|
+
scaleY,
|
|
796
|
+
skewX,
|
|
797
|
+
skewY,
|
|
798
|
+
flipX,
|
|
799
|
+
flipY,
|
|
800
|
+
forceRender: true,
|
|
801
|
+
radius: (shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.radius) || 0,
|
|
802
|
+
...strokeStyle
|
|
803
|
+
});
|
|
804
|
+
if (shapeType === BasicShapes.Ellipse) {
|
|
805
|
+
console.warn(shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.radius);
|
|
806
|
+
return new Circle(id, {
|
|
807
|
+
fill,
|
|
808
|
+
top,
|
|
809
|
+
left,
|
|
810
|
+
width,
|
|
811
|
+
height,
|
|
812
|
+
zIndex,
|
|
813
|
+
angle,
|
|
814
|
+
scaleX,
|
|
815
|
+
scaleY,
|
|
816
|
+
skewX,
|
|
817
|
+
skewY,
|
|
818
|
+
flipX,
|
|
819
|
+
flipY,
|
|
820
|
+
forceRender: true,
|
|
821
|
+
radius: (shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.radius) || 0,
|
|
822
|
+
...strokeStyle
|
|
823
|
+
});
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
};
|
|
827
|
+
var ShapeAdaptorFactory = class {
|
|
828
|
+
constructor() {
|
|
829
|
+
_defineProperty(this, "zIndex", 2);
|
|
830
|
+
}
|
|
831
|
+
create(injector) {
|
|
832
|
+
return injector.createInstance(ShapeAdaptor);
|
|
833
|
+
}
|
|
834
|
+
};
|
|
835
|
+
CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory());
|
|
836
|
+
|
|
837
|
+
//#endregion
|
|
838
|
+
//#region src/views/render/object-provider.ts
|
|
839
|
+
let ObjectProvider = class ObjectProvider {
|
|
840
|
+
constructor(_injector) {
|
|
841
|
+
this._injector = _injector;
|
|
842
|
+
_defineProperty(this, "_adaptors", []);
|
|
843
|
+
this._adaptorLoader();
|
|
844
|
+
}
|
|
845
|
+
convertToRenderObjects(pageElements, mainScene) {
|
|
846
|
+
const pageKeys = Object.keys(pageElements);
|
|
847
|
+
const objects = [];
|
|
848
|
+
pageKeys.forEach((key) => {
|
|
849
|
+
const pageElement = pageElements[key];
|
|
850
|
+
const o = this._executor(pageElement, mainScene);
|
|
851
|
+
if (o != null) objects.push(o);
|
|
852
|
+
});
|
|
853
|
+
return objects;
|
|
854
|
+
}
|
|
855
|
+
convertToRenderObject(pageElement, mainScene) {
|
|
856
|
+
return this._executor(pageElement, mainScene);
|
|
857
|
+
}
|
|
858
|
+
_executor(pageElement, mainScene) {
|
|
859
|
+
const { id: pageElementId, type } = pageElement;
|
|
860
|
+
for (const adaptor of this._adaptors) {
|
|
861
|
+
var _adaptor$check;
|
|
862
|
+
const o = (_adaptor$check = adaptor.check(type)) === null || _adaptor$check === void 0 ? void 0 : _adaptor$check.convert(pageElement, mainScene);
|
|
863
|
+
if (o != null) return o;
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
_adaptorLoader() {
|
|
867
|
+
CanvasObjectProviderRegistry.getData().sort(sortRules).forEach((adaptorFactory) => {
|
|
868
|
+
this._adaptors.push(adaptorFactory.create(this._injector));
|
|
869
|
+
});
|
|
870
|
+
}
|
|
871
|
+
};
|
|
872
|
+
ObjectProvider = __decorate([__decorateParam(0, Inject(Injector))], ObjectProvider);
|
|
873
|
+
|
|
874
|
+
//#endregion
|
|
875
|
+
//#region src/views/render/adaptors/slide-adaptor.ts
|
|
876
|
+
let SLIDE_VIEW_KEY = /* @__PURE__ */ function(SLIDE_VIEW_KEY) {
|
|
877
|
+
SLIDE_VIEW_KEY["MAIN"] = "__SLIDERender__";
|
|
878
|
+
SLIDE_VIEW_KEY["SCENE_VIEWER"] = "__SLIDEViewer__";
|
|
879
|
+
SLIDE_VIEW_KEY["SCENE"] = "__SLIDEScene__";
|
|
880
|
+
SLIDE_VIEW_KEY["VIEWPORT"] = "__SLIDEViewPort_";
|
|
881
|
+
return SLIDE_VIEW_KEY;
|
|
882
|
+
}({});
|
|
883
|
+
let SlideAdaptor = class SlideAdaptor extends ObjectAdaptor {
|
|
884
|
+
constructor(_injector) {
|
|
885
|
+
super();
|
|
886
|
+
this._injector = _injector;
|
|
887
|
+
_defineProperty(this, "zIndex", 6);
|
|
888
|
+
_defineProperty(this, "viewKey", PageElementType.SLIDE);
|
|
889
|
+
_defineProperty(this, "_ObjectProvider", null);
|
|
890
|
+
}
|
|
891
|
+
check(type) {
|
|
892
|
+
if (type !== this.viewKey) return;
|
|
893
|
+
return this;
|
|
894
|
+
}
|
|
895
|
+
convert(pageElement, mainScene) {
|
|
896
|
+
const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, slide: slideData } = pageElement;
|
|
897
|
+
if (slideData == null) return;
|
|
898
|
+
const model = new SlideDataModel(slideData);
|
|
899
|
+
const slideComponent = new Slide(SLIDE_VIEW_KEY.MAIN + id, {
|
|
900
|
+
top,
|
|
901
|
+
left,
|
|
902
|
+
width,
|
|
903
|
+
height,
|
|
904
|
+
zIndex,
|
|
905
|
+
angle,
|
|
906
|
+
scaleX,
|
|
907
|
+
scaleY,
|
|
908
|
+
skewX,
|
|
909
|
+
skewY,
|
|
910
|
+
flipX,
|
|
911
|
+
flipY,
|
|
912
|
+
forceRender: true
|
|
913
|
+
});
|
|
914
|
+
slideComponent.enableNav();
|
|
915
|
+
slideComponent.enableSelectedClipElement();
|
|
916
|
+
const pageOrder = model.getPageOrder();
|
|
917
|
+
const pages = model.getPages();
|
|
918
|
+
if (!pageOrder || !pages) return slideComponent;
|
|
919
|
+
this._ObjectProvider = new ObjectProvider(this._injector);
|
|
920
|
+
for (let i = 0, len = pageOrder.length; i < len; i++) {
|
|
921
|
+
const page = pages[pageOrder[i]];
|
|
922
|
+
const { id } = page;
|
|
923
|
+
slideComponent.addPageScene(this._createScene(id, slideComponent, page, mainScene, model));
|
|
924
|
+
}
|
|
925
|
+
slideComponent.activeFirstPage();
|
|
926
|
+
return slideComponent;
|
|
927
|
+
}
|
|
928
|
+
_createScene(pageId, parent, page, mainScene, model) {
|
|
929
|
+
var _this$_ObjectProvider;
|
|
930
|
+
const { width, height } = parent;
|
|
931
|
+
const scene = new Scene(pageId, parent, {
|
|
932
|
+
width,
|
|
933
|
+
height
|
|
934
|
+
});
|
|
935
|
+
new Viewport(`PageViewer_${pageId}`, scene, {
|
|
936
|
+
left: 0,
|
|
937
|
+
top: 0,
|
|
938
|
+
bottom: 0,
|
|
939
|
+
right: 0,
|
|
940
|
+
explicitViewportWidthSet: false,
|
|
941
|
+
explicitViewportHeightSet: false
|
|
942
|
+
}).closeClip();
|
|
943
|
+
const { pageElements, pageBackgroundFill } = page;
|
|
944
|
+
const objects = (_this$_ObjectProvider = this._ObjectProvider) === null || _this$_ObjectProvider === void 0 ? void 0 : _this$_ObjectProvider.convertToRenderObjects(pageElements, mainScene);
|
|
945
|
+
this._addBackgroundRect(scene, pageBackgroundFill, model);
|
|
946
|
+
scene.addObjects(objects);
|
|
947
|
+
objects === null || objects === void 0 || objects.forEach((object) => {
|
|
948
|
+
scene.attachTransformerTo(object);
|
|
949
|
+
});
|
|
950
|
+
return scene;
|
|
951
|
+
}
|
|
952
|
+
_addBackgroundRect(scene, fill, model) {
|
|
953
|
+
const { width: pageWidth = 0, height: pageHeight = 0 } = model.getPageSize();
|
|
954
|
+
const page = new Rect("canvas", {
|
|
955
|
+
left: 0,
|
|
956
|
+
top: 0,
|
|
957
|
+
width: pageWidth,
|
|
958
|
+
height: pageHeight,
|
|
959
|
+
strokeWidth: 1,
|
|
960
|
+
stroke: "rgba(198,198,198, 1)",
|
|
961
|
+
fill: getColorStyle(fill) || "rgba(255,255,255, 1)",
|
|
962
|
+
zIndex: 0,
|
|
963
|
+
evented: false
|
|
964
|
+
});
|
|
965
|
+
scene.addObject(page, 0);
|
|
966
|
+
}
|
|
967
|
+
};
|
|
968
|
+
SlideAdaptor = __decorate([__decorateParam(0, Inject(Injector))], SlideAdaptor);
|
|
969
|
+
var SlideAdaptorFactory = class {
|
|
970
|
+
constructor() {
|
|
971
|
+
_defineProperty(this, "zIndex", 6);
|
|
972
|
+
}
|
|
973
|
+
create(injector) {
|
|
974
|
+
return injector.createInstance(SlideAdaptor);
|
|
975
|
+
}
|
|
976
|
+
};
|
|
977
|
+
CanvasObjectProviderRegistry.add(new SlideAdaptorFactory());
|
|
978
|
+
|
|
979
|
+
//#endregion
|
|
980
|
+
//#region src/views/render/adaptors/spreadsheet-adaptor.ts
|
|
981
|
+
var SHEET_VIEW_KEY = /* @__PURE__ */ function(SHEET_VIEW_KEY) {
|
|
982
|
+
SHEET_VIEW_KEY["MAIN"] = "spreadInSlide";
|
|
983
|
+
SHEET_VIEW_KEY["SCENE"] = "spreadInSlideScene";
|
|
984
|
+
SHEET_VIEW_KEY["SCENE_VIEWER"] = "spreadInSlideSceneViewer";
|
|
985
|
+
SHEET_VIEW_KEY["ROW"] = "spreadInSlideRow";
|
|
986
|
+
SHEET_VIEW_KEY["COLUMN"] = "spreadInSlideColumn";
|
|
987
|
+
SHEET_VIEW_KEY["LEFT_TOP"] = "spreadInSlideLeftTop";
|
|
988
|
+
SHEET_VIEW_KEY["VIEW_MAIN"] = "spreadInSlideViewMain";
|
|
989
|
+
SHEET_VIEW_KEY["VIEW_TOP"] = "spreadInSlideViewTop";
|
|
990
|
+
SHEET_VIEW_KEY["VIEW_LEFT"] = "spreadInSlideViewLeft";
|
|
991
|
+
SHEET_VIEW_KEY["VIEW_LEFT_TOP"] = "spreadInSlideViewLeftTop";
|
|
992
|
+
return SHEET_VIEW_KEY;
|
|
993
|
+
}(SHEET_VIEW_KEY || {});
|
|
994
|
+
let SpreadsheetAdaptor = class SpreadsheetAdaptor extends ObjectAdaptor {
|
|
995
|
+
constructor(_localeService, _contextService, _configService, _injector) {
|
|
996
|
+
super();
|
|
997
|
+
this._localeService = _localeService;
|
|
998
|
+
this._contextService = _contextService;
|
|
999
|
+
this._configService = _configService;
|
|
1000
|
+
this._injector = _injector;
|
|
1001
|
+
_defineProperty(this, "zIndex", 4);
|
|
1002
|
+
_defineProperty(this, "viewKey", PageElementType.SPREADSHEET);
|
|
1003
|
+
}
|
|
1004
|
+
check(type) {
|
|
1005
|
+
if (type !== this.viewKey) return;
|
|
1006
|
+
return this;
|
|
1007
|
+
}
|
|
1008
|
+
convert(pageElement, mainScene) {
|
|
1009
|
+
const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, spreadsheet: spreadsheetModel } = pageElement;
|
|
1010
|
+
if (spreadsheetModel == null) return;
|
|
1011
|
+
const { worksheet, styles } = spreadsheetModel;
|
|
1012
|
+
const styleModel = new Styles(styles);
|
|
1013
|
+
const spreadsheetSkeleton = new SpreadsheetSkeleton(new Worksheet(id, worksheet, styleModel), styleModel, this._localeService, this._contextService, this._configService, this._injector);
|
|
1014
|
+
const { rowTotalHeight, columnTotalWidth, rowHeaderWidth, columnHeaderHeight } = spreadsheetSkeleton;
|
|
1015
|
+
const allWidth = columnTotalWidth + worksheet.rowHeader.width || 0;
|
|
1016
|
+
const allHeight = rowTotalHeight + worksheet.columnHeader.height || 0;
|
|
1017
|
+
const sv = new SceneViewer(SHEET_VIEW_KEY.SCENE_VIEWER + id, {
|
|
1018
|
+
top,
|
|
1019
|
+
left,
|
|
1020
|
+
width,
|
|
1021
|
+
height,
|
|
1022
|
+
zIndex,
|
|
1023
|
+
angle,
|
|
1024
|
+
scaleX,
|
|
1025
|
+
scaleY,
|
|
1026
|
+
skewX,
|
|
1027
|
+
skewY,
|
|
1028
|
+
flipX,
|
|
1029
|
+
flipY,
|
|
1030
|
+
forceRender: true
|
|
1031
|
+
});
|
|
1032
|
+
const scene = new Scene(SHEET_VIEW_KEY.SCENE + id, sv, {
|
|
1033
|
+
width: allWidth,
|
|
1034
|
+
height: allHeight
|
|
1035
|
+
});
|
|
1036
|
+
this._updateViewport(id, rowHeaderWidth, columnHeaderHeight, scene, mainScene);
|
|
1037
|
+
const spreadsheet = new Spreadsheet("testSheetViewer", spreadsheetSkeleton, false);
|
|
1038
|
+
const spreadsheetRowHeader = new SpreadsheetRowHeader(SHEET_VIEW_KEY.ROW, spreadsheetSkeleton);
|
|
1039
|
+
const spreadsheetColumnHeader = new SpreadsheetColumnHeader(SHEET_VIEW_KEY.COLUMN, spreadsheetSkeleton);
|
|
1040
|
+
const SpreadsheetLeftTopPlaceholder = new Rect(SHEET_VIEW_KEY.LEFT_TOP, {
|
|
1041
|
+
zIndex: 2,
|
|
1042
|
+
left: -1,
|
|
1043
|
+
top: -1,
|
|
1044
|
+
width: rowHeaderWidth,
|
|
1045
|
+
height: columnHeaderHeight,
|
|
1046
|
+
fill: getColor([
|
|
1047
|
+
248,
|
|
1048
|
+
249,
|
|
1049
|
+
250
|
|
1050
|
+
]),
|
|
1051
|
+
stroke: getColor([
|
|
1052
|
+
217,
|
|
1053
|
+
217,
|
|
1054
|
+
217
|
|
1055
|
+
]),
|
|
1056
|
+
strokeWidth: 1
|
|
1057
|
+
});
|
|
1058
|
+
spreadsheet.zIndex = 10;
|
|
1059
|
+
scene.addObjects([spreadsheet], 1);
|
|
1060
|
+
scene.addObjects([
|
|
1061
|
+
spreadsheetRowHeader,
|
|
1062
|
+
spreadsheetColumnHeader,
|
|
1063
|
+
SpreadsheetLeftTopPlaceholder
|
|
1064
|
+
], 2);
|
|
1065
|
+
return sv;
|
|
1066
|
+
}
|
|
1067
|
+
_updateViewport(id, rowHeaderWidth, columnHeaderHeight, scene, mainScene) {
|
|
1068
|
+
if (mainScene == null) return;
|
|
1069
|
+
const rowHeaderWidthScale = rowHeaderWidth * scene.scaleX;
|
|
1070
|
+
const columnHeaderHeightScale = columnHeaderHeight * scene.scaleY;
|
|
1071
|
+
const viewMain = new Viewport(SHEET_VIEW_KEY.VIEW_MAIN + id, scene, {
|
|
1072
|
+
left: rowHeaderWidthScale,
|
|
1073
|
+
top: columnHeaderHeightScale,
|
|
1074
|
+
bottom: 0,
|
|
1075
|
+
right: 0,
|
|
1076
|
+
explicitViewportWidthSet: false,
|
|
1077
|
+
explicitViewportHeightSet: false,
|
|
1078
|
+
isWheelPreventDefaultX: true
|
|
1079
|
+
});
|
|
1080
|
+
const viewTop = new Viewport(SHEET_VIEW_KEY.VIEW_TOP + id, scene, {
|
|
1081
|
+
left: rowHeaderWidthScale,
|
|
1082
|
+
height: columnHeaderHeightScale,
|
|
1083
|
+
top: 0,
|
|
1084
|
+
right: 0,
|
|
1085
|
+
explicitViewportWidthSet: false,
|
|
1086
|
+
isWheelPreventDefaultX: true
|
|
1087
|
+
});
|
|
1088
|
+
const viewLeft = new Viewport(SHEET_VIEW_KEY.VIEW_LEFT + id, scene, {
|
|
1089
|
+
left: 0,
|
|
1090
|
+
bottom: 0,
|
|
1091
|
+
top: columnHeaderHeightScale,
|
|
1092
|
+
width: rowHeaderWidthScale,
|
|
1093
|
+
explicitViewportHeightSet: false,
|
|
1094
|
+
isWheelPreventDefaultX: true
|
|
1095
|
+
});
|
|
1096
|
+
new Viewport(SHEET_VIEW_KEY.VIEW_LEFT_TOP + id, scene, {
|
|
1097
|
+
left: 0,
|
|
1098
|
+
top: 0,
|
|
1099
|
+
width: rowHeaderWidthScale,
|
|
1100
|
+
height: columnHeaderHeightScale,
|
|
1101
|
+
isWheelPreventDefaultX: true
|
|
1102
|
+
});
|
|
1103
|
+
viewMain.onScrollAfter$.subscribeEvent((param) => {
|
|
1104
|
+
const { scrollX, scrollY, viewportScrollX, viewportScrollY } = param;
|
|
1105
|
+
viewTop.updateScrollVal({
|
|
1106
|
+
scrollX,
|
|
1107
|
+
viewportScrollX
|
|
1108
|
+
});
|
|
1109
|
+
viewLeft.updateScrollVal({
|
|
1110
|
+
scrollY,
|
|
1111
|
+
viewportScrollY
|
|
1112
|
+
});
|
|
1113
|
+
});
|
|
1114
|
+
scene.attachControl();
|
|
1115
|
+
new ScrollBar(viewMain, { mainScene });
|
|
1116
|
+
scene.onMouseWheel$.subscribeEvent((evt, state) => {
|
|
1117
|
+
const e = evt;
|
|
1118
|
+
if (e.ctrlKey) {
|
|
1119
|
+
const deltaFactor = Math.abs(e.deltaX);
|
|
1120
|
+
let scrollNum = deltaFactor < 40 ? .05 : deltaFactor < 80 ? .02 : .01;
|
|
1121
|
+
scrollNum *= e.deltaY > 0 ? -1 : 1;
|
|
1122
|
+
if (scene.scaleX < 1) scrollNum /= 2;
|
|
1123
|
+
if (scene.scaleX + scrollNum > 4) scene.scale(4, 4);
|
|
1124
|
+
else if (scene.scaleX + scrollNum < .1) scene.scale(.1, .1);
|
|
1125
|
+
else {
|
|
1126
|
+
scene.scaleBy(scrollNum, scrollNum);
|
|
1127
|
+
e.preventDefault();
|
|
1128
|
+
}
|
|
1129
|
+
} else viewMain.onMouseWheel(e, state);
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
1132
|
+
};
|
|
1133
|
+
SpreadsheetAdaptor = __decorate([
|
|
1134
|
+
__decorateParam(0, Inject(LocaleService)),
|
|
1135
|
+
__decorateParam(1, IContextService),
|
|
1136
|
+
__decorateParam(2, IConfigService),
|
|
1137
|
+
__decorateParam(3, Inject(Injector))
|
|
1138
|
+
], SpreadsheetAdaptor);
|
|
1139
|
+
var SpreadsheetAdaptorFactory = class {
|
|
1140
|
+
constructor() {
|
|
1141
|
+
_defineProperty(this, "zIndex", 4);
|
|
1142
|
+
}
|
|
1143
|
+
create(injector) {
|
|
1144
|
+
return injector.createInstance(SpreadsheetAdaptor);
|
|
1145
|
+
}
|
|
1146
|
+
};
|
|
1147
|
+
CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory());
|
|
1148
|
+
|
|
1149
|
+
//#endregion
|
|
1150
|
+
//#region src/views/render/index.ts
|
|
1151
|
+
let SLIDE_KEY = /* @__PURE__ */ function(SLIDE_KEY) {
|
|
1152
|
+
SLIDE_KEY["COMPONENT"] = "__slideRender__";
|
|
1153
|
+
SLIDE_KEY["SCENE"] = "__mainScene__";
|
|
1154
|
+
SLIDE_KEY["VIEW"] = "__mainView__";
|
|
1155
|
+
return SLIDE_KEY;
|
|
1156
|
+
}({});
|
|
1157
|
+
|
|
1158
|
+
//#endregion
|
|
1159
|
+
export { ArrowsAndMarkersShapes, BasicShapes, CanvasObjectProviderRegistry, DEFAULT_SLIDE, ObjectAdaptor, ObjectProvider, OtherShapes, PageElementType, PageType, RelativeSlideLink, SLIDE_KEY, SLIDE_VIEW_KEY, SlideDataModel, SpecialShapes, UniverSlidesPlugin };
|