@univerjs/slides 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/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 { Registry, Inject, LocaleService, PageElementType, DocumentDataModel, getColorStyle, BasicShapes, Injector, SlideDataModel, IContextService, ObjectMatrix, Styles, Worksheet, sortRules, OnLifecycle, LifecycleStages, RxDisposable, UniverInstanceType, debounce, IUniverInstanceService, Plugin } from "@univerjs/core";
6
- import { Liquid, DocumentViewModel, DocumentSkeleton, Documents, SceneViewer, Scene, Viewport, ScrollBar, Image, PageLayoutType, RichText, Rect, Slide, SpreadsheetSkeleton, Spreadsheet, SpreadsheetRowHeader, SpreadsheetColumnHeader, getColor, IRenderManagerService, IRenderingEngine } from "@univerjs/engine-render";
7
- import { takeUntil } from "rxjs";
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$6 = Object.defineProperty, __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor, __decorateClass$6 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
24
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
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$6(target, key, result), result;
27
- }, "__decorateClass$6"), __decorateParam$6 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$6"), _a;
28
- let DocsAdaptor = (_a = class extends ObjectAdaptor {
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 _a8, _b;
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), (_a8 = documents.getSkeleton()) == null || _a8.getPageSize(), documents.pageRender$.subscribe((config) => {
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 _a8;
147
- const pages = (_a8 = skeleton.getSkeletonData()) == null ? void 0 : _a8.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(_a, "DocsAdaptor"), _a);
172
- DocsAdaptor = __decorateClass$6([
173
- __decorateParam$6(0, Inject(LocaleService))
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$5 = Object.defineProperty, __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor, __decorateClass$5 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
247
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
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$5(target, key, result), result;
250
- }, "__decorateClass$5"), __decorateParam$5 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$5"), _a2;
251
- let RichTextAdaptor = (_a2 = class extends ObjectAdaptor {
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(_a2, "RichTextAdaptor"), _a2);
300
- RichTextAdaptor = __decorateClass$5([
301
- __decorateParam$5(0, Inject(LocaleService))
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$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
401
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
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$4(target, key, result), result;
404
- }, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a3;
405
- let SlideAdaptor = (_a3 = class extends ObjectAdaptor {
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.addPage(this._createScene(id2, slideComponent, page, mainScene, model));
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 _a8;
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 = (_a8 = this._ObjectProvider) == null ? void 0 : _a8.convertToRenderObjects(pageElements, mainScene);
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(_a3, "SlideAdaptor"), _a3);
498
- SlideAdaptor = __decorateClass$4([
499
- __decorateParam$4(0, Inject(Injector))
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 __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
513
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
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 && __defProp$3(target, key, result), result;
516
- }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a4;
517
- let SpreadsheetAdaptor = (_a4 = class extends ObjectAdaptor {
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(_a4, "SpreadsheetAdaptor"), _a4);
642
- SpreadsheetAdaptor = __decorateClass$3([
643
- __decorateParam$3(0, Inject(LocaleService)),
644
- __decorateParam$3(1, IContextService)
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 __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
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
- CanvasView,
741
+ CanvasObjectProviderRegistry,
742
+ ObjectAdaptor,
743
+ ObjectProvider,
989
744
  SLIDE_KEY,
745
+ SLIDE_VIEW_KEY,
990
746
  UniverSlidesPlugin
991
747
  };
@@ -1,3 +1,2 @@
1
1
  import { IDocumentData } from '@univerjs/core';
2
-
3
2
  export declare const docsDemoData: IDocumentData;
@@ -1,6 +1,5 @@
1
1
  import { Injector, Plugin, UniverInstanceType } from '@univerjs/core';
2
2
  import { Engine, IRenderManagerService } from '@univerjs/engine-render';
3
-
4
3
  export interface IUniverSlidesConfig {
5
4
  }
6
5
  export declare class UniverSlidesPlugin extends Plugin {
@@ -1,6 +1,5 @@
1
1
  import { Injector, IPageElement, Nullable, PageElementType, Registry } from '@univerjs/core';
2
2
  import { BaseObject, Scene } from '@univerjs/engine-render';
3
-
4
3
  export declare abstract class ObjectAdaptor {
5
4
  zIndex: number;
6
5
  viewKey: PageElementType | null;
@@ -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 * from './canvas-view';
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;
@@ -1,6 +1,5 @@
1
1
  import { IPageElement, Injector } from '@univerjs/core';
2
2
  import { BaseObject, Scene } from '@univerjs/engine-render';
3
-
4
3
  export declare class ObjectProvider {
5
4
  private readonly _injector;
6
5
  private _adaptors;
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.7",
3
+ "version": "0.2.8",
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
- "rxjs": ">=7.0.0",
50
- "@univerjs/core": "0.2.7",
51
- "@univerjs/engine-render": "0.2.7"
49
+ "@univerjs/engine-render": "0.2.8",
50
+ "@univerjs/core": "0.2.8"
52
51
  },
53
52
  "devDependencies": {
54
53
  "rxjs": "^7.8.1",
55
54
  "typescript": "^5.5.4",
56
- "vite": "^5.3.5",
55
+ "vite": "^5.4.0",
57
56
  "vitest": "^2.0.5",
58
- "@univerjs/core": "0.2.7",
59
- "@univerjs/engine-render": "0.2.7",
60
- "@univerjs/shared": "0.2.7"
57
+ "@univerjs/core": "0.2.8",
58
+ "@univerjs/shared": "0.2.8",
59
+ "@univerjs/engine-render": "0.2.8"
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
- }