@univerjs/sheets-drawing-ui 0.5.1-nightly.202412180740 → 0.5.1-nightly.202412181606

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.
@@ -0,0 +1,159 @@
1
+ import { IRotationSkewFlipTransform, ISize, DrawingTypeEnum, FBase, ICommandService, ImageSourceType, Injector } from '@univerjs/core';
2
+ import { ICellOverGridPosition } from '@univerjs/sheets';
3
+ import { ISheetImage, SheetDrawingAnchorType } from '@univerjs/sheets-drawing';
4
+ export interface IFOverGridImage extends Omit<ISheetImage, 'sheetTransform' | 'transform'>, ICellOverGridPosition, IRotationSkewFlipTransform, Required<ISize> {
5
+ }
6
+ export declare class FOverGridImageBuilder {
7
+ protected readonly _injector: Injector;
8
+ private _image;
9
+ constructor(unitId: string, subUnitId: string, _injector: Injector);
10
+ setImage(image: ISheetImage): FOverGridImageBuilder;
11
+ /**
12
+ * Set the unit id of the image
13
+ * @param unitId The unit id of the image
14
+ * @returns The builder
15
+ * @example
16
+ * ```ts
17
+ * // create a new image builder.
18
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
19
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
20
+ * const imageBuilder = activeSheet.newOverGridImage();
21
+ * const param = imageBuilder.setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4').setColumn(5).setRow(5).build();
22
+ * activeSheet.insertImages([param]);
23
+ * ```
24
+ */
25
+ setSource(source: string): FOverGridImageBuilder;
26
+ setSource(source: string, sourceType?: ImageSourceType): FOverGridImageBuilder;
27
+ getsource(): string;
28
+ getSourceType(): ImageSourceType;
29
+ setColumn(column: number): FOverGridImageBuilder;
30
+ setRow(row: number): FOverGridImageBuilder;
31
+ setColumnOffset(offset: number): FOverGridImageBuilder;
32
+ setRowOffset(offset: number): FOverGridImageBuilder;
33
+ setWidth(width: number): FOverGridImageBuilder;
34
+ setHeight(height: number): FOverGridImageBuilder;
35
+ setAnchorType(anchorType: SheetDrawingAnchorType): FOverGridImageBuilder;
36
+ setCropTop(top: number): FOverGridImageBuilder;
37
+ setCropLeft(left: number): FOverGridImageBuilder;
38
+ setCropBottom(bottom: number): FOverGridImageBuilder;
39
+ setCropRight(right: number): FOverGridImageBuilder;
40
+ private _initializeSrcRect;
41
+ /**
42
+ * Set the rotation angle of the image
43
+ * @param angle Degree of rotation of the image, for example, 90, 180, 270, etc.
44
+ * @returns The builder
45
+ */
46
+ setRotate(angle: number): FOverGridImageBuilder;
47
+ setUnitId(unitId: string): FOverGridImageBuilder;
48
+ setSubUnitId(subUnitId: string): FOverGridImageBuilder;
49
+ build(): Promise<ISheetImage>;
50
+ }
51
+ export declare class FOverGridImage extends FBase {
52
+ private _image;
53
+ protected readonly _commandService: ICommandService;
54
+ protected readonly _injector: Injector;
55
+ constructor(_image: ISheetImage, _commandService: ICommandService, _injector: Injector);
56
+ getId(): string;
57
+ getType(): DrawingTypeEnum;
58
+ /**
59
+ * Remove the image from the sheet
60
+ * @returns success or not
61
+ * @example
62
+ * ```ts
63
+ * // remove the image from the sheet
64
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
65
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
66
+ * const image = activeSheet.getImages[0];
67
+ * console.log('Delete state is ', image?.remove());
68
+ * ```
69
+ */
70
+ remove(): boolean;
71
+ /**
72
+ * Convert the image to a FOverGridImageBuilder
73
+ * @returns The builder FOverGridImageBuilder
74
+ * @example
75
+ * ```ts
76
+ * // convert the image to a builder
77
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
78
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
79
+ * const image = activeSheet.getImages[0];
80
+ * const builder = image.toBuilder();
81
+ * builder.setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4').setColumn(5).setRow(5).build();
82
+ * activeSheet.updateImages([builder.build()]);
83
+ * ```
84
+ */
85
+ toBuilder(): FOverGridImageBuilder;
86
+ /**
87
+ * Set the source of the image
88
+ * @param source The source of the image
89
+ * @returns success or not
90
+ * @example
91
+ * ```ts
92
+ * // set the source of the image
93
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
94
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
95
+ * const image = activeSheet.getImages[0];
96
+ * console.log('Set source state is ', image.setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4'));
97
+ */
98
+ setSource(source: string): boolean;
99
+ /**
100
+ * Set the source of the image, change image display.
101
+ * @param source The source of the image
102
+ * @param sourceType The source type of the image
103
+ * @returns success or not
104
+ */
105
+ setSource(source: string, sourceType?: ImageSourceType): boolean;
106
+ /**
107
+ * Set the position of the image
108
+ * @param row The sheet start row of the image
109
+ * @param column The sheet start column of the image
110
+ * @returns success or not
111
+ * @example
112
+ * ```ts
113
+ * // set the position of the image
114
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
115
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
116
+ * const image = activeSheet.getImages[0];
117
+ * console.log('Set position state is ', image.setPosition(5, 5));
118
+ * ```
119
+ */
120
+ setPosition(row: number, column: number): boolean;
121
+ /**
122
+ *
123
+ * @param column The sheet start column of the image
124
+ * @param row The sheet start row of the image
125
+ * @param rowOffset The offset of the start row
126
+ * @param columnOffset The offset of the start column
127
+ */
128
+ setPosition(row: number, column: number, rowOffset?: number, columnOffset?: number): boolean;
129
+ /**
130
+ * Set the size of the image
131
+ * @param width The width of the image
132
+ * @param height The height of the image
133
+ * @returns success or not
134
+ */
135
+ setSize(width: number, height: number): boolean;
136
+ /**
137
+ * Set the cropping region of the image by defining the top, bottom, left, and right edges, thereby displaying the specific part of the image you want.
138
+ * @param top The number of pixels to crop from the top of the image.
139
+ * @param left The number of pixels to crop from the left side of the image.
140
+ * @param bottom The number of pixels to crop from the bottom of the image.
141
+ * @param right The number of pixels to crop from the right side of the image.
142
+ * @returns success or not
143
+ * @example
144
+ * ```ts
145
+ * // set the crop of the image
146
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
147
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
148
+ * const image = activeSheet.getImages[0];
149
+ * console.log('Set crop state is ', image.setCrop(0, 0, 0, 0));
150
+ * ```
151
+ */
152
+ setCrop(top?: number, left?: number, bottom?: number, right?: number): boolean;
153
+ /**
154
+ * Set the rotation angle of the image
155
+ * @param angle Degree of rotation of the image, for example, 90, 180, 270, etc.
156
+ * @returns success or not
157
+ */
158
+ setRotate(angle: number): boolean;
159
+ }
@@ -1,7 +1,9 @@
1
- import { Nullable } from '@univerjs/core';
2
- import { FWorksheet } from '@univerjs/sheets/facade';
1
+ import { IFBlobSource, Nullable } from '@univerjs/core';
2
+ import { ISheetImage } from '@univerjs/sheets-drawing';
3
3
  import { ICanvasFloatDom } from '@univerjs/sheets-drawing-ui';
