@univerjs/sheets-drawing-ui 0.6.0-experimental.20250125-1d060b9 → 0.6.0-experimental.20250220-d9a8e74

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.
@@ -9,7 +9,9 @@ export declare class SheetDrawingPermissionController extends Disposable {
9
9
  private _userManagerService;
10
10
  constructor(_drawingManagerService: IDrawingManagerService, _renderManagerService: IRenderManagerService, _permissionService: IPermissionService, _univerInstanceService: IUniverInstanceService, _userManagerService: UserManagerService);
11
11
  private _initDrawingVisible;
12
+ private _handleDrawingVisibilityFalse;
12
13
  private _initDrawingEditable;
14
+ private _handleDrawingEditableFalse;
13
15
  private _initViewPermissionChange;
14
16
  private _initEditPermissionChange;
15
17
  }
@@ -1,6 +1,6 @@
1
1
  import { Workbook, Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
2
+ import { IRenderContext, IRenderModule, IRenderManagerService } from '@univerjs/engine-render';
2
3
  import { IDrawingManagerService } from '@univerjs/drawing';
3
- import { IRenderContext, IRenderManagerService, IRenderModule } from '@univerjs/engine-render';
4
4
  import { SheetInterceptorService } from '@univerjs/sheets';
5
5
  import { ISheetDrawingService } from '@univerjs/sheets-drawing';
6
6
  import { ISheetSelectionRenderService, SheetSkeletonManagerService } from '@univerjs/sheets-ui';
@@ -32,6 +32,8 @@ export declare class SheetDrawingTransformAffectedController extends Disposable
32
32
  private _expandRow;
33
33
  private _shrinkRow;
34
34
  private _commandListener;
35
+ private _clearDrawings;
36
+ private _updateDrawings;
35
37
  private _sheetRefreshListener;
36
38
  private _refreshDrawingTransform;
37
39
  }
@@ -1,4 +1,5 @@
1
- import { DrawingTypeEnum, FEnum, ImageSourceType } from '@univerjs/core';
1
+ import { DrawingTypeEnum, ImageSourceType } from '@univerjs/core';
2
+ import { FEnum } from '@univerjs/core/facade';
2
3
  import { SheetDrawingAnchorType } from '@univerjs/sheets-drawing';
3
4
  /**
4
5
  * @ignore
@@ -16,7 +17,7 @@ export declare class FDrawingEnumMixin extends FEnum implements IFDrawingEnumMix
16
17
  get ImageSourceType(): Omit<typeof ImageSourceType, 'UUID'>;
17
18
  get SheetDrawingAnchorType(): typeof SheetDrawingAnchorType;
18
19
  }
19
- declare module '@univerjs/core' {
20
+ declare module '@univerjs/core/facade' {
20
21
  interface FEnum extends IFDrawingEnumMixin {
21
22
  }
22
23
  }
@@ -1,4 +1,5 @@
1
- import { IDrawingSearch, IEventBase, FEventName } from '@univerjs/core';
1
+ import { IDrawingSearch } from '@univerjs/core';
2
+ import { IEventBase, FEventName } from '@univerjs/core/facade';
2
3
  import { ISheetImage } from '@univerjs/sheets-drawing';
3
4
  import { FWorkbook } from '@univerjs/sheets/facade';
4
5
  import { FOverGridImage } from './f-over-grid-image';
@@ -233,7 +234,7 @@ interface IFSheetsUIEventParamConfig {
233
234
  BeforeOverGridImageSelect: IBeforeOverGridImageSelectParam;
234
235
  OverGridImageSelected: IOverGridImageSelectedParam;
235
236
  }
236
- declare module '@univerjs/core' {
237
+ declare module '@univerjs/core/facade' {
237
238
  interface FEventName extends IFDrawingEventNameMixin {
238
239
  }
239
240
  interface IEventParamConfig extends IFSheetsUIEventParamConfig {
@@ -1,6 +1,7 @@
1
- import { IRotationSkewFlipTransform, ISize, DrawingTypeEnum, FBase, ICommandService, ImageSourceType, Injector } from '@univerjs/core';
1
+ import { IRotationSkewFlipTransform, ISize, DrawingTypeEnum, ICommandService, ImageSourceType, Injector } from '@univerjs/core';
2
2
  import { ICellOverGridPosition } from '@univerjs/sheets';
3
3
  import { ISheetImage, SheetDrawingAnchorType } from '@univerjs/sheets-drawing';
4
+ import { FBase } from '@univerjs/core/facade';
4
5
  export interface IFOverGridImage extends Omit<ISheetImage, 'sheetTransform' | 'transform'>, ICellOverGridPosition, IRotationSkewFlipTransform, Required<ISize> {
5
6
  }
6
7
  /**
@@ -1,4 +1,5 @@
1
- import { Injector, FUniver } from '@univerjs/core';
1
+ import { Injector } from '@univerjs/core';
2
+ import { FUniver } from '@univerjs/core/facade';
2
3
  /**
3
4
  * @ignore
4
5
  */
