@univerjs/slides 0.2.7 → 0.2.9
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 +130 -374
- package/lib/types/basics/demo-data.d.ts +0 -1
- package/lib/types/slides-plugin.d.ts +0 -1
- package/lib/types/views/render/adaptor.d.ts +0 -1
- package/lib/types/views/render/adaptors/docs-adaptor.d.ts +0 -1
- package/lib/types/views/render/adaptors/image-adaptor.d.ts +0 -1
- package/lib/types/views/render/adaptors/rich-text-adaptor.d.ts +0 -1
- package/lib/types/views/render/adaptors/shape-adaptor.d.ts +0 -1
- package/lib/types/views/render/adaptors/slide-adaptor.d.ts +0 -1
- package/lib/types/views/render/adaptors/spreadsheet-adaptor.d.ts +0 -1
- package/lib/types/views/render/index.d.ts +9 -1
- package/lib/types/views/render/object-provider.d.ts +0 -1
- package/lib/umd/index.js +1 -1
- package/package.json +7 -8
- package/lib/types/views/render/canvas-view.d.ts +0 -45
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),engineRender=require("@univerjs/engine-render"),rxjs=require("rxjs"),_ObjectAdaptor=class _ObjectAdaptor{constructor(){__publicField(this,"zIndex",0);__publicField(this,"viewKey",null)}check(type){if(type===this.viewKey)return this}create(injector){}};__name(_ObjectAdaptor,"ObjectAdaptor");let ObjectAdaptor=_ObjectAdaptor;const CanvasObjectProviderRegistry=core.Registry.create();var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6"),_a;let DocsAdaptor=(_a=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",5);__publicField(this,"viewKey",core.PageElementType.DOCUMENT);__publicField(this,"_liquid",new engineRender.Liquid);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){var _a8,_b;const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,document:documentData}=pageElement;if(documentData==null)return;const docDataModel=new core.DocumentDataModel(documentData),docViewModel=new engineRender.DocumentViewModel(docDataModel),documentSkeleton=engineRender.DocumentSkeleton.create(docViewModel,this._localeService),documents=new engineRender.Documents("__DocsRender__",documentSkeleton);documentSkeleton.calculate();const sv=new engineRender.SceneViewer("__DocsViewer__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY}),scene=new engineRender.Scene("__DocsScene__"+id,sv),viewMain=new engineRender.Viewport("__DocsViewPort_"+id,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});scene.attachControl(),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.2:deltaFactor<80?.4:.2;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(e.deltaY>0,e.preventDefault())}else viewMain.onMouseWheel(e,state)}),new engineRender.ScrollBar(viewMain,{mainScene}),scene.addObject(documents);const size=documentSkeleton.getActualSize();documents.resize(size.actualWidth,size.actualHeight),scene.resize(size.actualWidth,size.actualHeight+200),(_a8=documents.getSkeleton())==null||_a8.getPageSize(),documents.pageRender$.subscribe(config=>{const{page,pageLeft,pageTop,ctx}=config;ctx.save(),ctx.translate(pageLeft-.5,pageTop-.5),ctx.restore()});const{left:docsLeft,top:docsTop}=documents,skeletonData=documentSkeleton.getSkeletonData();if(skeletonData==null)return;const{pages}=skeletonData,objectList=[],pageMarginCache=new Map;this._recalculateSizeBySkeleton(documents,scene,documentSkeleton);for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{skeDrawings,marginLeft,marginTop,pageWidth,pageHeight}=page;this._liquid.translatePagePadding(page),skeDrawings.forEach(drawing=>{const{aLeft,aTop,height:height2,width:width2,drawingOrigin}=drawing,rect=new engineRender.Image(drawing.drawingId,{left:aLeft+docsLeft+this._liquid.x,top:aTop+docsTop+this._liquid.y,width:width2,height:height2,zIndex:11});pageMarginCache.set(drawing.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),objectList.push(rect)}),this._liquid.translatePage(page,documents.pageLayoutType,documents.pageMarginLeft,documents.pageMarginTop)}return scene.addObjects(objectList),objectList.forEach(object=>{scene.attachTransformerTo(object)}),(_b=scene.getTransformer())==null||_b.changing$.subscribe(state=>{const{objects}=state;objects.forEach(object=>{const{oKey,left:left2,top:top2,height:height2,width:width2}=object,cache=pageMarginCache.get(oKey),marginLeft=(cache==null?void 0:cache.marginLeft)||0,marginTop=(cache==null?void 0:cache.marginTop)||0;documentSkeleton==null||documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey,{left:left2-docsLeft-marginLeft,top:top2-docsTop-marginTop,height:height2,width:width2})}),documentSkeleton==null||documentSkeleton.calculate()}),this._calculatePagePosition(documents,scene,viewMain),sv}_recalculateSizeBySkeleton(docsComponent,scene,skeleton){var _a8;const pages=(_a8=skeleton.getSkeletonData())==null?void 0:_a8.pages;if(pages==null)return;let width=0,height=0;for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{pageWidth,pageHeight}=page;docsComponent.pageLayoutType===engineRender.PageLayoutType.VERTICAL?(height+=pageHeight,height+=docsComponent.pageMarginTop,i===len-1&&(height+=docsComponent.pageMarginTop),width=Math.max(width,pageWidth)):docsComponent.pageLayoutType===engineRender.PageLayoutType.HORIZONTAL&&(width+=pageWidth,i!==len-1&&(width+=docsComponent.pageMarginLeft),height=Math.max(height,pageHeight))}docsComponent.resize(width,height),scene.resize(width,height)}_calculatePagePosition(docsComponent,scene,viewport,zoomRatio=1){const parent=scene==null?void 0:scene.getParent(),{width:docsWidth,height:docsHeight,pageMarginLeft,pageMarginTop}=docsComponent;if(parent==null||docsWidth===Number.POSITIVE_INFINITY||docsHeight===Number.POSITIVE_INFINITY)return;const{width:engineWidth,height:engineHeight}=parent;let docsLeft=0,docsTop=0,sceneWidth=0,sceneHeight=0,scrollToX=Number.POSITIVE_INFINITY;if(engineWidth>(docsWidth+pageMarginLeft*2)*zoomRatio?(docsLeft=engineWidth/2-docsWidth*zoomRatio/2,docsLeft/=zoomRatio,sceneWidth=(engineWidth-pageMarginLeft*2)/zoomRatio,scrollToX=0):(docsLeft=pageMarginLeft,sceneWidth=docsWidth+pageMarginLeft*2,scrollToX=(sceneWidth-engineWidth/zoomRatio)/2),engineHeight>docsHeight?(docsTop=engineHeight/2-docsHeight/2,sceneHeight=(engineHeight-pageMarginTop*2)/zoomRatio):(docsTop=pageMarginTop,sceneHeight=docsHeight+pageMarginTop*2),scene.resize(sceneWidth,sceneHeight+200),docsComponent.translate(docsLeft,docsTop),scrollToX!==Number.POSITIVE_INFINITY&&viewport!=null){const actualX=viewport.transScroll2ViewportScrollValue(scrollToX,0).x;viewport.scrollToBarPos({x:actualX})}return this}},__name(_a,"DocsAdaptor"),_a);DocsAdaptor=__decorateClass$6([__decorateParam$6(0,core.Inject(core.LocaleService))],DocsAdaptor);const _DocsAdaptorFactory=class _DocsAdaptorFactory{constructor(){__publicField(this,"zIndex",5)}create(injector){return injector.createInstance(DocsAdaptor)}};__name(_DocsAdaptorFactory,"DocsAdaptorFactory");let DocsAdaptorFactory=_DocsAdaptorFactory;CanvasObjectProviderRegistry.add(new DocsAdaptorFactory);const _ImageAdaptor=class _ImageAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",1);__publicField(this,"viewKey",core.PageElementType.IMAGE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,image={}}=pageElement,{imageProperties,placeholder,link}=image,contentUrl=(imageProperties==null?void 0:imageProperties.contentUrl)||"";return new engineRender.Image(id,{url:contentUrl,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0})}};__name(_ImageAdaptor,"ImageAdaptor");let ImageAdaptor=_ImageAdaptor;const _ImageAdaptorFactory=class _ImageAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(ImageAdaptor)}};__name(_ImageAdaptorFactory,"ImageAdaptorFactory");let ImageAdaptorFactory=_ImageAdaptorFactory;CanvasObjectProviderRegistry.add(new ImageAdaptorFactory);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5"),_a2;let RichTextAdaptor=(_a2=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.TEXT);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,_mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,richText={}}=pageElement,{text,ff,fs,it,bl,ul,st,ol,bg,bd,cl,rich}=richText;let config={top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0},isNotNull=!1;if(text!=null?(config={...config,text,ff,fs,it,bl,ul,st,ol,bg,bd,cl},isNotNull=!0):rich!=null&&(config={...config,richText:rich},isNotNull=!0),isNotNull!==!1)return new engineRender.RichText(this._localeService,id,config)}},__name(_a2,"RichTextAdaptor"),_a2);RichTextAdaptor=__decorateClass$5([__decorateParam$5(0,core.Inject(core.LocaleService))],RichTextAdaptor);const _RichTextAdaptorFactory=class _RichTextAdaptorFactory{constructor(){__publicField(this,"zIndex",0)}create(injector){return injector.createInstance(RichTextAdaptor)}};__name(_RichTextAdaptorFactory,"RichTextAdaptorFactory");let RichTextAdaptorFactory=_RichTextAdaptorFactory;CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory);const _ShapeAdaptor=class _ShapeAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.SHAPE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description}=pageElement,{shapeType,text,shapeProperties,placeholder,link}=pageElement.shape||{},fill=shapeProperties==null?"":core.getColorStyle(shapeProperties.shapeBackgroundFill)||"rgba(255,255,255,1)",outline=shapeProperties==null?void 0:shapeProperties.outline,strokeStyle={};if(outline){const{outlineFill,weight}=outline;strokeStyle.strokeWidth=weight,strokeStyle.stroke=core.getColorStyle(outlineFill)||"rgba(0,0,0,1)"}if(shapeType===core.BasicShapes.Rect)return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,...strokeStyle});if(shapeType===core.BasicShapes.RoundRect){const radius=(shapeProperties==null?void 0:shapeProperties.radius)||0;return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,radius,...strokeStyle})}}};__name(_ShapeAdaptor,"ShapeAdaptor");let ShapeAdaptor=_ShapeAdaptor;const _ShapeAdaptorFactory=class _ShapeAdaptorFactory{constructor(){__publicField(this,"zIndex",2)}create(injector){return injector.createInstance(ShapeAdaptor)}};__name(_ShapeAdaptorFactory,"ShapeAdaptorFactory");let ShapeAdaptorFactory=_ShapeAdaptorFactory;CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4"),_a3;let SlideAdaptor=(_a3=class extends ObjectAdaptor{constructor(_injector){super();__publicField(this,"zIndex",6);__publicField(this,"viewKey",core.PageElementType.SLIDE);__publicField(this,"_ObjectProvider",null);this._injector=_injector}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,slide:slideData}=pageElement;if(slideData==null)return;const model=new core.SlideDataModel(slideData),slideComponent=new engineRender.Slide("__SLIDERender__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0});slideComponent.enableNav(),slideComponent.enableSelectedClipElement();const pageOrder=model.getPageOrder(),pages=model.getPages();if(!pageOrder||!pages)return slideComponent;this._ObjectProvider=new ObjectProvider(this._injector);for(let i=0,len=pageOrder.length;i<len;i++){const page=pages[pageOrder[i]],{id:id2}=page;slideComponent.addPage(this._createScene(id2,slideComponent,page,mainScene,model))}return slideComponent.activeFirstPage(),slideComponent}_createScene(pageId,parent,page,mainScene,model){var _a8;const{width,height}=parent,scene=new engineRender.Scene(pageId,parent,{width,height});new engineRender.Viewport(`PageViewer_${pageId}`,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements,pageBackgroundFill}=page,objects=(_a8=this._ObjectProvider)==null?void 0:_a8.convertToRenderObjects(pageElements,mainScene);return this._addBackgroundRect(scene,pageBackgroundFill,model),scene.addObjects(objects),objects==null||objects.forEach(object=>{scene.attachTransformerTo(object)}),scene}_addBackgroundRect(scene,fill,model){const pageSize=model.getPageSize(),{width:pageWidth=0,height:pageHeight=0}=pageSize,page=new engineRender.Rect("canvas",{left:0,top:0,width:pageWidth,height:pageHeight,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:core.getColorStyle(fill)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});scene.addObject(page,0)}},__name(_a3,"SlideAdaptor"),_a3);SlideAdaptor=__decorateClass$4([__decorateParam$4(0,core.Inject(core.Injector))],SlideAdaptor);const _SlideAdaptorFactory=class _SlideAdaptorFactory{constructor(){__publicField(this,"zIndex",6)}create(injector){return injector.createInstance(SlideAdaptor)}};__name(_SlideAdaptorFactory,"SlideAdaptorFactory");let SlideAdaptorFactory=_SlideAdaptorFactory;CanvasObjectProviderRegistry.add(new SlideAdaptorFactory);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3"),_a4;let SpreadsheetAdaptor=(_a4=class extends ObjectAdaptor{constructor(_localeService,_contextService){super();__publicField(this,"zIndex",4);__publicField(this,"viewKey",core.PageElementType.SPREADSHEET);this._localeService=_localeService,this._contextService=_contextService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,spreadsheet:spreadsheetModel}=pageElement;if(spreadsheetModel==null)return;const{worksheet,styles}=spreadsheetModel,{cellData}=worksheet,cellDataMatrix=new core.ObjectMatrix(cellData),styleModel=new core.Styles(styles),spreadsheetSkeleton=new engineRender.SpreadsheetSkeleton(new core.Worksheet(id,worksheet,styleModel),worksheet,cellDataMatrix,styleModel,this._localeService,this._contextService),{rowTotalHeight,columnTotalWidth,rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton,allWidth=columnTotalWidth+worksheet.rowHeader.width||0,allHeight=rowTotalHeight+worksheet.columnHeader.height||0,sv=new engineRender.SceneViewer("spreadInSlideSceneViewer"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0}),scene=new engineRender.Scene("spreadInSlideScene"+id,sv,{width:allWidth,height:allHeight});this._updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene);const spreadsheet=new engineRender.Spreadsheet("testSheetViewer",spreadsheetSkeleton,!1),spreadsheetRowHeader=new engineRender.SpreadsheetRowHeader("spreadInSlideRow",spreadsheetSkeleton),spreadsheetColumnHeader=new engineRender.SpreadsheetColumnHeader("spreadInSlideColumn",spreadsheetSkeleton),SpreadsheetLeftTopPlaceholder=new engineRender.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:rowHeaderWidth,height:columnHeaderHeight,fill:engineRender.getColor([248,249,250]),stroke:engineRender.getColor([217,217,217]),strokeWidth:1});return spreadsheet.zIndex=10,scene.addObjects([spreadsheet],1),scene.addObjects([spreadsheetRowHeader,spreadsheetColumnHeader,SpreadsheetLeftTopPlaceholder],2),sv}_updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene){if(mainScene==null)return;const rowHeaderWidthScale=rowHeaderWidth*scene.scaleX,columnHeaderHeightScale=columnHeaderHeight*scene.scaleY,viewMain=new engineRender.Viewport("spreadInSlideViewMain"+id,scene,{left:rowHeaderWidthScale,top:columnHeaderHeightScale,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),viewTop=new engineRender.Viewport("spreadInSlideViewTop"+id,scene,{left:rowHeaderWidthScale,height:columnHeaderHeightScale,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),viewLeft=new engineRender.Viewport("spreadInSlideViewLeft"+id,scene,{left:0,bottom:0,top:columnHeaderHeightScale,width:rowHeaderWidthScale,isRelativeY:!0,isWheelPreventDefaultX:!0});new engineRender.Viewport("spreadInSlideViewLeftTop"+id,scene,{left:0,top:0,width:rowHeaderWidthScale,height:columnHeaderHeightScale,isWheelPreventDefaultX:!0}),viewMain.onScrollAfter$.subscribeEvent(param=>{const{scrollX,scrollY,viewportScrollX,viewportScrollY}=param;viewTop.updateScrollVal({scrollX,viewportScrollX}),viewLeft.updateScrollVal({scrollY,viewportScrollY})}),scene.attachControl(),new engineRender.ScrollBar(viewMain,{mainScene}),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.05:deltaFactor<80?.02:.01;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(scene.scaleBy(scrollNum,scrollNum),e.preventDefault())}else viewMain.onMouseWheel(e,state)})}},__name(_a4,"SpreadsheetAdaptor"),_a4);SpreadsheetAdaptor=__decorateClass$3([__decorateParam$3(0,core.Inject(core.LocaleService)),__decorateParam$3(1,core.IContextService)],SpreadsheetAdaptor);const _SpreadsheetAdaptorFactory=class _SpreadsheetAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(SpreadsheetAdaptor)}};__name(_SpreadsheetAdaptorFactory,"SpreadsheetAdaptorFactory");let SpreadsheetAdaptorFactory=_SpreadsheetAdaptorFactory;CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2"),_a5;let ObjectProvider=(_a5=class{constructor(_injector){__publicField(this,"_adaptors",[]);this._injector=_injector,this._adaptorLoader()}convertToRenderObjects(pageElements,mainScene){const pageKeys=Object.keys(pageElements),objects=[];return pageKeys.forEach(key=>{const pageElement=pageElements[key],o=this._executor(pageElement,mainScene);o!=null&&objects.push(o)}),objects}convertToRenderObject(pageElement,mainScene){return this._executor(pageElement,mainScene)}_executor(pageElement,mainScene){var _a8;const{id:pageElementId,type}=pageElement;for(const adaptor of this._adaptors){const o=(_a8=adaptor.check(type))==null?void 0:_a8.convert(pageElement,mainScene);if(o!=null)return o}}_adaptorLoader(){CanvasObjectProviderRegistry.getData().sort(core.sortRules).forEach(adaptorFactory=>{this._adaptors.push(adaptorFactory.create(this._injector))})}},__name(_a5,"ObjectProvider"),_a5);ObjectProvider=__decorateClass$2([__decorateParam$2(0,core.Inject(core.Injector))],ObjectProvider);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),SLIDE_KEY=(SLIDE_KEY2=>(SLIDE_KEY2.COMPONENT="__slideRender__",SLIDE_KEY2.SCENE="__mainScene__",SLIDE_KEY2.VIEW="__mainView__",SLIDE_KEY2))(SLIDE_KEY||{}),_a6;exports.CanvasView=(_a6=class extends core.RxDisposable{constructor(_injector,_univerInstanceService,_renderManagerService){super();__publicField(this,"_objectProvider",null);__publicField(this,"_refreshThumb",core.debounce(()=>{this.createThumbs()},300));__publicField(this,"_sceneMap",new Map);this._injector=_injector,this._univerInstanceService=_univerInstanceService,this._renderManagerService=_renderManagerService,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(rxjs.takeUntil(this.dispose$)).subscribe(unitId=>{this._create(unitId)}),this._univerInstanceService.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(slideModel=>{this._create(slideModel==null?void 0:slideModel.getUnitId())}),this._univerInstanceService.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slideModel=>{this._create(slideModel.getUnitId())})}activePage(_pageId){let pageId=_pageId;const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);let page;if(pageId)page=model.getPage(pageId);else{const pageElements=model.getPages(),pageOrder=model.getPageOrder();if(pageOrder==null||pageElements==null)return;page=pageElements[pageOrder[0]],pageId=page.id}const render=this._currentRender();if(page==null||render==null||render.mainComponent==null)return;const{id}=page,slide=render.mainComponent;if(model.setActivePage(page),slide!=null&&slide.hasPage(id)){slide.changePage(id);return}this._createScene(id,page)}_scrollToCenter(){var _a8;const mainScene=(_a8=this._currentRender())==null?void 0:_a8.scene,viewMain=mainScene==null?void 0:mainScene.getViewport("__mainView__"),getCenterPositionViewPort=this._getCenterPositionViewPort(mainScene);if(!viewMain||!getCenterPositionViewPort)return;const{left:viewPortLeft,top:viewPortTop}=getCenterPositionViewPort,{x,y}=viewMain.transViewportScroll2ScrollValue(viewPortLeft,viewPortTop);viewMain.scrollToBarPos({x,y})}_create(unitId){unitId==null||this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(unitId)||this._addNewRender(unitId)}_currentRender(){const slideDataModel=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(slideDataModel.getUnitId())}_addNewRender(unitId){const slideDataModel=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE);if(slideDataModel==null)return;this._renderManagerService.createRender(unitId);const currentRender=this._renderManagerService.getRenderById(unitId);if(currentRender==null)return;const{scene,engine}=currentRender,observer=engine.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),observer==null||observer.unsubscribe()});engine.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)});const viewMain=new engineRender.Viewport("__mainView__",scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});scene.attachControl(),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.2:deltaFactor<80?.4:.2;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(e.deltaY>0,e.preventDefault())}else viewMain.onMouseWheel(e,state)}),scene.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),engineRender.ScrollBar.attachTo(viewMain),this._renderManagerService.setCurrent(unitId);const slideComponent=this._createSlide(scene);currentRender.mainComponent=slideComponent,currentRender.components.set("__slideRender__",slideComponent),this._createSlidePages(slideDataModel,slideComponent),engine.runRenderLoop(()=>{scene.render()})}_createSlide(mainScene){const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),{width:sceneWidth,height:sceneHeight}=mainScene,pageSize=model.getPageSize(),{width=100,height=100}=pageSize,slideComponent=new engineRender.Slide("__slideRender__",{left:(sceneWidth-width)/2,top:(sceneHeight-height)/2,width,height,zIndex:10});return slideComponent.enableSelectedClipElement(),mainScene.addObject(slideComponent),slideComponent}_addBackgroundRect(scene,fill){const pageSize=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:pageWidth=0,height:pageHeight=0}=pageSize,page=new engineRender.Rect("canvas",{left:0,top:0,width:pageWidth,height:pageHeight,strokeWidth:1,stroke:"rgba(198,198,198,1)",fill:core.getColorStyle(fill)||"rgba(255,255,255,1)",zIndex:0,evented:!1});scene.addObject(page,0)}_getCenterPositionViewPort(mainScene){if(!mainScene)return{left:0,top:0};const{width,height}=mainScene,engine=mainScene.getEngine(),canvasWidth=(engine==null?void 0:engine.width)||0,canvasHeight=(engine==null?void 0:engine.height)||0;return{left:(width-canvasWidth)/2,top:(height-canvasHeight)/2}}_thumbSceneRender(pageId,slide){const render=this._renderManagerService.getRenderById(pageId);if(render==null)return;const{engine:thumbEngine}=render;if(thumbEngine==null)return;const{width,height}=slide,{width:pageWidth=width,height:pageHeight=height}=thumbEngine,thumbContext=thumbEngine.getCanvas().getContext();slide.renderToThumb(thumbContext,pageId,pageWidth/width,pageHeight/height)}_createSlidePages(slideDataModel,slide){const pages=slideDataModel.getPages(),pageOrder=slideDataModel.getPageOrder();if(!(!pages||!pageOrder)&&pageOrder.length!==0){for(let i=0,len=pageOrder.length;i<len;i++){const pageId=pageOrder[i];this._createScene(pageId,pages[pageId]),this._createThumb(pageId)}slide.activeFirstPage()}}createThumbs(){const pageOrder=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),render=this._currentRender();if(!(!pageOrder||!render)&&pageOrder.length!==0)for(let i=0,len=pageOrder.length;i<len;i++){const pageId=pageOrder[i];this._thumbSceneRender(pageId,render.mainComponent)}}_createThumb(pageId){this._renderManagerService.createRender(pageId)}_createScene(pageId,page){const render=this._currentRender();if(!render||!this._objectProvider)return;const{scene:mainScene,mainComponent}=render,slide=mainComponent,{width,height}=slide,pageScene=new engineRender.Scene(pageId,slide,{width,height});this._sceneMap.set(pageId,pageScene),new engineRender.Viewport(`PageViewer_${pageId}`,pageScene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements,pageBackgroundFill}=page,objects=this._objectProvider.convertToRenderObjects(pageElements,mainScene);if(!objects||!slide)return;this._addBackgroundRect(pageScene,pageBackgroundFill),pageScene.addObjects(objects),objects.forEach(object=>{pageScene.attachTransformerTo(object)});const transformer=pageScene.getTransformer();return transformer==null||transformer.changeEnd$.subscribe(()=>{this._thumbSceneRender(pageId,slide)}),transformer==null||transformer.clearControl$.subscribe(()=>{this._thumbSceneRender(pageId,slide)}),slide.addPage(pageScene),pageScene}_initializeDependencies(slideInjector){this._objectProvider=slideInjector.createInstance(ObjectProvider)}getRenderUnitByPageId(pageId){return{scene:this._sceneMap.get(pageId)}}createObjectToPage(element,pageID){if(!this._currentRender()||!this._objectProvider)return;const{scene}=this.getRenderUnitByPageId(pageID);if(!scene)return;const object=this._objectProvider.convertToRenderObject(element,scene);if(object)return scene.addObject(object),scene.attachTransformerTo(object),scene.getLayer().makeDirty(),object}setObjectActiveByPage(obj,pageID){const{scene}=this.getRenderUnitByPageId(pageID);if(!scene)return;const transformer=scene.getTransformer();transformer==null||transformer.activeAnObject(obj)}removeObjectById(id,pageID){const{scene}=this.getRenderUnitByPageId(pageID);if(!scene)return;scene.removeObject(id);const transformer=scene.getTransformer();transformer==null||transformer.clearControls()}appendPage(){const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),page=model.getBlankPage(),render=this._currentRender();if(page==null||render==null||render.mainComponent==null)return;const{id}=page,slide=render.mainComponent,scene=this._createScene(id,page);scene&&(slide==null||slide.addPage(scene)),model.appendPage(page),model.setActivePage(page)}},__name(_a6,"CanvasView"),_a6);exports.CanvasView=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,exports.CanvasView),__decorateParam$1(0,core.Inject(core.Injector)),__decorateParam$1(1,core.IUniverInstanceService),__decorateParam$1(2,engineRender.IRenderManagerService)],exports.CanvasView);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const DEFAULT_SLIDE_PLUGIN_DATA={},PLUGIN_NAME="slides";var _a7;exports.UniverSlidesPlugin=(_a7=class extends core.Plugin{constructor(config={},_injector,_renderManagerService){super();__publicField(this,"_config");__publicField(this,"_canvasEngine",null);this._injector=_injector,this._renderManagerService=_renderManagerService,this._config=Object.assign(DEFAULT_SLIDE_PLUGIN_DATA,config),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(engineRender.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(slideInjector){[[exports.CanvasView]].forEach(d=>{slideInjector.add(d)})}},__name(_a7,"UniverSlidesPlugin"),__publicField(_a7,"pluginName",PLUGIN_NAME),__publicField(_a7,"type",core.UniverInstanceType.UNIVER_SLIDE),_a7);exports.UniverSlidesPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService)],exports.UniverSlidesPlugin);exports.SLIDE_KEY=SLIDE_KEY;
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),engineRender=require("@univerjs/engine-render");var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");const DEFAULT_SLIDE_PLUGIN_DATA={},PLUGIN_NAME="slides";var _a;exports.UniverSlidesPlugin=(_a=class extends core.Plugin{constructor(config={},_injector,_renderManagerService){super();__publicField(this,"_config");__publicField(this,"_canvasEngine",null);this._injector=_injector,this._renderManagerService=_renderManagerService,this._config=Object.assign(DEFAULT_SLIDE_PLUGIN_DATA,config),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(engineRender.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(slideInjector){[].forEach(d=>{slideInjector.add(d)})}},__name(_a,"UniverSlidesPlugin"),__publicField(_a,"pluginName",PLUGIN_NAME),__publicField(_a,"type",core.UniverInstanceType.UNIVER_SLIDE),_a);exports.UniverSlidesPlugin=__decorateClass$5([__decorateParam$5(1,core.Inject(core.Injector)),__decorateParam$5(2,engineRender.IRenderManagerService)],exports.UniverSlidesPlugin);const _ObjectAdaptor=class _ObjectAdaptor{constructor(){__publicField(this,"zIndex",0);__publicField(this,"viewKey",null)}check(type){if(type===this.viewKey)return this}create(injector){}};__name(_ObjectAdaptor,"ObjectAdaptor");let ObjectAdaptor=_ObjectAdaptor;const CanvasObjectProviderRegistry=core.Registry.create();var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4"),_a2;let DocsAdaptor=(_a2=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",5);__publicField(this,"viewKey",core.PageElementType.DOCUMENT);__publicField(this,"_liquid",new engineRender.Liquid);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){var _a7,_b;const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,document:documentData}=pageElement;if(documentData==null)return;const docDataModel=new core.DocumentDataModel(documentData),docViewModel=new engineRender.DocumentViewModel(docDataModel),documentSkeleton=engineRender.DocumentSkeleton.create(docViewModel,this._localeService),documents=new engineRender.Documents("__DocsRender__",documentSkeleton);documentSkeleton.calculate();const sv=new engineRender.SceneViewer("__DocsViewer__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY}),scene=new engineRender.Scene("__DocsScene__"+id,sv),viewMain=new engineRender.Viewport("__DocsViewPort_"+id,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});scene.attachControl(),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.2:deltaFactor<80?.4:.2;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(e.deltaY>0,e.preventDefault())}else viewMain.onMouseWheel(e,state)}),new engineRender.ScrollBar(viewMain,{mainScene}),scene.addObject(documents);const size=documentSkeleton.getActualSize();documents.resize(size.actualWidth,size.actualHeight),scene.resize(size.actualWidth,size.actualHeight+200),(_a7=documents.getSkeleton())==null||_a7.getPageSize(),documents.pageRender$.subscribe(config=>{const{page,pageLeft,pageTop,ctx}=config;ctx.save(),ctx.translate(pageLeft-.5,pageTop-.5),ctx.restore()});const{left:docsLeft,top:docsTop}=documents,skeletonData=documentSkeleton.getSkeletonData();if(skeletonData==null)return;const{pages}=skeletonData,objectList=[],pageMarginCache=new Map;this._recalculateSizeBySkeleton(documents,scene,documentSkeleton);for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{skeDrawings,marginLeft,marginTop,pageWidth,pageHeight}=page;this._liquid.translatePagePadding(page),skeDrawings.forEach(drawing=>{const{aLeft,aTop,height:height2,width:width2,drawingOrigin}=drawing,rect=new engineRender.Image(drawing.drawingId,{left:aLeft+docsLeft+this._liquid.x,top:aTop+docsTop+this._liquid.y,width:width2,height:height2,zIndex:11});pageMarginCache.set(drawing.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),objectList.push(rect)}),this._liquid.translatePage(page,documents.pageLayoutType,documents.pageMarginLeft,documents.pageMarginTop)}return scene.addObjects(objectList),objectList.forEach(object=>{scene.attachTransformerTo(object)}),(_b=scene.getTransformer())==null||_b.changing$.subscribe(state=>{const{objects}=state;objects.forEach(object=>{const{oKey,left:left2,top:top2,height:height2,width:width2}=object,cache=pageMarginCache.get(oKey),marginLeft=(cache==null?void 0:cache.marginLeft)||0,marginTop=(cache==null?void 0:cache.marginTop)||0;documentSkeleton==null||documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey,{left:left2-docsLeft-marginLeft,top:top2-docsTop-marginTop,height:height2,width:width2})}),documentSkeleton==null||documentSkeleton.calculate()}),this._calculatePagePosition(documents,scene,viewMain),sv}_recalculateSizeBySkeleton(docsComponent,scene,skeleton){var _a7;const pages=(_a7=skeleton.getSkeletonData())==null?void 0:_a7.pages;if(pages==null)return;let width=0,height=0;for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{pageWidth,pageHeight}=page;docsComponent.pageLayoutType===engineRender.PageLayoutType.VERTICAL?(height+=pageHeight,height+=docsComponent.pageMarginTop,i===len-1&&(height+=docsComponent.pageMarginTop),width=Math.max(width,pageWidth)):docsComponent.pageLayoutType===engineRender.PageLayoutType.HORIZONTAL&&(width+=pageWidth,i!==len-1&&(width+=docsComponent.pageMarginLeft),height=Math.max(height,pageHeight))}docsComponent.resize(width,height),scene.resize(width,height)}_calculatePagePosition(docsComponent,scene,viewport,zoomRatio=1){const parent=scene==null?void 0:scene.getParent(),{width:docsWidth,height:docsHeight,pageMarginLeft,pageMarginTop}=docsComponent;if(parent==null||docsWidth===Number.POSITIVE_INFINITY||docsHeight===Number.POSITIVE_INFINITY)return;const{width:engineWidth,height:engineHeight}=parent;let docsLeft=0,docsTop=0,sceneWidth=0,sceneHeight=0,scrollToX=Number.POSITIVE_INFINITY;if(engineWidth>(docsWidth+pageMarginLeft*2)*zoomRatio?(docsLeft=engineWidth/2-docsWidth*zoomRatio/2,docsLeft/=zoomRatio,sceneWidth=(engineWidth-pageMarginLeft*2)/zoomRatio,scrollToX=0):(docsLeft=pageMarginLeft,sceneWidth=docsWidth+pageMarginLeft*2,scrollToX=(sceneWidth-engineWidth/zoomRatio)/2),engineHeight>docsHeight?(docsTop=engineHeight/2-docsHeight/2,sceneHeight=(engineHeight-pageMarginTop*2)/zoomRatio):(docsTop=pageMarginTop,sceneHeight=docsHeight+pageMarginTop*2),scene.resize(sceneWidth,sceneHeight+200),docsComponent.translate(docsLeft,docsTop),scrollToX!==Number.POSITIVE_INFINITY&&viewport!=null){const actualX=viewport.transScroll2ViewportScrollValue(scrollToX,0).x;viewport.scrollToBarPos({x:actualX})}return this}},__name(_a2,"DocsAdaptor"),_a2);DocsAdaptor=__decorateClass$4([__decorateParam$4(0,core.Inject(core.LocaleService))],DocsAdaptor);const _DocsAdaptorFactory=class _DocsAdaptorFactory{constructor(){__publicField(this,"zIndex",5)}create(injector){return injector.createInstance(DocsAdaptor)}};__name(_DocsAdaptorFactory,"DocsAdaptorFactory");let DocsAdaptorFactory=_DocsAdaptorFactory;CanvasObjectProviderRegistry.add(new DocsAdaptorFactory);const _ImageAdaptor=class _ImageAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",1);__publicField(this,"viewKey",core.PageElementType.IMAGE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,image={}}=pageElement,{imageProperties,placeholder,link}=image,contentUrl=(imageProperties==null?void 0:imageProperties.contentUrl)||"";return new engineRender.Image(id,{url:contentUrl,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0})}};__name(_ImageAdaptor,"ImageAdaptor");let ImageAdaptor=_ImageAdaptor;const _ImageAdaptorFactory=class _ImageAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(ImageAdaptor)}};__name(_ImageAdaptorFactory,"ImageAdaptorFactory");let ImageAdaptorFactory=_ImageAdaptorFactory;CanvasObjectProviderRegistry.add(new ImageAdaptorFactory);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3"),_a3;let RichTextAdaptor=(_a3=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.TEXT);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,_mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,richText={}}=pageElement,{text,ff,fs,it,bl,ul,st,ol,bg,bd,cl,rich}=richText;let config={top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0},isNotNull=!1;if(text!=null?(config={...config,text,ff,fs,it,bl,ul,st,ol,bg,bd,cl},isNotNull=!0):rich!=null&&(config={...config,richText:rich},isNotNull=!0),isNotNull!==!1)return new engineRender.RichText(this._localeService,id,config)}},__name(_a3,"RichTextAdaptor"),_a3);RichTextAdaptor=__decorateClass$3([__decorateParam$3(0,core.Inject(core.LocaleService))],RichTextAdaptor);const _RichTextAdaptorFactory=class _RichTextAdaptorFactory{constructor(){__publicField(this,"zIndex",0)}create(injector){return injector.createInstance(RichTextAdaptor)}};__name(_RichTextAdaptorFactory,"RichTextAdaptorFactory");let RichTextAdaptorFactory=_RichTextAdaptorFactory;CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory);const _ShapeAdaptor=class _ShapeAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.SHAPE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description}=pageElement,{shapeType,text,shapeProperties,placeholder,link}=pageElement.shape||{},fill=shapeProperties==null?"":core.getColorStyle(shapeProperties.shapeBackgroundFill)||"rgba(255,255,255,1)",outline=shapeProperties==null?void 0:shapeProperties.outline,strokeStyle={};if(outline){const{outlineFill,weight}=outline;strokeStyle.strokeWidth=weight,strokeStyle.stroke=core.getColorStyle(outlineFill)||"rgba(0,0,0,1)"}if(shapeType===core.BasicShapes.Rect)return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,...strokeStyle});if(shapeType===core.BasicShapes.RoundRect){const radius=(shapeProperties==null?void 0:shapeProperties.radius)||0;return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,radius,...strokeStyle})}}};__name(_ShapeAdaptor,"ShapeAdaptor");let ShapeAdaptor=_ShapeAdaptor;const _ShapeAdaptorFactory=class _ShapeAdaptorFactory{constructor(){__publicField(this,"zIndex",2)}create(injector){return injector.createInstance(ShapeAdaptor)}};__name(_ShapeAdaptorFactory,"ShapeAdaptorFactory");let ShapeAdaptorFactory=_ShapeAdaptorFactory;CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2"),_a4;exports.ObjectProvider=(_a4=class{constructor(_injector){__publicField(this,"_adaptors",[]);this._injector=_injector,this._adaptorLoader()}convertToRenderObjects(pageElements,mainScene){const pageKeys=Object.keys(pageElements),objects=[];return pageKeys.forEach(key=>{const pageElement=pageElements[key],o=this._executor(pageElement,mainScene);o!=null&&objects.push(o)}),objects}convertToRenderObject(pageElement,mainScene){return this._executor(pageElement,mainScene)}_executor(pageElement,mainScene){var _a7;const{id:pageElementId,type}=pageElement;for(const adaptor of this._adaptors){const o=(_a7=adaptor.check(type))==null?void 0:_a7.convert(pageElement,mainScene);if(o!=null)return o}}_adaptorLoader(){CanvasObjectProviderRegistry.getData().sort(core.sortRules).forEach(adaptorFactory=>{this._adaptors.push(adaptorFactory.create(this._injector))})}},__name(_a4,"ObjectProvider"),_a4);exports.ObjectProvider=__decorateClass$2([__decorateParam$2(0,core.Inject(core.Injector))],exports.ObjectProvider);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),SLIDE_VIEW_KEY=(SLIDE_VIEW_KEY2=>(SLIDE_VIEW_KEY2.MAIN="__SLIDERender__",SLIDE_VIEW_KEY2.SCENE_VIEWER="__SLIDEViewer__",SLIDE_VIEW_KEY2.SCENE="__SLIDEScene__",SLIDE_VIEW_KEY2.VIEWPORT="__SLIDEViewPort_",SLIDE_VIEW_KEY2))(SLIDE_VIEW_KEY||{}),_a5;let SlideAdaptor=(_a5=class extends ObjectAdaptor{constructor(_injector){super();__publicField(this,"zIndex",6);__publicField(this,"viewKey",core.PageElementType.SLIDE);__publicField(this,"_ObjectProvider",null);this._injector=_injector}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,slide:slideData}=pageElement;if(slideData==null)return;const model=new core.SlideDataModel(slideData),slideComponent=new engineRender.Slide("__SLIDERender__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0});slideComponent.enableNav(),slideComponent.enableSelectedClipElement();const pageOrder=model.getPageOrder(),pages=model.getPages();if(!pageOrder||!pages)return slideComponent;this._ObjectProvider=new exports.ObjectProvider(this._injector);for(let i=0,len=pageOrder.length;i<len;i++){const page=pages[pageOrder[i]],{id:id2}=page;slideComponent.addPageScene(this._createScene(id2,slideComponent,page,mainScene,model))}return slideComponent.activeFirstPage(),slideComponent}_createScene(pageId,parent,page,mainScene,model){var _a7;const{width,height}=parent,scene=new engineRender.Scene(pageId,parent,{width,height});new engineRender.Viewport(`PageViewer_${pageId}`,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements,pageBackgroundFill}=page,objects=(_a7=this._ObjectProvider)==null?void 0:_a7.convertToRenderObjects(pageElements,mainScene);return this._addBackgroundRect(scene,pageBackgroundFill,model),scene.addObjects(objects),objects==null||objects.forEach(object=>{scene.attachTransformerTo(object)}),scene}_addBackgroundRect(scene,fill,model){const pageSize=model.getPageSize(),{width:pageWidth=0,height:pageHeight=0}=pageSize,page=new engineRender.Rect("canvas",{left:0,top:0,width:pageWidth,height:pageHeight,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:core.getColorStyle(fill)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});scene.addObject(page,0)}},__name(_a5,"SlideAdaptor"),_a5);SlideAdaptor=__decorateClass$1([__decorateParam$1(0,core.Inject(core.Injector))],SlideAdaptor);const _SlideAdaptorFactory=class _SlideAdaptorFactory{constructor(){__publicField(this,"zIndex",6)}create(injector){return injector.createInstance(SlideAdaptor)}};__name(_SlideAdaptorFactory,"SlideAdaptorFactory");let SlideAdaptorFactory=_SlideAdaptorFactory;CanvasObjectProviderRegistry.add(new SlideAdaptorFactory);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam"),_a6;let SpreadsheetAdaptor=(_a6=class extends ObjectAdaptor{constructor(_localeService,_contextService){super();__publicField(this,"zIndex",4);__publicField(this,"viewKey",core.PageElementType.SPREADSHEET);this._localeService=_localeService,this._contextService=_contextService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,spreadsheet:spreadsheetModel}=pageElement;if(spreadsheetModel==null)return;const{worksheet,styles}=spreadsheetModel,{cellData}=worksheet,cellDataMatrix=new core.ObjectMatrix(cellData),styleModel=new core.Styles(styles),spreadsheetSkeleton=new engineRender.SpreadsheetSkeleton(new core.Worksheet(id,worksheet,styleModel),worksheet,cellDataMatrix,styleModel,this._localeService,this._contextService),{rowTotalHeight,columnTotalWidth,rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton,allWidth=columnTotalWidth+worksheet.rowHeader.width||0,allHeight=rowTotalHeight+worksheet.columnHeader.height||0,sv=new engineRender.SceneViewer("spreadInSlideSceneViewer"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0}),scene=new engineRender.Scene("spreadInSlideScene"+id,sv,{width:allWidth,height:allHeight});this._updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene);const spreadsheet=new engineRender.Spreadsheet("testSheetViewer",spreadsheetSkeleton,!1),spreadsheetRowHeader=new engineRender.SpreadsheetRowHeader("spreadInSlideRow",spreadsheetSkeleton),spreadsheetColumnHeader=new engineRender.SpreadsheetColumnHeader("spreadInSlideColumn",spreadsheetSkeleton),SpreadsheetLeftTopPlaceholder=new engineRender.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:rowHeaderWidth,height:columnHeaderHeight,fill:engineRender.getColor([248,249,250]),stroke:engineRender.getColor([217,217,217]),strokeWidth:1});return spreadsheet.zIndex=10,scene.addObjects([spreadsheet],1),scene.addObjects([spreadsheetRowHeader,spreadsheetColumnHeader,SpreadsheetLeftTopPlaceholder],2),sv}_updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene){if(mainScene==null)return;const rowHeaderWidthScale=rowHeaderWidth*scene.scaleX,columnHeaderHeightScale=columnHeaderHeight*scene.scaleY,viewMain=new engineRender.Viewport("spreadInSlideViewMain"+id,scene,{left:rowHeaderWidthScale,top:columnHeaderHeightScale,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),viewTop=new engineRender.Viewport("spreadInSlideViewTop"+id,scene,{left:rowHeaderWidthScale,height:columnHeaderHeightScale,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),viewLeft=new engineRender.Viewport("spreadInSlideViewLeft"+id,scene,{left:0,bottom:0,top:columnHeaderHeightScale,width:rowHeaderWidthScale,isRelativeY:!0,isWheelPreventDefaultX:!0});new engineRender.Viewport("spreadInSlideViewLeftTop"+id,scene,{left:0,top:0,width:rowHeaderWidthScale,height:columnHeaderHeightScale,isWheelPreventDefaultX:!0}),viewMain.onScrollAfter$.subscribeEvent(param=>{const{scrollX,scrollY,viewportScrollX,viewportScrollY}=param;viewTop.updateScrollVal({scrollX,viewportScrollX}),viewLeft.updateScrollVal({scrollY,viewportScrollY})}),scene.attachControl(),new engineRender.ScrollBar(viewMain,{mainScene}),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.05:deltaFactor<80?.02:.01;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(scene.scaleBy(scrollNum,scrollNum),e.preventDefault())}else viewMain.onMouseWheel(e,state)})}},__name(_a6,"SpreadsheetAdaptor"),_a6);SpreadsheetAdaptor=__decorateClass([__decorateParam(0,core.Inject(core.LocaleService)),__decorateParam(1,core.IContextService)],SpreadsheetAdaptor);const _SpreadsheetAdaptorFactory=class _SpreadsheetAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(SpreadsheetAdaptor)}};__name(_SpreadsheetAdaptorFactory,"SpreadsheetAdaptorFactory");let SpreadsheetAdaptorFactory=_SpreadsheetAdaptorFactory;CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory);var SLIDE_KEY=(SLIDE_KEY2=>(SLIDE_KEY2.COMPONENT="__slideRender__",SLIDE_KEY2.SCENE="__mainScene__",SLIDE_KEY2.VIEW="__mainView__",SLIDE_KEY2))(SLIDE_KEY||{});exports.CanvasObjectProviderRegistry=CanvasObjectProviderRegistry;exports.ObjectAdaptor=ObjectAdaptor;exports.SLIDE_KEY=SLIDE_KEY;exports.SLIDE_VIEW_KEY=SLIDE_VIEW_KEY;
|
package/lib/es/index.js
CHANGED
|
@@ -2,9 +2,53 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
|
3
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
5
|
-
import {
|
|
6
|
-
import { Liquid, DocumentViewModel, DocumentSkeleton, Documents, SceneViewer, Scene, Viewport, ScrollBar, Image, PageLayoutType, RichText, Rect, Slide, SpreadsheetSkeleton, Spreadsheet, SpreadsheetRowHeader, SpreadsheetColumnHeader, getColor
|
|
7
|
-
|
|
5
|
+
import { Plugin, UniverInstanceType, Inject, Injector, Registry, LocaleService, PageElementType, DocumentDataModel, getColorStyle, BasicShapes, sortRules, SlideDataModel, IContextService, ObjectMatrix, Styles, Worksheet } from "@univerjs/core";
|
|
6
|
+
import { IRenderingEngine, IRenderManagerService, Liquid, DocumentViewModel, DocumentSkeleton, Documents, SceneViewer, Scene, Viewport, ScrollBar, Image, PageLayoutType, RichText, Rect, Slide, SpreadsheetSkeleton, Spreadsheet, SpreadsheetRowHeader, SpreadsheetColumnHeader, getColor } from "@univerjs/engine-render";
|
|
7
|
+
var __defProp$5 = Object.defineProperty, __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor, __decorateClass$5 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
8
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
9
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
10
|
+
return kind && result && __defProp$5(target, key, result), result;
|
|
11
|
+
}, "__decorateClass$5"), __decorateParam$5 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$5");
|
|
12
|
+
const DEFAULT_SLIDE_PLUGIN_DATA = {}, PLUGIN_NAME = "slides";
|
|
13
|
+
var _a;
|
|
14
|
+
let UniverSlidesPlugin = (_a = class extends Plugin {
|
|
15
|
+
// private _canvasView: CanvasView | null = null;
|
|
16
|
+
constructor(config = {}, _injector, _renderManagerService) {
|
|
17
|
+
super();
|
|
18
|
+
__publicField(this, "_config");
|
|
19
|
+
__publicField(this, "_canvasEngine", null);
|
|
20
|
+
this._injector = _injector, this._renderManagerService = _renderManagerService, this._config = Object.assign(DEFAULT_SLIDE_PLUGIN_DATA, config), this._initializeDependencies(this._injector);
|
|
21
|
+
}
|
|
22
|
+
initialize() {
|
|
23
|
+
this.initCanvasEngine();
|
|
24
|
+
}
|
|
25
|
+
onReady() {
|
|
26
|
+
}
|
|
27
|
+
getConfig() {
|
|
28
|
+
return this._config;
|
|
29
|
+
}
|
|
30
|
+
initCanvasEngine() {
|
|
31
|
+
this._canvasEngine = this._injector.get(IRenderingEngine);
|
|
32
|
+
}
|
|
33
|
+
onRendered() {
|
|
34
|
+
this.initialize();
|
|
35
|
+
}
|
|
36
|
+
getCanvasEngine() {
|
|
37
|
+
return this._canvasEngine;
|
|
38
|
+
}
|
|
39
|
+
_initializeDependencies(slideInjector) {
|
|
40
|
+
[
|
|
41
|
+
// [CanvasView],
|
|
42
|
+
// [TextSelectionManagerService],
|
|
43
|
+
].forEach((d) => {
|
|
44
|
+
slideInjector.add(d);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}, __name(_a, "UniverSlidesPlugin"), __publicField(_a, "pluginName", PLUGIN_NAME), __publicField(_a, "type", UniverInstanceType.UNIVER_SLIDE), _a);
|
|
48
|
+
UniverSlidesPlugin = __decorateClass$5([
|
|
49
|
+
__decorateParam$5(1, Inject(Injector)),
|
|
50
|
+
__decorateParam$5(2, IRenderManagerService)
|
|
51
|
+
], UniverSlidesPlugin);
|
|
8
52
|
const _ObjectAdaptor = class _ObjectAdaptor {
|
|
9
53
|
constructor() {
|
|
10
54
|
__publicField(this, "zIndex", 0);
|
|
@@ -20,12 +64,12 @@ const _ObjectAdaptor = class _ObjectAdaptor {
|
|
|
20
64
|
__name(_ObjectAdaptor, "ObjectAdaptor");
|
|
21
65
|
let ObjectAdaptor = _ObjectAdaptor;
|
|
22
66
|
const CanvasObjectProviderRegistry = Registry.create();
|
|
23
|
-
var __defProp$
|
|
24
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
67
|
+
var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
68
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
25
69
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
26
|
-
return kind && result && __defProp$
|
|
27
|
-
}, "__decorateClass$
|
|
28
|
-
let DocsAdaptor = (
|
|
70
|
+
return kind && result && __defProp$4(target, key, result), result;
|
|
71
|
+
}, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a2;
|
|
72
|
+
let DocsAdaptor = (_a2 = class extends ObjectAdaptor {
|
|
29
73
|
constructor(_localeService) {
|
|
30
74
|
super();
|
|
31
75
|
__publicField(this, "zIndex", 5);
|
|
@@ -39,7 +83,7 @@ let DocsAdaptor = (_a = class extends ObjectAdaptor {
|
|
|
39
83
|
}
|
|
40
84
|
// eslint-disable-next-line max-lines-per-function
|
|
41
85
|
convert(pageElement, mainScene) {
|
|
42
|
-
var
|
|
86
|
+
var _a7, _b;
|
|
43
87
|
const {
|
|
44
88
|
id,
|
|
45
89
|
zIndex,
|
|
@@ -96,7 +140,7 @@ let DocsAdaptor = (_a = class extends ObjectAdaptor {
|
|
|
96
140
|
mainScene
|
|
97
141
|
}), scene.addObject(documents);
|
|
98
142
|
const size = documentSkeleton.getActualSize();
|
|
99
|
-
documents.resize(size.actualWidth, size.actualHeight), scene.resize(size.actualWidth, size.actualHeight + 200), (
|
|
143
|
+
documents.resize(size.actualWidth, size.actualHeight), scene.resize(size.actualWidth, size.actualHeight + 200), (_a7 = documents.getSkeleton()) == null || _a7.getPageSize(), documents.pageRender$.subscribe((config) => {
|
|
100
144
|
const { page, pageLeft, pageTop, ctx } = config;
|
|
101
145
|
ctx.save(), ctx.translate(pageLeft - 0.5, pageTop - 0.5), ctx.restore();
|
|
102
146
|
});
|
|
@@ -143,8 +187,8 @@ let DocsAdaptor = (_a = class extends ObjectAdaptor {
|
|
|
143
187
|
}), this._calculatePagePosition(documents, scene, viewMain), sv;
|
|
144
188
|
}
|
|
145
189
|
_recalculateSizeBySkeleton(docsComponent, scene, skeleton) {
|
|
146
|
-
var
|
|
147
|
-
const pages = (
|
|
190
|
+
var _a7;
|
|
191
|
+
const pages = (_a7 = skeleton.getSkeletonData()) == null ? void 0 : _a7.pages;
|
|
148
192
|
if (pages == null)
|
|
149
193
|
return;
|
|
150
194
|
let width = 0, height = 0;
|
|
@@ -168,9 +212,9 @@ let DocsAdaptor = (_a = class extends ObjectAdaptor {
|
|
|
168
212
|
}
|
|
169
213
|
return this;
|
|
170
214
|
}
|
|
171
|
-
}, __name(
|
|
172
|
-
DocsAdaptor = __decorateClass$
|
|
173
|
-
__decorateParam$
|
|
215
|
+
}, __name(_a2, "DocsAdaptor"), _a2);
|
|
216
|
+
DocsAdaptor = __decorateClass$4([
|
|
217
|
+
__decorateParam$4(0, Inject(LocaleService))
|
|
174
218
|
], DocsAdaptor);
|
|
175
219
|
const _DocsAdaptorFactory = class _DocsAdaptorFactory {
|
|
176
220
|
constructor() {
|
|
@@ -243,12 +287,12 @@ const _ImageAdaptorFactory = class _ImageAdaptorFactory {
|
|
|
243
287
|
__name(_ImageAdaptorFactory, "ImageAdaptorFactory");
|
|
244
288
|
let ImageAdaptorFactory = _ImageAdaptorFactory;
|
|
245
289
|
CanvasObjectProviderRegistry.add(new ImageAdaptorFactory());
|
|
246
|
-
var __defProp$
|
|
247
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
290
|
+
var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
291
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
248
292
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
249
|
-
return kind && result && __defProp$
|
|
250
|
-
}, "__decorateClass$
|
|
251
|
-
let RichTextAdaptor = (
|
|
293
|
+
return kind && result && __defProp$3(target, key, result), result;
|
|
294
|
+
}, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a3;
|
|
295
|
+
let RichTextAdaptor = (_a3 = class extends ObjectAdaptor {
|
|
252
296
|
constructor(_localeService) {
|
|
253
297
|
super();
|
|
254
298
|
__publicField(this, "zIndex", 2);
|
|
@@ -296,9 +340,9 @@ let RichTextAdaptor = (_a2 = class extends ObjectAdaptor {
|
|
|
296
340
|
if (text != null ? (config = { ...config, text, ff, fs, it, bl, ul, st, ol, bg, bd, cl }, isNotNull = !0) : rich != null && (config = { ...config, richText: rich }, isNotNull = !0), isNotNull !== !1)
|
|
297
341
|
return new RichText(this._localeService, id, config);
|
|
298
342
|
}
|
|
299
|
-
}, __name(
|
|
300
|
-
RichTextAdaptor = __decorateClass$
|
|
301
|
-
__decorateParam$
|
|
343
|
+
}, __name(_a3, "RichTextAdaptor"), _a3);
|
|
344
|
+
RichTextAdaptor = __decorateClass$3([
|
|
345
|
+
__decorateParam$3(0, Inject(LocaleService))
|
|
302
346
|
], RichTextAdaptor);
|
|
303
347
|
const _RichTextAdaptorFactory = class _RichTextAdaptorFactory {
|
|
304
348
|
constructor() {
|
|
@@ -397,12 +441,50 @@ const _ShapeAdaptorFactory = class _ShapeAdaptorFactory {
|
|
|
397
441
|
__name(_ShapeAdaptorFactory, "ShapeAdaptorFactory");
|
|
398
442
|
let ShapeAdaptorFactory = _ShapeAdaptorFactory;
|
|
399
443
|
CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory());
|
|
400
|
-
var __defProp$
|
|
401
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
444
|
+
var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
445
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
402
446
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
403
|
-
return kind && result && __defProp$
|
|
404
|
-
}, "__decorateClass$
|
|
405
|
-
let
|
|
447
|
+
return kind && result && __defProp$2(target, key, result), result;
|
|
448
|
+
}, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a4;
|
|
449
|
+
let ObjectProvider = (_a4 = class {
|
|
450
|
+
constructor(_injector) {
|
|
451
|
+
__publicField(this, "_adaptors", []);
|
|
452
|
+
this._injector = _injector, this._adaptorLoader();
|
|
453
|
+
}
|
|
454
|
+
convertToRenderObjects(pageElements, mainScene) {
|
|
455
|
+
const pageKeys = Object.keys(pageElements), objects = [];
|
|
456
|
+
return pageKeys.forEach((key) => {
|
|
457
|
+
const pageElement = pageElements[key], o = this._executor(pageElement, mainScene);
|
|
458
|
+
o != null && objects.push(o);
|
|
459
|
+
}), objects;
|
|
460
|
+
}
|
|
461
|
+
convertToRenderObject(pageElement, mainScene) {
|
|
462
|
+
return this._executor(pageElement, mainScene);
|
|
463
|
+
}
|
|
464
|
+
_executor(pageElement, mainScene) {
|
|
465
|
+
var _a7;
|
|
466
|
+
const { id: pageElementId, type } = pageElement;
|
|
467
|
+
for (const adaptor of this._adaptors) {
|
|
468
|
+
const o = (_a7 = adaptor.check(type)) == null ? void 0 : _a7.convert(pageElement, mainScene);
|
|
469
|
+
if (o != null)
|
|
470
|
+
return o;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
_adaptorLoader() {
|
|
474
|
+
CanvasObjectProviderRegistry.getData().sort(sortRules).forEach((adaptorFactory) => {
|
|
475
|
+
this._adaptors.push(adaptorFactory.create(this._injector));
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
}, __name(_a4, "ObjectProvider"), _a4);
|
|
479
|
+
ObjectProvider = __decorateClass$2([
|
|
480
|
+
__decorateParam$2(0, Inject(Injector))
|
|
481
|
+
], ObjectProvider);
|
|
482
|
+
var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
483
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
484
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
485
|
+
return kind && result && __defProp$1(target, key, result), result;
|
|
486
|
+
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), SLIDE_VIEW_KEY = /* @__PURE__ */ ((SLIDE_VIEW_KEY2) => (SLIDE_VIEW_KEY2.MAIN = "__SLIDERender__", SLIDE_VIEW_KEY2.SCENE_VIEWER = "__SLIDEViewer__", SLIDE_VIEW_KEY2.SCENE = "__SLIDEScene__", SLIDE_VIEW_KEY2.VIEWPORT = "__SLIDEViewPort_", SLIDE_VIEW_KEY2))(SLIDE_VIEW_KEY || {}), _a5;
|
|
487
|
+
let SlideAdaptor = (_a5 = class extends ObjectAdaptor {
|
|
406
488
|
constructor(_injector) {
|
|
407
489
|
super();
|
|
408
490
|
__publicField(this, "zIndex", 6);
|
|
@@ -457,12 +539,12 @@ let SlideAdaptor = (_a3 = class extends ObjectAdaptor {
|
|
|
457
539
|
this._ObjectProvider = new ObjectProvider(this._injector);
|
|
458
540
|
for (let i = 0, len = pageOrder.length; i < len; i++) {
|
|
459
541
|
const page = pages[pageOrder[i]], { id: id2 } = page;
|
|
460
|
-
slideComponent.
|
|
542
|
+
slideComponent.addPageScene(this._createScene(id2, slideComponent, page, mainScene, model));
|
|
461
543
|
}
|
|
462
544
|
return slideComponent.activeFirstPage(), slideComponent;
|
|
463
545
|
}
|
|
464
546
|
_createScene(pageId, parent, page, mainScene, model) {
|
|
465
|
-
var
|
|
547
|
+
var _a7;
|
|
466
548
|
const { width, height } = parent, scene = new Scene(pageId, parent, {
|
|
467
549
|
width,
|
|
468
550
|
height
|
|
@@ -475,7 +557,7 @@ let SlideAdaptor = (_a3 = class extends ObjectAdaptor {
|
|
|
475
557
|
isRelativeX: !0,
|
|
476
558
|
isRelativeY: !0
|
|
477
559
|
}).closeClip();
|
|
478
|
-
const { pageElements, pageBackgroundFill } = page, objects = (
|
|
560
|
+
const { pageElements, pageBackgroundFill } = page, objects = (_a7 = this._ObjectProvider) == null ? void 0 : _a7.convertToRenderObjects(pageElements, mainScene);
|
|
479
561
|
return this._addBackgroundRect(scene, pageBackgroundFill, model), scene.addObjects(objects), objects == null || objects.forEach((object) => {
|
|
480
562
|
scene.attachTransformerTo(object);
|
|
481
563
|
}), scene;
|
|
@@ -494,9 +576,9 @@ let SlideAdaptor = (_a3 = class extends ObjectAdaptor {
|
|
|
494
576
|
});
|
|
495
577
|
scene.addObject(page, 0);
|
|
496
578
|
}
|
|
497
|
-
}, __name(
|
|
498
|
-
SlideAdaptor = __decorateClass$
|
|
499
|
-
__decorateParam$
|
|
579
|
+
}, __name(_a5, "SlideAdaptor"), _a5);
|
|
580
|
+
SlideAdaptor = __decorateClass$1([
|
|
581
|
+
__decorateParam$1(0, Inject(Injector))
|
|
500
582
|
], SlideAdaptor);
|
|
501
583
|
const _SlideAdaptorFactory = class _SlideAdaptorFactory {
|
|
502
584
|
constructor() {
|
|
@@ -509,12 +591,12 @@ const _SlideAdaptorFactory = class _SlideAdaptorFactory {
|
|
|
509
591
|
__name(_SlideAdaptorFactory, "SlideAdaptorFactory");
|
|
510
592
|
let SlideAdaptorFactory = _SlideAdaptorFactory;
|
|
511
593
|
CanvasObjectProviderRegistry.add(new SlideAdaptorFactory());
|
|
512
|
-
var
|
|
513
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc
|
|
594
|
+
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
595
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
514
596
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
515
|
-
return kind && result &&
|
|
516
|
-
}, "__decorateClass
|
|
517
|
-
let SpreadsheetAdaptor = (
|
|
597
|
+
return kind && result && __defProp2(target, key, result), result;
|
|
598
|
+
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), _a6;
|
|
599
|
+
let SpreadsheetAdaptor = (_a6 = class extends ObjectAdaptor {
|
|
518
600
|
constructor(_localeService, _contextService) {
|
|
519
601
|
super();
|
|
520
602
|
__publicField(this, "zIndex", 4);
|
|
@@ -638,10 +720,10 @@ let SpreadsheetAdaptor = (_a4 = class extends ObjectAdaptor {
|
|
|
638
720
|
viewMain.onMouseWheel(e, state);
|
|
639
721
|
});
|
|
640
722
|
}
|
|
641
|
-
}, __name(
|
|
642
|
-
SpreadsheetAdaptor = __decorateClass
|
|
643
|
-
__decorateParam
|
|
644
|
-
__decorateParam
|
|
723
|
+
}, __name(_a6, "SpreadsheetAdaptor"), _a6);
|
|
724
|
+
SpreadsheetAdaptor = __decorateClass([
|
|
725
|
+
__decorateParam(0, Inject(LocaleService)),
|
|
726
|
+
__decorateParam(1, IContextService)
|
|
645
727
|
], SpreadsheetAdaptor);
|
|
646
728
|
const _SpreadsheetAdaptorFactory = class _SpreadsheetAdaptorFactory {
|
|
647
729
|
constructor() {
|
|
@@ -654,338 +736,12 @@ const _SpreadsheetAdaptorFactory = class _SpreadsheetAdaptorFactory {
|
|
|
654
736
|
__name(_SpreadsheetAdaptorFactory, "SpreadsheetAdaptorFactory");
|
|
655
737
|
let SpreadsheetAdaptorFactory = _SpreadsheetAdaptorFactory;
|
|
656
738
|
CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory());
|
|
657
|
-
var
|
|
658
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
659
|
-
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
660
|
-
return kind && result && __defProp$2(target, key, result), result;
|
|
661
|
-
}, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a5;
|
|
662
|
-
let ObjectProvider = (_a5 = class {
|
|
663
|
-
constructor(_injector) {
|
|
664
|
-
__publicField(this, "_adaptors", []);
|
|
665
|
-
this._injector = _injector, this._adaptorLoader();
|
|
666
|
-
}
|
|
667
|
-
convertToRenderObjects(pageElements, mainScene) {
|
|
668
|
-
const pageKeys = Object.keys(pageElements), objects = [];
|
|
669
|
-
return pageKeys.forEach((key) => {
|
|
670
|
-
const pageElement = pageElements[key], o = this._executor(pageElement, mainScene);
|
|
671
|
-
o != null && objects.push(o);
|
|
672
|
-
}), objects;
|
|
673
|
-
}
|
|
674
|
-
convertToRenderObject(pageElement, mainScene) {
|
|
675
|
-
return this._executor(pageElement, mainScene);
|
|
676
|
-
}
|
|
677
|
-
_executor(pageElement, mainScene) {
|
|
678
|
-
var _a8;
|
|
679
|
-
const { id: pageElementId, type } = pageElement;
|
|
680
|
-
for (const adaptor of this._adaptors) {
|
|
681
|
-
const o = (_a8 = adaptor.check(type)) == null ? void 0 : _a8.convert(pageElement, mainScene);
|
|
682
|
-
if (o != null)
|
|
683
|
-
return o;
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
_adaptorLoader() {
|
|
687
|
-
CanvasObjectProviderRegistry.getData().sort(sortRules).forEach((adaptorFactory) => {
|
|
688
|
-
this._adaptors.push(adaptorFactory.create(this._injector));
|
|
689
|
-
});
|
|
690
|
-
}
|
|
691
|
-
}, __name(_a5, "ObjectProvider"), _a5);
|
|
692
|
-
ObjectProvider = __decorateClass$2([
|
|
693
|
-
__decorateParam$2(0, Inject(Injector))
|
|
694
|
-
], ObjectProvider);
|
|
695
|
-
var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
696
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
697
|
-
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
698
|
-
return kind && result && __defProp$1(target, key, result), result;
|
|
699
|
-
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), SLIDE_KEY = /* @__PURE__ */ ((SLIDE_KEY2) => (SLIDE_KEY2.COMPONENT = "__slideRender__", SLIDE_KEY2.SCENE = "__mainScene__", SLIDE_KEY2.VIEW = "__mainView__", SLIDE_KEY2))(SLIDE_KEY || {}), _a6;
|
|
700
|
-
let CanvasView = (_a6 = class extends RxDisposable {
|
|
701
|
-
constructor(_injector, _univerInstanceService, _renderManagerService) {
|
|
702
|
-
super();
|
|
703
|
-
__publicField(this, "_objectProvider", null);
|
|
704
|
-
__publicField(this, "_refreshThumb", debounce(() => {
|
|
705
|
-
this.createThumbs();
|
|
706
|
-
}, 300));
|
|
707
|
-
__publicField(this, "_sceneMap", /* @__PURE__ */ new Map());
|
|
708
|
-
this._injector = _injector, this._univerInstanceService = _univerInstanceService, this._renderManagerService = _renderManagerService, this._initializeDependencies(this._injector), this._initialize();
|
|
709
|
-
}
|
|
710
|
-
_initialize() {
|
|
711
|
-
this._renderManagerService.createRender$.pipe(takeUntil(this.dispose$)).subscribe((unitId) => {
|
|
712
|
-
this._create(unitId);
|
|
713
|
-
}), this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SLIDE).pipe(takeUntil(this.dispose$)).subscribe((slideModel) => {
|
|
714
|
-
this._create(slideModel == null ? void 0 : slideModel.getUnitId());
|
|
715
|
-
}), this._univerInstanceService.getAllUnitsForType(UniverInstanceType.UNIVER_SLIDE).forEach((slideModel) => {
|
|
716
|
-
this._create(slideModel.getUnitId());
|
|
717
|
-
});
|
|
718
|
-
}
|
|
719
|
-
activePage(_pageId) {
|
|
720
|
-
let pageId = _pageId;
|
|
721
|
-
const model = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE);
|
|
722
|
-
let page;
|
|
723
|
-
if (pageId)
|
|
724
|
-
page = model.getPage(pageId);
|
|
725
|
-
else {
|
|
726
|
-
const pageElements = model.getPages(), pageOrder = model.getPageOrder();
|
|
727
|
-
if (pageOrder == null || pageElements == null)
|
|
728
|
-
return;
|
|
729
|
-
page = pageElements[pageOrder[0]], pageId = page.id;
|
|
730
|
-
}
|
|
731
|
-
const render = this._currentRender();
|
|
732
|
-
if (page == null || render == null || render.mainComponent == null)
|
|
733
|
-
return;
|
|
734
|
-
const { id } = page, slide = render.mainComponent;
|
|
735
|
-
if (model.setActivePage(page), slide != null && slide.hasPage(id)) {
|
|
736
|
-
slide.changePage(id);
|
|
737
|
-
return;
|
|
738
|
-
}
|
|
739
|
-
this._createScene(id, page);
|
|
740
|
-
}
|
|
741
|
-
_scrollToCenter() {
|
|
742
|
-
var _a8;
|
|
743
|
-
const mainScene = (_a8 = this._currentRender()) == null ? void 0 : _a8.scene, viewMain = mainScene == null ? void 0 : mainScene.getViewport("__mainView__"), getCenterPositionViewPort = this._getCenterPositionViewPort(mainScene);
|
|
744
|
-
if (!viewMain || !getCenterPositionViewPort) return;
|
|
745
|
-
const { left: viewPortLeft, top: viewPortTop } = getCenterPositionViewPort, { x, y } = viewMain.transViewportScroll2ScrollValue(viewPortLeft, viewPortTop);
|
|
746
|
-
viewMain.scrollToBarPos({
|
|
747
|
-
x,
|
|
748
|
-
y
|
|
749
|
-
});
|
|
750
|
-
}
|
|
751
|
-
_create(unitId) {
|
|
752
|
-
unitId == null || this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SLIDE) == null || this._renderManagerService.has(unitId) || this._addNewRender(unitId);
|
|
753
|
-
}
|
|
754
|
-
_currentRender() {
|
|
755
|
-
const slideDataModel = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE);
|
|
756
|
-
return this._renderManagerService.getRenderById(slideDataModel.getUnitId());
|
|
757
|
-
}
|
|
758
|
-
// eslint-disable-next-line max-lines-per-function
|
|
759
|
-
_addNewRender(unitId) {
|
|
760
|
-
const slideDataModel = this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SLIDE);
|
|
761
|
-
if (slideDataModel == null)
|
|
762
|
-
return;
|
|
763
|
-
this._renderManagerService.createRender(unitId);
|
|
764
|
-
const currentRender = this._renderManagerService.getRenderById(unitId);
|
|
765
|
-
if (currentRender == null)
|
|
766
|
-
return;
|
|
767
|
-
const { scene, engine } = currentRender, observer = engine.onTransformChange$.subscribeEvent(() => {
|
|
768
|
-
this._scrollToCenter(), observer == null || observer.unsubscribe();
|
|
769
|
-
});
|
|
770
|
-
engine.onTransformChange$.subscribeEvent(() => {
|
|
771
|
-
setTimeout(() => {
|
|
772
|
-
this.createThumbs();
|
|
773
|
-
}, 300);
|
|
774
|
-
});
|
|
775
|
-
const viewMain = new Viewport("__mainView__", scene, {
|
|
776
|
-
left: 0,
|
|
777
|
-
top: 0,
|
|
778
|
-
bottom: 0,
|
|
779
|
-
right: 0,
|
|
780
|
-
isRelativeX: !0,
|
|
781
|
-
isRelativeY: !0,
|
|
782
|
-
isWheelPreventDefaultX: !0
|
|
783
|
-
});
|
|
784
|
-
scene.attachControl(), scene.onMouseWheel$.subscribeEvent((evt, state) => {
|
|
785
|
-
const e = evt;
|
|
786
|
-
if (e.ctrlKey) {
|
|
787
|
-
const deltaFactor = Math.abs(e.deltaX);
|
|
788
|
-
let scrollNum = deltaFactor < 40 ? 0.2 : deltaFactor < 80 ? 0.4 : 0.2;
|
|
789
|
-
scrollNum *= e.deltaY > 0 ? -1 : 1, scene.scaleX < 1 && (scrollNum /= 2), scene.scaleX + scrollNum > 4 ? scene.scale(4, 4) : scene.scaleX + scrollNum < 0.1 ? scene.scale(0.1, 0.1) : (e.deltaY > 0, e.preventDefault());
|
|
790
|
-
} else
|
|
791
|
-
viewMain.onMouseWheel(e, state);
|
|
792
|
-
}), scene.onFileLoaded$.subscribeEvent(() => {
|
|
793
|
-
this._refreshThumb();
|
|
794
|
-
}), ScrollBar.attachTo(viewMain), this._renderManagerService.setCurrent(unitId);
|
|
795
|
-
const slideComponent = this._createSlide(scene);
|
|
796
|
-
currentRender.mainComponent = slideComponent, currentRender.components.set("__slideRender__", slideComponent), this._createSlidePages(slideDataModel, slideComponent), engine.runRenderLoop(() => {
|
|
797
|
-
scene.render();
|
|
798
|
-
});
|
|
799
|
-
}
|
|
800
|
-
_createSlide(mainScene) {
|
|
801
|
-
const model = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE), { width: sceneWidth, height: sceneHeight } = mainScene, pageSize = model.getPageSize(), { width = 100, height = 100 } = pageSize, slideComponent = new Slide("__slideRender__", {
|
|
802
|
-
left: (sceneWidth - width) / 2,
|
|
803
|
-
top: (sceneHeight - height) / 2,
|
|
804
|
-
width,
|
|
805
|
-
height,
|
|
806
|
-
zIndex: 10
|
|
807
|
-
});
|
|
808
|
-
return slideComponent.enableSelectedClipElement(), mainScene.addObject(slideComponent), slideComponent;
|
|
809
|
-
}
|
|
810
|
-
_addBackgroundRect(scene, fill) {
|
|
811
|
-
const pageSize = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE).getPageSize(), { width: pageWidth = 0, height: pageHeight = 0 } = pageSize, page = new Rect("canvas", {
|
|
812
|
-
left: 0,
|
|
813
|
-
top: 0,
|
|
814
|
-
width: pageWidth,
|
|
815
|
-
height: pageHeight,
|
|
816
|
-
strokeWidth: 1,
|
|
817
|
-
stroke: "rgba(198,198,198,1)",
|
|
818
|
-
fill: getColorStyle(fill) || "rgba(255,255,255,1)",
|
|
819
|
-
zIndex: 0,
|
|
820
|
-
evented: !1
|
|
821
|
-
});
|
|
822
|
-
scene.addObject(page, 0);
|
|
823
|
-
}
|
|
824
|
-
_getCenterPositionViewPort(mainScene) {
|
|
825
|
-
if (!mainScene) return { left: 0, top: 0 };
|
|
826
|
-
const { width, height } = mainScene, engine = mainScene.getEngine(), canvasWidth = (engine == null ? void 0 : engine.width) || 0, canvasHeight = (engine == null ? void 0 : engine.height) || 0;
|
|
827
|
-
return {
|
|
828
|
-
left: (width - canvasWidth) / 2,
|
|
829
|
-
top: (height - canvasHeight) / 2
|
|
830
|
-
};
|
|
831
|
-
}
|
|
832
|
-
_thumbSceneRender(pageId, slide) {
|
|
833
|
-
const render = this._renderManagerService.getRenderById(pageId);
|
|
834
|
-
if (render == null)
|
|
835
|
-
return;
|
|
836
|
-
const { engine: thumbEngine } = render;
|
|
837
|
-
if (thumbEngine == null)
|
|
838
|
-
return;
|
|
839
|
-
const { width, height } = slide, { width: pageWidth = width, height: pageHeight = height } = thumbEngine, thumbContext = thumbEngine.getCanvas().getContext();
|
|
840
|
-
slide.renderToThumb(thumbContext, pageId, pageWidth / width, pageHeight / height);
|
|
841
|
-
}
|
|
842
|
-
_createSlidePages(slideDataModel, slide) {
|
|
843
|
-
const pages = slideDataModel.getPages(), pageOrder = slideDataModel.getPageOrder();
|
|
844
|
-
if (!(!pages || !pageOrder) && pageOrder.length !== 0) {
|
|
845
|
-
for (let i = 0, len = pageOrder.length; i < len; i++) {
|
|
846
|
-
const pageId = pageOrder[i];
|
|
847
|
-
this._createScene(pageId, pages[pageId]), this._createThumb(pageId);
|
|
848
|
-
}
|
|
849
|
-
slide.activeFirstPage();
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
createThumbs() {
|
|
853
|
-
const pageOrder = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE).getPageOrder(), render = this._currentRender();
|
|
854
|
-
if (!(!pageOrder || !render) && pageOrder.length !== 0)
|
|
855
|
-
for (let i = 0, len = pageOrder.length; i < len; i++) {
|
|
856
|
-
const pageId = pageOrder[i];
|
|
857
|
-
this._thumbSceneRender(pageId, render.mainComponent);
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
_createThumb(pageId) {
|
|
861
|
-
this._renderManagerService.createRender(pageId);
|
|
862
|
-
}
|
|
863
|
-
/**
|
|
864
|
-
* @param pageId
|
|
865
|
-
* @param page
|
|
866
|
-
* @returns pageScene: Scene
|
|
867
|
-
*/
|
|
868
|
-
_createScene(pageId, page) {
|
|
869
|
-
const render = this._currentRender();
|
|
870
|
-
if (!render || !this._objectProvider)
|
|
871
|
-
return;
|
|
872
|
-
const { scene: mainScene, mainComponent } = render, slide = mainComponent, { width, height } = slide, pageScene = new Scene(pageId, slide, {
|
|
873
|
-
width,
|
|
874
|
-
height
|
|
875
|
-
});
|
|
876
|
-
this._sceneMap.set(pageId, pageScene), new Viewport(`PageViewer_${pageId}`, pageScene, {
|
|
877
|
-
left: 0,
|
|
878
|
-
top: 0,
|
|
879
|
-
bottom: 0,
|
|
880
|
-
right: 0,
|
|
881
|
-
isRelativeX: !0,
|
|
882
|
-
isRelativeY: !0
|
|
883
|
-
}).closeClip();
|
|
884
|
-
const { pageElements, pageBackgroundFill } = page, objects = this._objectProvider.convertToRenderObjects(pageElements, mainScene);
|
|
885
|
-
if (!objects || !slide) return;
|
|
886
|
-
this._addBackgroundRect(pageScene, pageBackgroundFill), pageScene.addObjects(objects), objects.forEach((object) => {
|
|
887
|
-
pageScene.attachTransformerTo(object);
|
|
888
|
-
});
|
|
889
|
-
const transformer = pageScene.getTransformer();
|
|
890
|
-
return transformer == null || transformer.changeEnd$.subscribe(() => {
|
|
891
|
-
this._thumbSceneRender(pageId, slide);
|
|
892
|
-
}), transformer == null || transformer.clearControl$.subscribe(() => {
|
|
893
|
-
this._thumbSceneRender(pageId, slide);
|
|
894
|
-
}), slide.addPage(pageScene), pageScene;
|
|
895
|
-
}
|
|
896
|
-
_initializeDependencies(slideInjector) {
|
|
897
|
-
this._objectProvider = slideInjector.createInstance(ObjectProvider);
|
|
898
|
-
}
|
|
899
|
-
getRenderUnitByPageId(pageId) {
|
|
900
|
-
return {
|
|
901
|
-
scene: this._sceneMap.get(pageId)
|
|
902
|
-
// engine,
|
|
903
|
-
// unit,
|
|
904
|
-
};
|
|
905
|
-
}
|
|
906
|
-
createObjectToPage(element, pageID) {
|
|
907
|
-
if (!this._currentRender() || !this._objectProvider)
|
|
908
|
-
return;
|
|
909
|
-
const { scene } = this.getRenderUnitByPageId(pageID);
|
|
910
|
-
if (!scene) return;
|
|
911
|
-
const object = this._objectProvider.convertToRenderObject(element, scene);
|
|
912
|
-
if (object)
|
|
913
|
-
return scene.addObject(object), scene.attachTransformerTo(object), scene.getLayer().makeDirty(), object;
|
|
914
|
-
}
|
|
915
|
-
setObjectActiveByPage(obj, pageID) {
|
|
916
|
-
const { scene } = this.getRenderUnitByPageId(pageID);
|
|
917
|
-
if (!scene) return;
|
|
918
|
-
const transformer = scene.getTransformer();
|
|
919
|
-
transformer == null || transformer.activeAnObject(obj);
|
|
920
|
-
}
|
|
921
|
-
removeObjectById(id, pageID) {
|
|
922
|
-
const { scene } = this.getRenderUnitByPageId(pageID);
|
|
923
|
-
if (!scene) return;
|
|
924
|
-
scene.removeObject(id);
|
|
925
|
-
const transformer = scene.getTransformer();
|
|
926
|
-
transformer == null || transformer.clearControls();
|
|
927
|
-
}
|
|
928
|
-
appendPage() {
|
|
929
|
-
const model = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SLIDE), page = model.getBlankPage(), render = this._currentRender();
|
|
930
|
-
if (page == null || render == null || render.mainComponent == null)
|
|
931
|
-
return;
|
|
932
|
-
const { id } = page, slide = render.mainComponent, scene = this._createScene(id, page);
|
|
933
|
-
scene && (slide == null || slide.addPage(scene)), model.appendPage(page), model.setActivePage(page);
|
|
934
|
-
}
|
|
935
|
-
}, __name(_a6, "CanvasView"), _a6);
|
|
936
|
-
CanvasView = __decorateClass$1([
|
|
937
|
-
OnLifecycle(LifecycleStages.Ready, CanvasView),
|
|
938
|
-
__decorateParam$1(0, Inject(Injector)),
|
|
939
|
-
__decorateParam$1(1, IUniverInstanceService),
|
|
940
|
-
__decorateParam$1(2, IRenderManagerService)
|
|
941
|
-
], CanvasView);
|
|
942
|
-
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
943
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
944
|
-
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
945
|
-
return kind && result && __defProp2(target, key, result), result;
|
|
946
|
-
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
|
|
947
|
-
const DEFAULT_SLIDE_PLUGIN_DATA = {}, PLUGIN_NAME = "slides";
|
|
948
|
-
var _a7;
|
|
949
|
-
let UniverSlidesPlugin = (_a7 = class extends Plugin {
|
|
950
|
-
// private _canvasView: CanvasView | null = null;
|
|
951
|
-
constructor(config = {}, _injector, _renderManagerService) {
|
|
952
|
-
super();
|
|
953
|
-
__publicField(this, "_config");
|
|
954
|
-
__publicField(this, "_canvasEngine", null);
|
|
955
|
-
this._injector = _injector, this._renderManagerService = _renderManagerService, this._config = Object.assign(DEFAULT_SLIDE_PLUGIN_DATA, config), this._initializeDependencies(this._injector);
|
|
956
|
-
}
|
|
957
|
-
initialize() {
|
|
958
|
-
this.initCanvasEngine();
|
|
959
|
-
}
|
|
960
|
-
onReady() {
|
|
961
|
-
}
|
|
962
|
-
getConfig() {
|
|
963
|
-
return this._config;
|
|
964
|
-
}
|
|
965
|
-
initCanvasEngine() {
|
|
966
|
-
this._canvasEngine = this._injector.get(IRenderingEngine);
|
|
967
|
-
}
|
|
968
|
-
onRendered() {
|
|
969
|
-
this.initialize();
|
|
970
|
-
}
|
|
971
|
-
getCanvasEngine() {
|
|
972
|
-
return this._canvasEngine;
|
|
973
|
-
}
|
|
974
|
-
_initializeDependencies(slideInjector) {
|
|
975
|
-
[
|
|
976
|
-
[CanvasView]
|
|
977
|
-
// [TextSelectionManagerService],
|
|
978
|
-
].forEach((d) => {
|
|
979
|
-
slideInjector.add(d);
|
|
980
|
-
});
|
|
981
|
-
}
|
|
982
|
-
}, __name(_a7, "UniverSlidesPlugin"), __publicField(_a7, "pluginName", PLUGIN_NAME), __publicField(_a7, "type", UniverInstanceType.UNIVER_SLIDE), _a7);
|
|
983
|
-
UniverSlidesPlugin = __decorateClass([
|
|
984
|
-
__decorateParam(1, Inject(Injector)),
|
|
985
|
-
__decorateParam(2, IRenderManagerService)
|
|
986
|
-
], UniverSlidesPlugin);
|
|
739
|
+
var SLIDE_KEY = /* @__PURE__ */ ((SLIDE_KEY2) => (SLIDE_KEY2.COMPONENT = "__slideRender__", SLIDE_KEY2.SCENE = "__mainScene__", SLIDE_KEY2.VIEW = "__mainView__", SLIDE_KEY2))(SLIDE_KEY || {});
|
|
987
740
|
export {
|
|
988
|
-
|
|
741
|
+
CanvasObjectProviderRegistry,
|
|
742
|
+
ObjectAdaptor,
|
|
743
|
+
ObjectProvider,
|
|
989
744
|
SLIDE_KEY,
|
|
745
|
+
SLIDE_VIEW_KEY,
|
|
990
746
|
UniverSlidesPlugin
|
|
991
747
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injector, IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, SceneViewer } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
|
-
|
|
5
4
|
export declare enum DOCS_VIEW_KEY {
|
|
6
5
|
MAIN = "__DocsRender__",
|
|
7
6
|
SCENE_VIEWER = "__DocsViewer__",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injector, IPageElement, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Image } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
|
-
|
|
5
4
|
export declare class ImageAdaptor extends ObjectAdaptor {
|
|
6
5
|
zIndex: number;
|
|
7
6
|
viewKey: PageElementType;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injector, IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, RichText } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
|
-
|
|
5
4
|
export declare class RichTextAdaptor extends ObjectAdaptor {
|
|
6
5
|
private readonly _localeService;
|
|
7
6
|
zIndex: number;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injector, IPageElement, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Rect } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
|
-
|
|
5
4
|
export declare class ShapeAdaptor extends ObjectAdaptor {
|
|
6
5
|
zIndex: number;
|
|
7
6
|
viewKey: PageElementType;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IPageElement, Injector, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, Slide } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
|
-
|
|
5
4
|
export declare enum SLIDE_VIEW_KEY {
|
|
6
5
|
MAIN = "__SLIDERender__",
|
|
7
6
|
SCENE_VIEWER = "__SLIDEViewer__",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injector, IPageElement, IContextService, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, SceneViewer } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
|
-
|
|
5
4
|
export declare class SpreadsheetAdaptor extends ObjectAdaptor {
|
|
6
5
|
private readonly _localeService;
|
|
7
6
|
private readonly _contextService;
|
|
@@ -13,4 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export { SLIDE_VIEW_KEY } from './adaptors';
|
|
17
|
+
export * from './adaptor';
|
|
18
|
+
export * from './object-provider';
|
|
19
|
+
export declare enum SLIDE_KEY {
|
|
20
|
+
COMPONENT = "__slideRender__",
|
|
21
|
+
SCENE = "__mainScene__",
|
|
22
|
+
VIEW = "__mainView__"
|
|
23
|
+
}
|
|
24
|
+
export type PageID = string;
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","rxjs"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSlides={},global.UniverCore,global.UniverEngineRender,global.rxjs))})(this,function(exports2,core,engineRender,rxjs){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d,_e,_f,_g;const _ObjectAdaptor=class _ObjectAdaptor{constructor(){__publicField(this,"zIndex",0);__publicField(this,"viewKey",null)}check(type){if(type===this.viewKey)return this}create(injector){}};__name(_ObjectAdaptor,"ObjectAdaptor");let ObjectAdaptor=_ObjectAdaptor;const CanvasObjectProviderRegistry=core.Registry.create();var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");let DocsAdaptor=(_a=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",5);__publicField(this,"viewKey",core.PageElementType.DOCUMENT);__publicField(this,"_liquid",new engineRender.Liquid);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){var _a2,_b2;const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,document:documentData}=pageElement;if(documentData==null)return;const docDataModel=new core.DocumentDataModel(documentData),docViewModel=new engineRender.DocumentViewModel(docDataModel),documentSkeleton=engineRender.DocumentSkeleton.create(docViewModel,this._localeService),documents=new engineRender.Documents("__DocsRender__",documentSkeleton);documentSkeleton.calculate();const sv=new engineRender.SceneViewer("__DocsViewer__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY}),scene=new engineRender.Scene("__DocsScene__"+id,sv),viewMain=new engineRender.Viewport("__DocsViewPort_"+id,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});scene.attachControl(),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.2:deltaFactor<80?.4:.2;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(e.deltaY>0,e.preventDefault())}else viewMain.onMouseWheel(e,state)}),new engineRender.ScrollBar(viewMain,{mainScene}),scene.addObject(documents);const size=documentSkeleton.getActualSize();documents.resize(size.actualWidth,size.actualHeight),scene.resize(size.actualWidth,size.actualHeight+200),(_a2=documents.getSkeleton())==null||_a2.getPageSize(),documents.pageRender$.subscribe(config=>{const{page,pageLeft,pageTop,ctx}=config;ctx.save(),ctx.translate(pageLeft-.5,pageTop-.5),ctx.restore()});const{left:docsLeft,top:docsTop}=documents,skeletonData=documentSkeleton.getSkeletonData();if(skeletonData==null)return;const{pages}=skeletonData,objectList=[],pageMarginCache=new Map;this._recalculateSizeBySkeleton(documents,scene,documentSkeleton);for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{skeDrawings,marginLeft,marginTop,pageWidth,pageHeight}=page;this._liquid.translatePagePadding(page),skeDrawings.forEach(drawing=>{const{aLeft,aTop,height:height2,width:width2,drawingOrigin}=drawing,rect=new engineRender.Image(drawing.drawingId,{left:aLeft+docsLeft+this._liquid.x,top:aTop+docsTop+this._liquid.y,width:width2,height:height2,zIndex:11});pageMarginCache.set(drawing.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),objectList.push(rect)}),this._liquid.translatePage(page,documents.pageLayoutType,documents.pageMarginLeft,documents.pageMarginTop)}return scene.addObjects(objectList),objectList.forEach(object=>{scene.attachTransformerTo(object)}),(_b2=scene.getTransformer())==null||_b2.changing$.subscribe(state=>{const{objects}=state;objects.forEach(object=>{const{oKey,left:left2,top:top2,height:height2,width:width2}=object,cache=pageMarginCache.get(oKey),marginLeft=(cache==null?void 0:cache.marginLeft)||0,marginTop=(cache==null?void 0:cache.marginTop)||0;documentSkeleton==null||documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey,{left:left2-docsLeft-marginLeft,top:top2-docsTop-marginTop,height:height2,width:width2})}),documentSkeleton==null||documentSkeleton.calculate()}),this._calculatePagePosition(documents,scene,viewMain),sv}_recalculateSizeBySkeleton(docsComponent,scene,skeleton){var _a2;const pages=(_a2=skeleton.getSkeletonData())==null?void 0:_a2.pages;if(pages==null)return;let width=0,height=0;for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{pageWidth,pageHeight}=page;docsComponent.pageLayoutType===engineRender.PageLayoutType.VERTICAL?(height+=pageHeight,height+=docsComponent.pageMarginTop,i===len-1&&(height+=docsComponent.pageMarginTop),width=Math.max(width,pageWidth)):docsComponent.pageLayoutType===engineRender.PageLayoutType.HORIZONTAL&&(width+=pageWidth,i!==len-1&&(width+=docsComponent.pageMarginLeft),height=Math.max(height,pageHeight))}docsComponent.resize(width,height),scene.resize(width,height)}_calculatePagePosition(docsComponent,scene,viewport,zoomRatio=1){const parent=scene==null?void 0:scene.getParent(),{width:docsWidth,height:docsHeight,pageMarginLeft,pageMarginTop}=docsComponent;if(parent==null||docsWidth===Number.POSITIVE_INFINITY||docsHeight===Number.POSITIVE_INFINITY)return;const{width:engineWidth,height:engineHeight}=parent;let docsLeft=0,docsTop=0,sceneWidth=0,sceneHeight=0,scrollToX=Number.POSITIVE_INFINITY;if(engineWidth>(docsWidth+pageMarginLeft*2)*zoomRatio?(docsLeft=engineWidth/2-docsWidth*zoomRatio/2,docsLeft/=zoomRatio,sceneWidth=(engineWidth-pageMarginLeft*2)/zoomRatio,scrollToX=0):(docsLeft=pageMarginLeft,sceneWidth=docsWidth+pageMarginLeft*2,scrollToX=(sceneWidth-engineWidth/zoomRatio)/2),engineHeight>docsHeight?(docsTop=engineHeight/2-docsHeight/2,sceneHeight=(engineHeight-pageMarginTop*2)/zoomRatio):(docsTop=pageMarginTop,sceneHeight=docsHeight+pageMarginTop*2),scene.resize(sceneWidth,sceneHeight+200),docsComponent.translate(docsLeft,docsTop),scrollToX!==Number.POSITIVE_INFINITY&&viewport!=null){const actualX=viewport.transScroll2ViewportScrollValue(scrollToX,0).x;viewport.scrollToBarPos({x:actualX})}return this}},__name(_a,"DocsAdaptor"),_a);DocsAdaptor=__decorateClass$6([__decorateParam$6(0,core.Inject(core.LocaleService))],DocsAdaptor);const _DocsAdaptorFactory=class _DocsAdaptorFactory{constructor(){__publicField(this,"zIndex",5)}create(injector){return injector.createInstance(DocsAdaptor)}};__name(_DocsAdaptorFactory,"DocsAdaptorFactory");let DocsAdaptorFactory=_DocsAdaptorFactory;CanvasObjectProviderRegistry.add(new DocsAdaptorFactory);const _ImageAdaptor=class _ImageAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",1);__publicField(this,"viewKey",core.PageElementType.IMAGE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,image={}}=pageElement,{imageProperties,placeholder,link}=image,contentUrl=(imageProperties==null?void 0:imageProperties.contentUrl)||"";return new engineRender.Image(id,{url:contentUrl,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0})}};__name(_ImageAdaptor,"ImageAdaptor");let ImageAdaptor=_ImageAdaptor;const _ImageAdaptorFactory=class _ImageAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(ImageAdaptor)}};__name(_ImageAdaptorFactory,"ImageAdaptorFactory");let ImageAdaptorFactory=_ImageAdaptorFactory;CanvasObjectProviderRegistry.add(new ImageAdaptorFactory);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");let RichTextAdaptor=(_b=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.TEXT);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,_mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,richText={}}=pageElement,{text,ff,fs,it,bl,ul,st,ol,bg,bd,cl,rich}=richText;let config={top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0},isNotNull=!1;if(text!=null?(config={...config,text,ff,fs,it,bl,ul,st,ol,bg,bd,cl},isNotNull=!0):rich!=null&&(config={...config,richText:rich},isNotNull=!0),isNotNull!==!1)return new engineRender.RichText(this._localeService,id,config)}},__name(_b,"RichTextAdaptor"),_b);RichTextAdaptor=__decorateClass$5([__decorateParam$5(0,core.Inject(core.LocaleService))],RichTextAdaptor);const _RichTextAdaptorFactory=class _RichTextAdaptorFactory{constructor(){__publicField(this,"zIndex",0)}create(injector){return injector.createInstance(RichTextAdaptor)}};__name(_RichTextAdaptorFactory,"RichTextAdaptorFactory");let RichTextAdaptorFactory=_RichTextAdaptorFactory;CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory);const _ShapeAdaptor=class _ShapeAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.SHAPE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description}=pageElement,{shapeType,text,shapeProperties,placeholder,link}=pageElement.shape||{},fill=shapeProperties==null?"":core.getColorStyle(shapeProperties.shapeBackgroundFill)||"rgba(255,255,255,1)",outline=shapeProperties==null?void 0:shapeProperties.outline,strokeStyle={};if(outline){const{outlineFill,weight}=outline;strokeStyle.strokeWidth=weight,strokeStyle.stroke=core.getColorStyle(outlineFill)||"rgba(0,0,0,1)"}if(shapeType===core.BasicShapes.Rect)return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,...strokeStyle});if(shapeType===core.BasicShapes.RoundRect){const radius=(shapeProperties==null?void 0:shapeProperties.radius)||0;return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,radius,...strokeStyle})}}};__name(_ShapeAdaptor,"ShapeAdaptor");let ShapeAdaptor=_ShapeAdaptor;const _ShapeAdaptorFactory=class _ShapeAdaptorFactory{constructor(){__publicField(this,"zIndex",2)}create(injector){return injector.createInstance(ShapeAdaptor)}};__name(_ShapeAdaptorFactory,"ShapeAdaptorFactory");let ShapeAdaptorFactory=_ShapeAdaptorFactory;CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");let SlideAdaptor=(_c=class extends ObjectAdaptor{constructor(_injector){super();__publicField(this,"zIndex",6);__publicField(this,"viewKey",core.PageElementType.SLIDE);__publicField(this,"_ObjectProvider",null);this._injector=_injector}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,slide:slideData}=pageElement;if(slideData==null)return;const model=new core.SlideDataModel(slideData),slideComponent=new engineRender.Slide("__SLIDERender__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0});slideComponent.enableNav(),slideComponent.enableSelectedClipElement();const pageOrder=model.getPageOrder(),pages=model.getPages();if(!pageOrder||!pages)return slideComponent;this._ObjectProvider=new ObjectProvider(this._injector);for(let i=0,len=pageOrder.length;i<len;i++){const page=pages[pageOrder[i]],{id:id2}=page;slideComponent.addPage(this._createScene(id2,slideComponent,page,mainScene,model))}return slideComponent.activeFirstPage(),slideComponent}_createScene(pageId,parent,page,mainScene,model){var _a2;const{width,height}=parent,scene=new engineRender.Scene(pageId,parent,{width,height});new engineRender.Viewport(`PageViewer_${pageId}`,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements,pageBackgroundFill}=page,objects=(_a2=this._ObjectProvider)==null?void 0:_a2.convertToRenderObjects(pageElements,mainScene);return this._addBackgroundRect(scene,pageBackgroundFill,model),scene.addObjects(objects),objects==null||objects.forEach(object=>{scene.attachTransformerTo(object)}),scene}_addBackgroundRect(scene,fill,model){const pageSize=model.getPageSize(),{width:pageWidth=0,height:pageHeight=0}=pageSize,page=new engineRender.Rect("canvas",{left:0,top:0,width:pageWidth,height:pageHeight,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:core.getColorStyle(fill)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});scene.addObject(page,0)}},__name(_c,"SlideAdaptor"),_c);SlideAdaptor=__decorateClass$4([__decorateParam$4(0,core.Inject(core.Injector))],SlideAdaptor);const _SlideAdaptorFactory=class _SlideAdaptorFactory{constructor(){__publicField(this,"zIndex",6)}create(injector){return injector.createInstance(SlideAdaptor)}};__name(_SlideAdaptorFactory,"SlideAdaptorFactory");let SlideAdaptorFactory=_SlideAdaptorFactory;CanvasObjectProviderRegistry.add(new SlideAdaptorFactory);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");let SpreadsheetAdaptor=(_d=class extends ObjectAdaptor{constructor(_localeService,_contextService){super();__publicField(this,"zIndex",4);__publicField(this,"viewKey",core.PageElementType.SPREADSHEET);this._localeService=_localeService,this._contextService=_contextService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,spreadsheet:spreadsheetModel}=pageElement;if(spreadsheetModel==null)return;const{worksheet,styles}=spreadsheetModel,{cellData}=worksheet,cellDataMatrix=new core.ObjectMatrix(cellData),styleModel=new core.Styles(styles),spreadsheetSkeleton=new engineRender.SpreadsheetSkeleton(new core.Worksheet(id,worksheet,styleModel),worksheet,cellDataMatrix,styleModel,this._localeService,this._contextService),{rowTotalHeight,columnTotalWidth,rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton,allWidth=columnTotalWidth+worksheet.rowHeader.width||0,allHeight=rowTotalHeight+worksheet.columnHeader.height||0,sv=new engineRender.SceneViewer("spreadInSlideSceneViewer"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0}),scene=new engineRender.Scene("spreadInSlideScene"+id,sv,{width:allWidth,height:allHeight});this._updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene);const spreadsheet=new engineRender.Spreadsheet("testSheetViewer",spreadsheetSkeleton,!1),spreadsheetRowHeader=new engineRender.SpreadsheetRowHeader("spreadInSlideRow",spreadsheetSkeleton),spreadsheetColumnHeader=new engineRender.SpreadsheetColumnHeader("spreadInSlideColumn",spreadsheetSkeleton),SpreadsheetLeftTopPlaceholder=new engineRender.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:rowHeaderWidth,height:columnHeaderHeight,fill:engineRender.getColor([248,249,250]),stroke:engineRender.getColor([217,217,217]),strokeWidth:1});return spreadsheet.zIndex=10,scene.addObjects([spreadsheet],1),scene.addObjects([spreadsheetRowHeader,spreadsheetColumnHeader,SpreadsheetLeftTopPlaceholder],2),sv}_updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene){if(mainScene==null)return;const rowHeaderWidthScale=rowHeaderWidth*scene.scaleX,columnHeaderHeightScale=columnHeaderHeight*scene.scaleY,viewMain=new engineRender.Viewport("spreadInSlideViewMain"+id,scene,{left:rowHeaderWidthScale,top:columnHeaderHeightScale,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),viewTop=new engineRender.Viewport("spreadInSlideViewTop"+id,scene,{left:rowHeaderWidthScale,height:columnHeaderHeightScale,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),viewLeft=new engineRender.Viewport("spreadInSlideViewLeft"+id,scene,{left:0,bottom:0,top:columnHeaderHeightScale,width:rowHeaderWidthScale,isRelativeY:!0,isWheelPreventDefaultX:!0});new engineRender.Viewport("spreadInSlideViewLeftTop"+id,scene,{left:0,top:0,width:rowHeaderWidthScale,height:columnHeaderHeightScale,isWheelPreventDefaultX:!0}),viewMain.onScrollAfter$.subscribeEvent(param=>{const{scrollX,scrollY,viewportScrollX,viewportScrollY}=param;viewTop.updateScrollVal({scrollX,viewportScrollX}),viewLeft.updateScrollVal({scrollY,viewportScrollY})}),scene.attachControl(),new engineRender.ScrollBar(viewMain,{mainScene}),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.05:deltaFactor<80?.02:.01;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(scene.scaleBy(scrollNum,scrollNum),e.preventDefault())}else viewMain.onMouseWheel(e,state)})}},__name(_d,"SpreadsheetAdaptor"),_d);SpreadsheetAdaptor=__decorateClass$3([__decorateParam$3(0,core.Inject(core.LocaleService)),__decorateParam$3(1,core.IContextService)],SpreadsheetAdaptor);const _SpreadsheetAdaptorFactory=class _SpreadsheetAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(SpreadsheetAdaptor)}};__name(_SpreadsheetAdaptorFactory,"SpreadsheetAdaptorFactory");let SpreadsheetAdaptorFactory=_SpreadsheetAdaptorFactory;CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");let ObjectProvider=(_e=class{constructor(_injector){__publicField(this,"_adaptors",[]);this._injector=_injector,this._adaptorLoader()}convertToRenderObjects(pageElements,mainScene){const pageKeys=Object.keys(pageElements),objects=[];return pageKeys.forEach(key=>{const pageElement=pageElements[key],o=this._executor(pageElement,mainScene);o!=null&&objects.push(o)}),objects}convertToRenderObject(pageElement,mainScene){return this._executor(pageElement,mainScene)}_executor(pageElement,mainScene){var _a2;const{id:pageElementId,type}=pageElement;for(const adaptor of this._adaptors){const o=(_a2=adaptor.check(type))==null?void 0:_a2.convert(pageElement,mainScene);if(o!=null)return o}}_adaptorLoader(){CanvasObjectProviderRegistry.getData().sort(core.sortRules).forEach(adaptorFactory=>{this._adaptors.push(adaptorFactory.create(this._injector))})}},__name(_e,"ObjectProvider"),_e);ObjectProvider=__decorateClass$2([__decorateParam$2(0,core.Inject(core.Injector))],ObjectProvider);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),SLIDE_KEY=(SLIDE_KEY2=>(SLIDE_KEY2.COMPONENT="__slideRender__",SLIDE_KEY2.SCENE="__mainScene__",SLIDE_KEY2.VIEW="__mainView__",SLIDE_KEY2))(SLIDE_KEY||{});exports2.CanvasView=(_f=class extends core.RxDisposable{constructor(_injector,_univerInstanceService,_renderManagerService){super();__publicField(this,"_objectProvider",null);__publicField(this,"_refreshThumb",core.debounce(()=>{this.createThumbs()},300));__publicField(this,"_sceneMap",new Map);this._injector=_injector,this._univerInstanceService=_univerInstanceService,this._renderManagerService=_renderManagerService,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(rxjs.takeUntil(this.dispose$)).subscribe(unitId=>{this._create(unitId)}),this._univerInstanceService.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(slideModel=>{this._create(slideModel==null?void 0:slideModel.getUnitId())}),this._univerInstanceService.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slideModel=>{this._create(slideModel.getUnitId())})}activePage(_pageId){let pageId=_pageId;const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);let page;if(pageId)page=model.getPage(pageId);else{const pageElements=model.getPages(),pageOrder=model.getPageOrder();if(pageOrder==null||pageElements==null)return;page=pageElements[pageOrder[0]],pageId=page.id}const render=this._currentRender();if(page==null||render==null||render.mainComponent==null)return;const{id}=page,slide=render.mainComponent;if(model.setActivePage(page),slide!=null&&slide.hasPage(id)){slide.changePage(id);return}this._createScene(id,page)}_scrollToCenter(){var _a2;const mainScene=(_a2=this._currentRender())==null?void 0:_a2.scene,viewMain=mainScene==null?void 0:mainScene.getViewport("__mainView__"),getCenterPositionViewPort=this._getCenterPositionViewPort(mainScene);if(!viewMain||!getCenterPositionViewPort)return;const{left:viewPortLeft,top:viewPortTop}=getCenterPositionViewPort,{x,y}=viewMain.transViewportScroll2ScrollValue(viewPortLeft,viewPortTop);viewMain.scrollToBarPos({x,y})}_create(unitId){unitId==null||this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(unitId)||this._addNewRender(unitId)}_currentRender(){const slideDataModel=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(slideDataModel.getUnitId())}_addNewRender(unitId){const slideDataModel=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE);if(slideDataModel==null)return;this._renderManagerService.createRender(unitId);const currentRender=this._renderManagerService.getRenderById(unitId);if(currentRender==null)return;const{scene,engine}=currentRender,observer=engine.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),observer==null||observer.unsubscribe()});engine.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)});const viewMain=new engineRender.Viewport("__mainView__",scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});scene.attachControl(),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.2:deltaFactor<80?.4:.2;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(e.deltaY>0,e.preventDefault())}else viewMain.onMouseWheel(e,state)}),scene.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),engineRender.ScrollBar.attachTo(viewMain),this._renderManagerService.setCurrent(unitId);const slideComponent=this._createSlide(scene);currentRender.mainComponent=slideComponent,currentRender.components.set("__slideRender__",slideComponent),this._createSlidePages(slideDataModel,slideComponent),engine.runRenderLoop(()=>{scene.render()})}_createSlide(mainScene){const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),{width:sceneWidth,height:sceneHeight}=mainScene,pageSize=model.getPageSize(),{width=100,height=100}=pageSize,slideComponent=new engineRender.Slide("__slideRender__",{left:(sceneWidth-width)/2,top:(sceneHeight-height)/2,width,height,zIndex:10});return slideComponent.enableSelectedClipElement(),mainScene.addObject(slideComponent),slideComponent}_addBackgroundRect(scene,fill){const pageSize=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:pageWidth=0,height:pageHeight=0}=pageSize,page=new engineRender.Rect("canvas",{left:0,top:0,width:pageWidth,height:pageHeight,strokeWidth:1,stroke:"rgba(198,198,198,1)",fill:core.getColorStyle(fill)||"rgba(255,255,255,1)",zIndex:0,evented:!1});scene.addObject(page,0)}_getCenterPositionViewPort(mainScene){if(!mainScene)return{left:0,top:0};const{width,height}=mainScene,engine=mainScene.getEngine(),canvasWidth=(engine==null?void 0:engine.width)||0,canvasHeight=(engine==null?void 0:engine.height)||0;return{left:(width-canvasWidth)/2,top:(height-canvasHeight)/2}}_thumbSceneRender(pageId,slide){const render=this._renderManagerService.getRenderById(pageId);if(render==null)return;const{engine:thumbEngine}=render;if(thumbEngine==null)return;const{width,height}=slide,{width:pageWidth=width,height:pageHeight=height}=thumbEngine,thumbContext=thumbEngine.getCanvas().getContext();slide.renderToThumb(thumbContext,pageId,pageWidth/width,pageHeight/height)}_createSlidePages(slideDataModel,slide){const pages=slideDataModel.getPages(),pageOrder=slideDataModel.getPageOrder();if(!(!pages||!pageOrder)&&pageOrder.length!==0){for(let i=0,len=pageOrder.length;i<len;i++){const pageId=pageOrder[i];this._createScene(pageId,pages[pageId]),this._createThumb(pageId)}slide.activeFirstPage()}}createThumbs(){const pageOrder=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),render=this._currentRender();if(!(!pageOrder||!render)&&pageOrder.length!==0)for(let i=0,len=pageOrder.length;i<len;i++){const pageId=pageOrder[i];this._thumbSceneRender(pageId,render.mainComponent)}}_createThumb(pageId){this._renderManagerService.createRender(pageId)}_createScene(pageId,page){const render=this._currentRender();if(!render||!this._objectProvider)return;const{scene:mainScene,mainComponent}=render,slide=mainComponent,{width,height}=slide,pageScene=new engineRender.Scene(pageId,slide,{width,height});this._sceneMap.set(pageId,pageScene),new engineRender.Viewport(`PageViewer_${pageId}`,pageScene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements,pageBackgroundFill}=page,objects=this._objectProvider.convertToRenderObjects(pageElements,mainScene);if(!objects||!slide)return;this._addBackgroundRect(pageScene,pageBackgroundFill),pageScene.addObjects(objects),objects.forEach(object=>{pageScene.attachTransformerTo(object)});const transformer=pageScene.getTransformer();return transformer==null||transformer.changeEnd$.subscribe(()=>{this._thumbSceneRender(pageId,slide)}),transformer==null||transformer.clearControl$.subscribe(()=>{this._thumbSceneRender(pageId,slide)}),slide.addPage(pageScene),pageScene}_initializeDependencies(slideInjector){this._objectProvider=slideInjector.createInstance(ObjectProvider)}getRenderUnitByPageId(pageId){return{scene:this._sceneMap.get(pageId)}}createObjectToPage(element,pageID){if(!this._currentRender()||!this._objectProvider)return;const{scene}=this.getRenderUnitByPageId(pageID);if(!scene)return;const object=this._objectProvider.convertToRenderObject(element,scene);if(object)return scene.addObject(object),scene.attachTransformerTo(object),scene.getLayer().makeDirty(),object}setObjectActiveByPage(obj,pageID){const{scene}=this.getRenderUnitByPageId(pageID);if(!scene)return;const transformer=scene.getTransformer();transformer==null||transformer.activeAnObject(obj)}removeObjectById(id,pageID){const{scene}=this.getRenderUnitByPageId(pageID);if(!scene)return;scene.removeObject(id);const transformer=scene.getTransformer();transformer==null||transformer.clearControls()}appendPage(){const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),page=model.getBlankPage(),render=this._currentRender();if(page==null||render==null||render.mainComponent==null)return;const{id}=page,slide=render.mainComponent,scene=this._createScene(id,page);scene&&(slide==null||slide.addPage(scene)),model.appendPage(page),model.setActivePage(page)}},__name(_f,"CanvasView"),_f),exports2.CanvasView=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,exports2.CanvasView),__decorateParam$1(0,core.Inject(core.Injector)),__decorateParam$1(1,core.IUniverInstanceService),__decorateParam$1(2,engineRender.IRenderManagerService)],exports2.CanvasView);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const DEFAULT_SLIDE_PLUGIN_DATA={},PLUGIN_NAME="slides";exports2.UniverSlidesPlugin=(_g=class extends core.Plugin{constructor(config={},_injector,_renderManagerService){super();__publicField(this,"_config");__publicField(this,"_canvasEngine",null);this._injector=_injector,this._renderManagerService=_renderManagerService,this._config=Object.assign(DEFAULT_SLIDE_PLUGIN_DATA,config),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(engineRender.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(slideInjector){[[exports2.CanvasView]].forEach(d=>{slideInjector.add(d)})}},__name(_g,"UniverSlidesPlugin"),__publicField(_g,"pluginName",PLUGIN_NAME),__publicField(_g,"type",core.UniverInstanceType.UNIVER_SLIDE),_g),exports2.UniverSlidesPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService)],exports2.UniverSlidesPlugin),exports2.SLIDE_KEY=SLIDE_KEY,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSlides={},global.UniverCore,global.UniverEngineRender))})(this,function(exports2,core,engineRender){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d,_e,_f;var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");const DEFAULT_SLIDE_PLUGIN_DATA={},PLUGIN_NAME="slides";exports2.UniverSlidesPlugin=(_a=class extends core.Plugin{constructor(config={},_injector,_renderManagerService){super();__publicField(this,"_config");__publicField(this,"_canvasEngine",null);this._injector=_injector,this._renderManagerService=_renderManagerService,this._config=Object.assign(DEFAULT_SLIDE_PLUGIN_DATA,config),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(engineRender.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(slideInjector){[].forEach(d=>{slideInjector.add(d)})}},__name(_a,"UniverSlidesPlugin"),__publicField(_a,"pluginName",PLUGIN_NAME),__publicField(_a,"type",core.UniverInstanceType.UNIVER_SLIDE),_a),exports2.UniverSlidesPlugin=__decorateClass$5([__decorateParam$5(1,core.Inject(core.Injector)),__decorateParam$5(2,engineRender.IRenderManagerService)],exports2.UniverSlidesPlugin);const _ObjectAdaptor=class _ObjectAdaptor{constructor(){__publicField(this,"zIndex",0);__publicField(this,"viewKey",null)}check(type){if(type===this.viewKey)return this}create(injector){}};__name(_ObjectAdaptor,"ObjectAdaptor");let ObjectAdaptor=_ObjectAdaptor;const CanvasObjectProviderRegistry=core.Registry.create();var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");let DocsAdaptor=(_b=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",5);__publicField(this,"viewKey",core.PageElementType.DOCUMENT);__publicField(this,"_liquid",new engineRender.Liquid);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){var _a2,_b2;const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,document:documentData}=pageElement;if(documentData==null)return;const docDataModel=new core.DocumentDataModel(documentData),docViewModel=new engineRender.DocumentViewModel(docDataModel),documentSkeleton=engineRender.DocumentSkeleton.create(docViewModel,this._localeService),documents=new engineRender.Documents("__DocsRender__",documentSkeleton);documentSkeleton.calculate();const sv=new engineRender.SceneViewer("__DocsViewer__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY}),scene=new engineRender.Scene("__DocsScene__"+id,sv),viewMain=new engineRender.Viewport("__DocsViewPort_"+id,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});scene.attachControl(),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.2:deltaFactor<80?.4:.2;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(e.deltaY>0,e.preventDefault())}else viewMain.onMouseWheel(e,state)}),new engineRender.ScrollBar(viewMain,{mainScene}),scene.addObject(documents);const size=documentSkeleton.getActualSize();documents.resize(size.actualWidth,size.actualHeight),scene.resize(size.actualWidth,size.actualHeight+200),(_a2=documents.getSkeleton())==null||_a2.getPageSize(),documents.pageRender$.subscribe(config=>{const{page,pageLeft,pageTop,ctx}=config;ctx.save(),ctx.translate(pageLeft-.5,pageTop-.5),ctx.restore()});const{left:docsLeft,top:docsTop}=documents,skeletonData=documentSkeleton.getSkeletonData();if(skeletonData==null)return;const{pages}=skeletonData,objectList=[],pageMarginCache=new Map;this._recalculateSizeBySkeleton(documents,scene,documentSkeleton);for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{skeDrawings,marginLeft,marginTop,pageWidth,pageHeight}=page;this._liquid.translatePagePadding(page),skeDrawings.forEach(drawing=>{const{aLeft,aTop,height:height2,width:width2,drawingOrigin}=drawing,rect=new engineRender.Image(drawing.drawingId,{left:aLeft+docsLeft+this._liquid.x,top:aTop+docsTop+this._liquid.y,width:width2,height:height2,zIndex:11});pageMarginCache.set(drawing.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),objectList.push(rect)}),this._liquid.translatePage(page,documents.pageLayoutType,documents.pageMarginLeft,documents.pageMarginTop)}return scene.addObjects(objectList),objectList.forEach(object=>{scene.attachTransformerTo(object)}),(_b2=scene.getTransformer())==null||_b2.changing$.subscribe(state=>{const{objects}=state;objects.forEach(object=>{const{oKey,left:left2,top:top2,height:height2,width:width2}=object,cache=pageMarginCache.get(oKey),marginLeft=(cache==null?void 0:cache.marginLeft)||0,marginTop=(cache==null?void 0:cache.marginTop)||0;documentSkeleton==null||documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey,{left:left2-docsLeft-marginLeft,top:top2-docsTop-marginTop,height:height2,width:width2})}),documentSkeleton==null||documentSkeleton.calculate()}),this._calculatePagePosition(documents,scene,viewMain),sv}_recalculateSizeBySkeleton(docsComponent,scene,skeleton){var _a2;const pages=(_a2=skeleton.getSkeletonData())==null?void 0:_a2.pages;if(pages==null)return;let width=0,height=0;for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{pageWidth,pageHeight}=page;docsComponent.pageLayoutType===engineRender.PageLayoutType.VERTICAL?(height+=pageHeight,height+=docsComponent.pageMarginTop,i===len-1&&(height+=docsComponent.pageMarginTop),width=Math.max(width,pageWidth)):docsComponent.pageLayoutType===engineRender.PageLayoutType.HORIZONTAL&&(width+=pageWidth,i!==len-1&&(width+=docsComponent.pageMarginLeft),height=Math.max(height,pageHeight))}docsComponent.resize(width,height),scene.resize(width,height)}_calculatePagePosition(docsComponent,scene,viewport,zoomRatio=1){const parent=scene==null?void 0:scene.getParent(),{width:docsWidth,height:docsHeight,pageMarginLeft,pageMarginTop}=docsComponent;if(parent==null||docsWidth===Number.POSITIVE_INFINITY||docsHeight===Number.POSITIVE_INFINITY)return;const{width:engineWidth,height:engineHeight}=parent;let docsLeft=0,docsTop=0,sceneWidth=0,sceneHeight=0,scrollToX=Number.POSITIVE_INFINITY;if(engineWidth>(docsWidth+pageMarginLeft*2)*zoomRatio?(docsLeft=engineWidth/2-docsWidth*zoomRatio/2,docsLeft/=zoomRatio,sceneWidth=(engineWidth-pageMarginLeft*2)/zoomRatio,scrollToX=0):(docsLeft=pageMarginLeft,sceneWidth=docsWidth+pageMarginLeft*2,scrollToX=(sceneWidth-engineWidth/zoomRatio)/2),engineHeight>docsHeight?(docsTop=engineHeight/2-docsHeight/2,sceneHeight=(engineHeight-pageMarginTop*2)/zoomRatio):(docsTop=pageMarginTop,sceneHeight=docsHeight+pageMarginTop*2),scene.resize(sceneWidth,sceneHeight+200),docsComponent.translate(docsLeft,docsTop),scrollToX!==Number.POSITIVE_INFINITY&&viewport!=null){const actualX=viewport.transScroll2ViewportScrollValue(scrollToX,0).x;viewport.scrollToBarPos({x:actualX})}return this}},__name(_b,"DocsAdaptor"),_b);DocsAdaptor=__decorateClass$4([__decorateParam$4(0,core.Inject(core.LocaleService))],DocsAdaptor);const _DocsAdaptorFactory=class _DocsAdaptorFactory{constructor(){__publicField(this,"zIndex",5)}create(injector){return injector.createInstance(DocsAdaptor)}};__name(_DocsAdaptorFactory,"DocsAdaptorFactory");let DocsAdaptorFactory=_DocsAdaptorFactory;CanvasObjectProviderRegistry.add(new DocsAdaptorFactory);const _ImageAdaptor=class _ImageAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",1);__publicField(this,"viewKey",core.PageElementType.IMAGE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,image={}}=pageElement,{imageProperties,placeholder,link}=image,contentUrl=(imageProperties==null?void 0:imageProperties.contentUrl)||"";return new engineRender.Image(id,{url:contentUrl,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0})}};__name(_ImageAdaptor,"ImageAdaptor");let ImageAdaptor=_ImageAdaptor;const _ImageAdaptorFactory=class _ImageAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(ImageAdaptor)}};__name(_ImageAdaptorFactory,"ImageAdaptorFactory");let ImageAdaptorFactory=_ImageAdaptorFactory;CanvasObjectProviderRegistry.add(new ImageAdaptorFactory);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");let RichTextAdaptor=(_c=class extends ObjectAdaptor{constructor(_localeService){super();__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.TEXT);this._localeService=_localeService}check(type){if(type===this.viewKey)return this}convert(pageElement,_mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,richText={}}=pageElement,{text,ff,fs,it,bl,ul,st,ol,bg,bd,cl,rich}=richText;let config={top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0},isNotNull=!1;if(text!=null?(config={...config,text,ff,fs,it,bl,ul,st,ol,bg,bd,cl},isNotNull=!0):rich!=null&&(config={...config,richText:rich},isNotNull=!0),isNotNull!==!1)return new engineRender.RichText(this._localeService,id,config)}},__name(_c,"RichTextAdaptor"),_c);RichTextAdaptor=__decorateClass$3([__decorateParam$3(0,core.Inject(core.LocaleService))],RichTextAdaptor);const _RichTextAdaptorFactory=class _RichTextAdaptorFactory{constructor(){__publicField(this,"zIndex",0)}create(injector){return injector.createInstance(RichTextAdaptor)}};__name(_RichTextAdaptorFactory,"RichTextAdaptorFactory");let RichTextAdaptorFactory=_RichTextAdaptorFactory;CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory);const _ShapeAdaptor=class _ShapeAdaptor extends ObjectAdaptor{constructor(){super(...arguments);__publicField(this,"zIndex",2);__publicField(this,"viewKey",core.PageElementType.SHAPE)}check(type){if(type===this.viewKey)return this}convert(pageElement){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description}=pageElement,{shapeType,text,shapeProperties,placeholder,link}=pageElement.shape||{},fill=shapeProperties==null?"":core.getColorStyle(shapeProperties.shapeBackgroundFill)||"rgba(255,255,255,1)",outline=shapeProperties==null?void 0:shapeProperties.outline,strokeStyle={};if(outline){const{outlineFill,weight}=outline;strokeStyle.strokeWidth=weight,strokeStyle.stroke=core.getColorStyle(outlineFill)||"rgba(0,0,0,1)"}if(shapeType===core.BasicShapes.Rect)return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,...strokeStyle});if(shapeType===core.BasicShapes.RoundRect){const radius=(shapeProperties==null?void 0:shapeProperties.radius)||0;return new engineRender.Rect(id,{fill,top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0,radius,...strokeStyle})}}};__name(_ShapeAdaptor,"ShapeAdaptor");let ShapeAdaptor=_ShapeAdaptor;const _ShapeAdaptorFactory=class _ShapeAdaptorFactory{constructor(){__publicField(this,"zIndex",2)}create(injector){return injector.createInstance(ShapeAdaptor)}};__name(_ShapeAdaptorFactory,"ShapeAdaptorFactory");let ShapeAdaptorFactory=_ShapeAdaptorFactory;CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");exports2.ObjectProvider=(_d=class{constructor(_injector){__publicField(this,"_adaptors",[]);this._injector=_injector,this._adaptorLoader()}convertToRenderObjects(pageElements,mainScene){const pageKeys=Object.keys(pageElements),objects=[];return pageKeys.forEach(key=>{const pageElement=pageElements[key],o=this._executor(pageElement,mainScene);o!=null&&objects.push(o)}),objects}convertToRenderObject(pageElement,mainScene){return this._executor(pageElement,mainScene)}_executor(pageElement,mainScene){var _a2;const{id:pageElementId,type}=pageElement;for(const adaptor of this._adaptors){const o=(_a2=adaptor.check(type))==null?void 0:_a2.convert(pageElement,mainScene);if(o!=null)return o}}_adaptorLoader(){CanvasObjectProviderRegistry.getData().sort(core.sortRules).forEach(adaptorFactory=>{this._adaptors.push(adaptorFactory.create(this._injector))})}},__name(_d,"ObjectProvider"),_d),exports2.ObjectProvider=__decorateClass$2([__decorateParam$2(0,core.Inject(core.Injector))],exports2.ObjectProvider);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),SLIDE_VIEW_KEY=(SLIDE_VIEW_KEY2=>(SLIDE_VIEW_KEY2.MAIN="__SLIDERender__",SLIDE_VIEW_KEY2.SCENE_VIEWER="__SLIDEViewer__",SLIDE_VIEW_KEY2.SCENE="__SLIDEScene__",SLIDE_VIEW_KEY2.VIEWPORT="__SLIDEViewPort_",SLIDE_VIEW_KEY2))(SLIDE_VIEW_KEY||{});let SlideAdaptor=(_e=class extends ObjectAdaptor{constructor(_injector){super();__publicField(this,"zIndex",6);__publicField(this,"viewKey",core.PageElementType.SLIDE);__publicField(this,"_ObjectProvider",null);this._injector=_injector}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,title,description,slide:slideData}=pageElement;if(slideData==null)return;const model=new core.SlideDataModel(slideData),slideComponent=new engineRender.Slide("__SLIDERender__"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0});slideComponent.enableNav(),slideComponent.enableSelectedClipElement();const pageOrder=model.getPageOrder(),pages=model.getPages();if(!pageOrder||!pages)return slideComponent;this._ObjectProvider=new exports2.ObjectProvider(this._injector);for(let i=0,len=pageOrder.length;i<len;i++){const page=pages[pageOrder[i]],{id:id2}=page;slideComponent.addPageScene(this._createScene(id2,slideComponent,page,mainScene,model))}return slideComponent.activeFirstPage(),slideComponent}_createScene(pageId,parent,page,mainScene,model){var _a2;const{width,height}=parent,scene=new engineRender.Scene(pageId,parent,{width,height});new engineRender.Viewport(`PageViewer_${pageId}`,scene,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements,pageBackgroundFill}=page,objects=(_a2=this._ObjectProvider)==null?void 0:_a2.convertToRenderObjects(pageElements,mainScene);return this._addBackgroundRect(scene,pageBackgroundFill,model),scene.addObjects(objects),objects==null||objects.forEach(object=>{scene.attachTransformerTo(object)}),scene}_addBackgroundRect(scene,fill,model){const pageSize=model.getPageSize(),{width:pageWidth=0,height:pageHeight=0}=pageSize,page=new engineRender.Rect("canvas",{left:0,top:0,width:pageWidth,height:pageHeight,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:core.getColorStyle(fill)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});scene.addObject(page,0)}},__name(_e,"SlideAdaptor"),_e);SlideAdaptor=__decorateClass$1([__decorateParam$1(0,core.Inject(core.Injector))],SlideAdaptor);const _SlideAdaptorFactory=class _SlideAdaptorFactory{constructor(){__publicField(this,"zIndex",6)}create(injector){return injector.createInstance(SlideAdaptor)}};__name(_SlideAdaptorFactory,"SlideAdaptorFactory");let SlideAdaptorFactory=_SlideAdaptorFactory;CanvasObjectProviderRegistry.add(new SlideAdaptorFactory);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");let SpreadsheetAdaptor=(_f=class extends ObjectAdaptor{constructor(_localeService,_contextService){super();__publicField(this,"zIndex",4);__publicField(this,"viewKey",core.PageElementType.SPREADSHEET);this._localeService=_localeService,this._contextService=_contextService}check(type){if(type===this.viewKey)return this}convert(pageElement,mainScene){const{id,zIndex,left=0,top=0,width,height,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,spreadsheet:spreadsheetModel}=pageElement;if(spreadsheetModel==null)return;const{worksheet,styles}=spreadsheetModel,{cellData}=worksheet,cellDataMatrix=new core.ObjectMatrix(cellData),styleModel=new core.Styles(styles),spreadsheetSkeleton=new engineRender.SpreadsheetSkeleton(new core.Worksheet(id,worksheet,styleModel),worksheet,cellDataMatrix,styleModel,this._localeService,this._contextService),{rowTotalHeight,columnTotalWidth,rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton,allWidth=columnTotalWidth+worksheet.rowHeader.width||0,allHeight=rowTotalHeight+worksheet.columnHeader.height||0,sv=new engineRender.SceneViewer("spreadInSlideSceneViewer"+id,{top,left,width,height,zIndex,angle,scaleX,scaleY,skewX,skewY,flipX,flipY,forceRender:!0}),scene=new engineRender.Scene("spreadInSlideScene"+id,sv,{width:allWidth,height:allHeight});this._updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene);const spreadsheet=new engineRender.Spreadsheet("testSheetViewer",spreadsheetSkeleton,!1),spreadsheetRowHeader=new engineRender.SpreadsheetRowHeader("spreadInSlideRow",spreadsheetSkeleton),spreadsheetColumnHeader=new engineRender.SpreadsheetColumnHeader("spreadInSlideColumn",spreadsheetSkeleton),SpreadsheetLeftTopPlaceholder=new engineRender.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:rowHeaderWidth,height:columnHeaderHeight,fill:engineRender.getColor([248,249,250]),stroke:engineRender.getColor([217,217,217]),strokeWidth:1});return spreadsheet.zIndex=10,scene.addObjects([spreadsheet],1),scene.addObjects([spreadsheetRowHeader,spreadsheetColumnHeader,SpreadsheetLeftTopPlaceholder],2),sv}_updateViewport(id,rowHeaderWidth,columnHeaderHeight,scene,mainScene){if(mainScene==null)return;const rowHeaderWidthScale=rowHeaderWidth*scene.scaleX,columnHeaderHeightScale=columnHeaderHeight*scene.scaleY,viewMain=new engineRender.Viewport("spreadInSlideViewMain"+id,scene,{left:rowHeaderWidthScale,top:columnHeaderHeightScale,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),viewTop=new engineRender.Viewport("spreadInSlideViewTop"+id,scene,{left:rowHeaderWidthScale,height:columnHeaderHeightScale,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),viewLeft=new engineRender.Viewport("spreadInSlideViewLeft"+id,scene,{left:0,bottom:0,top:columnHeaderHeightScale,width:rowHeaderWidthScale,isRelativeY:!0,isWheelPreventDefaultX:!0});new engineRender.Viewport("spreadInSlideViewLeftTop"+id,scene,{left:0,top:0,width:rowHeaderWidthScale,height:columnHeaderHeightScale,isWheelPreventDefaultX:!0}),viewMain.onScrollAfter$.subscribeEvent(param=>{const{scrollX,scrollY,viewportScrollX,viewportScrollY}=param;viewTop.updateScrollVal({scrollX,viewportScrollX}),viewLeft.updateScrollVal({scrollY,viewportScrollY})}),scene.attachControl(),new engineRender.ScrollBar(viewMain,{mainScene}),scene.onMouseWheel$.subscribeEvent((evt,state)=>{const e=evt;if(e.ctrlKey){const deltaFactor=Math.abs(e.deltaX);let scrollNum=deltaFactor<40?.05:deltaFactor<80?.02:.01;scrollNum*=e.deltaY>0?-1:1,scene.scaleX<1&&(scrollNum/=2),scene.scaleX+scrollNum>4?scene.scale(4,4):scene.scaleX+scrollNum<.1?scene.scale(.1,.1):(scene.scaleBy(scrollNum,scrollNum),e.preventDefault())}else viewMain.onMouseWheel(e,state)})}},__name(_f,"SpreadsheetAdaptor"),_f);SpreadsheetAdaptor=__decorateClass([__decorateParam(0,core.Inject(core.LocaleService)),__decorateParam(1,core.IContextService)],SpreadsheetAdaptor);const _SpreadsheetAdaptorFactory=class _SpreadsheetAdaptorFactory{constructor(){__publicField(this,"zIndex",4)}create(injector){return injector.createInstance(SpreadsheetAdaptor)}};__name(_SpreadsheetAdaptorFactory,"SpreadsheetAdaptorFactory");let SpreadsheetAdaptorFactory=_SpreadsheetAdaptorFactory;CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory);var SLIDE_KEY=(SLIDE_KEY2=>(SLIDE_KEY2.COMPONENT="__slideRender__",SLIDE_KEY2.SCENE="__mainScene__",SLIDE_KEY2.VIEW="__mainView__",SLIDE_KEY2))(SLIDE_KEY||{});exports2.CanvasObjectProviderRegistry=CanvasObjectProviderRegistry,exports2.ObjectAdaptor=ObjectAdaptor,exports2.SLIDE_KEY=SLIDE_KEY,exports2.SLIDE_VIEW_KEY=SLIDE_VIEW_KEY,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/slides",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -46,18 +46,17 @@
|
|
|
46
46
|
"lib"
|
|
47
47
|
],
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"
|
|
50
|
-
"@univerjs/
|
|
51
|
-
"@univerjs/engine-render": "0.2.7"
|
|
49
|
+
"@univerjs/core": "0.2.9",
|
|
50
|
+
"@univerjs/engine-render": "0.2.9"
|
|
52
51
|
},
|
|
53
52
|
"devDependencies": {
|
|
54
53
|
"rxjs": "^7.8.1",
|
|
55
54
|
"typescript": "^5.5.4",
|
|
56
|
-
"vite": "^5.
|
|
55
|
+
"vite": "^5.4.0",
|
|
57
56
|
"vitest": "^2.0.5",
|
|
58
|
-
"@univerjs/
|
|
59
|
-
"@univerjs/
|
|
60
|
-
"@univerjs/shared": "0.2.
|
|
57
|
+
"@univerjs/engine-render": "0.2.9",
|
|
58
|
+
"@univerjs/core": "0.2.9",
|
|
59
|
+
"@univerjs/shared": "0.2.9"
|
|
61
60
|
},
|
|
62
61
|
"univerSpace": {
|
|
63
62
|
".": {
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { IPageElement, Nullable, Injector, IUniverInstanceService, RxDisposable } from '@univerjs/core';
|
|
2
|
-
import { BaseObject, IRenderModule, IRenderManagerService, Scene } from '@univerjs/engine-render';
|
|
3
|
-
|
|
4
|
-
export declare enum SLIDE_KEY {
|
|
5
|
-
COMPONENT = "__slideRender__",
|
|
6
|
-
SCENE = "__mainScene__",
|
|
7
|
-
VIEW = "__mainView__"
|
|
8
|
-
}
|
|
9
|
-
export type PageID = string;
|
|
10
|
-
export declare class CanvasView extends RxDisposable implements IRenderModule {
|
|
11
|
-
private readonly _injector;
|
|
12
|
-
private readonly _univerInstanceService;
|
|
13
|
-
private readonly _renderManagerService;
|
|
14
|
-
private _objectProvider;
|
|
15
|
-
constructor(_injector: Injector, _univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService);
|
|
16
|
-
private _initialize;
|
|
17
|
-
activePage(_pageId?: string): void;
|
|
18
|
-
private _scrollToCenter;
|
|
19
|
-
private _create;
|
|
20
|
-
private _currentRender;
|
|
21
|
-
private _addNewRender;
|
|
22
|
-
private _refreshThumb;
|
|
23
|
-
private _createSlide;
|
|
24
|
-
private _addBackgroundRect;
|
|
25
|
-
private _getCenterPositionViewPort;
|
|
26
|
-
private _thumbSceneRender;
|
|
27
|
-
private _createSlidePages;
|
|
28
|
-
createThumbs(): void;
|
|
29
|
-
private _createThumb;
|
|
30
|
-
private _sceneMap;
|
|
31
|
-
/**
|
|
32
|
-
* @param pageId
|
|
33
|
-
* @param page
|
|
34
|
-
* @returns pageScene: Scene
|
|
35
|
-
*/
|
|
36
|
-
private _createScene;
|
|
37
|
-
private _initializeDependencies;
|
|
38
|
-
getRenderUnitByPageId(pageId: PageID): {
|
|
39
|
-
scene: Scene | undefined;
|
|
40
|
-
};
|
|
41
|
-
createObjectToPage(element: IPageElement, pageID: PageID): Nullable<BaseObject>;
|
|
42
|
-
setObjectActiveByPage(obj: BaseObject, pageID: PageID): void;
|
|
43
|
-
removeObjectById(id: string, pageID: PageID): void;
|
|
44
|
-
appendPage(): void;
|
|
45
|
-
}
|