@univerjs/sheets-drawing-ui 0.5.1-nightly.202412180944 → 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.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +2 -2
- package/lib/es/facade.js +366 -11
- package/lib/es/index.js +552 -561
- package/lib/types/facade/f-over-grid-image.d.ts +159 -0
- package/lib/types/facade/f-worksheet.d.ts +100 -2
- package/lib/types/facade/index.d.ts +2 -0
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +2 -2
- package/package.json +12 -12
|
@@ -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 {
|
|
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 {
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
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)});
|