@@ -7,13 +8,5 @@ export declare class FUniverDrawingMixin extends FUniver {
7
8
  * @ignore
8
9
  */
9
10
  _initialize(injector: Injector): void;
10
- private _beforeOverGridImageInsert;
11
- private _overGridImageInserted;
12
- private _beforeOverGridImageRemove;
13
- private _overGridImageRemoved;
14
- private _beforeOverGridImageChange;
15
- private _overGridImageChanged;
16
- private _beforeOverGridImageSelect;
17
- private _overGridImageSelected;
18
11
  private _createFOverGridImage;
19
12
  }
@@ -1,11 +1,15 @@
1
- import { IDisposable, IFBlobSource, Nullable } from '@univerjs/core';
2
- import { FRange, FWorksheet } from '@univerjs/sheets/facade';
1
+ import { IDisposable, Nullable } from '@univerjs/core';
2
+ import { IFBlobSource } from '@univerjs/core/facade';
3
3
  import { ISheetImage } from '@univerjs/sheets-drawing';
4
4
  import { ICanvasFloatDom, IDOMAnchor } from '@univerjs/sheets-drawing-ui';
5
5
  import { IFComponentKey } from '@univerjs/sheets-ui/facade';
6
+ import { FRange, FWorksheet } from '@univerjs/sheets/facade';
6
7
  import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
7
8
  export interface IFICanvasFloatDom extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId'>, IFComponentKey {
8
9
  }
