@univerjs/slides 0.1.7 → 0.1.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/cjs/index.js +1 -1
- package/lib/es/index.js +261 -264
- package/lib/types/slides-plugin.d.ts +5 -5
- package/lib/types/views/render/canvas-view.d.ts +2 -2
- package/lib/umd/index.js +1 -1
- package/package.json +10 -10
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var pe=Object.defineProperty;var _e=(s,r,e)=>r in s?pe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[r]=e;var f=(s,r,e)=>(_e(s,typeof r!="symbol"?r+"":r,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@univerjs/core"),l=require("@univerjs/engine-render"),M=require("@wendellhu/redi"),ce=require("rxjs"),fe={},le={};class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}convert(r,e){}create(r){}}const Y=p.Registry.create();var ve=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Se=(s,r,e,n)=>{for(var t=n>1?void 0:n?we(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&ve(r,e,t),t},Pe=(s,r)=>(e,n)=>r(e,n,s);let re=class extends H{constructor(r){super();f(this,"zIndex",5);f(this,"viewKey",p.PageElementType.DOCUMENT);f(this,"_liquid",new l.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,se;const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,title:R,description:x,document:y}=r;if(y==null)return;const m=new p.DocumentDataModel(y),P=new l.DocumentViewModel(m),I=l.DocumentSkeleton.create(P,this._localeService),b=new l.Documents("__DocsRender__",I);I.calculate();const C=new l.SceneViewer("__DocsViewer__"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!0}),S=new l.Scene("__DocsScene__"+n,C),T=new l.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});S.attachControl(),S.on(l.EVENT_TYPE.wheel,(X,W)=>{const j=X;if(j.ctrlKey){const U=Math.abs(j.deltaX);let E=U<40?.2:U<80?.4:.2;E*=j.deltaY>0?-1:1,S.scaleX<1&&(E/=2),S.scaleX+E>4?S.scale(4,4):S.scaleX+E<.1?S.scale(.1,.1):(j.deltaY>0,j.preventDefault())}else T.onMouseWheel(j,W)}),new l.ScrollBar(T,{mainScene:e}),S.addObject(b);const O=I.getActualSize();b.resize(O.actualWidth,O.actualHeight),S.resize(O.actualWidth,O.actualHeight+200);const D=(B=b.getSkeleton())==null?void 0:B.getPageSize();b.onPageRenderObservable.add(X=>{const{page:W,pageLeft:j,pageTop:U,ctx:E}=X,{width:K,height:k,marginBottom:J,marginLeft:z,marginRight:q,marginTop:G}=W;E.save(),E.translate(j-.5,U-.5),l.Rect.drawWith(E,{width:(D==null?void 0:D.width)||K,height:(D==null?void 0:D.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),E.restore()});const{left:$,top:N}=b,L=I.getSkeletonData();if(L==null)return;const{pages:V}=L,A=[],F=new Map;this._recalculateSizeBySkeleton(b,S,I);for(let X=0,W=V.length;X<W;X++){const j=V[X],{skeDrawings:U,marginLeft:E,marginTop:K,pageWidth:k,pageHeight:J}=j;this._liquid.translatePagePadding(j),U.forEach(z=>{const{aLeft:q,aTop:G,height:he,width:ge,drawingOrigin:Je}=z,ue=new l.Picture(z.objectId,{left:q+$+this._liquid.x,top:G+N+this._liquid.y,width:ge,height:he,zIndex:11,isTransformer:!0});F.set(z.objectId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),A.push(ue)}),this._liquid.translatePage(j,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return S.openTransformer(),S.addObjects(A),(se=S.getTransformer())==null||se.onChangingObservable.add(X=>{const{objects:W}=X;W.forEach(j=>{const{oKey:U,left:E,top:K,height:k,width:J}=j,z=F.get(U),q=(z==null?void 0:z.marginLeft)||0,G=(z==null?void 0:z.marginTop)||0;I==null||I.getViewModel().getDataModel().updateDrawing(U,{left:E-$-q,top:K-N-G,height:k,width:J})}),I==null||I.calculate()}),S.closeTransformer(),this._calculatePagePosition(b,S,T),C}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,a=0;for(let o=0,d=t.length;o<d;o++){const h=t[o],{pageWidth:_,pageHeight:v}=h;r.pageLayoutType===l.PageLayoutType.VERTICAL?(a+=v,a+=r.pageMarginTop,o===d-1&&(a+=r.pageMarginTop),i=Math.max(i,_)):r.pageLayoutType===l.PageLayoutType.HORIZONTAL&&(i+=_,o!==d-1&&(i+=r.pageMarginLeft),a=Math.max(a,v))}r.resize(i,a),e.resize(i,a)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:a,height:c,pageMarginLeft:o,pageMarginTop:d}=r;if(i==null||a===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:h,height:_}=i;let v=0,u=0,w=0,g=0,R=Number.POSITIVE_INFINITY;if(h>(a+o*2)*t?(v=h/2-a*t/2,v/=t,w=(h-o*2)/t,R=0):(v=o,w=a+o*2,R=(w-h/t)/2),_>c?(u=_/2-c/2,g=(_-d*2)/t):(u=d,g=c+d*2),e.resize(w,g+200),r.translate(v,u),R!==Number.POSITIVE_INFINITY&&n!=null){const x=n.getBarScroll(R,0).x;n.scrollTo({x})}return this}};re=Se([Pe(0,M.Inject(p.LocaleService))],re);class be{constructor(){f(this,"zIndex",5)}create(r){return r.createInstance(re)}}Y.add(new be);class Ie extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",p.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,title:R,description:x,image:y={}}=e,{imageProperties:m,placeholder:P,link:I}=y,b=(m==null?void 0:m.contentUrl)||"";return new l.Picture(n,{url:b,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!0,forceRender:!0})}}class Te{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(Ie)}}Y.add(new Te);var me=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,ye=(s,r,e,n)=>{for(var t=n>1?void 0:n?Oe(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&me(r,e,t),t},je=(s,r)=>(e,n)=>r(e,n,s);let ne=class extends H{constructor(r){super();f(this,"zIndex",2);f(this,"viewKey",p.PageElementType.TEXT);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,title:R,description:x,richText:y={}}=r,{text:m,ff:P,fs:I,it:b,bl:C,ul:S,st:T,ol:O,bg:D,bd:$,cl:N,rich:L}=y;let V={top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!0,forceRender:!0},A=!1;if(m!=null?(V={...V,text:m,ff:P,fs:I,it:b,bl:C,ul:S,st:T,ol:O,bg:D,bd:$,cl:N},A=!0):L!=null&&(V={...V,richText:L},A=!0),A!==!1)return new l.RichText(this._localeService,n,V)}};ne=ye([je(0,M.Inject(p.LocaleService))],ne);class Ce{constructor(){f(this,"zIndex",0)}create(r){return r.createInstance(ne)}}Y.add(new Ce);class Re extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",p.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,title:R,description:x}=e,{shapeType:y,text:m,shapeProperties:P,placeholder:I,link:b}=e.shape||{},C=P==null?"":p.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",S=P==null?void 0:P.outline,T={};if(S){const{outlineFill:O,weight:D}=S;T.strokeWidth=D,T.stroke=p.getColorStyle(O)||"rgba(0,0,0,1)"}if(y===p.ShapeType.RECTANGLE)return new l.Rect(n,{fill:C,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!0,forceRender:!0,...T});if(y===p.ShapeType.ROUND_RECTANGLE){const O=(P==null?void 0:P.radius)||0;return new l.Rect(n,{fill:C,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!0,forceRender:!0,radius:O,...T})}}}class xe{constructor(){f(this,"zIndex",2)}create(r){return r.createInstance(Re)}}Y.add(new xe);var De=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,Me=(s,r,e,n)=>{for(var t=n>1?void 0:n?Ee(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&De(r,e,t),t},Ve=(s,r)=>(e,n)=>r(e,n,s);let ie=class extends H{constructor(r){super();f(this,"zIndex",6);f(this,"viewKey",p.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,title:R,description:x,slide:y}=r;if(y==null)return;const m=new p.SlideDataModel(y),P=new l.Slide("__SLIDERender__"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!1,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const I=m.getPageOrder(),b=m.getPages();if(!I||!b)return P;this._ObjectProvider=new Z(this._injector);for(let C=0,S=I.length;C<S;C++){const T=b[I[C]],{id:O}=T;P.addPage(this._createScene(O,P,T,e,m))}return P.activeFirstPage(),P}_createScene(r,e,n,t,i){var u;const{width:a,height:c}=e,o=new l.Scene(r,e,{width:a,height:c});new l.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0}).closeClip();const{pageElements:h,pageBackgroundFill:_}=n,v=(u=this._ObjectProvider)==null?void 0:u.convertToRenderObjects(h,t);return o.openTransformer(),this._addBackgroundRect(o,_,i),o.addObjects(v),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:a=0}=t,c=new l.Rect("canvas",{left:0,top:0,width:i,height:a,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:p.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});r.addObject(c,0)}};ie=Me([Ve(0,M.Inject(M.Injector))],ie);class ze{constructor(){f(this,"zIndex",6)}create(r){return r.createInstance(ie)}}Y.add(new ze);var Le=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,Ue=(s,r,e,n)=>{for(var t=n>1?void 0:n?Xe(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Le(r,e,t),t},oe=(s,r)=>(e,n)=>r(e,n,s);let ae=class extends H{constructor(r,e){super();f(this,"zIndex",4);f(this,"viewKey",p.PageElementType.SPREADSHEET);this._localeService=r,this._contextService=e}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,spreadsheet:R}=r;if(R==null)return;const{worksheet:x,styles:y}=R,{cellData:m}=x,P=new p.ObjectMatrix(m),I=new p.Styles(y),b=new l.SpreadsheetSkeleton(new p.Worksheet(x,I),x,P,I,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:S,rowHeaderWidth:T,columnHeaderHeight:O}=b,D=S+x.rowHeader.width||0,$=C+x.columnHeader.height||0,N=new l.SceneViewer("spreadInSlideSceneViewer"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:h,scaleY:_,skewX:v,skewY:u,flipX:w,flipY:g,isTransformer:!0,forceRender:!0}),L=new l.Scene("spreadInSlideScene"+n,N,{width:D,height:$});this._updateViewport(n,T,O,L,e);const V=new l.Spreadsheet("testSheetViewer",b,!1),A=new l.SpreadsheetRowHeader("spreadInSlideRow",b),F=new l.SpreadsheetColumnHeader("spreadInSlideColumn",b),B=new l.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:T,height:O,fill:l.getColor([248,249,250]),stroke:l.getColor([217,217,217]),strokeWidth:1});return V.zIndex=10,L.addObjects([V],1),L.addObjects([A,F,B],2),N}_updateViewport(r,e,n,t,i){if(i==null)return;const a=e*t.scaleX,c=n*t.scaleY,o=new l.Viewport("spreadInSlideViewMain"+r,t,{left:a,top:c,bottom:0,right:0,isWheelPreventDefaultX:!0}),d=new l.Viewport("spreadInSlideViewTop"+r,t,{left:a,height:c,top:0,right:0,isWheelPreventDefaultX:!0}),h=new l.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:a,isWheelPreventDefaultX:!0});new l.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:a,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfterObserver.add(_=>{const{scrollX:v,scrollY:u,actualScrollX:w,actualScrollY:g}=_;d.updateScroll({scrollX:v,actualScrollX:w}),h.updateScroll({scrollY:u,actualScrollY:g})}),t.attachControl(),new l.ScrollBar(o,{mainScene:i}),t.on(l.EVENT_TYPE.wheel,(_,v)=>{const u=_;if(u.ctrlKey){const w=Math.abs(u.deltaX);let g=w<40?.05:w<80?.02:.01;g*=u.deltaY>0?-1:1,t.scaleX<1&&(g/=2),t.scaleX+g>4?t.scale(4,4):t.scaleX+g<.1?t.scale(.1,.1):(t.scaleBy(g,g),u.preventDefault())}else o.onMouseWheel(u,v)})}};ae=Ue([oe(0,M.Inject(p.LocaleService)),oe(1,p.IContextService)],ae);class Ae{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(ae)}}Y.add(new Ae);var Ne=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(s,r,e,n)=>{for(var t=n>1?void 0:n?We(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Ne(r,e,t),t},$e=(s,r)=>(e,n)=>r(e,n,s);let Z=class{constructor(s){f(this,"_adaptors",[]);this._injector=s,this._adaptorLoader()}convertToRenderObjects(s,r){const e=Object.keys(s),n=[];return e.forEach(t=>{const i=s[t],a=this._executor(i,r);a!=null&&n.push(a)}),n}_executor(s,r){var t;const{id:e,type:n}=s;for(const i of this._adaptors){const a=(t=i.check(n))==null?void 0:t.convert(s,r);if(a!=null)return a}}_adaptorLoader(){Y.getData().sort(p.sortRules).forEach(s=>{this._adaptors.push(s.create(this._injector))})}};Z=Ye([$e(0,M.Inject(M.Injector))],Z);var He=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Be=(s,r,e,n)=>{for(var t=n>1?void 0:n?Fe(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&He(r,e,t),t},Q=(s,r)=>(e,n)=>r(e,n,s),de=(s=>(s.COMPONENT="__slideRender__",s.SCENE="__mainScene__",s.VIEW="__mainView__",s))(de||{});exports.CanvasView=class extends p.RxDisposable{constructor(e,n,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",p.debounce(()=>{this.createThumbs()},300));this._currentUniverService=e,this._injector=n,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._currentUniverService.currentSlide$.pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._currentUniverService.getAllUniverSlidesInstance().forEach(e=>{this._create(e.getUnitId())})}activePage(e){const n=this._currentUniverService.getCurrentUniverSlideInstance();let t;if(e)t=n.getPage(e);else{const o=n.getPages(),d=n.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:a}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(a)){c.changePage(a);return}this._createScene(a,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:a}=t,{x:c,y:o}=n.getBarScroll(i,a);n.scrollTo({x:c,y:o})}_create(e){e==null||this._currentUniverService.getUniverSlideInstance(e)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._currentUniverService.getCurrentUniverSlideInstance();return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const n=this._currentUniverService.getUniverSlideInstance(e);if(n==null)return;const t=n.getContainer(),i=n.getParentRenderUnitId();if(t!=null&&i!=null)throw new Error("container or parentRenderUnitId can only exist one");t==null&&i!=null?this._renderManagerService.createRenderWithParent(e,i):this._renderManagerService.createRender(e);const a=this._renderManagerService.getRenderById(e);if(a==null)return;const{scene:c,engine:o}=a;o.onTransformChangeObservable.addOnce(()=>{this._scrollToCenter()}),o.onTransformChangeObservable.add(()=>{setTimeout(()=>{this.createThumbs()},300)}),c.resize(2400,1800);const d=new l.Viewport("__mainView__",c,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});c.attachControl(),c.on(l.EVENT_TYPE.wheel,(_,v)=>{const u=_;if(u.ctrlKey){const w=Math.abs(u.deltaX);let g=w<40?.2:w<80?.4:.2;g*=u.deltaY>0?-1:1,c.scaleX<1&&(g/=2),c.scaleX+g>4?c.scale(4,4):c.scaleX+g<.1?c.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else d.onMouseWheel(u,v)}),c.onFileLoadedObservable.add(()=>{this._refreshThumb()}),l.ScrollBar.attachTo(d),this._renderManagerService.setCurrent(e);const h=this._createSlide(c);a.mainComponent=h,a.components.set("__slideRender__",h),this._createSlidePages(n,h),o.runRenderLoop(()=>{c.render();const _=document.getElementById("app");_&&(_.innerText=`fps:${Math.round(o.getFps()).toString()}`)})}_createSlide(e){const n=this._currentUniverService.getCurrentUniverSlideInstance(),{width:t,height:i}=e,a=n.getPageSize(),{width:c=100,height:o=100}=a,d=new l.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,n){const i=this._currentUniverService.getCurrentUniverSlideInstance().getPageSize(),{width:a=0,height:c=0}=i,o=new l.Rect("canvas",{left:0,top:0,width:a,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:p.getColorStyle(n)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:n,height:t}=e,i=e.getEngine(),a=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-a)/2,top:(t-c)/2}}_thumbSceneRender(e,n){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:a,height:c}=n,{width:o=a,height:d=c}=i,h=i.getCanvas().getContext();n.renderToThumb(h,e,o/a,d/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let a=0,c=i.length;a<c;a++){const o=i[a];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],n.activeFirstPage()}}createThumbs(){const n=this._currentUniverService.getCurrentUniverSlideInstance().getPageOrder(),t=this._currentRender();if(!(!n||!t)&&n.length!==0)for(let i=0,a=n.length;i<a;i++){const c=n[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,n){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:a}=t,c=a,{width:o,height:d}=c,h=new l.Scene(e,c,{width:o,height:d});new l.Viewport(`PageViewer_${e}`,h,{left:0,top:0,bottom:0,right:0}).closeClip();const{pageElements:v,pageBackgroundFill:u}=n,w=this._objectProvider.convertToRenderObjects(v,i);if(!w||!c)return;h.openTransformer(),this._addBackgroundRect(h,u),h.addObjects(w);const g=h.getTransformer();return g==null||g.onChangeEndObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),g==null||g.onClearControlObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(h),h}_initializeDependencies(e){this._objectProvider=e.createInstance(Z)}};exports.CanvasView=Be([p.OnLifecycle(p.LifecycleStages.Ready,exports.CanvasView),Q(0,p.IUniverInstanceService),Q(1,M.Inject(M.Injector)),Q(2,l.IRenderManagerService)],exports.CanvasView);var Ke=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,qe=(s,r,e,n)=>{for(var t=n>1?void 0:n?ke(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Ke(r,e,t),t},ee=(s,r)=>(e,n)=>r(e,n,s);const Ge={},Ze="slides";var te;exports.UniverSlidesPlugin=(te=class extends p.Plugin{constructor(e={},n,t,i){super(Ze);f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._currentUniverService=n,this._localeService=t,this._injector=i,this._config=Object.assign(Ge,e),this._initializeDependencies(this._injector)}initialize(){this._localeService.load({zhCN:le}),this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(l.IRenderingEngine)}onRendered(){this.initialize()}onDestroy(){super.onDestroy()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},f(te,"type",p.PluginType.Slide),te);exports.UniverSlidesPlugin=qe([ee(1,p.IUniverInstanceService),ee(2,M.Inject(p.LocaleService)),ee(3,M.Inject(M.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=de;exports.enUS=fe;exports.zhCN=le;
|
|
1
|
+
"use strict";var ue=Object.defineProperty;var _e=(s,r,e)=>r in s?ue(s,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[r]=e;var _=(s,r,e)=>(_e(s,typeof r!="symbol"?r+"":r,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),l=require("@univerjs/engine-render"),V=require("@wendellhu/redi"),ce=require("rxjs"),fe={},le={};class H{constructor(){_(this,"zIndex",0);_(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}convert(r,e){}create(r){}}const Y=h.Registry.create();var ve=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Se=(s,r,e,n)=>{for(var t=n>1?void 0:n?we(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&ve(r,e,t),t},Ie=(s,r)=>(e,n)=>r(e,n,s);let re=class extends H{constructor(r){super();_(this,"zIndex",5);_(this,"viewKey",h.PageElementType.DOCUMENT);_(this,"_liquid",new l.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,se;const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,title:D,description:j,document:E}=r;if(E==null)return;const m=new h.DocumentDataModel(E),I=new l.DocumentViewModel(m),T=l.DocumentSkeleton.create(I,this._localeService),P=new l.Documents("__DocsRender__",T);T.calculate();const R=new l.SceneViewer("__DocsViewer__"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!0}),S=new l.Scene("__DocsScene__"+n,R),b=new l.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});S.attachControl(),S.on(l.EVENT_TYPE.wheel,(N,W)=>{const O=N;if(O.ctrlKey){const z=Math.abs(O.deltaX);let x=z<40?.2:z<80?.4:.2;x*=O.deltaY>0?-1:1,S.scaleX<1&&(x/=2),S.scaleX+x>4?S.scale(4,4):S.scaleX+x<.1?S.scale(.1,.1):(O.deltaY>0,O.preventDefault())}else b.onMouseWheel(O,W)}),new l.ScrollBar(b,{mainScene:e}),S.addObject(P);const y=T.getActualSize();P.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const C=(B=P.getSkeleton())==null?void 0:B.getPageSize();P.onPageRenderObservable.add(N=>{const{page:W,pageLeft:O,pageTop:z,ctx:x}=N,{width:K,height:k,marginBottom:Q,marginLeft:M,marginRight:q,marginTop:G}=W;x.save(),x.translate(O-.5,z-.5),l.Rect.drawWith(x,{width:(C==null?void 0:C.width)||K,height:(C==null?void 0:C.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),x.restore()});const{left:$,top:A}=P,U=T.getSkeletonData();if(U==null)return;const{pages:L}=U,X=[],F=new Map;this._recalculateSizeBySkeleton(P,S,T);for(let N=0,W=L.length;N<W;N++){const O=L[N],{skeDrawings:z,marginLeft:x,marginTop:K,pageWidth:k,pageHeight:Q}=O;this._liquid.translatePagePadding(O),z.forEach(M=>{const{aLeft:q,aTop:G,height:he,width:ge,drawingOrigin:Je}=M,pe=new l.Picture(M.objectId,{left:q+$+this._liquid.x,top:G+A+this._liquid.y,width:ge,height:he,zIndex:11,isTransformer:!0});F.set(M.objectId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),X.push(pe)}),this._liquid.translatePage(O,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return S.openTransformer(),S.addObjects(X),(se=S.getTransformer())==null||se.onChangingObservable.add(N=>{const{objects:W}=N;W.forEach(O=>{const{oKey:z,left:x,top:K,height:k,width:Q}=O,M=F.get(z),q=(M==null?void 0:M.marginLeft)||0,G=(M==null?void 0:M.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(z,{left:x-$-q,top:K-A-G,height:k,width:Q})}),T==null||T.calculate()}),S.closeTransformer(),this._calculatePagePosition(P,S,b),R}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,a=0;for(let o=0,d=t.length;o<d;o++){const g=t[o],{pageWidth:f,pageHeight:v}=g;r.pageLayoutType===l.PageLayoutType.VERTICAL?(a+=v,a+=r.pageMarginTop,o===d-1&&(a+=r.pageMarginTop),i=Math.max(i,f)):r.pageLayoutType===l.PageLayoutType.HORIZONTAL&&(i+=f,o!==d-1&&(i+=r.pageMarginLeft),a=Math.max(a,v))}r.resize(i,a),e.resize(i,a)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:a,height:c,pageMarginLeft:o,pageMarginTop:d}=r;if(i==null||a===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:g,height:f}=i;let v=0,u=0,w=0,p=0,D=Number.POSITIVE_INFINITY;if(g>(a+o*2)*t?(v=g/2-a*t/2,v/=t,w=(g-o*2)/t,D=0):(v=o,w=a+o*2,D=(w-g/t)/2),f>c?(u=f/2-c/2,p=(f-d*2)/t):(u=d,p=c+d*2),e.resize(w,p+200),r.translate(v,u),D!==Number.POSITIVE_INFINITY&&n!=null){const j=n.getBarScroll(D,0).x;n.scrollTo({x:j})}return this}};re=Se([Ie(0,V.Inject(h.LocaleService))],re);class Pe{constructor(){_(this,"zIndex",5)}create(r){return r.createInstance(re)}}Y.add(new Pe);class Te extends H{constructor(){super(...arguments);_(this,"zIndex",1);_(this,"viewKey",h.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,title:D,description:j,image:E={}}=e,{imageProperties:m,placeholder:I,link:T}=E,P=(m==null?void 0:m.contentUrl)||"";return new l.Picture(n,{url:P,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!0,forceRender:!0})}}class be{constructor(){_(this,"zIndex",4)}create(r){return r.createInstance(Te)}}Y.add(new be);var me=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ee=(s,r,e,n)=>{for(var t=n>1?void 0:n?ye(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&me(r,e,t),t},Oe=(s,r)=>(e,n)=>r(e,n,s);let ne=class extends H{constructor(r){super();_(this,"zIndex",2);_(this,"viewKey",h.PageElementType.TEXT);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,title:D,description:j,richText:E={}}=r,{text:m,ff:I,fs:T,it:P,bl:R,ul:S,st:b,ol:y,bg:C,bd:$,cl:A,rich:U}=E;let L={top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!0,forceRender:!0},X=!1;if(m!=null?(L={...L,text:m,ff:I,fs:T,it:P,bl:R,ul:S,st:b,ol:y,bg:C,bd:$,cl:A},X=!0):U!=null&&(L={...L,richText:U},X=!0),X!==!1)return new l.RichText(this._localeService,n,L)}};ne=Ee([Oe(0,V.Inject(h.LocaleService))],ne);class Re{constructor(){_(this,"zIndex",0)}create(r){return r.createInstance(ne)}}Y.add(new Re);class De extends H{constructor(){super(...arguments);_(this,"zIndex",2);_(this,"viewKey",h.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,title:D,description:j}=e,{shapeType:E,text:m,shapeProperties:I,placeholder:T,link:P}=e.shape||{},R=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,b={};if(S){const{outlineFill:y,weight:C}=S;b.strokeWidth=C,b.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(E===h.ShapeType.RECTANGLE)return new l.Rect(n,{fill:R,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!0,forceRender:!0,...b});if(E===h.ShapeType.ROUND_RECTANGLE){const y=(I==null?void 0:I.radius)||0;return new l.Rect(n,{fill:R,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!0,forceRender:!0,radius:y,...b})}}}class je{constructor(){_(this,"zIndex",2)}create(r){return r.createInstance(De)}}Y.add(new je);var Ce=Object.defineProperty,xe=Object.getOwnPropertyDescriptor,Ve=(s,r,e,n)=>{for(var t=n>1?void 0:n?xe(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Ce(r,e,t),t},Le=(s,r)=>(e,n)=>r(e,n,s);let ie=class extends H{constructor(r){super();_(this,"zIndex",6);_(this,"viewKey",h.PageElementType.SLIDE);_(this,"_ObjectProvider",null);this._injector=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,title:D,description:j,slide:E}=r;if(E==null)return;const m=new h.SlideDataModel(E),I=new l.Slide("__SLIDERender__"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!1,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const T=m.getPageOrder(),P=m.getPages();if(!T||!P)return I;this._ObjectProvider=new J(this._injector);for(let R=0,S=T.length;R<S;R++){const b=P[T[R]],{id:y}=b;I.addPage(this._createScene(y,I,b,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var u;const{width:a,height:c}=e,o=new l.Scene(r,e,{width:a,height:c});new l.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0}).closeClip();const{pageElements:g,pageBackgroundFill:f}=n,v=(u=this._ObjectProvider)==null?void 0:u.convertToRenderObjects(g,t);return o.openTransformer(),this._addBackgroundRect(o,f,i),o.addObjects(v),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:a=0}=t,c=new l.Rect("canvas",{left:0,top:0,width:i,height:a,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});r.addObject(c,0)}};ie=Ve([Le(0,V.Inject(V.Injector))],ie);class Me{constructor(){_(this,"zIndex",6)}create(r){return r.createInstance(ie)}}Y.add(new Me);var Ue=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,ze=(s,r,e,n)=>{for(var t=n>1?void 0:n?Ne(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Ue(r,e,t),t},oe=(s,r)=>(e,n)=>r(e,n,s);let ae=class extends H{constructor(r,e){super();_(this,"zIndex",4);_(this,"viewKey",h.PageElementType.SPREADSHEET);this._localeService=r,this._contextService=e}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,spreadsheet:D}=r;if(D==null)return;const{worksheet:j,styles:E}=D,{cellData:m}=j,I=new h.ObjectMatrix(m),T=new h.Styles(E),P=new l.SpreadsheetSkeleton(new h.Worksheet(n,j,T),j,I,T,this._localeService,this._contextService),{rowTotalHeight:R,columnTotalWidth:S,rowHeaderWidth:b,columnHeaderHeight:y}=P,C=S+j.rowHeader.width||0,$=R+j.columnHeader.height||0,A=new l.SceneViewer("spreadInSlideSceneViewer"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:f,skewX:v,skewY:u,flipX:w,flipY:p,isTransformer:!0,forceRender:!0}),U=new l.Scene("spreadInSlideScene"+n,A,{width:C,height:$});this._updateViewport(n,b,y,U,e);const L=new l.Spreadsheet("testSheetViewer",P,!1),X=new l.SpreadsheetRowHeader("spreadInSlideRow",P),F=new l.SpreadsheetColumnHeader("spreadInSlideColumn",P),B=new l.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:b,height:y,fill:l.getColor([248,249,250]),stroke:l.getColor([217,217,217]),strokeWidth:1});return L.zIndex=10,U.addObjects([L],1),U.addObjects([X,F,B],2),A}_updateViewport(r,e,n,t,i){if(i==null)return;const a=e*t.scaleX,c=n*t.scaleY,o=new l.Viewport("spreadInSlideViewMain"+r,t,{left:a,top:c,bottom:0,right:0,isWheelPreventDefaultX:!0}),d=new l.Viewport("spreadInSlideViewTop"+r,t,{left:a,height:c,top:0,right:0,isWheelPreventDefaultX:!0}),g=new l.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:a,isWheelPreventDefaultX:!0});new l.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:a,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfterObserver.add(f=>{const{scrollX:v,scrollY:u,actualScrollX:w,actualScrollY:p}=f;d.updateScroll({scrollX:v,actualScrollX:w}),g.updateScroll({scrollY:u,actualScrollY:p})}),t.attachControl(),new l.ScrollBar(o,{mainScene:i}),t.on(l.EVENT_TYPE.wheel,(f,v)=>{const u=f;if(u.ctrlKey){const w=Math.abs(u.deltaX);let p=w<40?.05:w<80?.02:.01;p*=u.deltaY>0?-1:1,t.scaleX<1&&(p/=2),t.scaleX+p>4?t.scale(4,4):t.scaleX+p<.1?t.scale(.1,.1):(t.scaleBy(p,p),u.preventDefault())}else o.onMouseWheel(u,v)})}};ae=ze([oe(0,V.Inject(h.LocaleService)),oe(1,h.IContextService)],ae);class Xe{constructor(){_(this,"zIndex",4)}create(r){return r.createInstance(ae)}}Y.add(new Xe);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(s,r,e,n)=>{for(var t=n>1?void 0:n?We(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Ae(r,e,t),t},$e=(s,r)=>(e,n)=>r(e,n,s);let J=class{constructor(s){_(this,"_adaptors",[]);this._injector=s,this._adaptorLoader()}convertToRenderObjects(s,r){const e=Object.keys(s),n=[];return e.forEach(t=>{const i=s[t],a=this._executor(i,r);a!=null&&n.push(a)}),n}_executor(s,r){var t;const{id:e,type:n}=s;for(const i of this._adaptors){const a=(t=i.check(n))==null?void 0:t.convert(s,r);if(a!=null)return a}}_adaptorLoader(){Y.getData().sort(h.sortRules).forEach(s=>{this._adaptors.push(s.create(this._injector))})}};J=Ye([$e(0,V.Inject(V.Injector))],J);var He=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Be=(s,r,e,n)=>{for(var t=n>1?void 0:n?Fe(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&He(r,e,t),t},ee=(s,r)=>(e,n)=>r(e,n,s),de=(s=>(s.COMPONENT="__slideRender__",s.SCENE="__mainScene__",s.VIEW="__mainView__",s))(de||{});exports.CanvasView=class extends h.RxDisposable{constructor(e,n,t){super();_(this,"_objectProvider",null);_(this,"_activePageId","");_(this,"_refreshThumb",h.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=n,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(h.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(h.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=n.getPage(e);else{const o=n.getPages(),d=n.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:a}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(a)){c.changePage(a);return}this._createScene(a,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:a}=t,{x:c,y:o}=n.getBarScroll(i,a);n.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const n=this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE);if(n==null)return;const t=n.getContainer(),i=n.getParentRenderUnitId();if(t!=null&&i!=null)throw new Error("container or parentRenderUnitId can only exist one");t==null&&i!=null?this._renderManagerService.createRenderWithParent(e,i):this._renderManagerService.createRender(e);const a=this._renderManagerService.getRenderById(e);if(a==null)return;const{scene:c,engine:o}=a;o.onTransformChangeObservable.addOnce(()=>{this._scrollToCenter()}),o.onTransformChangeObservable.add(()=>{setTimeout(()=>{this.createThumbs()},300)}),c.resize(2400,1800);const d=new l.Viewport("__mainView__",c,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});c.attachControl(),c.on(l.EVENT_TYPE.wheel,(f,v)=>{const u=f;if(u.ctrlKey){const w=Math.abs(u.deltaX);let p=w<40?.2:w<80?.4:.2;p*=u.deltaY>0?-1:1,c.scaleX<1&&(p/=2),c.scaleX+p>4?c.scale(4,4):c.scaleX+p<.1?c.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else d.onMouseWheel(u,v)}),c.onFileLoadedObservable.add(()=>{this._refreshThumb()}),l.ScrollBar.attachTo(d),this._renderManagerService.setCurrent(e);const g=this._createSlide(c);a.mainComponent=g,a.components.set("__slideRender__",g),this._createSlidePages(n,g),o.runRenderLoop(()=>{c.render();const f=document.getElementById("app");f&&(f.innerText=`fps:${Math.round(o.getFps()).toString()}`)})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,a=n.getPageSize(),{width:c=100,height:o=100}=a,d=new l.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:a=0,height:c=0}=i,o=new l.Rect("canvas",{left:0,top:0,width:a,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(n)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:n,height:t}=e,i=e.getEngine(),a=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-a)/2,top:(t-c)/2}}_thumbSceneRender(e,n){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:a,height:c}=n,{width:o=a,height:d=c}=i,g=i.getCanvas().getContext();n.renderToThumb(g,e,o/a,d/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let a=0,c=i.length;a<c;a++){const o=i[a];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],n.activeFirstPage()}}createThumbs(){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!n||!t)&&n.length!==0)for(let i=0,a=n.length;i<a;i++){const c=n[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,n){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:a}=t,c=a,{width:o,height:d}=c,g=new l.Scene(e,c,{width:o,height:d});new l.Viewport(`PageViewer_${e}`,g,{left:0,top:0,bottom:0,right:0}).closeClip();const{pageElements:v,pageBackgroundFill:u}=n,w=this._objectProvider.convertToRenderObjects(v,i);if(!w||!c)return;g.openTransformer(),this._addBackgroundRect(g,u),g.addObjects(w);const p=g.getTransformer();return p==null||p.onChangeEndObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),p==null||p.onClearControlObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(g),g}_initializeDependencies(e){this._objectProvider=e.createInstance(J)}};exports.CanvasView=Be([h.OnLifecycle(h.LifecycleStages.Ready,exports.CanvasView),ee(0,h.IUniverInstanceService),ee(1,V.Inject(V.Injector)),ee(2,l.IRenderManagerService)],exports.CanvasView);var Ke=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,qe=(s,r,e,n)=>{for(var t=n>1?void 0:n?ke(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Ke(r,e,t),t},te=(s,r)=>(e,n)=>r(e,n,s);const Ge={},Ze="slides";var Z;exports.UniverSlidesPlugin=(Z=class extends h.Plugin{constructor(e={},n,t,i){super();_(this,"_config");_(this,"_canvasEngine",null);_(this,"_canvasView",null);this._univerInstanceService=n,this._localeService=t,this._injector=i,this._config=Object.assign(Ge,e),this._initializeDependencies(this._injector)}initialize(){this._localeService.load({zhCN:le}),this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(l.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},_(Z,"pluginName",Ze),_(Z,"type",h.UniverInstanceType.UNIVER_SLIDE),Z);exports.UniverSlidesPlugin=qe([te(1,h.IUniverInstanceService),te(2,V.Inject(h.LocaleService)),te(3,V.Inject(V.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=de;exports.enUS=fe;exports.zhCN=le;
|