4
4
  import { IFComponentKey } from '@univerjs/sheets-ui/facade';
5
+ import { FWorksheet } from '@univerjs/sheets/facade';
6
+ import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
5
7
  export interface IFICanvasFloatDom extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId'>, IFComponentKey {
6
8
  }
7
9
  export interface IFWorksheetLegacy {
@@ -15,12 +17,108 @@ export interface IFWorksheetLegacy {
15
17
  id: string;
16
18
  dispose: () => void;
17
19
  }>;
20
+ /**
21
+ * Insert an image to the sheet
22
+ * @param url The image url
23
+ * @param column The column to insert the image
24
+ * @param row The row to insert the image
25
+ * @param offsetX The offset x of the image
26
+ * @param offsetY The offset y of the image
27
+ * @returns true if the image is inserted successfully
28
+ * @example
29
+ * ```ts
30
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
31
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
32
+ * activeSheet.insertImage('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', 5, 5, 0, 0);
33
+ * ```
34
+ */
35
+ insertImage(url: string): Promise<boolean>;
36
+ insertImage(url: string, column: number, row: number): Promise<boolean>;
37
+ insertImage(url: string, column: number, row: number, offsetX: number, offsetY: number): Promise<boolean>;
38
+ insertImage(url: IFBlobSource): Promise<boolean>;
39
+ insertImage(url: IFBlobSource, column: number, row: number): Promise<boolean>;
40
+ insertImage(url: IFBlobSource, column: number, row: number, offsetX: number, offsetY: number): Promise<boolean>;
41
+ insertImage(url: IFBlobSource | string, column: number, row: number, offsetX: number, offsetY: number): Promise<boolean>;
42
+ /**
43
+ * Insert images to the sheet
44
+ * @param sheetImages The images to insert
45
+ * @returns true if the image is inserted successfully
46
+ * @example
47
+ * ```ts
48
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
49
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
50
+ * const imageBuilder = activeSheet.newOverGridImage();
51
+ * const param = await imageBuilder.setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4').setColumn(5).setRow(5).setWidth(500).setHeight(300).build();
52
+ * activeSheet.insertImages([param]);
53
+ *
54
+ *
55
+ * const image = activeSheet.getImageById(param.drawingId);
56
+ * console.log(image);
57
+
58
+ * setTimeout(async ()=>{
59
+ * const builder = image.toBuilder();
60
+ * const param = await builder.setHeight(50).setWidth(100).build();
61
+ * activeSheet.updateImages([param]);
62
+ * }, 4000);
63
+ */
64
+ insertImages(sheetImages: ISheetImage[]): void;
65
+ getImages(): FOverGridImage[];
66
+ getImageById(id: string): FOverGridImage | null;
67
+ deleteImages(sheetImages: FOverGridImage[]): void;
68
+ /**
69
+ * Update images to the sheet
70
+ * @param sheetImages The images to insert
71
+ * @returns true if the image is inserted successfully
72
+ * @example
73
+ * ```ts
74
+ * const activeSpreadsheet = univerAPI.getActiveWorkbook();
75
+ * const activeSheet = activeSpreadsheet.getActiveSheet();
76
+ * const imageBuilder = activeSheet.newOverGridImage();
77
+ * const param = await imageBuilder.setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4').setColumn(5).setRow(5).setWidth(500).setHeight(300).build();
78
+ * activeSheet.insertImages([param]);
79
+ *
80
+ *
81
+ * const image = activeSheet.getImageById(param.drawingId);
82
+ * console.log(image);
83
+
84
+ * setTimeout(async ()=>{
85
+ * const builder = image.toBuilder();
86
+ * const param = await builder.setHeight(50).setWidth(100).build();
87
+ * activeSheet.updateImages([param]);
88
+ * }, 4000);
89
+ */
90
+ updateImages(sheetImages: ISheetImage[]): void;
91
+ getActiveImages(): FOverGridImage[];
92
+ onImageInserted(callback: (images: FOverGridImage[]) => void): void;
93
+ onImageDeleted(callback: (images: FOverGridImage[]) => void): void;
94
+ onImageChanged(callback: (images: FOverGridImage[]) => void): void;
95
+ /**
96
+ * Create a new over grid image builder.
97
+ * @returns The builder
98
+ * @example
99
+ * ```ts
100
+ * // create a new over grid image builder.
101
+ * const builder = UniverApi.newOverGridImage();
102
+ * ```
103
+ */
104
+ newOverGridImage(): FOverGridImageBuilder;
18
105
  }