10
+ /**
11
+ * @ignore
12
+ */
9
13
  export interface IFWorksheetLegacy {
10
14
  /**
11
15
  * Add a float dom to position.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -63,6 +63,11 @@ export interface IDOMAnchor {
63
63
  marginY?: number;
64
64
  }
65
65
  export interface ILimitBound extends IBoundRectNoAngle {
66
+ /**
67
+ * Actually, it means fixed.
68
+ * When left is true, dom is fixed to left of dom pos when dom width is shrinking. or dom is fixed to right of dom pos when dom width is shrinking.
69
+ * When top is true, dom is fixed to top of dom pos when dom height is shrinking. or dom is fixed to bottom of dom pos when dom height is shrinking.
70
+ */
66
71
  absolute: {
67
72
  left: boolean;
68
73
  top: boolean;
@@ -70,7 +75,7 @@ export interface ILimitBound extends IBoundRectNoAngle {
70
75
  }
71
76
  /**
72
77
  * Adjust dom bound size when scrolling (dom bound would shrink when scrolling if over the edge of viewMain)
73
- * @param posOfFloatObject
78
+ * @param posOfFloatObject The position of float object, relative to sheet content, scale & scrolling does not affect it.
74
79
  * @param scene
75
80
  * @param skeleton
76
81
  * @param worksheet
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2023-present DreamNum Inc.
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(s,g){typeof exports=="object"&&typeof module<"u"?g(require("@univerjs/core"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],g):(s=typeof globalThis<"u"?globalThis:s||self,g(s.UniverCore,s.UniverDrawing,s.UniverEngineRender,s.UniverSheetsDrawingUi,s.UniverSheetsUi,s.UniverSheetsDrawing,s.UniverSheetsUiFacade,s.UniverSheetsFacade,s.UniverUi))})(this,function(s,g,I,d,f,l,_,y,p){"use strict";var U=Object.defineProperty;var q=(s,g,I)=>g in s?U(s,g,{enumerable:!0,configurable:!0,writable:!0,value:I}):s[g]=I;var R=(s,g,I)=>q(s,typeof g!="symbol"?g+"":g,I);var j=Object.defineProperty,T=Object.getOwnPropertyDescriptor,E=(i,t,e,r)=>{for(var n=r>1?void 0:r?T(t,e):t,a=i.length-1,o;a>=0;a--)(o=i[a])&&(n=(r?o(t,e,n):o(n))||n);return r&&n&&j(t,e,n),n},b=(i,t)=>(e,r)=>t(e,r,i);function B(i,t){const{from:e,to:r,flipY:n=!1,flipX:a=!1,angle:o=0,skewX:m=0,skewY:c=0}=i.sheetTransform,{column:v,columnOffset:h,row:S,rowOffset:C}=e,k=f.convertPositionSheetOverGridToAbsolute(i.unitId,i.subUnitId,{from:e,to:r},t),{left:D,top:G,width:O,height:W}=k;return{...i,column:v,columnOffset:h,row:S,rowOffset:C,width:O,height:W,flipY:n,flipX:a,angle:o,skewX:m,skewY:c}}function F(i,t,e){const{column:r,columnOffset:n,row:a,rowOffset:o,flipY:m=!1,flipX:c=!1,angle:v=0,skewX:h=0,skewY:S=0,width:C,height:k}=i,D=f.convertPositionCellToSheetOverGrid(i.unitId,i.subUnitId,{column:r,columnOffset:n,row:a,rowOffset:o},C,k,t,e),{sheetTransform:G,transform:O}=D;return{...i,sheetTransform:{...G,flipY:m,flipX:c,angle:v,skewX:h,skewY:S},transform:{...O,flipY:m,flipX:c,angle:v,skewX:h,skewY:S}}}let w=class{constructor(i,t,e){R(this,"_image");this._injector=e,this._image={drawingId:s.generateRandomId(6),drawingType:s.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:s.ImageSourceType.BASE64,source:"",unitId:i,subUnitId:t,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(i){const e=this._injector.get(I.IRenderManagerService).getRenderById(i.unitId);if(!e)throw new Error(`Render Unit with unitId ${i.unitId} not found`);const r=e.with(f.SheetSkeletonManagerService);return i.sheetTransform==null&&(i.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=B(i,r),this}setSource(i,t){const e=t!=null?t:s.ImageSourceType.URL;return this._image.source=i,this._image.imageSourceType=e,this}getsource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(i){return this._image.column=i,this}setRow(i){return this._image.row=i,this}setColumnOffset(i){return this._image.columnOffset=i,this}setRowOffset(i){return this._image.rowOffset=i,this}setWidth(i){return this._image.width=i,this}setHeight(i){return this._image.height=i,this}setAnchorType(i){return this._image.anchorType=i,this}setCropTop(i){return this._initializeSrcRect(),this._image.srcRect.top=i,this}setCropLeft(i){return this._initializeSrcRect(),this._image.srcRect.left=i,this}setCropBottom(i){return this._initializeSrcRect(),this._image.srcRect.bottom=i,this}setCropRight(i){return this._initializeSrcRect(),this._image.srcRect.right=i,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(i){return this._image.angle=i,this}setUnitId(i){return this._image.unitId=i,this}setSubUnitId(i){return this._image.subUnitId=i,this}async buildAsync(){const t=this._injector.get(I.IRenderManagerService).getRenderById(this._image.unitId);if(!t)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const e=t.with(f.ISheetSelectionRenderService),r=t.with(f.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await g.getImageSize(this._image.source),a=n.width,o=n.height;this._image.width===0&&(this._image.width=a),this._image.height===0&&(this._image.height=o)}return F(this._image,e,r)}};w=E([b(2,s.Inject(s.Injector))],w);let u=class extends s.FBase{constructor(i,t,e){super(),this._image=i,this._commandService=t,this._injector=e}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const i=this._injector.createInstance(w);return i.setImage(this._image),i}setSource(i,t){const e=t!=null?t:s.ImageSourceType.URL;return this._image.source=i,this._image.imageSourceType=e,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(i,t,e,r){const n=this.toBuilder();n.setColumn(t),n.setRow(i),e!=null&&n.setRowOffset(e),r!=null&&n.setColumnOffset(r);const a=await n.buildAsync();return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[a]})}async setSizeAsync(i,t){const e=this.toBuilder();e.setWidth(i),e.setHeight(t);const r=await e.buildAsync();return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(i,t,e,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),i!=null&&(this._image.srcRect.top=i),t!=null&&(this._image.srcRect.left=t),e!=null&&(this._image.srcRect.bottom=e),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(i){return this._image.sheetTransform.angle=i,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.front})}};u=E([b(1,s.ICommandService),b(2,s.Inject(s.Injector))],u);class A extends y.FWorksheet{addFloatDomToPosition(t,e){const r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),c=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...t,componentKey:a,unitId:r,subUnitId:n},e);return c?(o.add(c.dispose),{id:c.id,dispose:()=>{o.dispose(),c.dispose()}}):(o.dispose(),null)}addFloatDomToRange(t,e,r,n){const a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:m,disposableCollection:c}=_.transformComponentKey(e,this._injector.get(p.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToRange(t.getRange(),{...e,componentKey:m,unitId:a,subUnitId:o},r,n);return h?(c.add(h.dispose),{id:h.id,dispose:()=>{c.dispose(),h.dispose()}}):(c.dispose(),null)}addFloatDomToColumnHeader(t,e,r,n){const a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:m,disposableCollection:c}=_.transformComponentKey(e,this._injector.get(p.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(t,{...e,componentKey:m,unitId:a,subUnitId:o},r,n);return h?(c.add(h.dispose),{id:h.id,dispose:()=>{c.dispose(),h.dispose()}}):(c.dispose(),null)}async insertImage(t,e,r,n,a){const o=this.newOverGridImage();if(typeof t=="string")o.setSource(t);else{const v=await t.getBlob().getDataAsString();o.setSource(v,s.ImageSourceType.BASE64)}e!==void 0?o.setColumn(e):o.setColumn(0),r!==void 0?o.setRow(r):o.setRow(0),n!==void 0?o.setColumnOffset(n):o.setColumnOffset(0),a!==void 0?o.setRowOffset(a):o.setRowOffset(0);const m=await o.buildAsync();return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[m]})}insertImages(t){const e=t.map(r=>(r.unitId=this._fWorkbook.getId(),r.subUnitId=this.getSheetId(),r));return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}deleteImages(t){const e=t.map(r=>({unitId:this._fWorkbook.getId(),drawingId:r.getId(),subUnitId:this.getSheetId(),drawingType:r.getType()}));return this._commandService.syncExecuteCommand(d.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}getImages(){const e=this._injector.get(l.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),r=[];for(const n in e){const a=e[n];a.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE&&r.push(this._injector.createInstance(u,a))}return r}getImageById(t){const r=this._injector.get(l.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return r&&r.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(u,r):null}getActiveImages(){const e=this._injector.get(l.ISheetDrawingService).getFocusDrawings(),r=[];for(const n in e){const a=e[n];r.push(this._injector.createInstance(u,a))}return r}updateImages(t){return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}onImageInserted(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.add$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}onImageDeleted(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.remove$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}onImageChanged(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.update$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}newOverGridImage(){const t=this._fWorkbook.getId(),e=this.getSheetId();return this._injector.createInstance(w,t,e)}}y.FWorksheet.extend(A);class M extends s.FEnum{get DrawingType(){return s.DrawingTypeEnum}get ImageSourceType(){return s.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}s.FEnum.extend(M);class x extends s.FEventName{get BeforeOverGridImageChange(){return"BeforeOverGridImageChange"}get OverGridImageChanged(){return"OverGridImageChanged"}get BeforeOverGridImageInsert(){return"BeforeOverGridImageInsert"}get OverGridImageInserted(){return"OverGridImageInserted"}get BeforeOverGridImageRemove(){return"BeforeOverGridImageRemove"}get OverGridImageRemoved(){return"OverGridImageRemoved"}get BeforeOverGridImageSelect(){return"BeforeOverGridImageSelect"}get OverGridImageSelected(){return"OverGridImageSelected"}}s.FEventName.extend(x);class P extends s.FUniver{_initialize(t){const e=t.get(s.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(r=>{switch(r.id){case d.InsertSheetDrawingCommand.id:this._beforeOverGridImageInsert(r.params);break;case d.RemoveSheetDrawingCommand.id:this._beforeOverGridImageRemove(r.params);break;case d.SetSheetDrawingCommand.id:this._beforeOverGridImageChange(r.params);break;case g.SetDrawingSelectedOperation.id:this._beforeOverGridImageSelect(r.params);break}})),this.disposeWithMe(e.onCommandExecuted(r=>{switch(r.id){case d.InsertSheetDrawingCommand.id:this._overGridImageInserted(r.params);break;case d.RemoveSheetDrawingCommand.id:this._overGridImageRemoved(r.params);break;case d.SetSheetDrawingCommand.id:this._overGridImageChanged(r.params);break;case g.SetDrawingSelectedOperation.id:this._overGridImageSelected(r.params);break}}))}_beforeOverGridImageInsert(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageInsert))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n={workbook:e,insertImageParams:r};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,n),n.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")}_overGridImageInserted(t){if(!this.hasEventCallback(this.Event.OverGridImageInserted))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t;this.fireEvent(this.Event.OverGridImageInserted,{workbook:e,images:this._createFOverGridImage(r)})}_beforeOverGridImageRemove(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageRemove))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=r.map(m=>n.getDrawingByParam(m)),o={workbook:e,images:this._createFOverGridImage(a)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,o),o.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")}_overGridImageRemoved(t){if(!this.hasEventCallback(this.Event.OverGridImageRemoved))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:e,removeImageParams:r})}_beforeOverGridImageChange(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageChange))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=[];r.forEach(m=>{const c=n.getDrawingByParam(m);c!=null&&a.push({changeParam:m,image:this._injector.createInstance(u,c)})});const o={workbook:e,images:a};if(this.fireEvent(this.Event.BeforeOverGridImageChange,o),o.cancel)throw n.updateNotification(r),new Error("Canceled by BeforeOverGridImageChange event")}_overGridImageChanged(t){if(!this.hasEventCallback(this.Event.OverGridImageChanged))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=r.map(o=>this._injector.createInstance(u,n.getDrawingByParam(o)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:e,images:a})}_beforeOverGridImageSelect(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageSelect))return;const e=this._injector.get(g.IDrawingManagerService),r=this.getActiveWorkbook();if(r==null)return;const n=e.getFocusDrawings(),a=t.map(m=>e.getDrawingByParam(m)),o={workbook:r,selectedImages:this._createFOverGridImage(a),oldSelectedImages:this._createFOverGridImage(n)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,o),o.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")}_overGridImageSelected(t){if(!this.hasEventCallback(this.Event.OverGridImageSelected))return;const e=this.getActiveWorkbook(),r=this._injector.get(g.IDrawingManagerService);if(e==null)return;const n=t.map(a=>r.getDrawingByParam(a));this.fireEvent(this.Event.OverGridImageSelected,{workbook:e,selectedImages:this._createFOverGridImage(n)})}_createFOverGridImage(t){return t.map(e=>this._injector.createInstance(u,e))}}s.FUniver.extend(P)});
1
+ (function(o,u){typeof exports=="object"&&typeof module<"u"?u(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/core/facade","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],u):(o=typeof globalThis<"u"?globalThis:o||self,u(o.UniverCore,o.UniverCoreFacade,o.UniverDrawing,o.UniverEngineRender,o.UniverSheetsDrawingUi,o.UniverSheetsUi,o.UniverSheetsDrawing,o.UniverSheetsUiFacade,o.UniverSheetsFacade,o.UniverUi))})(this,function(o,u,v,O,m,w,l,_,k,p){"use strict";var H=Object.defineProperty;var q=(o,u,v)=>u in o?H(o,u,{enumerable:!0,configurable:!0,writable:!0,value:v}):o[u]=v;var j=(o,u,v)=>q(o,typeof u!="symbol"?u+"":u,v);var T=Object.defineProperty,B=Object.getOwnPropertyDescriptor,D=(r,i,t,e)=>{for(var n=e>1?void 0:e?B(i,t):i,s=r.length-1,a;s>=0;s--)(a=r[s])&&(n=(e?a(i,t,n):a(n))||n);return e&&n&&T(i,t,n),n},C=(r,i)=>(t,e)=>i(t,e,r);function F(r,i){const{from:t,to:e,flipY:n=!1,flipX:s=!1,angle:a=0,skewX:c=0,skewY:d=0}=r.sheetTransform,{column:h,columnOffset:g,row:f,rowOffset:b}=t,E=w.convertPositionSheetOverGridToAbsolute(r.unitId,r.subUnitId,{from:t,to:e},i),{left:R,top:G,width:y,height:U}=E;return{...r,column:h,columnOffset:g,row:f,rowOffset:b,width:y,height:U,flipY:n,flipX:s,angle:a,skewX:c,skewY:d}}function A(r,i,t){const{column:e,columnOffset:n,row:s,rowOffset:a,flipY:c=!1,flipX:d=!1,angle:h=0,skewX:g=0,skewY:f=0,width:b,height:E}=r,R=w.convertPositionCellToSheetOverGrid(r.unitId,r.subUnitId,{column:e,columnOffset:n,row:s,rowOffset:a},b,E,i,t),{sheetTransform:G,transform:y}=R;return{...r,sheetTransform:{...G,flipY:c,flipX:d,angle:h,skewX:g,skewY:f},transform:{...y,flipY:c,flipX:d,angle:h,skewX:g,skewY:f}}}let S=class{constructor(r,i,t){j(this,"_image");this._injector=t,this._image={drawingId:o.generateRandomId(6),drawingType:o.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:o.ImageSourceType.BASE64,source:"",unitId:r,subUnitId:i,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(r){const t=this._injector.get(O.IRenderManagerService).getRenderById(r.unitId);if(!t)throw new Error(`Render Unit with unitId ${r.unitId} not found`);const e=t.with(w.SheetSkeletonManagerService);return r.sheetTransform==null&&(r.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=F(r,e),this}setSource(r,i){const t=i!=null?i:o.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this}getsource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(r){return this._image.column=r,this}setRow(r){return this._image.row=r,this}setColumnOffset(r){return this._image.columnOffset=r,this}setRowOffset(r){return this._image.rowOffset=r,this}setWidth(r){return this._image.width=r,this}setHeight(r){return this._image.height=r,this}setAnchorType(r){return this._image.anchorType=r,this}setCropTop(r){return this._initializeSrcRect(),this._image.srcRect.top=r,this}setCropLeft(r){return this._initializeSrcRect(),this._image.srcRect.left=r,this}setCropBottom(r){return this._initializeSrcRect(),this._image.srcRect.bottom=r,this}setCropRight(r){return this._initializeSrcRect(),this._image.srcRect.right=r,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(r){return this._image.angle=r,this}setUnitId(r){return this._image.unitId=r,this}setSubUnitId(r){return this._image.subUnitId=r,this}async buildAsync(){const i=this._injector.get(O.IRenderManagerService).getRenderById(this._image.unitId);if(!i)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=i.with(w.ISheetSelectionRenderService),e=i.with(w.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await v.getImageSize(this._image.source),s=n.width,a=n.height;this._image.width===0&&(this._image.width=s),this._image.height===0&&(this._image.height=a)}return A(this._image,t,e)}};S=D([C(2,o.Inject(o.Injector))],S);let I=class extends u.FBase{constructor(r,i,t){super(),this._image=r,this._commandService=i,this._injector=t}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const r=this._injector.createInstance(S);return r.setImage(this._image),r}setSource(r,i){const t=i!=null?i:o.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(r,i,t,e){const n=this.toBuilder();n.setColumn(i),n.setRow(r),t!=null&&n.setRowOffset(t),e!=null&&n.setColumnOffset(e);const s=await n.buildAsync();return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[s]})}async setSizeAsync(r,i){const t=this.toBuilder();t.setWidth(r),t.setHeight(i);const e=await t.buildAsync();return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(r,i,t,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),r!=null&&(this._image.srcRect.top=r),i!=null&&(this._image.srcRect.left=i),t!=null&&(this._image.srcRect.bottom=t),e!=null&&(this._image.srcRect.right=e),this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(r){return this._image.sheetTransform.angle=r,this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.front})}};I=D([C(1,o.ICommandService),C(2,o.Inject(o.Injector))],I);class x extends k.FWorksheet{addFloatDomToPosition(i,t){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:s,disposableCollection:a}=_.transformComponentKey(i,this._injector.get(p.ComponentManager)),d=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:s,unitId:e,subUnitId:n},t);return d?(a.add(d.dispose),{id:d.id,dispose:()=>{a.dispose(),d.dispose()}}):(a.dispose(),null)}addFloatDomToRange(i,t,e,n){const s=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),g=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToRange(i.getRange(),{...t,componentKey:c,unitId:s,subUnitId:a},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(i,t,e,n){const s=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),g=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(i,{...t,componentKey:c,unitId:s,subUnitId:a},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}async insertImage(i,t,e,n,s){const a=this.newOverGridImage();if(typeof i=="string")a.setSource(i);else{const h=await i.getBlob().getDataAsString();a.setSource(h,o.ImageSourceType.BASE64)}t!==void 0?a.setColumn(t):a.setColumn(0),e!==void 0?a.setRow(e):a.setRow(0),n!==void 0?a.setColumnOffset(n):a.setColumnOffset(0),s!==void 0?a.setRowOffset(s):a.setRowOffset(0);const c=await a.buildAsync();return this._commandService.syncExecuteCommand(m.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(i){const t=i.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(m.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(i){const t=i.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(m.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){const t=this._injector.get(l.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const n in t){const s=t[n];s.drawingType===o.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(I,s))}return e}getImageById(i){const e=this._injector.get(l.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:i});return e&&e.drawingType===o.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(I,e):null}getActiveImages(){const t=this._injector.get(l.ISheetDrawingService).getFocusDrawings(),e=[];for(const n in t){const s=t[n];e.push(this._injector.createInstance(I,s))}return e}updateImages(i){return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:i}),this}onImageInserted(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.add$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}onImageDeleted(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.remove$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}onImageChanged(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.update$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}newOverGridImage(){const i=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(S,i,t)}}k.FWorksheet.extend(x);class M extends u.FEnum{get DrawingType(){return o.DrawingTypeEnum}get ImageSourceType(){return o.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}u.FEnum.extend(M);class P extends u.FEventName{get BeforeOverGridImageChange(){return"BeforeOverGridImageChange"}get OverGridImageChanged(){return"OverGridImageChanged"}get BeforeOverGridImageInsert(){return"BeforeOverGridImageInsert"}get OverGridImageInserted(){return"OverGridImageInserted"}get BeforeOverGridImageRemove(){return"BeforeOverGridImageRemove"}get OverGridImageRemoved(){return"OverGridImageRemoved"}get BeforeOverGridImageSelect(){return"BeforeOverGridImageSelect"}get OverGridImageSelected(){return"OverGridImageSelected"}}u.FEventName.extend(P);class W extends u.FUniver{_initialize(i){const t=i.get(o.ICommandService);this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c={workbook:s,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,c),c.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const a=i.get(v.IDrawingManagerService),{drawings:c}=n,d=c.map(g=>a.getDrawingByParam(g)),h={workbook:s,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,h),h.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c=i.get(v.IDrawingManagerService),d=[];a.forEach(g=>{const f=c.getDrawingByParam(g);f!=null&&d.push({changeParam:g,image:this._injector.createInstance(I,f)})});const h={workbook:s,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,h),h.cancel)throw c.updateNotification(a),new Error("Canceled by BeforeOverGridImageChange event")})),this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null)return;const a=i.get(v.IDrawingManagerService),c=a.getFocusDrawings(),d=n.map(g=>a.getDrawingByParam(g)),h={workbook:s,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(c)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,h),h.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageInserted,{workbook:s,images:this._createFOverGridImage(a)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:s,removeImageParams:a})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c=i.get(v.IDrawingManagerService),d=a.map(h=>this._injector.createInstance(I,c.getDrawingByParam(h)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:s,images:d})})),this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null)return;const a=i.get(v.IDrawingManagerService),c=n.map(d=>a.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:s,selectedImages:this._createFOverGridImage(c)})}))}_createFOverGridImage(i){return i.map(t=>this._injector.createInstance(I,t))}}u.FUniver.extend(W)});