@univerjs/slides 0.2.4 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +748 -692
- package/lib/types/slides-plugin.d.ts +5 -7
- package/lib/types/views/render/adaptor.d.ts +3 -4
- package/lib/types/views/render/adaptors/docs-adaptor.d.ts +1 -2
- package/lib/types/views/render/adaptors/image-adaptor.d.ts +1 -2
- package/lib/types/views/render/adaptors/rich-text-adaptor.d.ts +2 -3
- package/lib/types/views/render/adaptors/shape-adaptor.d.ts +1 -2
- package/lib/types/views/render/adaptors/slide-adaptor.d.ts +1 -2
- package/lib/types/views/render/adaptors/spreadsheet-adaptor.d.ts +1 -2
- package/lib/types/views/render/canvas-view.d.ts +20 -10
- package/lib/types/views/render/object-provider.d.ts +2 -2
- package/lib/umd/index.js +1 -1
- package/package.json +11 -15
- package/lib/locale/en-US.json +0 -1
- package/lib/locale/ru-RU.json +0 -1
- package/lib/locale/vi-VN.json +0 -1
- package/lib/locale/zh-CN.json +0 -1
- package/lib/locale/zh-TW.json +0 -1
- package/lib/types/locale/en-US.d.ts +0 -4
- package/lib/types/locale/ru-RU.d.ts +0 -4
- package/lib/types/locale/vi-VN.d.ts +0 -4
- package/lib/types/locale/zh-CN.d.ts +0 -17
- package/lib/types/locale/zh-TW.d.ts +0 -4
- package/lib/types/model/info-bar-model.d.ts +0 -21
- package/lib/types/model/toolbar-model.d.ts +0 -15
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import { Plugin, UniverInstanceType } from '@univerjs/core';
|
|
2
|
-
import { Engine } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
|
-
import { CanvasView } from './views/render';
|
|
1
|
+
import { Injector, Plugin, UniverInstanceType } from '@univerjs/core';
|
|
2
|
+
import { Engine, IRenderManagerService } from '@univerjs/engine-render';
|
|
5
3
|
|
|
6
4
|
export interface IUniverSlidesConfig {
|
|
7
5
|
}
|
|
8
6
|
export declare class UniverSlidesPlugin extends Plugin {
|
|
9
7
|
readonly _injector: Injector;
|
|
8
|
+
private readonly _renderManagerService;
|
|
10
9
|
static pluginName: string;
|
|
11
10
|
static type: UniverInstanceType;
|
|
12
11
|
private _config;
|
|
13
12
|
private _canvasEngine;
|
|
14
|
-
|
|
15
|
-
constructor(config: Partial<IUniverSlidesConfig> | undefined, _injector: Injector);
|
|
13
|
+
constructor(config: Partial<IUniverSlidesConfig> | undefined, _injector: Injector, _renderManagerService: IRenderManagerService);
|
|
16
14
|
initialize(): void;
|
|
15
|
+
onReady(): void;
|
|
17
16
|
getConfig(): IUniverSlidesConfig;
|
|
18
17
|
initCanvasEngine(): void;
|
|
19
18
|
onRendered(): void;
|
|
20
19
|
getCanvasEngine(): Engine | null;
|
|
21
|
-
getCanvasView(): CanvasView | null;
|
|
22
20
|
private _initializeDependencies;
|
|
23
21
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { IPageElement, PageElementType, Registry } from '@univerjs/core';
|
|
2
|
-
import { Scene } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
1
|
+
import { Injector, IPageElement, Nullable, PageElementType, Registry } from '@univerjs/core';
|
|
2
|
+
import { BaseObject, Scene } from '@univerjs/engine-render';
|
|
4
3
|
|
|
5
4
|
export declare abstract class ObjectAdaptor {
|
|
6
5
|
zIndex: number;
|
|
7
6
|
viewKey: PageElementType | null;
|
|
8
7
|
check(type: PageElementType): this | undefined;
|
|
9
|
-
abstract convert(pageElement: IPageElement, mainScene: Scene):
|
|
8
|
+
abstract convert(pageElement: IPageElement, mainScene: Scene): Nullable<BaseObject>;
|
|
10
9
|
create(injector: Injector): void;
|
|
11
10
|
}
|
|
12
11
|
export declare const CanvasObjectProviderRegistry: Registry<any>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
1
|
+
import { Injector, IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, SceneViewer } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
5
4
|
|
|
6
5
|
export declare enum DOCS_VIEW_KEY {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement, PageElementType } from '@univerjs/core';
|
|
1
|
+
import { Injector, IPageElement, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Image } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
5
4
|
|
|
6
5
|
export declare class ImageAdaptor extends ObjectAdaptor {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
1
|
+
import { Injector, IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, RichText } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
5
4
|
|
|
6
5
|
export declare class RichTextAdaptor extends ObjectAdaptor {
|
|
@@ -9,7 +8,7 @@ export declare class RichTextAdaptor extends ObjectAdaptor {
|
|
|
9
8
|
viewKey: PageElementType;
|
|
10
9
|
constructor(_localeService: LocaleService);
|
|
11
10
|
check(type: PageElementType): this | undefined;
|
|
12
|
-
convert(pageElement: IPageElement,
|
|
11
|
+
convert(pageElement: IPageElement, _mainScene: Scene): RichText | undefined;
|
|
13
12
|
}
|
|
14
13
|
export declare class RichTextAdaptorFactory {
|
|
15
14
|
readonly zIndex = 0;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement, PageElementType } from '@univerjs/core';
|
|
1
|
+
import { Injector, IPageElement, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Rect } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
5
4
|
|
|
6
5
|
export declare class ShapeAdaptor extends ObjectAdaptor {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement, PageElementType } from '@univerjs/core';
|
|
1
|
+
import { IPageElement, Injector, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, Slide } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
5
4
|
|
|
6
5
|
export declare enum SLIDE_VIEW_KEY {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement, IContextService, LocaleService, PageElementType } from '@univerjs/core';
|
|
1
|
+
import { Injector, IPageElement, IContextService, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, SceneViewer } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
5
4
|
|
|
6
5
|
export declare class SpreadsheetAdaptor extends ObjectAdaptor {
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import { IUniverInstanceService, RxDisposable } from '@univerjs/core';
|
|
2
|
-
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
1
|
+
import { IPageElement, Nullable, Injector, IUniverInstanceService, RxDisposable } from '@univerjs/core';
|
|
2
|
+
import { BaseObject, IRenderModule, IRenderManagerService, Scene } from '@univerjs/engine-render';
|
|
5
3
|
|
|
6
4
|
export declare enum SLIDE_KEY {
|
|
7
5
|
COMPONENT = "__slideRender__",
|
|
8
6
|
SCENE = "__mainScene__",
|
|
9
7
|
VIEW = "__mainView__"
|
|
10
8
|
}
|
|
11
|
-
export
|
|
12
|
-
|
|
9
|
+
export type PageID = string;
|
|
10
|
+
export declare class CanvasView extends RxDisposable implements IRenderModule {
|
|
13
11
|
private readonly _injector;
|
|
12
|
+
private readonly _univerInstanceService;
|
|
14
13
|
private readonly _renderManagerService;
|
|
15
14
|
private _objectProvider;
|
|
16
|
-
|
|
17
|
-
readonly activePageId$: Subject<string>;
|
|
18
|
-
constructor(_univerInstanceService: IUniverInstanceService, _injector: Injector, _renderManagerService: IRenderManagerService);
|
|
15
|
+
constructor(_injector: Injector, _univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService);
|
|
19
16
|
private _initialize;
|
|
20
|
-
activePage(
|
|
17
|
+
activePage(_pageId?: string): void;
|
|
21
18
|
private _scrollToCenter;
|
|
22
19
|
private _create;
|
|
23
20
|
private _currentRender;
|
|
@@ -30,6 +27,19 @@ export declare class CanvasView extends RxDisposable {
|
|
|
30
27
|
private _createSlidePages;
|
|
31
28
|
createThumbs(): void;
|
|
32
29
|
private _createThumb;
|
|
30
|
+
private _sceneMap;
|
|
31
|
+
/**
|
|
32
|
+
* @param pageId
|
|
33
|
+
* @param page
|
|
34
|
+
* @returns pageScene: Scene
|
|
35
|
+
*/
|
|
33
36
|
private _createScene;
|
|
34
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;
|
|
35
45
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IPageElement } from '@univerjs/core';
|
|
1
|
+
import { IPageElement, Injector } from '@univerjs/core';
|
|
2
2
|
import { BaseObject, Scene } from '@univerjs/engine-render';
|
|
3
|
-
import { Injector } from '@wendellhu/redi';
|
|
4
3
|
|
|
5
4
|
export declare class ObjectProvider {
|
|
6
5
|
private readonly _injector;
|
|
@@ -9,6 +8,7 @@ export declare class ObjectProvider {
|
|
|
9
8
|
convertToRenderObjects(pageElements: {
|
|
10
9
|
[elementId: string]: IPageElement;
|
|
11
10
|
}, mainScene: Scene): BaseObject[];
|
|
11
|
+
convertToRenderObject(pageElement: IPageElement, mainScene: Scene): BaseObject | undefined;
|
|
12
12
|
private _executor;
|
|
13
13
|
private _adaptorLoader;
|
|
14
14
|
}
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(S,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@wendellhu/redi","rxjs"],l):(S=typeof globalThis<"u"?globalThis:S||self,l(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,l,h,L,ee){"use strict";var qe=Object.defineProperty;var Ge=(S,l,h)=>l in S?qe(S,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[l]=h;var _=(S,l,h)=>Ge(S,typeof l!="symbol"?l+"":l,h);var K;class H{constructor(){_(this,"zIndex",0);_(this,"viewKey",null)}check(n){if(n===this.viewKey)return this}create(n){}}const A=l.Registry.create();var he=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ue=(a,n,e,r)=>{for(var t=r>1?void 0:r?de(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&he(n,e,t),t},pe=(a,n)=>(e,r)=>n(e,r,a);let te=class extends H{constructor(n){super();_(this,"zIndex",5);_(this,"viewKey",l.PageElementType.DOCUMENT);_(this,"_liquid",new h.Liquid);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){var q,le;const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,document:D}=n;if(D==null)return;const y=new l.DocumentDataModel(D),P=new h.DocumentViewModel(y),T=h.DocumentSkeleton.create(P,this._localeService),b=new h.Documents("__DocsRender__",T);T.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f}),I=new h.Scene("__DocsScene__"+r,C),m=new h.Viewport("__DocsViewPort_"+r,I,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});I.attachControl(),I.onMouseWheel$.subscribeEvent((X,Y)=>{const O=X;if(O.ctrlKey){const N=Math.abs(O.deltaX);let M=N<40?.2:N<80?.4:.2;M*=O.deltaY>0?-1:1,I.scaleX<1&&(M/=2),I.scaleX+M>4?I.scale(4,4):I.scaleX+M<.1?I.scale(.1,.1):(O.deltaY>0,O.preventDefault())}else m.onMouseWheel(O,Y)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(b);const E=T.getActualSize();b.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const x=(q=b.getSkeleton())==null?void 0:q.getPageSize();b.pageRender$.subscribe(X=>{const{page:Y,pageLeft:O,pageTop:N,ctx:M}=X,{width:G,height:Z,marginBottom:ae,marginLeft:z,marginRight:J,marginTop:Q}=Y;M.save(),M.translate(O-.5,N-.5),h.Rect.drawWith(M,{width:(x==null?void 0:x.width)||G,height:(x==null?void 0:x.height)||Z,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),M.restore()});const{left:F,top:W}=b,$=T.getSkeletonData();if($==null)return;const{pages:U}=$,R=[],k=new Map;this._recalculateSizeBySkeleton(b,I,T);for(let X=0,Y=U.length;X<Y;X++){const O=U[X],{skeDrawings:N,marginLeft:M,marginTop:G,pageWidth:Z,pageHeight:ae}=O;this._liquid.translatePagePadding(O),N.forEach(z=>{const{aLeft:J,aTop:Q,height:Be,width:Ke,drawingOrigin:Ze}=z,ke=new h.Image(z.drawingId,{left:J+F+this._liquid.x,top:Q+W+this._liquid.y,width:Ke,height:Be,zIndex:11});k.set(z.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),R.push(ke)}),this._liquid.translatePage(O,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return I.addObjects(R),R.forEach(X=>{I.attachTransformerTo(X)}),(le=I.getTransformer())==null||le.changing$.subscribe(X=>{const{objects:Y}=X;Y.forEach(O=>{const{oKey:N,left:M,top:G,height:Z,width:ae}=O,z=k.get(N),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(N,{left:M-F-J,top:G-W-Q,height:Z,width:ae})}),T==null||T.calculate()}),this._calculatePagePosition(b,I,m),C}_recalculateSizeBySkeleton(n,e,r){var c;const t=(c=r.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,d=t.length;o<d;o++){const p=t[o],{pageWidth:w,pageHeight:u}=p;n.pageLayoutType===h.PageLayoutType.VERTICAL?(s+=u,s+=n.pageMarginTop,o===d-1&&(s+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,o!==d-1&&(i+=n.pageMarginLeft),s=Math.max(s,u))}n.resize(i,s),e.resize(i,s)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:d}=n;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:p,height:w}=i;let u=0,v=0,g=0,f=0,j=Number.POSITIVE_INFINITY;if(p>(s+o*2)*t?(u=p/2-s*t/2,u/=t,g=(p-o*2)/t,j=0):(u=o,g=s+o*2,j=(g-p/t)/2),w>c?(v=w/2-c/2,f=(w-d*2)/t):(v=d,f=c+d*2),e.resize(g,f+200),n.translate(u,v),j!==Number.POSITIVE_INFINITY&&r!=null){const V=r.transScroll2ViewportScrollValue(j,0).x;r.scrollTo({x:V})}return this}};te=ue([pe(0,L.Inject(l.LocaleService))],te);class ge{constructor(){_(this,"zIndex",5)}create(n){return n.createInstance(te)}}A.add(new ge);class _e extends H{constructor(){super(...arguments);_(this,"zIndex",1);_(this,"viewKey",l.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,image:D={}}=e,{imageProperties:y,placeholder:P,link:T}=D,b=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:b,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0})}}class ve{constructor(){_(this,"zIndex",4)}create(n){return n.createInstance(_e)}}A.add(new ve);var fe=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Se=(a,n,e,r)=>{for(var t=r>1?void 0:r?we(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&fe(n,e,t),t},Ie=(a,n)=>(e,r)=>n(e,r,a);let re=class extends H{constructor(n){super();_(this,"zIndex",2);_(this,"viewKey",l.PageElementType.TEXT);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,richText:D={}}=n,{text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:x,bd:F,cl:W,rich:$}=D;let U={top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0},R=!1;if(y!=null?(U={...U,text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:x,bd:F,cl:W},R=!0):$!=null&&(U={...U,richText:$},R=!0),R!==!1)return new h.RichText(this._localeService,r,U)}};re=Se([Ie(0,L.Inject(l.LocaleService))],re);class Pe{constructor(){_(this,"zIndex",0)}create(n){return n.createInstance(re)}}A.add(new Pe);class be extends H{constructor(){super(...arguments);_(this,"zIndex",2);_(this,"viewKey",l.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V}=e,{shapeType:D,text:y,shapeProperties:P,placeholder:T,link:b}=e.shape||{},C=P==null?"":l.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:x}=I;m.strokeWidth=x,m.stroke=l.getColorStyle(E)||"rgba(0,0,0,1)"}if(D===l.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0,...m});if(D===l.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0,radius:E,...m})}}}class Te{constructor(){_(this,"zIndex",2)}create(n){return n.createInstance(be)}}A.add(new Te);var me=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ee=(a,n,e,r)=>{for(var t=r>1?void 0:r?ye(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&me(n,e,t),t},je=(a,n)=>(e,r)=>n(e,r,a);let ne=class extends H{constructor(n){super();_(this,"zIndex",6);_(this,"viewKey",l.PageElementType.SLIDE);_(this,"_ObjectProvider",null);this._injector=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,slide:D}=n;if(D==null)return;const y=new l.SlideDataModel(D),P=new h.Slide("__SLIDERender__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const T=y.getPageOrder(),b=y.getPages();if(!T||!b)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=T.length;C<I;C++){const m=b[T[C]],{id:E}=m;P.addPage(this._createScene(E,P,m,e,y))}return P.activeFirstPage(),P}_createScene(n,e,r,t,i){var v;const{width:s,height:c}=e,o=new h.Scene(n,e,{width:s,height:c});new h.Viewport(`PageViewer_${n}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:w}=r,u=(v=this._ObjectProvider)==null?void 0:v.convertToRenderObjects(p,t);return this._addBackgroundRect(o,w,i),o.addObjects(u),u==null||u.forEach(g=>{o.attachTransformerTo(g)}),o}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:s=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};ne=Ee([je(0,L.Inject(L.Injector))],ne);class De{constructor(){_(this,"zIndex",6)}create(n){return n.createInstance(ne)}}A.add(new De);var Oe=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Ve=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ce(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Oe(n,e,t),t},ce=(a,n)=>(e,r)=>n(e,r,a);let ie=class extends H{constructor(n,e){super();_(this,"zIndex",4);_(this,"viewKey",l.PageElementType.SPREADSHEET);this._localeService=n,this._contextService=e}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,spreadsheet:j}=n;if(j==null)return;const{worksheet:V,styles:D}=j,{cellData:y}=V,P=new l.ObjectMatrix(y),T=new l.Styles(D),b=new h.SpreadsheetSkeleton(new l.Worksheet(r,V,T),V,P,T,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=b,x=I+V.rowHeader.width||0,F=C+V.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0}),$=new h.Scene("spreadInSlideScene"+r,W,{width:x,height:F});this._updateViewport(r,m,E,$,e);const U=new h.Spreadsheet("testSheetViewer",b,!1),R=new h.SpreadsheetRowHeader("spreadInSlideRow",b),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",b),q=new h.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:m,height:E,fill:h.getColor([248,249,250]),stroke:h.getColor([217,217,217]),strokeWidth:1});return U.zIndex=10,$.addObjects([U],1),$.addObjects([R,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const s=e*t.scaleX,c=r*t.scaleY,o=new h.Viewport("spreadInSlideViewMain"+n,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),p=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:u,scrollY:v,viewportScrollX:g,viewportScrollY:f}=w;d.updateScroll({scrollX:u,viewportScrollX:g}),p.updateScroll({scrollY:v,viewportScrollY:f})}),t.attachControl(),new h.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,u)=>{const v=w;if(v.ctrlKey){const g=Math.abs(v.deltaX);let f=g<40?.05:g<80?.02:.01;f*=v.deltaY>0?-1:1,t.scaleX<1&&(f/=2),t.scaleX+f>4?t.scale(4,4):t.scaleX+f<.1?t.scale(.1,.1):(t.scaleBy(f,f),v.preventDefault())}else o.onMouseWheel(v,u)})}};ie=Ve([ce(0,L.Inject(l.LocaleService)),ce(1,l.IContextService)],ie);class xe{constructor(){_(this,"zIndex",4)}create(n){return n.createInstance(ie)}}A.add(new xe);var Me=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,Ue=(a,n,e,r)=>{for(var t=r>1?void 0:r?Le(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Me(n,e,t),t},Xe=(a,n)=>(e,r)=>n(e,r,a);let B=class{constructor(a){_(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,n){const e=Object.keys(a),r=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,n);s!=null&&r.push(s)}),r}_executor(a,n){var t;const{id:e,type:r}=a;for(const i of this._adaptors){const s=(t=i.check(r))==null?void 0:t.convert(a,n);if(s!=null)return s}}_adaptorLoader(){A.getData().sort(l.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};B=Ue([Xe(0,L.Inject(L.Injector))],B);var ze=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Re=(a,n,e,r)=>{for(var t=r>1?void 0:r?$e(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&ze(n,e,t),t},se=(a,n)=>(e,r)=>n(e,r,a),oe=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(oe||{});S.CanvasView=class extends l.RxDisposable{constructor(e,r,t){super();_(this,"_objectProvider",null);_(this,"_activePageId","");_(this,"activePageId$",new ee.Subject);_(this,"_refreshThumb",l.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=r,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SLIDE).pipe(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const o=r.getPages(),d=r.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,this.activePageId$.next(e),c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:s}=t,{x:c,y:o}=r.transViewportScroll2ScrollValue(i,s);r.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE);if(r==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((p,w)=>{const u=p;if(u.ctrlKey){const v=Math.abs(u.deltaX);let g=v<40?.2:v<80?.4:.2;g*=u.deltaY>0?-1:1,i.scaleX<1&&(g/=2),i.scaleX+g>4?i.scale(4,4):i.scaleX+g<.1?i.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else o.onMouseWheel(u,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),s.runRenderLoop(()=>{i.render()})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=r.getPageSize(),{width:c=100,height:o=100}=s,d=new h.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,r){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new h.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-s)/2,top:(t-c)/2}}_thumbSceneRender(e,r){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:s,height:c}=r,{width:o=s,height:d=c}=i,p=i.getCanvas().getContext();r.renderToThumb(p,e,o/s,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,s=r.length;i<s;i++){const c=r[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,r){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:s}=t,c=s,{width:o,height:d}=c,p=new h.Scene(e,c,{width:o,height:d});new h.Viewport(`PageViewer_${e}`,p,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:v}=r,g=this._objectProvider.convertToRenderObjects(u,i);if(!g||!c)return;this._addBackgroundRect(p,v),p.addObjects(g),g.forEach(j=>{p.attachTransformerTo(j)});const f=p.getTransformer();return f==null||f.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),f==null||f.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(p),p}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Re([l.OnLifecycle(l.LifecycleStages.Ready,S.CanvasView),se(0,l.IUniverInstanceService),se(1,L.Inject(L.Injector)),se(2,h.IRenderManagerService)],S.CanvasView);var Ne=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,We=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ae(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ne(n,e,t),t},Ye=(a,n)=>(e,r)=>n(e,r,a);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends l.Plugin{constructor(e={},r){super();_(this,"_config");_(this,"_canvasEngine",null);_(this,"_canvasView",null);this._injector=r,this._config=Object.assign(He,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(h.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[S.CanvasView]].forEach(t=>{e.add(t)})}},_(K,"pluginName",Fe),_(K,"type",l.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=We([Ye(1,L.Inject(L.Injector))],S.UniverSlidesPlugin),S.SLIDE_KEY=oe,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
|
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"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/slides",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -31,8 +31,7 @@
|
|
|
31
31
|
"require": "./lib/cjs/*",
|
|
32
32
|
"types": "./lib/types/index.d.ts"
|
|
33
33
|
},
|
|
34
|
-
"./lib/*": "./lib/*"
|
|
35
|
-
"./locale/*": "./lib/locale/*.json"
|
|
34
|
+
"./lib/*": "./lib/*"
|
|
36
35
|
},
|
|
37
36
|
"main": "./lib/cjs/index.js",
|
|
38
37
|
"module": "./lib/es/index.js",
|
|
@@ -47,20 +46,18 @@
|
|
|
47
46
|
"lib"
|
|
48
47
|
],
|
|
49
48
|
"peerDependencies": {
|
|
50
|
-
"@wendellhu/redi": "0.16.0",
|
|
51
49
|
"rxjs": ">=7.0.0",
|
|
52
|
-
"@univerjs/
|
|
53
|
-
"@univerjs/
|
|
50
|
+
"@univerjs/core": "0.2.7",
|
|
51
|
+
"@univerjs/engine-render": "0.2.7"
|
|
54
52
|
},
|
|
55
53
|
"devDependencies": {
|
|
56
|
-
"@wendellhu/redi": "0.16.0",
|
|
57
54
|
"rxjs": "^7.8.1",
|
|
58
|
-
"typescript": "^5.5.
|
|
59
|
-
"vite": "^5.3.
|
|
60
|
-
"vitest": "^2.0.
|
|
61
|
-
"@univerjs/core": "0.2.
|
|
62
|
-
"@univerjs/
|
|
63
|
-
"@univerjs/
|
|
55
|
+
"typescript": "^5.5.4",
|
|
56
|
+
"vite": "^5.3.5",
|
|
57
|
+
"vitest": "^2.0.5",
|
|
58
|
+
"@univerjs/core": "0.2.7",
|
|
59
|
+
"@univerjs/engine-render": "0.2.7",
|
|
60
|
+
"@univerjs/shared": "0.2.7"
|
|
64
61
|
},
|
|
65
62
|
"univerSpace": {
|
|
66
63
|
".": {
|
|
@@ -73,8 +70,7 @@
|
|
|
73
70
|
"require": "./lib/cjs/*",
|
|
74
71
|
"types": "./lib/types/index.d.ts"
|
|
75
72
|
},
|
|
76
|
-
"./lib/*": "./lib/*"
|
|
77
|
-
"./locale/*": "./lib/locale/*.json"
|
|
73
|
+
"./lib/*": "./lib/*"
|
|
78
74
|
},
|
|
79
75
|
"scripts": {
|
|
80
76
|
"test": "vitest run",
|
package/lib/locale/en-US.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
package/lib/locale/ru-RU.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
package/lib/locale/vi-VN.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
package/lib/locale/zh-CN.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
package/lib/locale/zh-TW.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
declare const locale: {};
|
|
17
|
-
export default locale;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export declare class InfoBarModel {
|
|
17
|
-
private _name;
|
|
18
|
-
constructor(_name: string);
|
|
19
|
-
get name(): string;
|
|
20
|
-
setName(name: string): void;
|
|
21
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|