19
106
  export declare class FWorksheetLegacy extends FWorksheet implements IFWorksheetLegacy {
20
107
  addFloatDomToPosition(layer: IFICanvasFloatDom, id?: string): Nullable<{
21
108
  id: string;
22
109
  dispose: () => void;
23
110
  }>;
111
+ insertImage(url: IFBlobSource | string, column?: number, row?: number, offsetX?: number, offsetY?: number): Promise<boolean>;
112
+ insertImages(sheetImages: ISheetImage[]): void;
113
+ deleteImages(sheetImages: FOverGridImage[]): void;
114
+ getImages(): FOverGridImage[];
115
+ getImageById(id: string): FOverGridImage | null;
116
+ getActiveImages(): FOverGridImage[];
117
+ updateImages(sheetImages: ISheetImage[]): void;
118
+ onImageInserted(callback: (images: FOverGridImage[]) => void): void;
119
+ onImageDeleted(callback: (images: FOverGridImage[]) => void): void;
120
+ onImageChanged(callback: (images: FOverGridImage[]) => void): void;
121
+ newOverGridImage(): FOverGridImageBuilder;
24
122
  }
25
123
  declare module '@univerjs/sheets/facade' {
26
124
  interface FWorksheet extends IFWorksheetLegacy {
@@ -13,5 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import './f-over-grid-image';
16
17
  import './f-worksheet';
18
+ export type * from './f-over-grid-image';
17
19
  export type * from './f-worksheet';
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(e,i){typeof exports=="object"&&typeof module<"u"?i(require("@univerjs/sheets/facade"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/sheets/facade","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui/facade","@univerjs/ui"],i):(e=typeof globalThis<"u"?globalThis:e||self,i(e.UniverSheetsFacade,e.UniverSheetsDrawingUi,e.UniverSheetsUiFacade,e.UniverUi))})(this,function(e,i,o,r){"use strict";class d extends e.FWorksheet{addFloatDomToPosition(n,u){const a=this._workbook.getUnitId(),c=this._worksheet.getSheetId(),{key:h,disposableCollection:t}=o.transformComponentKey(n,this._injector.get(r.ComponentManager)),s=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...n,componentKey:h,unitId:a,subUnitId:c},u);return s?(t.add(s.dispose),{id:s.id,dispose:()=>{t.dispose(),s.dispose()}}):(t.dispose(),null)}}e.FWorksheet.extend(d)});
1
+ (function(s,c){typeof exports=="object"&&typeof module<"u"?c(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"],c):(s=typeof globalThis<"u"?globalThis:s||self,c(s.UniverCore,s.UniverDrawing,s.UniverEngineRender,s.UniverSheetsDrawingUi,s.UniverSheetsUi,s.UniverSheetsDrawing,s.UniverSheetsUiFacade,s.UniverSheetsFacade,s.UniverUi))})(this,function(s,c,u,d,S,f,k,R,T){"use strict";var U=Object.defineProperty;var M=(s,c,u)=>c in s?U(s,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):s[c]=u;var O=(s,c,u)=>M(s,typeof c!="symbol"?c+"":c,u);var B=Object.defineProperty,E=Object.getOwnPropertyDescriptor,b=(e,i,t,n)=>{for(var r=n>1?void 0:n?E(i,t):i,a=e.length-1,o;a>=0;a--)(o=e[a])&&(r=(n?o(i,t,r):o(r))||r);return n&&r&&B(i,t,r),r},v=(e,i)=>(t,n)=>i(t,n,e);function P(e,i){const{from:t,to:n,flipY:r=!1,flipX:a=!1,angle:o=0,skewX:g=0,skewY:h=0}=e.sheetTransform,{column:I,columnOffset:w,row:l,rowOffset:p}=t,C=S.convertPositionSheetOverGridToAbsolute(e.unitId,e.subUnitId,{from:t,to:n},i),{left:y,top:D,width:j,height:F}=C;return{...e,column:I,columnOffset:w,row:l,rowOffset:p,width:j,height:F,flipY:r,flipX:a,angle:o,skewX:g,skewY:h}}function W(e,i,t){const{column:n,columnOffset:r,row:a,rowOffset:o,flipY:g=!1,flipX:h=!1,angle:I=0,skewX:w=0,skewY:l=0,width:p,height:C}=e,y=S.convertPositionCellToSheetOverGrid(e.unitId,e.subUnitId,{column:n,columnOffset:r,row:a,rowOffset:o},p,C,i,t),{sheetTransform:D,transform:j}=y;return{...e,sheetTransform:{...D,flipY:g,flipX:h,angle:I,skewX:w,skewY:l},transform:{...j,flipY:g,flipX:h,angle:I,skewX:w,skewY:l}}}let _=class{constructor(e,i,t){O(this,"_image");this._injector=t,this._image={drawingId:s.generateRandomId(6),drawingType:s.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:s.ImageSourceType.BASE64,source:"",unitId:e,subUnitId:i,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(e){const t=this._injector.get(u.IRenderManagerService).getRenderById(e.unitId);if(!t)throw new Error(`Render Unit with unitId ${e.unitId} not found`);const n=t.with(S.SheetSkeletonManagerService);return this._image=P(e,n),this}setSource(e,i){const t=i!=null?i:s.ImageSourceType.URL;return this._image.source=e,this._image.imageSourceType=t,this}getsource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(e){return this._image.column=e,this}setRow(e){return this._image.row=e,this}setColumnOffset(e){return this._image.columnOffset=e,this}setRowOffset(e){return this._image.rowOffset=e,this}setWidth(e){return this._image.width=e,this}setHeight(e){return this._image.height=e,this}setAnchorType(e){return this._image.anchorType=e,this}setCropTop(e){return this._initializeSrcRect(),this._image.srcRect.top=e,this}setCropLeft(e){return this._initializeSrcRect(),this._image.srcRect.left=e,this}setCropBottom(e){return this._initializeSrcRect(),this._image.srcRect.bottom=e,this}setCropRight(e){return this._initializeSrcRect(),this._image.srcRect.right=e,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(e){return this._image.angle=e,this}setUnitId(e){return this._image.unitId=e,this}setSubUnitId(e){return this._image.subUnitId=e,this}async build(){const i=this._injector.get(u.IRenderManagerService).getRenderById(this._image.unitId);if(!i)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=i.with(S.ISheetSelectionRenderService),n=i.with(S.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const r=await c.getImageSize(this._image.source),a=r.width,o=r.height;this._image.width===0&&(this._image.width=a),this._image.height===0&&(this._image.height=o)}return W(this._image,t,n)}};_=b([v(2,s.Inject(s.Injector))],_);let m=class extends s.FBase{constructor(e,i,t){super(),this._image=e,this._commandService=i,this._injector=t}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 e=this._injector.createInstance(_);return e.setImage(this._image),e}setSource(e,i){const t=i!=null?i:s.ImageSourceType.URL;return this._image.source=e,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setPosition(e,i,t,n){const r=this.toBuilder();return r.setColumn(i),r.setRow(e),t!=null&&r.setRowOffset(t),n!=null&&r.setColumnOffset(n),this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r.build()]})}setSize(e,i){const t=this.toBuilder();return t.setWidth(e),t.setHeight(i),this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[t.build()]})}setCrop(e,i,t,n){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),e!=null&&(this._image.srcRect.top=e),i!=null&&(this._image.srcRect.left=i),t!=null&&(this._image.srcRect.bottom=t),n!=null&&(this._image.srcRect.right=n),this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){return this._image.sheetTransform.angle=e,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}};m=b([v(1,s.ICommandService),v(2,s.Inject(s.Injector))],m);class x extends R.FWorksheet{addFloatDomToPosition(i,t){const n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=k.transformComponentKey(i,this._injector.get(T.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:a,unitId:n,subUnitId:r},t);return h?(o.add(h.dispose),{id:h.id,dispose:()=>{o.dispose(),h.dispose()}}):(o.dispose(),null)}async insertImage(i,t,n,r,a){const o=this.newOverGridImage();if(typeof i=="string")o.setSource(i);else{const I=await i.getBlob().getDataAsString();o.setSource(I,s.ImageSourceType.BASE64)}t!==void 0?o.setColumn(t):o.setColumn(0),n!==void 0?o.setRow(n):o.setRow(0),r!==void 0?o.setColumnOffset(r):o.setColumnOffset(0),a!==void 0?o.setRowOffset(a):o.setRowOffset(0);const g=await o.build();return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[g]})}insertImages(i){const t=i.map(n=>(n.unitId=this._fWorkbook.getId(),n.subUnitId=this.getSheetId(),n));this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t})}deleteImages(i){const t=i.map(n=>({unitId:this._fWorkbook.getId(),drawingId:n.getId(),subUnitId:this.getSheetId(),drawingType:n.getType()}));this._commandService.syncExecuteCommand(d.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t})}getImages(){const t=this._injector.get(f.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),n=[];for(const r in t){const a=t[r];n.push(this._injector.createInstance(m,a))}return n}getImageById(i){const n=this._injector.get(f.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:i});return n?this._injector.createInstance(m,n):null}getActiveImages(){const t=this._injector.get(f.ISheetDrawingService).getFocusDrawings(),n=[];for(const r in t){const a=t[r];n.push(this._injector.createInstance(m,a))}return n}updateImages(i){this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:i})}onImageInserted(i){const t=this._injector.get(f.ISheetDrawingService);t.add$.subscribe(n=>{const r=n.map(a=>this._injector.createInstance(m,t.getDrawingByParam(a)));i(r)})}onImageDeleted(i){const t=this._injector.get(f.ISheetDrawingService);t.remove$.subscribe(n=>{const r=n.map(a=>this._injector.createInstance(m,t.getDrawingByParam(a)));i(r)})}onImageChanged(i){const t=this._injector.get(f.ISheetDrawingService);t.update$.subscribe(n=>{const r=n.map(a=>this._injector.createInstance(m,t.getDrawingByParam(a)));i(r)})}newOverGridImage(){const i=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(_,i,t)}}R.FWorksheet.extend(x)});