@univerjs/slides 0.1.17 → 0.2.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 +1 -1
- package/lib/es/index.js +175 -178
- package/lib/types/index.d.ts +1 -1
- package/lib/types/slides-plugin.d.ts +2 -4
- package/lib/types/views/render/canvas-view.d.ts +2 -0
- package/lib/umd/index.js +1 -1
- package/package.json +10 -10
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ue=Object.defineProperty;var pe=(a,r,e)=>r in a?ue(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e;var f=(a,r,e)=>pe(a,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),d=require("@univerjs/engine-render"),V=require("@wendellhu/redi"),ce=require("rxjs");class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}create(r){}}const W=h.Registry.create();var _e=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,fe=(a,r,e,n)=>{for(var t=n>1?void 0:n?ve(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&_e(r,e,t),t},we=(a,r)=>(e,n)=>r(e,n,a);let re=class extends H{constructor(r){super();f(this,"zIndex",5);f(this,"viewKey",h.PageElementType.DOCUMENT);f(this,"_liquid",new d.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,ae;const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,document:E}=r;if(E==null)return;const m=new h.DocumentDataModel(E),I=new d.DocumentViewModel(m),P=d.DocumentSkeleton.create(I,this._localeService),b=new d.Documents("__DocsRender__",P);P.calculate();const O=new d.SceneViewer("__DocsViewer__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v}),S=new d.Scene("__DocsScene__"+n,O),T=new d.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});S.attachControl(),S.onMouseWheel$.subscribeEvent((L,A)=>{const D=L;if(D.ctrlKey){const $=Math.abs(D.deltaX);let C=$<40?.2:$<80?.4:.2;C*=D.deltaY>0?-1:1,S.scaleX<1&&(C/=2),S.scaleX+C>4?S.scale(4,4):S.scaleX+C<.1?S.scale(.1,.1):(D.deltaY>0,D.preventDefault())}else T.onMouseWheel(D,A)}),new d.ScrollBar(T,{mainScene:e}),S.addObject(b);const y=P.getActualSize();b.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const x=(B=b.getSkeleton())==null?void 0:B.getPageSize();b.pageRender$.subscribe(L=>{const{page:A,pageLeft:D,pageTop:$,ctx:C}=L,{width:K,height:k,marginBottom:Q,marginLeft:X,marginRight:q,marginTop:G}=A;C.save(),C.translate(D-.5,$-.5),d.Rect.drawWith(C,{width:(x==null?void 0:x.width)||K,height:(x==null?void 0:x.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),C.restore()});const{left:Y,top:N}=b,U=P.getSkeletonData();if(U==null)return;const{pages:M}=U,z=[],F=new Map;this._recalculateSizeBySkeleton(b,S,P);for(let L=0,A=M.length;L<A;L++){const D=M[L],{skeDrawings:$,marginLeft:C,marginTop:K,pageWidth:k,pageHeight:Q}=D;this._liquid.translatePagePadding(D),$.forEach(X=>{const{aLeft:q,aTop:G,height:de,width:he,drawingOrigin:Ge}=X,ge=new d.Image(X.drawingId,{left:q+Y+this._liquid.x,top:G+N+this._liquid.y,width:he,height:de,zIndex:11});F.set(X.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),z.push(ge)}),this._liquid.translatePage(D,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return S.addObjects(z),z.forEach(L=>{S.attachTransformerTo(L)}),(ae=S.getTransformer())==null||ae.changing$.subscribe(L=>{const{objects:A}=L;A.forEach(D=>{const{oKey:$,left:C,top:K,height:k,width:Q}=D,X=F.get($),q=(X==null?void 0:X.marginLeft)||0,G=(X==null?void 0:X.marginTop)||0;P==null||P.getViewModel().getDataModel().updateDrawing($,{left:C-Y-q,top:K-N-G,height:k,width:Q})}),P==null||P.calculate()}),this._calculatePagePosition(b,S,T),O}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,l=t.length;o<l;o++){const g=t[o],{pageWidth:w,pageHeight:u}=g;r.pageLayoutType===d.PageLayoutType.VERTICAL?(s+=u,s+=r.pageMarginTop,o===l-1&&(s+=r.pageMarginTop),i=Math.max(i,w)):r.pageLayoutType===d.PageLayoutType.HORIZONTAL&&(i+=w,o!==l-1&&(i+=r.pageMarginLeft),s=Math.max(s,u))}r.resize(i,s),e.resize(i,s)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:l}=r;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:g,height:w}=i;let u=0,_=0,p=0,v=0,R=Number.POSITIVE_INFINITY;if(g>(s+o*2)*t?(u=g/2-s*t/2,u/=t,p=(g-o*2)/t,R=0):(u=o,p=s+o*2,R=(p-g/t)/2),w>c?(_=w/2-c/2,v=(w-l*2)/t):(_=l,v=c+l*2),e.resize(p,v+200),r.translate(u,_),R!==Number.POSITIVE_INFINITY&&n!=null){const j=n.transScroll2ViewportScrollValue(R,0).x;n.scrollTo({x:j})}return this}};re=fe([we(0,V.Inject(h.LocaleService))],re);class Se{constructor(){f(this,"zIndex",5)}create(r){return r.createInstance(re)}}W.add(new Se);class Ie extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",h.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,image:E={}}=e,{imageProperties:m,placeholder:I,link:P}=E,b=(m==null?void 0:m.contentUrl)||"";return new d.Image(n,{url:b,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0})}}class be{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(Ie)}}W.add(new be);var Pe=Object.defineProperty,Te=Object.getOwnPropertyDescriptor,me=(a,r,e,n)=>{for(var t=n>1?void 0:n?Te(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Pe(r,e,t),t},ye=(a,r)=>(e,n)=>r(e,n,a);let ne=class extends H{constructor(r){super();f(this,"zIndex",2);f(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:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,richText:E={}}=r,{text:m,ff:I,fs:P,it:b,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N,rich:U}=E;let M={top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0},z=!1;if(m!=null?(M={...M,text:m,ff:I,fs:P,it:b,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N},z=!0):U!=null&&(M={...M,richText:U},z=!0),z!==!1)return new d.RichText(this._localeService,n,M)}};ne=me([ye(0,V.Inject(h.LocaleService))],ne);class Re{constructor(){f(this,"zIndex",0)}create(r){return r.createInstance(ne)}}W.add(new Re);class Ee extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",h.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j}=e,{shapeType:E,text:m,shapeProperties:I,placeholder:P,link:b}=e.shape||{},O=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,T={};if(S){const{outlineFill:y,weight:x}=S;T.strokeWidth=x,T.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(E===h.BasicShapes.Rect)return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0,...T});if(E===h.BasicShapes.RoundRect){const y=(I==null?void 0:I.radius)||0;return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0,radius:y,...T})}}}class De{constructor(){f(this,"zIndex",2)}create(r){return r.createInstance(Ee)}}W.add(new De);var Oe=Object.defineProperty,je=Object.getOwnPropertyDescriptor,xe=(a,r,e,n)=>{for(var t=n>1?void 0:n?je(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Oe(r,e,t),t},Ce=(a,r)=>(e,n)=>r(e,n,a);let ie=class extends H{constructor(r){super();f(this,"zIndex",6);f(this,"viewKey",h.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:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,slide:E}=r;if(E==null)return;const m=new h.SlideDataModel(E),I=new d.Slide("__SLIDERender__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const P=m.getPageOrder(),b=m.getPages();if(!P||!b)return I;this._ObjectProvider=new J(this._injector);for(let O=0,S=P.length;O<S;O++){const T=b[P[O]],{id:y}=T;I.addPage(this._createScene(y,I,T,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var _;const{width:s,height:c}=e,o=new d.Scene(r,e,{width:s,height:c});new d.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:g,pageBackgroundFill:w}=n,u=(_=this._ObjectProvider)==null?void 0:_.convertToRenderObjects(g,t);return this._addBackgroundRect(o,w,i),o.addObjects(u),u==null||u.forEach(p=>{o.attachTransformerTo(p)}),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:s=0}=t,c=new d.Rect("canvas",{left:0,top:0,width:i,height:s,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=xe([Ce(0,V.Inject(V.Injector))],ie);class Ve{constructor(){f(this,"zIndex",6)}create(r){return r.createInstance(ie)}}W.add(new Ve);var Me=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,Xe=(a,r,e,n)=>{for(var t=n>1?void 0:n?Le(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Me(r,e,t),t},oe=(a,r)=>(e,n)=>r(e,n,a);let se=class extends H{constructor(r,e){super();f(this,"zIndex",4);f(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:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,spreadsheet:R}=r;if(R==null)return;const{worksheet:j,styles:E}=R,{cellData:m}=j,I=new h.ObjectMatrix(m),P=new h.Styles(E),b=new d.SpreadsheetSkeleton(new h.Worksheet(n,j,P),j,I,P,this._localeService,this._contextService),{rowTotalHeight:O,columnTotalWidth:S,rowHeaderWidth:T,columnHeaderHeight:y}=b,x=S+j.rowHeader.width||0,Y=O+j.columnHeader.height||0,N=new d.SceneViewer("spreadInSlideSceneViewer"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0}),U=new d.Scene("spreadInSlideScene"+n,N,{width:x,height:Y});this._updateViewport(n,T,y,U,e);const M=new d.Spreadsheet("testSheetViewer",b,!1),z=new d.SpreadsheetRowHeader("spreadInSlideRow",b),F=new d.SpreadsheetColumnHeader("spreadInSlideColumn",b),B=new d.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:T,height:y,fill:d.getColor([248,249,250]),stroke:d.getColor([217,217,217]),strokeWidth:1});return M.zIndex=10,U.addObjects([M],1),U.addObjects([z,F,B],2),N}_updateViewport(r,e,n,t,i){if(i==null)return;const s=e*t.scaleX,c=n*t.scaleY,o=new d.Viewport("spreadInSlideViewMain"+r,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),l=new d.Viewport("spreadInSlideViewTop"+r,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),g=new d.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new d.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:u,scrollY:_,viewportScrollX:p,viewportScrollY:v}=w;l.updateScroll({scrollX:u,viewportScrollX:p}),g.updateScroll({scrollY:_,viewportScrollY:v})}),t.attachControl(),new d.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,u)=>{const _=w;if(_.ctrlKey){const p=Math.abs(_.deltaX);let v=p<40?.05:p<80?.02:.01;v*=_.deltaY>0?-1:1,t.scaleX<1&&(v/=2),t.scaleX+v>4?t.scale(4,4):t.scaleX+v<.1?t.scale(.1,.1):(t.scaleBy(v,v),_.preventDefault())}else o.onMouseWheel(_,u)})}};se=Xe([oe(0,V.Inject(h.LocaleService)),oe(1,h.IContextService)],se);class Ue{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(se)}}W.add(new Ue);var ze=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ne=(a,r,e,n)=>{for(var t=n>1?void 0:n?$e(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&ze(r,e,t),t},Ae=(a,r)=>(e,n)=>r(e,n,a);let J=class{constructor(a){f(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,r){const e=Object.keys(a),n=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,r);s!=null&&n.push(s)}),n}_executor(a,r){var t;const{id:e,type:n}=a;for(const i of this._adaptors){const s=(t=i.check(n))==null?void 0:t.convert(a,r);if(s!=null)return s}}_adaptorLoader(){W.getData().sort(h.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};J=Ne([Ae(0,V.Inject(V.Injector))],J);var We=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,He=(a,r,e,n)=>{for(var t=n>1?void 0:n?Ye(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&We(r,e,t),t},ee=(a,r)=>(e,n)=>r(e,n,a),le=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(le||{});exports.CanvasView=class extends h.RxDisposable{constructor(e,n,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(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(),l=n.getPageOrder();if(l==null||o==null)return;t=o[l[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var l;const e=(l=this._currentRender())==null?void 0:l.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:s}=t,{x:c,y:o}=n.transViewportScroll2ScrollValue(i,s);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;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new d.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((g,w)=>{const u=g;if(u.ctrlKey){const _=Math.abs(u.deltaX);let p=_<40?.2:_<80?.4:.2;p*=u.deltaY>0?-1:1,i.scaleX<1&&(p/=2),i.scaleX+p>4?i.scale(4,4):i.scaleX+p<.1?i.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else o.onMouseWheel(u,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),d.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const l=this._createSlide(i);t.mainComponent=l,t.components.set("__slideRender__",l),this._createSlidePages(n,l),s.runRenderLoop(()=>{i.render();const g=document.getElementById("app");g&&(g.innerText=`fps:${Math.round(s.getFps()).toString()}`)})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=n.getPageSize(),{width:c=100,height:o=100}=s,l=new d.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return l.enableNav(),l.enableSelectedClipElement(),e.addObject(l),l}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new d.Rect("canvas",{left:0,top:0,width:s,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(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-s)/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:s,height:c}=n,{width:o=s,height:l=c}=i,g=i.getCanvas().getContext();n.renderToThumb(g,e,o/s,l/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];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,s=n.length;i<s;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:s}=t,c=s,{width:o,height:l}=c,g=new d.Scene(e,c,{width:o,height:l});new d.Viewport(`PageViewer_${e}`,g,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:_}=n,p=this._objectProvider.convertToRenderObjects(u,i);if(!p||!c)return;this._addBackgroundRect(g,_),g.addObjects(p),p.forEach(R=>{g.attachTransformerTo(R)});const v=g.getTransformer();return v==null||v.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(g),g}_initializeDependencies(e){this._objectProvider=e.createInstance(J)}};exports.CanvasView=He([h.OnLifecycle(h.LifecycleStages.Ready,exports.CanvasView),ee(0,h.IUniverInstanceService),ee(1,V.Inject(V.Injector)),ee(2,d.IRenderManagerService)],exports.CanvasView);var Fe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ke=(a,r,e,n)=>{for(var t=n>1?void 0:n?Be(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Fe(r,e,t),t},te=(a,r)=>(e,n)=>r(e,n,a);const ke={},qe="slides";var Z;exports.UniverSlidesPlugin=(Z=class extends h.Plugin{constructor(e={},n,t,i){super();f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._univerInstanceService=n,this._localeService=t,this._injector=i,this._config=Object.assign(ke,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(d.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},f(Z,"pluginName",qe),f(Z,"type",h.UniverInstanceType.UNIVER_SLIDE),Z);exports.UniverSlidesPlugin=Ke([te(1,h.IUniverInstanceService),te(2,V.Inject(h.LocaleService)),te(3,V.Inject(V.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=le;
|
|
1
|
+
"use strict";var ge=Object.defineProperty;var ue=(a,r,e)=>r in a?ge(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e;var _=(a,r,e)=>ue(a,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),d=require("@univerjs/engine-render"),X=require("@wendellhu/redi"),ee=require("rxjs");class H{constructor(){_(this,"zIndex",0);_(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}create(r){}}const W=h.Registry.create();var pe=Object.defineProperty,_e=Object.getOwnPropertyDescriptor,ve=(a,r,e,n)=>{for(var t=n>1?void 0:n?_e(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&pe(r,e,t),t},fe=(a,r)=>(e,n)=>r(e,n,a);let re=class extends H{constructor(r){super();_(this,"zIndex",5);_(this,"viewKey",h.PageElementType.DOCUMENT);_(this,"_liquid",new d.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,ae;const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,document:E}=r;if(E==null)return;const m=new h.DocumentDataModel(E),I=new d.DocumentViewModel(m),b=d.DocumentSkeleton.create(I,this._localeService),P=new d.Documents("__DocsRender__",b);b.calculate();const O=new d.SceneViewer("__DocsViewer__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f}),S=new d.Scene("__DocsScene__"+n,O),T=new d.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});S.attachControl(),S.onMouseWheel$.subscribeEvent((M,A)=>{const D=M;if(D.ctrlKey){const $=Math.abs(D.deltaX);let C=$<40?.2:$<80?.4:.2;C*=D.deltaY>0?-1:1,S.scaleX<1&&(C/=2),S.scaleX+C>4?S.scale(4,4):S.scaleX+C<.1?S.scale(.1,.1):(D.deltaY>0,D.preventDefault())}else T.onMouseWheel(D,A)}),new d.ScrollBar(T,{mainScene:e}),S.addObject(P);const y=b.getActualSize();P.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const x=(B=P.getSkeleton())==null?void 0:B.getPageSize();P.pageRender$.subscribe(M=>{const{page:A,pageLeft:D,pageTop:$,ctx:C}=M,{width:K,height:k,marginBottom:Q,marginLeft:L,marginRight:q,marginTop:G}=A;C.save(),C.translate(D-.5,$-.5),d.Rect.drawWith(C,{width:(x==null?void 0:x.width)||K,height:(x==null?void 0:x.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),C.restore()});const{left:Y,top:N}=P,U=b.getSkeletonData();if(U==null)return;const{pages:V}=U,z=[],F=new Map;this._recalculateSizeBySkeleton(P,S,b);for(let M=0,A=V.length;M<A;M++){const D=V[M],{skeDrawings:$,marginLeft:C,marginTop:K,pageWidth:k,pageHeight:Q}=D;this._liquid.translatePagePadding(D),$.forEach(L=>{const{aLeft:q,aTop:G,height:le,width:de,drawingOrigin:Ge}=L,he=new d.Image(L.drawingId,{left:q+Y+this._liquid.x,top:G+N+this._liquid.y,width:de,height:le,zIndex:11});F.set(L.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),z.push(he)}),this._liquid.translatePage(D,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return S.addObjects(z),z.forEach(M=>{S.attachTransformerTo(M)}),(ae=S.getTransformer())==null||ae.changing$.subscribe(M=>{const{objects:A}=M;A.forEach(D=>{const{oKey:$,left:C,top:K,height:k,width:Q}=D,L=F.get($),q=(L==null?void 0:L.marginLeft)||0,G=(L==null?void 0:L.marginTop)||0;b==null||b.getViewModel().getDataModel().updateDrawing($,{left:C-Y-q,top:K-N-G,height:k,width:Q})}),b==null||b.calculate()}),this._calculatePagePosition(P,S,T),O}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,l=t.length;o<l;o++){const u=t[o],{pageWidth:w,pageHeight:g}=u;r.pageLayoutType===d.PageLayoutType.VERTICAL?(s+=g,s+=r.pageMarginTop,o===l-1&&(s+=r.pageMarginTop),i=Math.max(i,w)):r.pageLayoutType===d.PageLayoutType.HORIZONTAL&&(i+=w,o!==l-1&&(i+=r.pageMarginLeft),s=Math.max(s,g))}r.resize(i,s),e.resize(i,s)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:l}=r;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:u,height:w}=i;let g=0,v=0,p=0,f=0,R=Number.POSITIVE_INFINITY;if(u>(s+o*2)*t?(g=u/2-s*t/2,g/=t,p=(u-o*2)/t,R=0):(g=o,p=s+o*2,R=(p-u/t)/2),w>c?(v=w/2-c/2,f=(w-l*2)/t):(v=l,f=c+l*2),e.resize(p,f+200),r.translate(g,v),R!==Number.POSITIVE_INFINITY&&n!=null){const j=n.transScroll2ViewportScrollValue(R,0).x;n.scrollTo({x:j})}return this}};re=ve([fe(0,X.Inject(h.LocaleService))],re);class we{constructor(){_(this,"zIndex",5)}create(r){return r.createInstance(re)}}W.add(new we);class Se 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:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,image:E={}}=e,{imageProperties:m,placeholder:I,link:b}=E,P=(m==null?void 0:m.contentUrl)||"";return new d.Image(n,{url:P,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0})}}class Ie{constructor(){_(this,"zIndex",4)}create(r){return r.createInstance(Se)}}W.add(new Ie);var Pe=Object.defineProperty,be=Object.getOwnPropertyDescriptor,Te=(a,r,e,n)=>{for(var t=n>1?void 0:n?be(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Pe(r,e,t),t},me=(a,r)=>(e,n)=>r(e,n,a);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:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,richText:E={}}=r,{text:m,ff:I,fs:b,it:P,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N,rich:U}=E;let V={top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0},z=!1;if(m!=null?(V={...V,text:m,ff:I,fs:b,it:P,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N},z=!0):U!=null&&(V={...V,richText:U},z=!0),z!==!1)return new d.RichText(this._localeService,n,V)}};ne=Te([me(0,X.Inject(h.LocaleService))],ne);class ye{constructor(){_(this,"zIndex",0)}create(r){return r.createInstance(ne)}}W.add(new ye);class Re 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:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j}=e,{shapeType:E,text:m,shapeProperties:I,placeholder:b,link:P}=e.shape||{},O=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,T={};if(S){const{outlineFill:y,weight:x}=S;T.strokeWidth=x,T.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(E===h.BasicShapes.Rect)return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0,...T});if(E===h.BasicShapes.RoundRect){const y=(I==null?void 0:I.radius)||0;return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0,radius:y,...T})}}}class Ee{constructor(){_(this,"zIndex",2)}create(r){return r.createInstance(Re)}}W.add(new Ee);var De=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,je=(a,r,e,n)=>{for(var t=n>1?void 0:n?Oe(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&De(r,e,t),t},xe=(a,r)=>(e,n)=>r(e,n,a);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:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,slide:E}=r;if(E==null)return;const m=new h.SlideDataModel(E),I=new d.Slide("__SLIDERender__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const b=m.getPageOrder(),P=m.getPages();if(!b||!P)return I;this._ObjectProvider=new J(this._injector);for(let O=0,S=b.length;O<S;O++){const T=P[b[O]],{id:y}=T;I.addPage(this._createScene(y,I,T,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var v;const{width:s,height:c}=e,o=new d.Scene(r,e,{width:s,height:c});new d.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:w}=n,g=(v=this._ObjectProvider)==null?void 0:v.convertToRenderObjects(u,t);return this._addBackgroundRect(o,w,i),o.addObjects(g),g==null||g.forEach(p=>{o.attachTransformerTo(p)}),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:s=0}=t,c=new d.Rect("canvas",{left:0,top:0,width:i,height:s,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=je([xe(0,X.Inject(X.Injector))],ie);class Ce{constructor(){_(this,"zIndex",6)}create(r){return r.createInstance(ie)}}W.add(new Ce);var Ve=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,Le=(a,r,e,n)=>{for(var t=n>1?void 0:n?Me(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ve(r,e,t),t},ce=(a,r)=>(e,n)=>r(e,n,a);let se=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:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,spreadsheet:R}=r;if(R==null)return;const{worksheet:j,styles:E}=R,{cellData:m}=j,I=new h.ObjectMatrix(m),b=new h.Styles(E),P=new d.SpreadsheetSkeleton(new h.Worksheet(n,j,b),j,I,b,this._localeService,this._contextService),{rowTotalHeight:O,columnTotalWidth:S,rowHeaderWidth:T,columnHeaderHeight:y}=P,x=S+j.rowHeader.width||0,Y=O+j.columnHeader.height||0,N=new d.SceneViewer("spreadInSlideSceneViewer"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0}),U=new d.Scene("spreadInSlideScene"+n,N,{width:x,height:Y});this._updateViewport(n,T,y,U,e);const V=new d.Spreadsheet("testSheetViewer",P,!1),z=new d.SpreadsheetRowHeader("spreadInSlideRow",P),F=new d.SpreadsheetColumnHeader("spreadInSlideColumn",P),B=new d.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:T,height:y,fill:d.getColor([248,249,250]),stroke:d.getColor([217,217,217]),strokeWidth:1});return V.zIndex=10,U.addObjects([V],1),U.addObjects([z,F,B],2),N}_updateViewport(r,e,n,t,i){if(i==null)return;const s=e*t.scaleX,c=n*t.scaleY,o=new d.Viewport("spreadInSlideViewMain"+r,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),l=new d.Viewport("spreadInSlideViewTop"+r,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),u=new d.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new d.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:g,scrollY:v,viewportScrollX:p,viewportScrollY:f}=w;l.updateScroll({scrollX:g,viewportScrollX:p}),u.updateScroll({scrollY:v,viewportScrollY:f})}),t.attachControl(),new d.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,g)=>{const v=w;if(v.ctrlKey){const p=Math.abs(v.deltaX);let f=p<40?.05:p<80?.02:.01;f*=v.deltaY>0?-1:1,t.scaleX<1&&(f/=2),t.scaleX+f>4?t.scale(4,4):t.scaleX+f<.1?t.scale(.1,.1):(t.scaleBy(f,f),v.preventDefault())}else o.onMouseWheel(v,g)})}};se=Le([ce(0,X.Inject(h.LocaleService)),ce(1,h.IContextService)],se);class Xe{constructor(){_(this,"zIndex",4)}create(r){return r.createInstance(se)}}W.add(new Xe);var Ue=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,$e=(a,r,e,n)=>{for(var t=n>1?void 0:n?ze(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ue(r,e,t),t},Ne=(a,r)=>(e,n)=>r(e,n,a);let J=class{constructor(a){_(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,r){const e=Object.keys(a),n=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,r);s!=null&&n.push(s)}),n}_executor(a,r){var t;const{id:e,type:n}=a;for(const i of this._adaptors){const s=(t=i.check(n))==null?void 0:t.convert(a,r);if(s!=null)return s}}_adaptorLoader(){W.getData().sort(h.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};J=$e([Ne(0,X.Inject(X.Injector))],J);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(a,r,e,n)=>{for(var t=n>1?void 0:n?We(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ae(r,e,t),t},te=(a,r)=>(e,n)=>r(e,n,a),oe=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(oe||{});exports.CanvasView=class extends h.RxDisposable{constructor(e,n,t){super();_(this,"_objectProvider",null);_(this,"_activePageId","");_(this,"activePageId$",new ee.Subject);_(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(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(h.UniverInstanceType.UNIVER_SLIDE).pipe(ee.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(),l=n.getPageOrder();if(l==null||o==null)return;t=o[l[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,this.activePageId$.next(e),c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var l;const e=(l=this._currentRender())==null?void 0:l.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:s}=t,{x:c,y:o}=n.transViewportScroll2ScrollValue(i,s);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;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new d.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((u,w)=>{const g=u;if(g.ctrlKey){const v=Math.abs(g.deltaX);let p=v<40?.2:v<80?.4:.2;p*=g.deltaY>0?-1:1,i.scaleX<1&&(p/=2),i.scaleX+p>4?i.scale(4,4):i.scaleX+p<.1?i.scale(.1,.1):(g.deltaY>0,g.preventDefault())}else o.onMouseWheel(g,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),d.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const l=this._createSlide(i);t.mainComponent=l,t.components.set("__slideRender__",l),this._createSlidePages(n,l),s.runRenderLoop(()=>{i.render()})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=n.getPageSize(),{width:c=100,height:o=100}=s,l=new d.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return l.enableNav(),l.enableSelectedClipElement(),e.addObject(l),l}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new d.Rect("canvas",{left:0,top:0,width:s,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(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-s)/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:s,height:c}=n,{width:o=s,height:l=c}=i,u=i.getCanvas().getContext();n.renderToThumb(u,e,o/s,l/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];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,s=n.length;i<s;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:s}=t,c=s,{width:o,height:l}=c,u=new d.Scene(e,c,{width:o,height:l});new d.Viewport(`PageViewer_${e}`,u,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:g,pageBackgroundFill:v}=n,p=this._objectProvider.convertToRenderObjects(g,i);if(!p||!c)return;this._addBackgroundRect(u,v),u.addObjects(p),p.forEach(R=>{u.attachTransformerTo(R)});const f=u.getTransformer();return f==null||f.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),f==null||f.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(u),u}_initializeDependencies(e){this._objectProvider=e.createInstance(J)}};exports.CanvasView=Ye([h.OnLifecycle(h.LifecycleStages.Ready,exports.CanvasView),te(0,h.IUniverInstanceService),te(1,X.Inject(X.Injector)),te(2,d.IRenderManagerService)],exports.CanvasView);var He=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Be=(a,r,e,n)=>{for(var t=n>1?void 0:n?Fe(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&He(r,e,t),t},Ke=(a,r)=>(e,n)=>r(e,n,a);const ke={},qe="slides";var Z;exports.UniverSlidesPlugin=(Z=class extends h.Plugin{constructor(e={},n){super();_(this,"_config");_(this,"_canvasEngine",null);_(this,"_canvasView",null);this._injector=n,this._config=Object.assign(ke,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(d.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},_(Z,"pluginName",qe),_(Z,"type",h.UniverInstanceType.UNIVER_SLIDE),Z);exports.UniverSlidesPlugin=Be([Ke(1,X.Inject(X.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=oe;
|
package/lib/es/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var g = (a, e, r) =>
|
|
4
|
-
import { Registry as
|
|
5
|
-
import { Liquid as
|
|
6
|
-
import { Inject as
|
|
7
|
-
import { takeUntil as
|
|
8
|
-
class
|
|
1
|
+
var De = Object.defineProperty;
|
|
2
|
+
var Oe = (a, e, r) => e in a ? De(a, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[e] = r;
|
|
3
|
+
var g = (a, e, r) => Oe(a, typeof e != "symbol" ? e + "" : e, r);
|
|
4
|
+
import { Registry as Ee, LocaleService as he, PageElementType as F, DocumentDataModel as ye, getColorStyle as te, BasicShapes as pe, SlideDataModel as xe, IContextService as je, ObjectMatrix as Me, Styles as Ce, Worksheet as Ve, sortRules as Xe, OnLifecycle as Le, LifecycleStages as ze, RxDisposable as $e, UniverInstanceType as V, debounce as Ne, IUniverInstanceService as Ae, Plugin as We } from "@univerjs/core";
|
|
5
|
+
import { Liquid as Ye, DocumentViewModel as Ue, DocumentSkeleton as He, Documents as Fe, SceneViewer as Ie, Scene as ne, Viewport as $, ScrollBar as ue, Rect as H, Image as be, PageLayoutType as _e, RichText as Ke, Slide as Pe, SpreadsheetSkeleton as ke, Spreadsheet as Be, SpreadsheetRowHeader as qe, SpreadsheetColumnHeader as Ge, getColor as fe, IRenderManagerService as Ze, IRenderingEngine as Je } from "@univerjs/engine-render";
|
|
6
|
+
import { Inject as W, Injector as ie } from "@wendellhu/redi";
|
|
7
|
+
import { Subject as Qe, takeUntil as ve } from "rxjs";
|
|
8
|
+
class K {
|
|
9
9
|
constructor() {
|
|
10
10
|
g(this, "zIndex", 0);
|
|
11
11
|
g(this, "viewKey", null);
|
|
@@ -17,18 +17,18 @@ class B {
|
|
|
17
17
|
create(e) {
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
const Y =
|
|
20
|
+
const Y = Ee.create();
|
|
21
21
|
var et = Object.defineProperty, tt = Object.getOwnPropertyDescriptor, rt = (a, e, r, n) => {
|
|
22
22
|
for (var t = n > 1 ? void 0 : n ? tt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
|
|
23
23
|
(i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
|
|
24
24
|
return n && t && et(e, r, t), t;
|
|
25
25
|
}, nt = (a, e) => (r, n) => e(r, n, a);
|
|
26
|
-
let
|
|
26
|
+
let ce = class extends K {
|
|
27
27
|
constructor(e) {
|
|
28
28
|
super();
|
|
29
29
|
g(this, "zIndex", 5);
|
|
30
30
|
g(this, "viewKey", F.DOCUMENT);
|
|
31
|
-
g(this, "_liquid", new
|
|
31
|
+
g(this, "_liquid", new Ye());
|
|
32
32
|
this._localeService = e;
|
|
33
33
|
}
|
|
34
34
|
check(e) {
|
|
@@ -37,7 +37,7 @@ let le = class extends B {
|
|
|
37
37
|
}
|
|
38
38
|
// eslint-disable-next-line max-lines-per-function
|
|
39
39
|
convert(e, r) {
|
|
40
|
-
var
|
|
40
|
+
var B, ge;
|
|
41
41
|
const {
|
|
42
42
|
id: n,
|
|
43
43
|
zIndex: t,
|
|
@@ -45,35 +45,35 @@ let le = class extends B {
|
|
|
45
45
|
top: i = 0,
|
|
46
46
|
width: o,
|
|
47
47
|
height: c,
|
|
48
|
-
angle:
|
|
48
|
+
angle: d,
|
|
49
49
|
scaleX: f,
|
|
50
50
|
scaleY: h,
|
|
51
51
|
skewX: u,
|
|
52
|
-
skewY:
|
|
52
|
+
skewY: l,
|
|
53
53
|
flipX: p,
|
|
54
54
|
flipY: _,
|
|
55
|
-
title:
|
|
56
|
-
description:
|
|
55
|
+
title: O,
|
|
56
|
+
description: E,
|
|
57
57
|
document: T
|
|
58
58
|
} = e;
|
|
59
59
|
if (T == null)
|
|
60
60
|
return;
|
|
61
|
-
const P = new
|
|
61
|
+
const P = new ye(T), w = new Ue(P), I = He.create(w, this._localeService), S = new Fe("__DocsRender__", I);
|
|
62
62
|
I.calculate();
|
|
63
|
-
const D = new
|
|
63
|
+
const D = new Ie("__DocsViewer__" + n, {
|
|
64
64
|
top: i,
|
|
65
65
|
left: s,
|
|
66
66
|
width: o,
|
|
67
67
|
height: c,
|
|
68
68
|
zIndex: t,
|
|
69
|
-
angle:
|
|
69
|
+
angle: d,
|
|
70
70
|
scaleX: f,
|
|
71
71
|
scaleY: h,
|
|
72
72
|
skewX: u,
|
|
73
|
-
skewY:
|
|
73
|
+
skewY: l,
|
|
74
74
|
flipX: p,
|
|
75
75
|
flipY: _
|
|
76
|
-
}), v = new
|
|
76
|
+
}), v = new ne("__DocsScene__" + n, D), b = new $("__DocsViewPort_" + n, v, {
|
|
77
77
|
left: 0,
|
|
78
78
|
top: 0,
|
|
79
79
|
bottom: 0,
|
|
@@ -82,22 +82,22 @@ let le = class extends B {
|
|
|
82
82
|
isRelativeY: !0,
|
|
83
83
|
isWheelPreventDefaultX: !0
|
|
84
84
|
});
|
|
85
|
-
v.attachControl(), v.onMouseWheel$.subscribeEvent((M,
|
|
85
|
+
v.attachControl(), v.onMouseWheel$.subscribeEvent((M, A) => {
|
|
86
86
|
const R = M;
|
|
87
87
|
if (R.ctrlKey) {
|
|
88
88
|
const z = Math.abs(R.deltaX);
|
|
89
89
|
let x = z < 40 ? 0.2 : z < 80 ? 0.4 : 0.2;
|
|
90
90
|
x *= R.deltaY > 0 ? -1 : 1, v.scaleX < 1 && (x /= 2), v.scaleX + x > 4 ? v.scale(4, 4) : v.scaleX + x < 0.1 ? v.scale(0.1, 0.1) : (R.deltaY > 0, R.preventDefault());
|
|
91
91
|
} else
|
|
92
|
-
b.onMouseWheel(R,
|
|
93
|
-
}), new
|
|
92
|
+
b.onMouseWheel(R, A);
|
|
93
|
+
}), new ue(b, {
|
|
94
94
|
mainScene: r
|
|
95
95
|
}), v.addObject(S);
|
|
96
96
|
const m = I.getActualSize();
|
|
97
97
|
S.resize(m.actualWidth, m.actualHeight), v.resize(m.actualWidth, m.actualHeight + 200);
|
|
98
|
-
const y = (
|
|
98
|
+
const y = (B = S.getSkeleton()) == null ? void 0 : B.getPageSize();
|
|
99
99
|
S.pageRender$.subscribe((M) => {
|
|
100
|
-
const { page:
|
|
100
|
+
const { page: A, pageLeft: R, pageTop: z, ctx: x } = M, { width: q, height: G, marginBottom: se, marginLeft: C, marginRight: Z, marginTop: J } = A;
|
|
101
101
|
x.save(), x.translate(R - 0.5, z - 0.5), H.drawWith(x, {
|
|
102
102
|
width: (y == null ? void 0 : y.width) || q,
|
|
103
103
|
height: (y == null ? void 0 : y.height) || G,
|
|
@@ -107,26 +107,26 @@ let le = class extends B {
|
|
|
107
107
|
zIndex: 3
|
|
108
108
|
}), x.restore();
|
|
109
109
|
});
|
|
110
|
-
const { left: U, top:
|
|
110
|
+
const { left: U, top: N } = S, X = I.getSkeletonData();
|
|
111
111
|
if (X == null)
|
|
112
112
|
return;
|
|
113
|
-
const { pages: j } = X, L = [],
|
|
113
|
+
const { pages: j } = X, L = [], k = /* @__PURE__ */ new Map();
|
|
114
114
|
this._recalculateSizeBySkeleton(S, v, I);
|
|
115
|
-
for (let M = 0,
|
|
116
|
-
const R = j[M], { skeDrawings: z, marginLeft: x, marginTop: q, pageWidth: G, pageHeight:
|
|
115
|
+
for (let M = 0, A = j.length; M < A; M++) {
|
|
116
|
+
const R = j[M], { skeDrawings: z, marginLeft: x, marginTop: q, pageWidth: G, pageHeight: se } = R;
|
|
117
117
|
this._liquid.translatePagePadding(R), z.forEach((C) => {
|
|
118
|
-
const { aLeft: Z, aTop: J, height:
|
|
118
|
+
const { aLeft: Z, aTop: J, height: me, width: Te, drawingOrigin: zt } = C, Re = new be(C.drawingId, {
|
|
119
119
|
// url: docTransform.imageProperties?.contentUrl || '',
|
|
120
120
|
left: Z + U + this._liquid.x,
|
|
121
|
-
top: J +
|
|
122
|
-
width:
|
|
123
|
-
height:
|
|
121
|
+
top: J + N + this._liquid.y,
|
|
122
|
+
width: Te,
|
|
123
|
+
height: me,
|
|
124
124
|
zIndex: 11
|
|
125
125
|
});
|
|
126
|
-
|
|
126
|
+
k.set(C.drawingId, {
|
|
127
127
|
marginLeft: this._liquid.x,
|
|
128
128
|
marginTop: this._liquid.y
|
|
129
|
-
}), L.push(
|
|
129
|
+
}), L.push(Re);
|
|
130
130
|
}), this._liquid.translatePage(
|
|
131
131
|
R,
|
|
132
132
|
S.pageLayoutType,
|
|
@@ -136,15 +136,15 @@ let le = class extends B {
|
|
|
136
136
|
}
|
|
137
137
|
return v.addObjects(L), L.forEach((M) => {
|
|
138
138
|
v.attachTransformerTo(M);
|
|
139
|
-
}), (
|
|
140
|
-
const { objects:
|
|
141
|
-
|
|
142
|
-
const { oKey: z, left: x, top: q, height: G, width:
|
|
139
|
+
}), (ge = v.getTransformer()) == null || ge.changing$.subscribe((M) => {
|
|
140
|
+
const { objects: A } = M;
|
|
141
|
+
A.forEach((R) => {
|
|
142
|
+
const { oKey: z, left: x, top: q, height: G, width: se } = R, C = k.get(z), Z = (C == null ? void 0 : C.marginLeft) || 0, J = (C == null ? void 0 : C.marginTop) || 0;
|
|
143
143
|
I == null || I.getViewModel().getDataModel().updateDrawing(z, {
|
|
144
144
|
left: x - U - Z,
|
|
145
|
-
top: q -
|
|
145
|
+
top: q - N - J,
|
|
146
146
|
height: G,
|
|
147
|
-
width:
|
|
147
|
+
width: se
|
|
148
148
|
});
|
|
149
149
|
}), I == null || I.calculate();
|
|
150
150
|
}), this._calculatePagePosition(S, v, b), D;
|
|
@@ -155,40 +155,40 @@ let le = class extends B {
|
|
|
155
155
|
if (t == null)
|
|
156
156
|
return;
|
|
157
157
|
let s = 0, i = 0;
|
|
158
|
-
for (let c = 0,
|
|
158
|
+
for (let c = 0, d = t.length; c < d; c++) {
|
|
159
159
|
const f = t[c], { pageWidth: h, pageHeight: u } = f;
|
|
160
|
-
e.pageLayoutType ===
|
|
160
|
+
e.pageLayoutType === _e.VERTICAL ? (i += u, i += e.pageMarginTop, c === d - 1 && (i += e.pageMarginTop), s = Math.max(s, h)) : e.pageLayoutType === _e.HORIZONTAL && (s += h, c !== d - 1 && (s += e.pageMarginLeft), i = Math.max(i, u));
|
|
161
161
|
}
|
|
162
162
|
e.resize(s, i), r.resize(s, i);
|
|
163
163
|
}
|
|
164
164
|
_calculatePagePosition(e, r, n, t = 1) {
|
|
165
|
-
const s = r == null ? void 0 : r.getParent(), { width: i, height: o, pageMarginLeft: c, pageMarginTop:
|
|
165
|
+
const s = r == null ? void 0 : r.getParent(), { width: i, height: o, pageMarginLeft: c, pageMarginTop: d } = e;
|
|
166
166
|
if (s == null || i === Number.POSITIVE_INFINITY || o === Number.POSITIVE_INFINITY)
|
|
167
167
|
return;
|
|
168
168
|
const { width: f, height: h } = s;
|
|
169
|
-
let u = 0,
|
|
170
|
-
if (f > (i + c * 2) * t ? (u = f / 2 - i * t / 2, u /= t, p = (f - c * 2) / t,
|
|
171
|
-
const
|
|
169
|
+
let u = 0, l = 0, p = 0, _ = 0, O = Number.POSITIVE_INFINITY;
|
|
170
|
+
if (f > (i + c * 2) * t ? (u = f / 2 - i * t / 2, u /= t, p = (f - c * 2) / t, O = 0) : (u = c, p = i + c * 2, O = (p - f / t) / 2), h > o ? (l = h / 2 - o / 2, _ = (h - d * 2) / t) : (l = d, _ = o + d * 2), r.resize(p, _ + 200), e.translate(u, l), O !== Number.POSITIVE_INFINITY && n != null) {
|
|
171
|
+
const E = n.transScroll2ViewportScrollValue(O, 0).x;
|
|
172
172
|
n.scrollTo({
|
|
173
|
-
x:
|
|
173
|
+
x: E
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
176
|
return this;
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
|
-
|
|
180
|
-
nt(0,
|
|
181
|
-
],
|
|
179
|
+
ce = rt([
|
|
180
|
+
nt(0, W(he))
|
|
181
|
+
], ce);
|
|
182
182
|
class it {
|
|
183
183
|
constructor() {
|
|
184
184
|
g(this, "zIndex", 5);
|
|
185
185
|
}
|
|
186
186
|
create(e) {
|
|
187
|
-
return e.createInstance(
|
|
187
|
+
return e.createInstance(ce);
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
Y.add(new it());
|
|
191
|
-
class st extends
|
|
191
|
+
class st extends K {
|
|
192
192
|
constructor() {
|
|
193
193
|
super(...arguments);
|
|
194
194
|
g(this, "zIndex", 1);
|
|
@@ -206,29 +206,29 @@ class st extends B {
|
|
|
206
206
|
top: i = 0,
|
|
207
207
|
width: o,
|
|
208
208
|
height: c,
|
|
209
|
-
angle:
|
|
209
|
+
angle: d,
|
|
210
210
|
scaleX: f,
|
|
211
211
|
scaleY: h,
|
|
212
212
|
skewX: u,
|
|
213
|
-
skewY:
|
|
213
|
+
skewY: l,
|
|
214
214
|
flipX: p,
|
|
215
215
|
flipY: _,
|
|
216
|
-
title:
|
|
217
|
-
description:
|
|
216
|
+
title: O,
|
|
217
|
+
description: E,
|
|
218
218
|
image: T = {}
|
|
219
219
|
} = r, { imageProperties: P, placeholder: w, link: I } = T, S = (P == null ? void 0 : P.contentUrl) || "";
|
|
220
|
-
return new
|
|
220
|
+
return new be(n, {
|
|
221
221
|
url: S,
|
|
222
222
|
top: i,
|
|
223
223
|
left: s,
|
|
224
224
|
width: o,
|
|
225
225
|
height: c,
|
|
226
226
|
zIndex: t,
|
|
227
|
-
angle:
|
|
227
|
+
angle: d,
|
|
228
228
|
scaleX: f,
|
|
229
229
|
scaleY: h,
|
|
230
230
|
skewX: u,
|
|
231
|
-
skewY:
|
|
231
|
+
skewY: l,
|
|
232
232
|
flipX: p,
|
|
233
233
|
flipY: _,
|
|
234
234
|
forceRender: !0
|
|
@@ -249,7 +249,7 @@ var ct = Object.defineProperty, ot = Object.getOwnPropertyDescriptor, lt = (a, e
|
|
|
249
249
|
(i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
|
|
250
250
|
return n && t && ct(e, r, t), t;
|
|
251
251
|
}, dt = (a, e) => (r, n) => e(r, n, a);
|
|
252
|
-
let
|
|
252
|
+
let oe = class extends K {
|
|
253
253
|
constructor(e) {
|
|
254
254
|
super();
|
|
255
255
|
g(this, "zIndex", 2);
|
|
@@ -268,49 +268,49 @@ let de = class extends B {
|
|
|
268
268
|
top: i = 0,
|
|
269
269
|
width: o,
|
|
270
270
|
height: c,
|
|
271
|
-
angle:
|
|
271
|
+
angle: d,
|
|
272
272
|
scaleX: f,
|
|
273
273
|
scaleY: h,
|
|
274
274
|
skewX: u,
|
|
275
|
-
skewY:
|
|
275
|
+
skewY: l,
|
|
276
276
|
flipX: p,
|
|
277
277
|
flipY: _,
|
|
278
|
-
title:
|
|
279
|
-
description:
|
|
278
|
+
title: O,
|
|
279
|
+
description: E,
|
|
280
280
|
richText: T = {}
|
|
281
|
-
} = e, { text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl:
|
|
281
|
+
} = e, { text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: N, rich: X } = T;
|
|
282
282
|
let j = {
|
|
283
283
|
top: i,
|
|
284
284
|
left: s,
|
|
285
285
|
width: o,
|
|
286
286
|
height: c,
|
|
287
287
|
zIndex: t,
|
|
288
|
-
angle:
|
|
288
|
+
angle: d,
|
|
289
289
|
scaleX: f,
|
|
290
290
|
scaleY: h,
|
|
291
291
|
skewX: u,
|
|
292
|
-
skewY:
|
|
292
|
+
skewY: l,
|
|
293
293
|
flipX: p,
|
|
294
294
|
flipY: _,
|
|
295
295
|
forceRender: !0
|
|
296
296
|
}, L = !1;
|
|
297
|
-
if (P != null ? (j = { ...j, text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl:
|
|
297
|
+
if (P != null ? (j = { ...j, text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: N }, L = !0) : X != null && (j = { ...j, richText: X }, L = !0), L !== !1)
|
|
298
298
|
return new Ke(this._localeService, n, j);
|
|
299
299
|
}
|
|
300
300
|
};
|
|
301
|
-
|
|
302
|
-
dt(0,
|
|
303
|
-
],
|
|
301
|
+
oe = lt([
|
|
302
|
+
dt(0, W(he))
|
|
303
|
+
], oe);
|
|
304
304
|
class ht {
|
|
305
305
|
constructor() {
|
|
306
306
|
g(this, "zIndex", 0);
|
|
307
307
|
}
|
|
308
308
|
create(e) {
|
|
309
|
-
return e.createInstance(
|
|
309
|
+
return e.createInstance(oe);
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
Y.add(new ht());
|
|
313
|
-
class ut extends
|
|
313
|
+
class ut extends K {
|
|
314
314
|
constructor() {
|
|
315
315
|
super(...arguments);
|
|
316
316
|
g(this, "zIndex", 2);
|
|
@@ -328,21 +328,21 @@ class ut extends B {
|
|
|
328
328
|
top: i = 0,
|
|
329
329
|
width: o,
|
|
330
330
|
height: c,
|
|
331
|
-
angle:
|
|
331
|
+
angle: d,
|
|
332
332
|
scaleX: f,
|
|
333
333
|
scaleY: h,
|
|
334
334
|
skewX: u,
|
|
335
|
-
skewY:
|
|
335
|
+
skewY: l,
|
|
336
336
|
flipX: p,
|
|
337
337
|
flipY: _,
|
|
338
|
-
title:
|
|
339
|
-
description:
|
|
338
|
+
title: O,
|
|
339
|
+
description: E
|
|
340
340
|
} = r, { shapeType: T, text: P, shapeProperties: w, placeholder: I, link: S } = r.shape || {}, D = w == null ? "" : te(w.shapeBackgroundFill) || "rgba(255,255,255,1)", v = w == null ? void 0 : w.outline, b = {};
|
|
341
341
|
if (v) {
|
|
342
342
|
const { outlineFill: m, weight: y } = v;
|
|
343
343
|
b.strokeWidth = y, b.stroke = te(m) || "rgba(0,0,0,1)";
|
|
344
344
|
}
|
|
345
|
-
if (T ===
|
|
345
|
+
if (T === pe.Rect)
|
|
346
346
|
return new H(n, {
|
|
347
347
|
fill: D,
|
|
348
348
|
top: i,
|
|
@@ -350,17 +350,17 @@ class ut extends B {
|
|
|
350
350
|
width: o,
|
|
351
351
|
height: c,
|
|
352
352
|
zIndex: t,
|
|
353
|
-
angle:
|
|
353
|
+
angle: d,
|
|
354
354
|
scaleX: f,
|
|
355
355
|
scaleY: h,
|
|
356
356
|
skewX: u,
|
|
357
|
-
skewY:
|
|
357
|
+
skewY: l,
|
|
358
358
|
flipX: p,
|
|
359
359
|
flipY: _,
|
|
360
360
|
forceRender: !0,
|
|
361
361
|
...b
|
|
362
362
|
});
|
|
363
|
-
if (T ===
|
|
363
|
+
if (T === pe.RoundRect) {
|
|
364
364
|
const m = (w == null ? void 0 : w.radius) || 0;
|
|
365
365
|
return new H(n, {
|
|
366
366
|
fill: D,
|
|
@@ -369,11 +369,11 @@ class ut extends B {
|
|
|
369
369
|
width: o,
|
|
370
370
|
height: c,
|
|
371
371
|
zIndex: t,
|
|
372
|
-
angle:
|
|
372
|
+
angle: d,
|
|
373
373
|
scaleX: f,
|
|
374
374
|
scaleY: h,
|
|
375
375
|
skewX: u,
|
|
376
|
-
skewY:
|
|
376
|
+
skewY: l,
|
|
377
377
|
flipX: p,
|
|
378
378
|
flipY: _,
|
|
379
379
|
forceRender: !0,
|
|
@@ -397,7 +397,7 @@ var pt = Object.defineProperty, _t = Object.getOwnPropertyDescriptor, ft = (a, e
|
|
|
397
397
|
(i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
|
|
398
398
|
return n && t && pt(e, r, t), t;
|
|
399
399
|
}, vt = (a, e) => (r, n) => e(r, n, a);
|
|
400
|
-
let
|
|
400
|
+
let le = class extends K {
|
|
401
401
|
constructor(e) {
|
|
402
402
|
super();
|
|
403
403
|
g(this, "zIndex", 6);
|
|
@@ -417,30 +417,30 @@ let he = class extends B {
|
|
|
417
417
|
top: i = 0,
|
|
418
418
|
width: o,
|
|
419
419
|
height: c,
|
|
420
|
-
angle:
|
|
420
|
+
angle: d,
|
|
421
421
|
scaleX: f,
|
|
422
422
|
scaleY: h,
|
|
423
423
|
skewX: u,
|
|
424
|
-
skewY:
|
|
424
|
+
skewY: l,
|
|
425
425
|
flipX: p,
|
|
426
426
|
flipY: _,
|
|
427
|
-
title:
|
|
428
|
-
description:
|
|
427
|
+
title: O,
|
|
428
|
+
description: E,
|
|
429
429
|
slide: T
|
|
430
430
|
} = e;
|
|
431
431
|
if (T == null)
|
|
432
432
|
return;
|
|
433
|
-
const P = new
|
|
433
|
+
const P = new xe(T), w = new Pe("__SLIDERender__" + n, {
|
|
434
434
|
top: i,
|
|
435
435
|
left: s,
|
|
436
436
|
width: o,
|
|
437
437
|
height: c,
|
|
438
438
|
zIndex: t,
|
|
439
|
-
angle:
|
|
439
|
+
angle: d,
|
|
440
440
|
scaleX: f,
|
|
441
441
|
scaleY: h,
|
|
442
442
|
skewX: u,
|
|
443
|
-
skewY:
|
|
443
|
+
skewY: l,
|
|
444
444
|
flipX: p,
|
|
445
445
|
flipY: _,
|
|
446
446
|
forceRender: !0
|
|
@@ -457,8 +457,8 @@ let he = class extends B {
|
|
|
457
457
|
return w.activeFirstPage(), w;
|
|
458
458
|
}
|
|
459
459
|
_createScene(e, r, n, t, s) {
|
|
460
|
-
var
|
|
461
|
-
const { width: i, height: o } = r, c = new
|
|
460
|
+
var l;
|
|
461
|
+
const { width: i, height: o } = r, c = new ne(e, r, {
|
|
462
462
|
width: i,
|
|
463
463
|
height: o
|
|
464
464
|
});
|
|
@@ -470,7 +470,7 @@ let he = class extends B {
|
|
|
470
470
|
isRelativeX: !0,
|
|
471
471
|
isRelativeY: !0
|
|
472
472
|
}).closeClip();
|
|
473
|
-
const { pageElements: f, pageBackgroundFill: h } = n, u = (
|
|
473
|
+
const { pageElements: f, pageBackgroundFill: h } = n, u = (l = this._ObjectProvider) == null ? void 0 : l.convertToRenderObjects(f, t);
|
|
474
474
|
return this._addBackgroundRect(c, h, s), c.addObjects(u), u == null || u.forEach((p) => {
|
|
475
475
|
c.attachTransformerTo(p);
|
|
476
476
|
}), c;
|
|
@@ -490,15 +490,15 @@ let he = class extends B {
|
|
|
490
490
|
e.addObject(o, 0);
|
|
491
491
|
}
|
|
492
492
|
};
|
|
493
|
-
|
|
494
|
-
vt(0,
|
|
495
|
-
],
|
|
493
|
+
le = ft([
|
|
494
|
+
vt(0, W(ie))
|
|
495
|
+
], le);
|
|
496
496
|
class wt {
|
|
497
497
|
constructor() {
|
|
498
498
|
g(this, "zIndex", 6);
|
|
499
499
|
}
|
|
500
500
|
create(e) {
|
|
501
|
-
return e.createInstance(
|
|
501
|
+
return e.createInstance(le);
|
|
502
502
|
}
|
|
503
503
|
}
|
|
504
504
|
Y.add(new wt());
|
|
@@ -506,8 +506,8 @@ var St = Object.defineProperty, It = Object.getOwnPropertyDescriptor, bt = (a, e
|
|
|
506
506
|
for (var t = n > 1 ? void 0 : n ? It(e, r) : e, s = a.length - 1, i; s >= 0; s--)
|
|
507
507
|
(i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
|
|
508
508
|
return n && t && St(e, r, t), t;
|
|
509
|
-
},
|
|
510
|
-
let
|
|
509
|
+
}, we = (a, e) => (r, n) => e(r, n, a);
|
|
510
|
+
let de = class extends K {
|
|
511
511
|
constructor(e, r) {
|
|
512
512
|
super();
|
|
513
513
|
g(this, "zIndex", 4);
|
|
@@ -527,55 +527,55 @@ let ue = class extends B {
|
|
|
527
527
|
top: i = 0,
|
|
528
528
|
width: o,
|
|
529
529
|
height: c,
|
|
530
|
-
angle:
|
|
530
|
+
angle: d,
|
|
531
531
|
scaleX: f,
|
|
532
532
|
scaleY: h,
|
|
533
533
|
skewX: u,
|
|
534
|
-
skewY:
|
|
534
|
+
skewY: l,
|
|
535
535
|
flipX: p,
|
|
536
536
|
flipY: _,
|
|
537
|
-
spreadsheet:
|
|
537
|
+
spreadsheet: O
|
|
538
538
|
} = e;
|
|
539
|
-
if (
|
|
539
|
+
if (O == null)
|
|
540
540
|
return;
|
|
541
|
-
const { worksheet:
|
|
542
|
-
new
|
|
541
|
+
const { worksheet: E, styles: T } = O, { cellData: P } = E, w = new Me(P), I = new Ce(T), S = new ke(
|
|
542
|
+
new Ve(n, E, I),
|
|
543
543
|
// FIXME: worksheet in slide doesn't has a Worksheet object
|
|
544
|
-
|
|
544
|
+
E,
|
|
545
545
|
w,
|
|
546
546
|
I,
|
|
547
547
|
this._localeService,
|
|
548
548
|
this._contextService
|
|
549
|
-
), { rowTotalHeight: D, columnTotalWidth: v, rowHeaderWidth: b, columnHeaderHeight: m } = S, y = v +
|
|
549
|
+
), { rowTotalHeight: D, columnTotalWidth: v, rowHeaderWidth: b, columnHeaderHeight: m } = S, y = v + E.rowHeader.width || 0, U = D + E.columnHeader.height || 0, N = new Ie("spreadInSlideSceneViewer" + n, {
|
|
550
550
|
top: i,
|
|
551
551
|
left: s,
|
|
552
552
|
width: o,
|
|
553
553
|
height: c,
|
|
554
554
|
zIndex: t,
|
|
555
|
-
angle:
|
|
555
|
+
angle: d,
|
|
556
556
|
scaleX: f,
|
|
557
557
|
scaleY: h,
|
|
558
558
|
skewX: u,
|
|
559
|
-
skewY:
|
|
559
|
+
skewY: l,
|
|
560
560
|
flipX: p,
|
|
561
561
|
flipY: _,
|
|
562
562
|
forceRender: !0
|
|
563
|
-
}), X = new
|
|
563
|
+
}), X = new ne("spreadInSlideScene" + n, N, {
|
|
564
564
|
width: y,
|
|
565
565
|
height: U
|
|
566
566
|
});
|
|
567
567
|
this._updateViewport(n, b, m, X, r);
|
|
568
|
-
const j = new
|
|
568
|
+
const j = new Be("testSheetViewer", S, !1), L = new qe("spreadInSlideRow", S), k = new Ge("spreadInSlideColumn", S), B = new H("spreadInSlideLeftTop", {
|
|
569
569
|
zIndex: 2,
|
|
570
570
|
left: -1,
|
|
571
571
|
top: -1,
|
|
572
572
|
width: b,
|
|
573
573
|
height: m,
|
|
574
|
-
fill:
|
|
575
|
-
stroke:
|
|
574
|
+
fill: fe([248, 249, 250]),
|
|
575
|
+
stroke: fe([217, 217, 217]),
|
|
576
576
|
strokeWidth: 1
|
|
577
577
|
});
|
|
578
|
-
return j.zIndex = 10, X.addObjects([j], 1), X.addObjects([L,
|
|
578
|
+
return j.zIndex = 10, X.addObjects([j], 1), X.addObjects([L, k, B], 2), N;
|
|
579
579
|
}
|
|
580
580
|
// eslint-disable-next-line max-lines-per-function
|
|
581
581
|
_updateViewport(e, r, n, t, s) {
|
|
@@ -589,7 +589,7 @@ let ue = class extends B {
|
|
|
589
589
|
isRelativeX: !0,
|
|
590
590
|
isRelativeY: !0,
|
|
591
591
|
isWheelPreventDefaultX: !0
|
|
592
|
-
}),
|
|
592
|
+
}), d = new $("spreadInSlideViewTop" + e, t, {
|
|
593
593
|
left: i,
|
|
594
594
|
height: o,
|
|
595
595
|
top: 0,
|
|
@@ -611,37 +611,37 @@ let ue = class extends B {
|
|
|
611
611
|
height: o,
|
|
612
612
|
isWheelPreventDefaultX: !0
|
|
613
613
|
}), c.onScrollAfter$.subscribeEvent((h) => {
|
|
614
|
-
const { scrollX: u, scrollY:
|
|
615
|
-
|
|
614
|
+
const { scrollX: u, scrollY: l, viewportScrollX: p, viewportScrollY: _ } = h;
|
|
615
|
+
d.updateScroll({
|
|
616
616
|
scrollX: u,
|
|
617
617
|
viewportScrollX: p
|
|
618
618
|
}), f.updateScroll({
|
|
619
|
-
scrollY:
|
|
619
|
+
scrollY: l,
|
|
620
620
|
viewportScrollY: _
|
|
621
621
|
});
|
|
622
|
-
}), t.attachControl(), new
|
|
622
|
+
}), t.attachControl(), new ue(c, {
|
|
623
623
|
mainScene: s
|
|
624
624
|
}), t.onMouseWheel$.subscribeEvent((h, u) => {
|
|
625
|
-
const
|
|
626
|
-
if (
|
|
627
|
-
const p = Math.abs(
|
|
625
|
+
const l = h;
|
|
626
|
+
if (l.ctrlKey) {
|
|
627
|
+
const p = Math.abs(l.deltaX);
|
|
628
628
|
let _ = p < 40 ? 0.05 : p < 80 ? 0.02 : 0.01;
|
|
629
|
-
_ *=
|
|
629
|
+
_ *= l.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (_ /= 2), t.scaleX + _ > 4 ? t.scale(4, 4) : t.scaleX + _ < 0.1 ? t.scale(0.1, 0.1) : (t.scaleBy(_, _), l.preventDefault());
|
|
630
630
|
} else
|
|
631
|
-
c.onMouseWheel(
|
|
631
|
+
c.onMouseWheel(l, u);
|
|
632
632
|
});
|
|
633
633
|
}
|
|
634
634
|
};
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
],
|
|
635
|
+
de = bt([
|
|
636
|
+
we(0, W(he)),
|
|
637
|
+
we(1, je)
|
|
638
|
+
], de);
|
|
639
639
|
class Pt {
|
|
640
640
|
constructor() {
|
|
641
641
|
g(this, "zIndex", 4);
|
|
642
642
|
}
|
|
643
643
|
create(e) {
|
|
644
|
-
return e.createInstance(
|
|
644
|
+
return e.createInstance(de);
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
Y.add(new Pt());
|
|
@@ -672,33 +672,34 @@ let re = class {
|
|
|
672
672
|
}
|
|
673
673
|
}
|
|
674
674
|
_adaptorLoader() {
|
|
675
|
-
Y.getData().sort(
|
|
675
|
+
Y.getData().sort(Xe).forEach((a) => {
|
|
676
676
|
this._adaptors.push(a.create(this._injector));
|
|
677
677
|
});
|
|
678
678
|
}
|
|
679
679
|
};
|
|
680
680
|
re = Rt([
|
|
681
|
-
Dt(0,
|
|
681
|
+
Dt(0, W(ie))
|
|
682
682
|
], re);
|
|
683
|
-
var
|
|
684
|
-
for (var t = n > 1 ? void 0 : n ?
|
|
683
|
+
var Ot = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, yt = (a, e, r, n) => {
|
|
684
|
+
for (var t = n > 1 ? void 0 : n ? Et(e, r) : e, s = a.length - 1, i; s >= 0; s--)
|
|
685
685
|
(i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
|
|
686
|
-
return n && t &&
|
|
687
|
-
},
|
|
688
|
-
let ee = class extends
|
|
686
|
+
return n && t && Ot(e, r, t), t;
|
|
687
|
+
}, ae = (a, e) => (r, n) => e(r, n, a), xt = /* @__PURE__ */ ((a) => (a.COMPONENT = "__slideRender__", a.SCENE = "__mainScene__", a.VIEW = "__mainView__", a))(xt || {});
|
|
688
|
+
let ee = class extends $e {
|
|
689
689
|
constructor(e, r, n) {
|
|
690
690
|
super();
|
|
691
691
|
g(this, "_objectProvider", null);
|
|
692
692
|
g(this, "_activePageId", "");
|
|
693
|
-
g(this, "
|
|
693
|
+
g(this, "activePageId$", new Qe());
|
|
694
|
+
g(this, "_refreshThumb", Ne(() => {
|
|
694
695
|
this.createThumbs();
|
|
695
696
|
}, 300));
|
|
696
697
|
this._univerInstanceService = e, this._injector = r, this._renderManagerService = n, this._initializeDependencies(this._injector), this._initialize();
|
|
697
698
|
}
|
|
698
699
|
_initialize() {
|
|
699
|
-
this._renderManagerService.createRender$.pipe(
|
|
700
|
+
this._renderManagerService.createRender$.pipe(ve(this.dispose$)).subscribe((e) => {
|
|
700
701
|
this._create(e);
|
|
701
|
-
}), this._univerInstanceService.getCurrentTypeOfUnit$(V.UNIVER_SLIDE).pipe(
|
|
702
|
+
}), this._univerInstanceService.getCurrentTypeOfUnit$(V.UNIVER_SLIDE).pipe(ve(this.dispose$)).subscribe((e) => {
|
|
702
703
|
this._create(e == null ? void 0 : e.getUnitId());
|
|
703
704
|
}), this._univerInstanceService.getAllUnitsForType(V.UNIVER_SLIDE).forEach((e) => {
|
|
704
705
|
this._create(e.getUnitId());
|
|
@@ -719,7 +720,7 @@ let ee = class extends Ae {
|
|
|
719
720
|
if (n == null || t == null || t.mainComponent == null)
|
|
720
721
|
return;
|
|
721
722
|
const { id: s } = n, i = t.mainComponent;
|
|
722
|
-
if (this._activePageId = e, i != null && i.hasPage(s)) {
|
|
723
|
+
if (this._activePageId = e, this.activePageId$.next(e), i != null && i.hasPage(s)) {
|
|
723
724
|
i.changePage(s);
|
|
724
725
|
return;
|
|
725
726
|
}
|
|
@@ -768,26 +769,24 @@ let ee = class extends Ae {
|
|
|
768
769
|
isRelativeY: !0,
|
|
769
770
|
isWheelPreventDefaultX: !0
|
|
770
771
|
});
|
|
771
|
-
t.attachControl(), t.onMouseWheel$.subscribeEvent((
|
|
772
|
-
const h =
|
|
772
|
+
t.attachControl(), t.onMouseWheel$.subscribeEvent((d, f) => {
|
|
773
|
+
const h = d;
|
|
773
774
|
if (h.ctrlKey) {
|
|
774
775
|
const u = Math.abs(h.deltaX);
|
|
775
|
-
let
|
|
776
|
-
|
|
776
|
+
let l = u < 40 ? 0.2 : u < 80 ? 0.4 : 0.2;
|
|
777
|
+
l *= h.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (l /= 2), t.scaleX + l > 4 ? t.scale(4, 4) : t.scaleX + l < 0.1 ? t.scale(0.1, 0.1) : (h.deltaY > 0, h.preventDefault());
|
|
777
778
|
} else
|
|
778
779
|
o.onMouseWheel(h, f);
|
|
779
780
|
}), t.onFileLoaded$.subscribeEvent(() => {
|
|
780
781
|
this._refreshThumb();
|
|
781
|
-
}),
|
|
782
|
+
}), ue.attachTo(o), this._renderManagerService.setCurrent(e);
|
|
782
783
|
const c = this._createSlide(t);
|
|
783
784
|
n.mainComponent = c, n.components.set("__slideRender__", c), this._createSlidePages(r, c), s.runRenderLoop(() => {
|
|
784
785
|
t.render();
|
|
785
|
-
const l = document.getElementById("app");
|
|
786
|
-
l && (l.innerText = `fps:${Math.round(s.getFps()).toString()}`);
|
|
787
786
|
});
|
|
788
787
|
}
|
|
789
788
|
_createSlide(e) {
|
|
790
|
-
const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE), { width: n, height: t } = e, s = r.getPageSize(), { width: i = 100, height: o = 100 } = s, c = new
|
|
789
|
+
const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE), { width: n, height: t } = e, s = r.getPageSize(), { width: i = 100, height: o = 100 } = s, c = new Pe("__slideRender__", {
|
|
791
790
|
left: (n - i) / 2,
|
|
792
791
|
top: (t - o) / 2,
|
|
793
792
|
width: i,
|
|
@@ -825,8 +824,8 @@ let ee = class extends Ae {
|
|
|
825
824
|
const { engine: t } = n;
|
|
826
825
|
if (t == null)
|
|
827
826
|
return;
|
|
828
|
-
const { width: s, height: i } = r, { width: o = s, height: c = i } = t,
|
|
829
|
-
r.renderToThumb(
|
|
827
|
+
const { width: s, height: i } = r, { width: o = s, height: c = i } = t, d = t.getCanvas().getContext();
|
|
828
|
+
r.renderToThumb(d, e, o / s, c / i);
|
|
830
829
|
}
|
|
831
830
|
_createSlidePages(e, r) {
|
|
832
831
|
const n = e.getPages(), t = e.getPageOrder();
|
|
@@ -853,11 +852,11 @@ let ee = class extends Ae {
|
|
|
853
852
|
const n = this._currentRender();
|
|
854
853
|
if (!n || !this._objectProvider)
|
|
855
854
|
return;
|
|
856
|
-
const { scene: t, mainComponent: s } = n, i = s, { width: o, height: c } = i,
|
|
855
|
+
const { scene: t, mainComponent: s } = n, i = s, { width: o, height: c } = i, d = new ne(e, i, {
|
|
857
856
|
width: o,
|
|
858
857
|
height: c
|
|
859
858
|
});
|
|
860
|
-
new $(`PageViewer_${e}`,
|
|
859
|
+
new $(`PageViewer_${e}`, d, {
|
|
861
860
|
left: 0,
|
|
862
861
|
top: 0,
|
|
863
862
|
bottom: 0,
|
|
@@ -865,42 +864,42 @@ let ee = class extends Ae {
|
|
|
865
864
|
isRelativeX: !0,
|
|
866
865
|
isRelativeY: !0
|
|
867
866
|
}).closeClip();
|
|
868
|
-
const { pageElements: h, pageBackgroundFill: u } = r,
|
|
869
|
-
if (!
|
|
870
|
-
this._addBackgroundRect(
|
|
871
|
-
|
|
867
|
+
const { pageElements: h, pageBackgroundFill: u } = r, l = this._objectProvider.convertToRenderObjects(h, t);
|
|
868
|
+
if (!l || !i) return;
|
|
869
|
+
this._addBackgroundRect(d, u), d.addObjects(l), l.forEach((_) => {
|
|
870
|
+
d.attachTransformerTo(_);
|
|
872
871
|
});
|
|
873
|
-
const p =
|
|
872
|
+
const p = d.getTransformer();
|
|
874
873
|
return p == null || p.changeEnd$.subscribe(() => {
|
|
875
874
|
this._thumbSceneRender(this._activePageId, i);
|
|
876
875
|
}), p == null || p.clearControl$.subscribe(() => {
|
|
877
876
|
this._thumbSceneRender(this._activePageId, i);
|
|
878
|
-
}), i.addPage(
|
|
877
|
+
}), i.addPage(d), d;
|
|
879
878
|
}
|
|
880
879
|
_initializeDependencies(e) {
|
|
881
880
|
this._objectProvider = e.createInstance(re);
|
|
882
881
|
}
|
|
883
882
|
};
|
|
884
883
|
ee = yt([
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
884
|
+
Le(ze.Ready, ee),
|
|
885
|
+
ae(0, Ae),
|
|
886
|
+
ae(1, W(ie)),
|
|
887
|
+
ae(2, Ze)
|
|
889
888
|
], ee);
|
|
890
889
|
var jt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Ct = (a, e, r, n) => {
|
|
891
890
|
for (var t = n > 1 ? void 0 : n ? Mt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
|
|
892
891
|
(i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
|
|
893
892
|
return n && t && jt(e, r, t), t;
|
|
894
|
-
},
|
|
895
|
-
const
|
|
893
|
+
}, Vt = (a, e) => (r, n) => e(r, n, a);
|
|
894
|
+
const Xt = {}, Lt = "slides";
|
|
896
895
|
var Q;
|
|
897
|
-
let
|
|
898
|
-
constructor(e = {}, r
|
|
896
|
+
let Se = (Q = class extends We {
|
|
897
|
+
constructor(e = {}, r) {
|
|
899
898
|
super();
|
|
900
899
|
g(this, "_config");
|
|
901
900
|
g(this, "_canvasEngine", null);
|
|
902
901
|
g(this, "_canvasView", null);
|
|
903
|
-
this.
|
|
902
|
+
this._injector = r, this._config = Object.assign(Xt, e), this._initializeDependencies(this._injector);
|
|
904
903
|
}
|
|
905
904
|
initialize() {
|
|
906
905
|
this.initCanvasEngine();
|
|
@@ -909,7 +908,7 @@ let Ie = (Q = class extends Ye {
|
|
|
909
908
|
return this._config;
|
|
910
909
|
}
|
|
911
910
|
initCanvasEngine() {
|
|
912
|
-
this._canvasEngine = this._injector.get(
|
|
911
|
+
this._canvasEngine = this._injector.get(Je);
|
|
913
912
|
}
|
|
914
913
|
onRendered() {
|
|
915
914
|
this.initialize();
|
|
@@ -925,14 +924,12 @@ let Ie = (Q = class extends Ye {
|
|
|
925
924
|
e.add(n);
|
|
926
925
|
});
|
|
927
926
|
}
|
|
928
|
-
}, g(Q, "pluginName",
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
oe(3, N(se))
|
|
933
|
-
], Ie);
|
|
927
|
+
}, g(Q, "pluginName", Lt), g(Q, "type", V.UNIVER_SLIDE), Q);
|
|
928
|
+
Se = Ct([
|
|
929
|
+
Vt(1, W(ie))
|
|
930
|
+
], Se);
|
|
934
931
|
export {
|
|
935
932
|
ee as CanvasView,
|
|
936
933
|
xt as SLIDE_KEY,
|
|
937
|
-
|
|
934
|
+
Se as UniverSlidesPlugin
|
|
938
935
|
};
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Plugin, UniverInstanceType } from '@univerjs/core';
|
|
2
2
|
import { Engine } from '@univerjs/engine-render';
|
|
3
3
|
import { Injector } from '@wendellhu/redi';
|
|
4
4
|
import { CanvasView } from './views/render';
|
|
@@ -6,15 +6,13 @@ import { CanvasView } from './views/render';
|
|
|
6
6
|
export interface IUniverSlidesConfig {
|
|
7
7
|
}
|
|
8
8
|
export declare class UniverSlidesPlugin extends Plugin {
|
|
9
|
-
private readonly _univerInstanceService;
|
|
10
|
-
private readonly _localeService;
|
|
11
9
|
readonly _injector: Injector;
|
|
12
10
|
static pluginName: string;
|
|
13
11
|
static type: UniverInstanceType;
|
|
14
12
|
private _config;
|
|
15
13
|
private _canvasEngine;
|
|
16
14
|
private _canvasView;
|
|
17
|
-
constructor(config: Partial<IUniverSlidesConfig> | undefined,
|
|
15
|
+
constructor(config: Partial<IUniverSlidesConfig> | undefined, _injector: Injector);
|
|
18
16
|
initialize(): void;
|
|
19
17
|
getConfig(): IUniverSlidesConfig;
|
|
20
18
|
initCanvasEngine(): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IUniverInstanceService, RxDisposable } from '@univerjs/core';
|
|
2
2
|
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
3
3
|
import { Injector } from '@wendellhu/redi';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
4
5
|
|
|
5
6
|
export declare enum SLIDE_KEY {
|
|
6
7
|
COMPONENT = "__slideRender__",
|
|
@@ -13,6 +14,7 @@ export declare class CanvasView extends RxDisposable {
|
|
|
13
14
|
private readonly _renderManagerService;
|
|
14
15
|
private _objectProvider;
|
|
15
16
|
private _activePageId;
|
|
17
|
+
readonly activePageId$: Subject<string>;
|
|
16
18
|
constructor(_univerInstanceService: IUniverInstanceService, _injector: Injector, _renderManagerService: IRenderManagerService);
|
|
17
19
|
private _initialize;
|
|
18
20
|
activePage(pageId?: string): void;
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(S,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@wendellhu/redi","rxjs"],l):(S=typeof globalThis<"u"?globalThis:S||self,l(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,l,h,V,ce){"use strict";var qe=Object.defineProperty;var Ge=(S,l,h)=>l in S?qe(S,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[l]=h;var f=(S,l,h)=>Ge(S,typeof l!="symbol"?l+"":l,h);var K;class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(n){if(n===this.viewKey)return this}create(n){}}const A=l.Registry.create();var de=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,pe=(a,n,e,r)=>{for(var t=r>1?void 0:r?ue(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&de(n,e,t),t},ge=(a,n)=>(e,r)=>n(e,r,a);let ee=class extends H{constructor(n){super();f(this,"zIndex",5);f(this,"viewKey",l.PageElementType.DOCUMENT);f(this,"_liquid",new h.Liquid);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){var q,he;const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,document:D}=n;if(D==null)return;const y=new l.DocumentDataModel(D),P=new h.DocumentViewModel(y),T=h.DocumentSkeleton.create(P,this._localeService),b=new h.Documents("__DocsRender__",T);T.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v}),I=new h.Scene("__DocsScene__"+r,C),m=new h.Viewport("__DocsViewPort_"+r,I,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});I.attachControl(),I.onMouseWheel$.subscribeEvent((X,Y)=>{const O=X;if(O.ctrlKey){const N=Math.abs(O.deltaX);let L=N<40?.2:N<80?.4:.2;L*=O.deltaY>0?-1:1,I.scaleX<1&&(L/=2),I.scaleX+L>4?I.scale(4,4):I.scaleX+L<.1?I.scale(.1,.1):(O.deltaY>0,O.preventDefault())}else m.onMouseWheel(O,Y)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(b);const E=T.getActualSize();b.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const M=(q=b.getSkeleton())==null?void 0:q.getPageSize();b.pageRender$.subscribe(X=>{const{page:Y,pageLeft:O,pageTop:N,ctx:L}=X,{width:G,height:Z,marginBottom:ae,marginLeft:z,marginRight:J,marginTop:Q}=Y;L.save(),L.translate(O-.5,N-.5),h.Rect.drawWith(L,{width:(M==null?void 0:M.width)||G,height:(M==null?void 0:M.height)||Z,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),L.restore()});const{left:F,top:W}=b,R=T.getSkeletonData();if(R==null)return;const{pages:U}=R,$=[],k=new Map;this._recalculateSizeBySkeleton(b,I,T);for(let X=0,Y=U.length;X<Y;X++){const O=U[X],{skeDrawings:N,marginLeft:L,marginTop:G,pageWidth:Z,pageHeight:ae}=O;this._liquid.translatePagePadding(O),N.forEach(z=>{const{aLeft:J,aTop:Q,height:Be,width:Ke,drawingOrigin:Ze}=z,ke=new h.Image(z.drawingId,{left:J+F+this._liquid.x,top:Q+W+this._liquid.y,width:Ke,height:Be,zIndex:11});k.set(z.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),$.push(ke)}),this._liquid.translatePage(O,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return I.addObjects($),$.forEach(X=>{I.attachTransformerTo(X)}),(he=I.getTransformer())==null||he.changing$.subscribe(X=>{const{objects:Y}=X;Y.forEach(O=>{const{oKey:N,left:L,top:G,height:Z,width:ae}=O,z=k.get(N),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(N,{left:L-F-J,top:G-W-Q,height:Z,width:ae})}),T==null||T.calculate()}),this._calculatePagePosition(b,I,m),C}_recalculateSizeBySkeleton(n,e,r){var c;const t=(c=r.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,d=t.length;o<d;o++){const u=t[o],{pageWidth:w,pageHeight:p}=u;n.pageLayoutType===h.PageLayoutType.VERTICAL?(s+=p,s+=n.pageMarginTop,o===d-1&&(s+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,o!==d-1&&(i+=n.pageMarginLeft),s=Math.max(s,p))}n.resize(i,s),e.resize(i,s)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:d}=n;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:u,height:w}=i;let p=0,_=0,g=0,v=0,j=Number.POSITIVE_INFINITY;if(u>(s+o*2)*t?(p=u/2-s*t/2,p/=t,g=(u-o*2)/t,j=0):(p=o,g=s+o*2,j=(g-u/t)/2),w>c?(_=w/2-c/2,v=(w-d*2)/t):(_=d,v=c+d*2),e.resize(g,v+200),n.translate(p,_),j!==Number.POSITIVE_INFINITY&&r!=null){const x=r.transScroll2ViewportScrollValue(j,0).x;r.scrollTo({x})}return this}};ee=pe([ge(0,V.Inject(l.LocaleService))],ee);class _e{constructor(){f(this,"zIndex",5)}create(n){return n.createInstance(ee)}}A.add(new _e);class ve extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",l.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,image:D={}}=e,{imageProperties:y,placeholder:P,link:T}=D,b=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:b,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0})}}class fe{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ve)}}A.add(new fe);var we=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ie=(a,n,e,r)=>{for(var t=r>1?void 0:r?Se(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&we(n,e,t),t},Pe=(a,n)=>(e,r)=>n(e,r,a);let te=class extends H{constructor(n){super();f(this,"zIndex",2);f(this,"viewKey",l.PageElementType.TEXT);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,richText:D={}}=n,{text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:M,bd:F,cl:W,rich:R}=D;let U={top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0},$=!1;if(y!=null?(U={...U,text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:M,bd:F,cl:W},$=!0):R!=null&&(U={...U,richText:R},$=!0),$!==!1)return new h.RichText(this._localeService,r,U)}};te=Ie([Pe(0,V.Inject(l.LocaleService))],te);class be{constructor(){f(this,"zIndex",0)}create(n){return n.createInstance(te)}}A.add(new be);class Te extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",l.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x}=e,{shapeType:D,text:y,shapeProperties:P,placeholder:T,link:b}=e.shape||{},C=P==null?"":l.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:M}=I;m.strokeWidth=M,m.stroke=l.getColorStyle(E)||"rgba(0,0,0,1)"}if(D===l.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,...m});if(D===l.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,radius:E,...m})}}}class me{constructor(){f(this,"zIndex",2)}create(n){return n.createInstance(Te)}}A.add(new me);var ye=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,je=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ee(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&ye(n,e,t),t},De=(a,n)=>(e,r)=>n(e,r,a);let re=class extends H{constructor(n){super();f(this,"zIndex",6);f(this,"viewKey",l.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,slide:D}=n;if(D==null)return;const y=new l.SlideDataModel(D),P=new h.Slide("__SLIDERender__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const T=y.getPageOrder(),b=y.getPages();if(!T||!b)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=T.length;C<I;C++){const m=b[T[C]],{id:E}=m;P.addPage(this._createScene(E,P,m,e,y))}return P.activeFirstPage(),P}_createScene(n,e,r,t,i){var _;const{width:s,height:c}=e,o=new h.Scene(n,e,{width:s,height:c});new h.Viewport(`PageViewer_${n}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:w}=r,p=(_=this._ObjectProvider)==null?void 0:_.convertToRenderObjects(u,t);return this._addBackgroundRect(o,w,i),o.addObjects(p),p==null||p.forEach(g=>{o.attachTransformerTo(g)}),o}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:s=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};re=je([De(0,V.Inject(V.Injector))],re);class Oe{constructor(){f(this,"zIndex",6)}create(n){return n.createInstance(re)}}A.add(new Oe);var Ce=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,xe=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ve(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ce(n,e,t),t},oe=(a,n)=>(e,r)=>n(e,r,a);let ne=class extends H{constructor(n,e){super();f(this,"zIndex",4);f(this,"viewKey",l.PageElementType.SPREADSHEET);this._localeService=n,this._contextService=e}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,spreadsheet:j}=n;if(j==null)return;const{worksheet:x,styles:D}=j,{cellData:y}=x,P=new l.ObjectMatrix(y),T=new l.Styles(D),b=new h.SpreadsheetSkeleton(new l.Worksheet(r,x,T),x,P,T,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=b,M=I+x.rowHeader.width||0,F=C+x.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0}),R=new h.Scene("spreadInSlideScene"+r,W,{width:M,height:F});this._updateViewport(r,m,E,R,e);const U=new h.Spreadsheet("testSheetViewer",b,!1),$=new h.SpreadsheetRowHeader("spreadInSlideRow",b),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",b),q=new h.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:m,height:E,fill:h.getColor([248,249,250]),stroke:h.getColor([217,217,217]),strokeWidth:1});return U.zIndex=10,R.addObjects([U],1),R.addObjects([$,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const s=e*t.scaleX,c=r*t.scaleY,o=new h.Viewport("spreadInSlideViewMain"+n,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),u=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:p,scrollY:_,viewportScrollX:g,viewportScrollY:v}=w;d.updateScroll({scrollX:p,viewportScrollX:g}),u.updateScroll({scrollY:_,viewportScrollY:v})}),t.attachControl(),new h.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,p)=>{const _=w;if(_.ctrlKey){const g=Math.abs(_.deltaX);let v=g<40?.05:g<80?.02:.01;v*=_.deltaY>0?-1:1,t.scaleX<1&&(v/=2),t.scaleX+v>4?t.scale(4,4):t.scaleX+v<.1?t.scale(.1,.1):(t.scaleBy(v,v),_.preventDefault())}else o.onMouseWheel(_,p)})}};ne=xe([oe(0,V.Inject(l.LocaleService)),oe(1,l.IContextService)],ne);class Me{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ne)}}A.add(new Me);var Le=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Xe=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ue(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Le(n,e,t),t},ze=(a,n)=>(e,r)=>n(e,r,a);let B=class{constructor(a){f(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,n){const e=Object.keys(a),r=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,n);s!=null&&r.push(s)}),r}_executor(a,n){var t;const{id:e,type:r}=a;for(const i of this._adaptors){const s=(t=i.check(r))==null?void 0:t.convert(a,n);if(s!=null)return s}}_adaptorLoader(){A.getData().sort(l.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};B=Xe([ze(0,V.Inject(V.Injector))],B);var Re=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ne=(a,n,e,r)=>{for(var t=r>1?void 0:r?$e(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Re(n,e,t),t},ie=(a,n)=>(e,r)=>n(e,r,a),le=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(le||{});S.CanvasView=class extends l.RxDisposable{constructor(e,r,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",l.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=r,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$(l.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const o=r.getPages(),d=r.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:s}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:s}=t,{x:c,y:o}=r.transViewportScroll2ScrollValue(i,s);r.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE);if(r==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((u,w)=>{const p=u;if(p.ctrlKey){const _=Math.abs(p.deltaX);let g=_<40?.2:_<80?.4:.2;g*=p.deltaY>0?-1:1,i.scaleX<1&&(g/=2),i.scaleX+g>4?i.scale(4,4):i.scaleX+g<.1?i.scale(.1,.1):(p.deltaY>0,p.preventDefault())}else o.onMouseWheel(p,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),s.runRenderLoop(()=>{i.render();const u=document.getElementById("app");u&&(u.innerText=`fps:${Math.round(s.getFps()).toString()}`)})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=r.getPageSize(),{width:c=100,height:o=100}=s,d=new h.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,r){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new h.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-s)/2,top:(t-c)/2}}_thumbSceneRender(e,r){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:s,height:c}=r,{width:o=s,height:d=c}=i,u=i.getCanvas().getContext();r.renderToThumb(u,e,o/s,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,s=r.length;i<s;i++){const c=r[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,r){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:s}=t,c=s,{width:o,height:d}=c,u=new h.Scene(e,c,{width:o,height:d});new h.Viewport(`PageViewer_${e}`,u,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:_}=r,g=this._objectProvider.convertToRenderObjects(p,i);if(!g||!c)return;this._addBackgroundRect(u,_),u.addObjects(g),g.forEach(j=>{u.attachTransformerTo(j)});const v=u.getTransformer();return v==null||v.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(u),u}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Ne([l.OnLifecycle(l.LifecycleStages.Ready,S.CanvasView),ie(0,l.IUniverInstanceService),ie(1,V.Inject(V.Injector)),ie(2,h.IRenderManagerService)],S.CanvasView);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(a,n,e,r)=>{for(var t=r>1?void 0:r?We(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ae(n,e,t),t},se=(a,n)=>(e,r)=>n(e,r,a);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends l.Plugin{constructor(e={},r,t,i){super();f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._univerInstanceService=r,this._localeService=t,this._injector=i,this._config=Object.assign(He,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(h.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[S.CanvasView]].forEach(t=>{e.add(t)})}},f(K,"pluginName",Fe),f(K,"type",l.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=Ye([se(1,l.IUniverInstanceService),se(2,V.Inject(l.LocaleService)),se(3,V.Inject(V.Injector))],S.UniverSlidesPlugin),S.SLIDE_KEY=le,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(S,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@wendellhu/redi","rxjs"],l):(S=typeof globalThis<"u"?globalThis:S||self,l(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,l,h,L,ee){"use strict";var qe=Object.defineProperty;var Ge=(S,l,h)=>l in S?qe(S,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[l]=h;var _=(S,l,h)=>Ge(S,typeof l!="symbol"?l+"":l,h);var K;class H{constructor(){_(this,"zIndex",0);_(this,"viewKey",null)}check(n){if(n===this.viewKey)return this}create(n){}}const A=l.Registry.create();var he=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ue=(a,n,e,r)=>{for(var t=r>1?void 0:r?de(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&he(n,e,t),t},pe=(a,n)=>(e,r)=>n(e,r,a);let te=class extends H{constructor(n){super();_(this,"zIndex",5);_(this,"viewKey",l.PageElementType.DOCUMENT);_(this,"_liquid",new h.Liquid);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){var q,le;const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,document:D}=n;if(D==null)return;const y=new l.DocumentDataModel(D),P=new h.DocumentViewModel(y),T=h.DocumentSkeleton.create(P,this._localeService),b=new h.Documents("__DocsRender__",T);T.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f}),I=new h.Scene("__DocsScene__"+r,C),m=new h.Viewport("__DocsViewPort_"+r,I,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});I.attachControl(),I.onMouseWheel$.subscribeEvent((X,Y)=>{const O=X;if(O.ctrlKey){const N=Math.abs(O.deltaX);let M=N<40?.2:N<80?.4:.2;M*=O.deltaY>0?-1:1,I.scaleX<1&&(M/=2),I.scaleX+M>4?I.scale(4,4):I.scaleX+M<.1?I.scale(.1,.1):(O.deltaY>0,O.preventDefault())}else m.onMouseWheel(O,Y)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(b);const E=T.getActualSize();b.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const x=(q=b.getSkeleton())==null?void 0:q.getPageSize();b.pageRender$.subscribe(X=>{const{page:Y,pageLeft:O,pageTop:N,ctx:M}=X,{width:G,height:Z,marginBottom:ae,marginLeft:z,marginRight:J,marginTop:Q}=Y;M.save(),M.translate(O-.5,N-.5),h.Rect.drawWith(M,{width:(x==null?void 0:x.width)||G,height:(x==null?void 0:x.height)||Z,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),M.restore()});const{left:F,top:W}=b,$=T.getSkeletonData();if($==null)return;const{pages:U}=$,R=[],k=new Map;this._recalculateSizeBySkeleton(b,I,T);for(let X=0,Y=U.length;X<Y;X++){const O=U[X],{skeDrawings:N,marginLeft:M,marginTop:G,pageWidth:Z,pageHeight:ae}=O;this._liquid.translatePagePadding(O),N.forEach(z=>{const{aLeft:J,aTop:Q,height:Be,width:Ke,drawingOrigin:Ze}=z,ke=new h.Image(z.drawingId,{left:J+F+this._liquid.x,top:Q+W+this._liquid.y,width:Ke,height:Be,zIndex:11});k.set(z.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),R.push(ke)}),this._liquid.translatePage(O,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return I.addObjects(R),R.forEach(X=>{I.attachTransformerTo(X)}),(le=I.getTransformer())==null||le.changing$.subscribe(X=>{const{objects:Y}=X;Y.forEach(O=>{const{oKey:N,left:M,top:G,height:Z,width:ae}=O,z=k.get(N),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(N,{left:M-F-J,top:G-W-Q,height:Z,width:ae})}),T==null||T.calculate()}),this._calculatePagePosition(b,I,m),C}_recalculateSizeBySkeleton(n,e,r){var c;const t=(c=r.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,d=t.length;o<d;o++){const p=t[o],{pageWidth:w,pageHeight:u}=p;n.pageLayoutType===h.PageLayoutType.VERTICAL?(s+=u,s+=n.pageMarginTop,o===d-1&&(s+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,o!==d-1&&(i+=n.pageMarginLeft),s=Math.max(s,u))}n.resize(i,s),e.resize(i,s)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:d}=n;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:p,height:w}=i;let u=0,v=0,g=0,f=0,j=Number.POSITIVE_INFINITY;if(p>(s+o*2)*t?(u=p/2-s*t/2,u/=t,g=(p-o*2)/t,j=0):(u=o,g=s+o*2,j=(g-p/t)/2),w>c?(v=w/2-c/2,f=(w-d*2)/t):(v=d,f=c+d*2),e.resize(g,f+200),n.translate(u,v),j!==Number.POSITIVE_INFINITY&&r!=null){const V=r.transScroll2ViewportScrollValue(j,0).x;r.scrollTo({x:V})}return this}};te=ue([pe(0,L.Inject(l.LocaleService))],te);class ge{constructor(){_(this,"zIndex",5)}create(n){return n.createInstance(te)}}A.add(new ge);class _e extends H{constructor(){super(...arguments);_(this,"zIndex",1);_(this,"viewKey",l.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,image:D={}}=e,{imageProperties:y,placeholder:P,link:T}=D,b=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:b,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0})}}class ve{constructor(){_(this,"zIndex",4)}create(n){return n.createInstance(_e)}}A.add(new ve);var fe=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Se=(a,n,e,r)=>{for(var t=r>1?void 0:r?we(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&fe(n,e,t),t},Ie=(a,n)=>(e,r)=>n(e,r,a);let re=class extends H{constructor(n){super();_(this,"zIndex",2);_(this,"viewKey",l.PageElementType.TEXT);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,richText:D={}}=n,{text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:x,bd:F,cl:W,rich:$}=D;let U={top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0},R=!1;if(y!=null?(U={...U,text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:x,bd:F,cl:W},R=!0):$!=null&&(U={...U,richText:$},R=!0),R!==!1)return new h.RichText(this._localeService,r,U)}};re=Se([Ie(0,L.Inject(l.LocaleService))],re);class Pe{constructor(){_(this,"zIndex",0)}create(n){return n.createInstance(re)}}A.add(new Pe);class be extends H{constructor(){super(...arguments);_(this,"zIndex",2);_(this,"viewKey",l.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V}=e,{shapeType:D,text:y,shapeProperties:P,placeholder:T,link:b}=e.shape||{},C=P==null?"":l.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:x}=I;m.strokeWidth=x,m.stroke=l.getColorStyle(E)||"rgba(0,0,0,1)"}if(D===l.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0,...m});if(D===l.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0,radius:E,...m})}}}class Te{constructor(){_(this,"zIndex",2)}create(n){return n.createInstance(be)}}A.add(new Te);var me=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ee=(a,n,e,r)=>{for(var t=r>1?void 0:r?ye(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&me(n,e,t),t},je=(a,n)=>(e,r)=>n(e,r,a);let ne=class extends H{constructor(n){super();_(this,"zIndex",6);_(this,"viewKey",l.PageElementType.SLIDE);_(this,"_ObjectProvider",null);this._injector=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,slide:D}=n;if(D==null)return;const y=new l.SlideDataModel(D),P=new h.Slide("__SLIDERender__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const T=y.getPageOrder(),b=y.getPages();if(!T||!b)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=T.length;C<I;C++){const m=b[T[C]],{id:E}=m;P.addPage(this._createScene(E,P,m,e,y))}return P.activeFirstPage(),P}_createScene(n,e,r,t,i){var v;const{width:s,height:c}=e,o=new h.Scene(n,e,{width:s,height:c});new h.Viewport(`PageViewer_${n}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:w}=r,u=(v=this._ObjectProvider)==null?void 0:v.convertToRenderObjects(p,t);return this._addBackgroundRect(o,w,i),o.addObjects(u),u==null||u.forEach(g=>{o.attachTransformerTo(g)}),o}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:s=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};ne=Ee([je(0,L.Inject(L.Injector))],ne);class De{constructor(){_(this,"zIndex",6)}create(n){return n.createInstance(ne)}}A.add(new De);var Oe=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Ve=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ce(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Oe(n,e,t),t},ce=(a,n)=>(e,r)=>n(e,r,a);let ie=class extends H{constructor(n,e){super();_(this,"zIndex",4);_(this,"viewKey",l.PageElementType.SPREADSHEET);this._localeService=n,this._contextService=e}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,spreadsheet:j}=n;if(j==null)return;const{worksheet:V,styles:D}=j,{cellData:y}=V,P=new l.ObjectMatrix(y),T=new l.Styles(D),b=new h.SpreadsheetSkeleton(new l.Worksheet(r,V,T),V,P,T,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=b,x=I+V.rowHeader.width||0,F=C+V.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0}),$=new h.Scene("spreadInSlideScene"+r,W,{width:x,height:F});this._updateViewport(r,m,E,$,e);const U=new h.Spreadsheet("testSheetViewer",b,!1),R=new h.SpreadsheetRowHeader("spreadInSlideRow",b),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",b),q=new h.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:m,height:E,fill:h.getColor([248,249,250]),stroke:h.getColor([217,217,217]),strokeWidth:1});return U.zIndex=10,$.addObjects([U],1),$.addObjects([R,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const s=e*t.scaleX,c=r*t.scaleY,o=new h.Viewport("spreadInSlideViewMain"+n,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),p=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:u,scrollY:v,viewportScrollX:g,viewportScrollY:f}=w;d.updateScroll({scrollX:u,viewportScrollX:g}),p.updateScroll({scrollY:v,viewportScrollY:f})}),t.attachControl(),new h.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,u)=>{const v=w;if(v.ctrlKey){const g=Math.abs(v.deltaX);let f=g<40?.05:g<80?.02:.01;f*=v.deltaY>0?-1:1,t.scaleX<1&&(f/=2),t.scaleX+f>4?t.scale(4,4):t.scaleX+f<.1?t.scale(.1,.1):(t.scaleBy(f,f),v.preventDefault())}else o.onMouseWheel(v,u)})}};ie=Ve([ce(0,L.Inject(l.LocaleService)),ce(1,l.IContextService)],ie);class xe{constructor(){_(this,"zIndex",4)}create(n){return n.createInstance(ie)}}A.add(new xe);var Me=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,Ue=(a,n,e,r)=>{for(var t=r>1?void 0:r?Le(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Me(n,e,t),t},Xe=(a,n)=>(e,r)=>n(e,r,a);let B=class{constructor(a){_(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,n){const e=Object.keys(a),r=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,n);s!=null&&r.push(s)}),r}_executor(a,n){var t;const{id:e,type:r}=a;for(const i of this._adaptors){const s=(t=i.check(r))==null?void 0:t.convert(a,n);if(s!=null)return s}}_adaptorLoader(){A.getData().sort(l.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};B=Ue([Xe(0,L.Inject(L.Injector))],B);var ze=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Re=(a,n,e,r)=>{for(var t=r>1?void 0:r?$e(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&ze(n,e,t),t},se=(a,n)=>(e,r)=>n(e,r,a),oe=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(oe||{});S.CanvasView=class extends l.RxDisposable{constructor(e,r,t){super();_(this,"_objectProvider",null);_(this,"_activePageId","");_(this,"activePageId$",new ee.Subject);_(this,"_refreshThumb",l.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=r,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SLIDE).pipe(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const o=r.getPages(),d=r.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:s}=t,c=i.mainComponent;if(this._activePageId=e,this.activePageId$.next(e),c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:s}=t,{x:c,y:o}=r.transViewportScroll2ScrollValue(i,s);r.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE);if(r==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((p,w)=>{const u=p;if(u.ctrlKey){const v=Math.abs(u.deltaX);let g=v<40?.2:v<80?.4:.2;g*=u.deltaY>0?-1:1,i.scaleX<1&&(g/=2),i.scaleX+g>4?i.scale(4,4):i.scaleX+g<.1?i.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else o.onMouseWheel(u,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),s.runRenderLoop(()=>{i.render()})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=r.getPageSize(),{width:c=100,height:o=100}=s,d=new h.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,r){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new h.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-s)/2,top:(t-c)/2}}_thumbSceneRender(e,r){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:s,height:c}=r,{width:o=s,height:d=c}=i,p=i.getCanvas().getContext();r.renderToThumb(p,e,o/s,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,s=r.length;i<s;i++){const c=r[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,r){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:s}=t,c=s,{width:o,height:d}=c,p=new h.Scene(e,c,{width:o,height:d});new h.Viewport(`PageViewer_${e}`,p,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:v}=r,g=this._objectProvider.convertToRenderObjects(u,i);if(!g||!c)return;this._addBackgroundRect(p,v),p.addObjects(g),g.forEach(j=>{p.attachTransformerTo(j)});const f=p.getTransformer();return f==null||f.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),f==null||f.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(p),p}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Re([l.OnLifecycle(l.LifecycleStages.Ready,S.CanvasView),se(0,l.IUniverInstanceService),se(1,L.Inject(L.Injector)),se(2,h.IRenderManagerService)],S.CanvasView);var Ne=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,We=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ae(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ne(n,e,t),t},Ye=(a,n)=>(e,r)=>n(e,r,a);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends l.Plugin{constructor(e={},r){super();_(this,"_config");_(this,"_canvasEngine",null);_(this,"_canvasView",null);this._injector=r,this._config=Object.assign(He,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(h.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[S.CanvasView]].forEach(t=>{e.add(t)})}},_(K,"pluginName",Fe),_(K,"type",l.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=We([Ye(1,L.Inject(L.Injector))],S.UniverSlidesPlugin),S.SLIDE_KEY=oe,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/slides",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -47,20 +47,20 @@
|
|
|
47
47
|
"lib"
|
|
48
48
|
],
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@wendellhu/redi": "0.15.
|
|
50
|
+
"@wendellhu/redi": "0.15.5",
|
|
51
51
|
"rxjs": ">=7.0.0",
|
|
52
|
-
"@univerjs/core": "0.
|
|
53
|
-
"@univerjs/engine-render": "0.
|
|
52
|
+
"@univerjs/core": "0.2.0",
|
|
53
|
+
"@univerjs/engine-render": "0.2.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@wendellhu/redi": "0.15.
|
|
56
|
+
"@wendellhu/redi": "0.15.5",
|
|
57
57
|
"rxjs": "^7.8.1",
|
|
58
|
-
"typescript": "^5.
|
|
59
|
-
"vite": "^5.3.
|
|
58
|
+
"typescript": "^5.5.3",
|
|
59
|
+
"vite": "^5.3.3",
|
|
60
60
|
"vitest": "^1.6.0",
|
|
61
|
-
"@univerjs/core": "0.
|
|
62
|
-
"@univerjs/
|
|
63
|
-
"@univerjs/
|
|
61
|
+
"@univerjs/core": "0.2.0",
|
|
62
|
+
"@univerjs/engine-render": "0.2.0",
|
|
63
|
+
"@univerjs/shared": "0.2.0"
|
|
64
64
|
},
|
|
65
65
|
"univerSpace": {
|
|
66
66
|
".": {
|