@univerjs/sheets-drawing-ui 0.9.1 → 0.9.2
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 +558 -297
- package/lib/es/index.js +350 -341
- package/lib/facade.js +558 -297
- package/lib/index.js +350 -341
- package/lib/types/facade/f-event.d.ts +169 -1
- package/lib/types/facade/f-worksheet.d.ts +151 -9
- package/lib/types/index.d.ts +2 -1
- package/lib/types/services/canvas-float-dom-manager.service.d.ts +1 -1
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +2 -2
- package/package.json +13 -13
|
@@ -1,12 +1,108 @@
|
|
|
1
1
|
import { IDrawingSearch } from '@univerjs/core';
|
|
2
2
|
import { IEventBase, FEventName } from '@univerjs/core/facade';
|
|
3
|
-
import { ISheetImage } from '@univerjs/sheets-drawing';
|
|
3
|
+
import { ISheetFloatDom, ISheetImage } from '@univerjs/sheets-drawing';
|
|
4
4
|
import { FWorkbook } from '@univerjs/sheets/facade';
|
|
5
5
|
import { FOverGridImage } from './f-over-grid-image';
|
|
6
6
|
/**
|
|
7
7
|
* @ignore
|
|
8
8
|
*/
|
|
9
9
|
interface IFDrawingEventNameMixin {
|
|
10
|
+
/**
|
|
11
|
+
* Triggered before float dom insertion.
|
|
12
|
+
* @see {@link IBeforeFloatDomAddParam}
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const disposable = univerAPI.addEvent(univerAPI.Event.BeforeFloatDomAdd, (params) => {
|
|
16
|
+
* console.log(params);
|
|
17
|
+
* // do something
|
|
18
|
+
* const { workbook, drawings } = params;
|
|
19
|
+
* // Cancel the insertion operation
|
|
20
|
+
* params.cancel = true;
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* // Remove the event listener, use `disposable.dispose()`
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
readonly BeforeFloatDomAdd: 'BeforeFloatDomAdd';
|
|
27
|
+
/**
|
|
28
|
+
* Triggered after float dom insertion.
|
|
29
|
+
* @see {@link IFloatDomAddedParam}
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const disposable = univerAPI.addEvent(univerAPI.Event.FloatDomAdded, (params) => {
|
|
33
|
+
* console.log(params);
|
|
34
|
+
* // do something
|
|
35
|
+
* const { workbook, drawings } = params;
|
|
36
|
+
* })
|
|
37
|
+
*
|
|
38
|
+
* // Remove the event listener, use `disposable.dispose()`
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
readonly FloatDomAdded: 'FloatDomAdded';
|
|
42
|
+
/**
|
|
43
|
+
* Triggered before float dom update.
|
|
44
|
+
* @see {@link IBeforeFloatDomUpdateParam}
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const disposable = univerAPI.addEvent(univerAPI.Event.BeforeFloatDomUpdate, (params) => {
|
|
48
|
+
* console.log(params);
|
|
49
|
+
* // do something
|
|
50
|
+
* const { workbook, drawings } = params;
|
|
51
|
+
* // Cancel the update operation
|
|
52
|
+
* params.cancel = true;
|
|
53
|
+
* })
|
|
54
|
+
*
|
|
55
|
+
* // Remove the event listener, use `disposable.dispose()`
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
readonly BeforeFloatDomUpdate: 'BeforeFloatDomUpdate';
|
|
59
|
+
/**
|
|
60
|
+
* Triggered after float dom update.
|
|
61
|
+
* @see {@link IFloatDomUpdatedParam}
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const disposable = univerAPI.addEvent(univerAPI.Event.FloatDomUpdated, (params) => {
|
|
65
|
+
* console.log(params);
|
|
66
|
+
* // do something
|
|
67
|
+
* const { workbook, drawings } = params;
|
|
68
|
+
* })
|
|
69
|
+
*
|
|
70
|
+
* // Remove the event listener, use `disposable.dispose()`
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
readonly FloatDomUpdated: 'FloatDomUpdated';
|
|
74
|
+
/**
|
|
75
|
+
* Triggered before float dom deletion.
|
|
76
|
+
* @see {@link IBeforeFloatDomDeleteParam}
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const disposable = univerAPI.addEvent(univerAPI.Event.BeforeFloatDomDelete, (params) => {
|
|
80
|
+
* console.log(params);
|
|
81
|
+
* // do something
|
|
82
|
+
* const { workbook, drawings } = params;
|
|
83
|
+
* // Cancel the deletion operation
|
|
84
|
+
* params.cancel = true;
|
|
85
|
+
* })
|
|
86
|
+
*
|
|
87
|
+
* // Remove the event listener, use `disposable.dispose()`
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
readonly BeforeFloatDomDelete: 'BeforeFloatDomDelete';
|
|
91
|
+
/**
|
|
92
|
+
* Triggered after float dom deletion.
|
|
93
|
+
* @see {@link IFloatDomDeletedParam}
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* const disposable = univerAPI.addEvent(univerAPI.Event.FloatDomDeleted, (params) => {
|
|
97
|
+
* console.log(params);
|
|
98
|
+
* // do something
|
|
99
|
+
* const { workbook, drawings } = params;
|
|
100
|
+
* })
|
|
101
|
+
*
|
|
102
|
+
* // Remove the event listener, use `disposable.dispose()`
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
readonly FloatDomDeleted: 'FloatDomDeleted';
|
|
10
106
|
/**
|
|
11
107
|
* Triggered before floating image insertion.
|
|
12
108
|
* @see {@link IBeforeOverGridImageInsertParam}
|
|
@@ -137,6 +233,12 @@ interface IFDrawingEventNameMixin {
|
|
|
137
233
|
readonly OverGridImageSelected: 'OverGridImageSelected';
|
|
138
234
|
}
|
|
139
235
|
export declare class FDrawingEventNameMixin extends FEventName implements IFDrawingEventNameMixin {
|
|
236
|
+
get BeforeFloatDomAdd(): 'BeforeFloatDomAdd';
|
|
237
|
+
get FloatDomAdded(): 'FloatDomAdded';
|
|
238
|
+
get BeforeFloatDomUpdate(): 'BeforeFloatDomUpdate';
|
|
239
|
+
get FloatDomUpdated(): 'FloatDomUpdated';
|
|
240
|
+
get BeforeFloatDomDelete(): 'BeforeFloatDomDelete';
|
|
241
|
+
get FloatDomDeleted(): 'FloatDomDeleted';
|
|
140
242
|
get BeforeOverGridImageChange(): 'BeforeOverGridImageChange';
|
|
141
243
|
get OverGridImageChanged(): 'OverGridImageChanged';
|
|
142
244
|
get BeforeOverGridImageInsert(): 'BeforeOverGridImageInsert';
|
|
@@ -240,6 +342,66 @@ export interface IOverGridImageSelectedParam extends IEventBase {
|
|
|
240
342
|
/**
|
|
241
343
|
* @ignore
|
|
242
344
|
*/
|
|
345
|
+
export interface IBeforeFloatDomAddParam extends IEventBase {
|
|
346
|
+
/**
|
|
347
|
+
* The workbook instance currently being operated on. {@link FWorkbook}
|
|
348
|
+
*/
|
|
349
|
+
workbook: FWorkbook;
|
|
350
|
+
/**
|
|
351
|
+
* Collection of float dom drawings to be added.
|
|
352
|
+
*/
|
|
353
|
+
drawings: ISheetFloatDom[];
|
|
354
|
+
}
|
|
355
|
+
export interface IFloatDomAddedParam extends IEventBase {
|
|
356
|
+
/**
|
|
357
|
+
* The workbook instance currently being operated on. {@link FWorkbook}
|
|
358
|
+
*/
|
|
359
|
+
workbook: FWorkbook;
|
|
360
|
+
/**
|
|
361
|
+
* Collection of float dom drawings that were added.
|
|
362
|
+
*/
|
|
363
|
+
drawings: ISheetFloatDom[];
|
|
364
|
+
}
|
|
365
|
+
export interface IBeforeFloatDomUpdateParam extends IEventBase {
|
|
366
|
+
/**
|
|
367
|
+
* The workbook instance currently being operated on. {@link FWorkbook}
|
|
368
|
+
*/
|
|
369
|
+
workbook: FWorkbook;
|
|
370
|
+
/**
|
|
371
|
+
* Collection of float dom drawings to be updated.
|
|
372
|
+
*/
|
|
373
|
+
drawings: ISheetFloatDom[];
|
|
374
|
+
}
|
|
375
|
+
export interface IFloatDomUpdatedParam extends IEventBase {
|
|
376
|
+
/**
|
|
377
|
+
* The workbook instance currently being operated on. {@link FWorkbook}
|
|
378
|
+
*/
|
|
379
|
+
workbook: FWorkbook;
|
|
380
|
+
/**
|
|
381
|
+
* Collection of float dom drawings that were updated.
|
|
382
|
+
*/
|
|
383
|
+
drawings: ISheetFloatDom[];
|
|
384
|
+
}
|
|
385
|
+
export interface IBeforeFloatDomDeleteParam extends IEventBase {
|
|
386
|
+
/**
|
|
387
|
+
* The workbook instance currently being operated on. {@link FWorkbook}
|
|
388
|
+
*/
|
|
389
|
+
workbook: FWorkbook;
|
|
390
|
+
/**
|
|
391
|
+
* Collection of float dom drawings to be deleted.
|
|
392
|
+
*/
|
|
393
|
+
drawings: ISheetFloatDom[];
|
|
394
|
+
}
|
|
395
|
+
export interface IFloatDomDeletedParam extends IEventBase {
|
|
396
|
+
/**
|
|
397
|
+
* The workbook instance currently being operated on. {@link FWorkbook}
|
|
398
|
+
*/
|
|
399
|
+
workbook: FWorkbook;
|
|
400
|
+
/**
|
|
401
|
+
* Collection of float dom drawing ids that were deleted.
|
|
402
|
+
*/
|
|
403
|
+
drawings: string[];
|
|
404
|
+
}
|
|
243
405
|
interface IFSheetsUIEventParamConfig {
|
|
244
406
|
BeforeOverGridImageChange: IBeforeOverGridImageChangeParam;
|
|
245
407
|
OverGridImageChanged: IOverGridImageChangedParam;
|
|
@@ -249,6 +411,12 @@ interface IFSheetsUIEventParamConfig {
|
|
|
249
411
|
OverGridImageRemoved: IOverGridImageRemovedParam;
|
|
250
412
|
BeforeOverGridImageSelect: IBeforeOverGridImageSelectParam;
|
|
251
413
|
OverGridImageSelected: IOverGridImageSelectedParam;
|
|
414
|
+
BeforeFloatDomAdd: IBeforeFloatDomAddParam;
|
|
415
|
+
FloatDomAdded: IFloatDomAddedParam;
|
|
416
|
+
BeforeFloatDomUpdate: IBeforeFloatDomUpdateParam;
|
|
417
|
+
FloatDomUpdated: IFloatDomUpdatedParam;
|
|
418
|
+
BeforeFloatDomDelete: IBeforeFloatDomDeleteParam;
|
|
419
|
+
FloatDomDeleted: IFloatDomDeletedParam;
|
|
252
420
|
}
|
|
253
421
|
declare module '@univerjs/core/facade' {
|
|
254
422
|
interface FEventName extends IFDrawingEventNameMixin {
|
|
@@ -1,16 +1,146 @@
|
|
|
1
|
-
import { IDisposable, Nullable } from '@univerjs/core';
|
|
1
|
+
import { IDisposable, ITransformState, Nullable } from '@univerjs/core';
|
|
2
2
|
import { IFBlobSource } from '@univerjs/core/facade';
|
|
3
3
|
import { ISheetImage } from '@univerjs/sheets-drawing';
|
|
4
|
-
import { ICanvasFloatDom, IDOMAnchor } from '@univerjs/sheets-drawing-ui';
|
|
4
|
+
import { ICanvasFloatDom, ICanvasFloatDomInfo, IDOMAnchor } from '@univerjs/sheets-drawing-ui';
|
|
5
5
|
import { IFComponentKey } from '@univerjs/sheets-ui/facade';
|
|
6
6
|
import { FRange, FWorksheet } from '@univerjs/sheets/facade';
|
|
7
7
|
import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
|
|
8
8
|
export interface IFICanvasFloatDom extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId'>, IFComponentKey {
|
|
9
9
|
}
|
|
10
|
+
export interface IFCanvasFloatDomResult extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId' | 'initPosition'>, IFComponentKey, Pick<ICanvasFloatDomInfo, 'id'> {
|
|
11
|
+
position: ITransformState;
|
|
12
|
+
id: string;
|
|
13
|
+
}
|
|
10
14
|
/**
|
|
11
15
|
* @ignore
|
|
12
16
|
*/
|
|
13
17
|
export interface IFWorksheetLegacy {
|
|
18
|
+
/**
|
|
19
|
+
* Get float dom by id
|
|
20
|
+
* @param {string} id - float dom id
|
|
21
|
+
* @returns {IFCanvasFloatDomResult | null} float dom info or null if not found
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
|
|
25
|
+
* const floatDom = fWorksheet.getFloatDomById('myFloatDomId');
|
|
26
|
+
* if (floatDom) {
|
|
27
|
+
* console.log('Float dom position:', floatDom.position);
|
|
28
|
+
* console.log('Component key:', floatDom.componentKey);
|
|
29
|
+
* console.log('Custom data:', floatDom.data);
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
getFloatDomById(id: string): Nullable<IFCanvasFloatDomResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Get all float doms in current worksheet
|
|
36
|
+
* @returns {IFCanvasFloatDomResult[]} array of float dom info
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
|
|
40
|
+
* const allFloatDoms = fWorksheet.getAllFloatDoms();
|
|
41
|
+
* allFloatDoms.forEach(floatDom => {
|
|
42
|
+
* console.log('Float dom ID:', floatDom.id);
|
|
43
|
+
* console.log('Position:', floatDom.position);
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
getAllFloatDoms(): IFCanvasFloatDomResult[];
|
|
48
|
+
/**
|
|
49
|
+
* Update float dom position and properties
|
|
50
|
+
* @param {string} id - float dom id
|
|
51
|
+
* @param {Partial<IFCanvasFloatDomResult>} config - new float dom config
|
|
52
|
+
* @returns {FWorksheet} The worksheet instance for chaining
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
|
|
56
|
+
* const firstFloatDom = fWorksheet.getAllFloatDoms()[0];
|
|
57
|
+
*
|
|
58
|
+
* if (!firstFloatDom) return;
|
|
59
|
+
*
|
|
60
|
+
* // Update first float dom position and size
|
|
61
|
+
* fWorksheet.updateFloatDom(firstFloatDom.id, {
|
|
62
|
+
* position: {
|
|
63
|
+
* left: 100,
|
|
64
|
+
* top: 100,
|
|
65
|
+
* width: 200,
|
|
66
|
+
* height: 150,
|
|
67
|
+
* angle: 45, // rotate 45 degrees
|
|
68
|
+
* }
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* // Update first float dom data
|
|
72
|
+
* fWorksheet.updateFloatDom(firstFloatDom.id, {
|
|
73
|
+
* data: {
|
|
74
|
+
* label: 'Updated Label',
|
|
75
|
+
* color: '#ff0000'
|
|
76
|
+
* }
|
|
77
|
+
* });
|
|
78
|
+
*
|
|
79
|
+
* // Disable the first float dom from transform
|
|
80
|
+
* fWorksheet.updateFloatDom(firstFloatDom.id, {
|
|
81
|
+
* allowTransform: false
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
updateFloatDom(id: string, config: Partial<IFCanvasFloatDomResult>): this;
|
|
86
|
+
/**
|
|
87
|
+
* Batch update float doms
|
|
88
|
+
* @param {Array<{id: string, config: Partial<IFCanvasFloatDomResult>}>} updates - array of update configs
|
|
89
|
+
* @returns {FWorksheet} The worksheet instance for chaining
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
|
|
93
|
+
*
|
|
94
|
+
* // Update multiple float doms at once
|
|
95
|
+
* const allFloatDoms = fWorksheet.getAllFloatDoms();
|
|
96
|
+
* fWorksheet.batchUpdateFloatDoms(allFloatDoms.map((floatDom, index) => {
|
|
97
|
+
* if (floatDom.id === 'MyFloatDomId') {
|
|
98
|
+
* return {
|
|
99
|
+
* id: floatDom.id,
|
|
100
|
+
* config: {
|
|
101
|
+
* position: {
|
|
102
|
+
* left: 100,
|
|
103
|
+
* top: 100
|
|
104
|
+
* },
|
|
105
|
+
* data: {
|
|
106
|
+
* label: 'Updated'
|
|
107
|
+
* }
|
|
108
|
+
* }
|
|
109
|
+
* }
|
|
110
|
+
* }
|
|
111
|
+
*
|
|
112
|
+
* return {
|
|
113
|
+
* id: floatDom.id,
|
|
114
|
+
* config: {
|
|
115
|
+
* position: {
|
|
116
|
+
* left: 300,
|
|
117
|
+
* top: 100
|
|
118
|
+
* }
|
|
119
|
+
* }
|
|
120
|
+
* }
|
|
121
|
+
* }));
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
batchUpdateFloatDoms(updates: Array<{
|
|
125
|
+
id: string;
|
|
126
|
+
config: Partial<IFCanvasFloatDomResult>;
|
|
127
|
+
}>): this;
|
|
128
|
+
/**
|
|
129
|
+
* Remove float dom by id
|
|
130
|
+
* @param {string} id - float dom id
|
|
131
|
+
* @returns {FWorksheet} The worksheet instance for chaining
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
|
|
135
|
+
* const firstFloatDom = fWorksheet.getAllFloatDoms()[0];
|
|
136
|
+
*
|
|
137
|
+
* if (!firstFloatDom) return;
|
|
138
|
+
*
|
|
139
|
+
* // Remove the first float dom
|
|
140
|
+
* fWorksheet.removeFloatDom(firstFloatDom.id);
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
removeFloatDom(id: string): this;
|
|
14
144
|
/**
|
|
15
145
|
* Add a float dom to position.
|
|
16
146
|
* @param {IFICanvasFloatDom} layer - The float dom layer configuration.
|
|
@@ -35,7 +165,7 @@ export interface IFWorksheetLegacy {
|
|
|
35
165
|
*
|
|
36
166
|
* // Add a floating DOM
|
|
37
167
|
* // If disposable is null, floating DOM addition failed
|
|
38
|
-
* const
|
|
168
|
+
* const disposable = fWorksheet.addFloatDomToPosition({
|
|
39
169
|
* componentKey: 'myFloatDom',
|
|
40
170
|
* initPosition: {
|
|
41
171
|
* startX: 100,
|
|
@@ -49,10 +179,11 @@ export interface IFWorksheetLegacy {
|
|
|
49
179
|
* label: 'hahah',
|
|
50
180
|
* },
|
|
51
181
|
* });
|
|
182
|
+
* console.log(disposable?.id); // The id of the floating DOM
|
|
52
183
|
*
|
|
53
184
|
* // Remove the floating DOM after 2 seconds
|
|
54
185
|
* setTimeout(() => {
|
|
55
|
-
*
|
|
186
|
+
* disposable?.dispose();
|
|
56
187
|
* }, 2000);
|
|
57
188
|
* ```
|
|
58
189
|
*/
|
|
@@ -96,11 +227,12 @@ export interface IFWorksheetLegacy {
|
|
|
96
227
|
*
|
|
97
228
|
* // Add the range loading component covering the range A1:C3
|
|
98
229
|
* const fRange = fWorksheet.getRange('A1:C3');
|
|
99
|
-
* const
|
|
230
|
+
* const disposable = fWorksheet.addFloatDomToRange(fRange, { componentKey: 'RangeLoading' }, {}, 'myRangeLoading');
|
|
231
|
+
* console.log(disposable?.id); // The id of the floating DOM
|
|
100
232
|
*
|
|
101
233
|
* // Remove the floating DOM after 2 seconds
|
|
102
234
|
* setTimeout(() => {
|
|
103
|
-
*
|
|
235
|
+
* disposable?.dispose();
|
|
104
236
|
* }, 2000);
|
|
105
237
|
*
|
|
106
238
|
* // another example-------------------
|
|
@@ -133,7 +265,7 @@ export interface IFWorksheetLegacy {
|
|
|
133
265
|
*
|
|
134
266
|
* // Add the float button to the range A5:C7, position is start from A5 cell, and width is 100px, height is 30px, margin is 100% of range width and height
|
|
135
267
|
* const fRange2 = fWorksheet.getRange('A5:C7');
|
|
136
|
-
* const
|
|
268
|
+
* const disposable2 = fWorksheet.addFloatDomToRange(
|
|
137
269
|
* fRange2,
|
|
138
270
|
* {
|
|
139
271
|
* componentKey: 'FloatButton',
|
|
@@ -146,6 +278,7 @@ export interface IFWorksheetLegacy {
|
|
|
146
278
|
* },
|
|
147
279
|
* 'myFloatButton'
|
|
148
280
|
* );
|
|
281
|
+
* console.log(disposable2?.id); // The id of the floating DOM
|
|
149
282
|
* ```
|
|
150
283
|
*/
|
|
151
284
|
addFloatDomToRange(range: FRange, layer: Partial<IFICanvasFloatDom>, domLayout: Partial<IDOMAnchor>, id?: string): Nullable<{
|
|
@@ -191,7 +324,7 @@ export interface IFWorksheetLegacy {
|
|
|
191
324
|
* univerAPI.registerComponent('FloatButton', FloatButton);
|
|
192
325
|
*
|
|
193
326
|
* // Add the float button to the column D header, position is right align, width is 100px, height is 30px, margin is 0
|
|
194
|
-
* const
|
|
327
|
+
* const disposable = fWorksheet.addFloatDomToColumnHeader(
|
|
195
328
|
* 3,
|
|
196
329
|
* {
|
|
197
330
|
* componentKey: 'FloatButton',
|
|
@@ -206,10 +339,11 @@ export interface IFWorksheetLegacy {
|
|
|
206
339
|
* },
|
|
207
340
|
* 'myFloatButton'
|
|
208
341
|
* );
|
|
342
|
+
* console.log(disposable?.id); // The id of the floating DOM
|
|
209
343
|
*
|
|
210
344
|
* // Remove the float button after 2 seconds
|
|
211
345
|
* setTimeout(() => {
|
|
212
|
-
*
|
|
346
|
+
* disposable?.dispose();
|
|
213
347
|
* }, 2000);
|
|
214
348
|
* ```
|
|
215
349
|
*/
|
|
@@ -412,6 +546,14 @@ export interface IFWorksheetLegacy {
|
|
|
412
546
|
newOverGridImage(): FOverGridImageBuilder;
|
|
413
547
|
}
|
|
414
548
|
export declare class FWorksheetLegacy extends FWorksheet implements IFWorksheetLegacy {
|
|
549
|
+
getFloatDomById(id: string): Nullable<IFCanvasFloatDomResult>;
|
|
550
|
+
getAllFloatDoms(): IFCanvasFloatDomResult[];
|
|
551
|
+
updateFloatDom(id: string, config: Partial<Omit<IFCanvasFloatDomResult, 'id'>>): this;
|
|
552
|
+
batchUpdateFloatDoms(updates: Array<{
|
|
553
|
+
id: string;
|
|
554
|
+
config: Partial<Omit<IFCanvasFloatDomResult, 'id'>>;
|
|
555
|
+
}>): this;
|
|
556
|
+
removeFloatDom(id: string): this;
|
|
415
557
|
addFloatDomToPosition(layer: IFICanvasFloatDom, id?: string): Nullable<{
|
|
416
558
|
id: string;
|
|
417
559
|
dispose: () => void;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import './global.css';
|
|
17
|
+
export { drawingPositionToTransform, transformToDrawingPosition } from './basics/transform-position';
|
|
17
18
|
export { DeleteDrawingsCommand } from './commands/commands/delete-drawings.command';
|
|
18
19
|
export { GroupSheetDrawingCommand } from './commands/commands/group-sheet-drawing.command';
|
|
19
20
|
export { type IInsertImageCommandParams, InsertFloatImageCommand } from './commands/commands/insert-image.command';
|
|
@@ -30,5 +31,5 @@ export { SidebarSheetDrawingOperation } from './commands/operations/open-drawing
|
|
|
30
31
|
export type { IUniverSheetsDrawingUIConfig } from './controllers/config.schema';
|
|
31
32
|
export { SheetDrawingUpdateController } from './controllers/sheet-drawing-update.controller';
|
|
32
33
|
export { UniverSheetsDrawingUIPlugin } from './plugin';
|
|
33
|
-
export { type ICanvasFloatDom, type IDOMAnchor, SheetCanvasFloatDomManagerService } from './services/canvas-float-dom-manager.service';
|
|
34
|
+
export { calcSheetFloatDomPosition, type ICanvasFloatDom, type ICanvasFloatDomInfo, type IDOMAnchor, SheetCanvasFloatDomManagerService } from './services/canvas-float-dom-manager.service';
|
|
34
35
|
export { SHEETS_IMAGE_MENU_ID } from './views/menu/image.menu';
|
|
@@ -125,10 +125,10 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
|
|
|
125
125
|
private _getSceneAndTransformerByDrawingSearch;
|
|
126
126
|
private _drawingAddListener;
|
|
127
127
|
private _scrollUpdateListener;
|
|
128
|
+
updateFloatDomProps(unitId: string, subUnitId: string, id: string, props: Record<string, any>): void;
|
|
128
129
|
private _getPosition;
|
|
129
130
|
private _featureUpdateListener;
|
|
130
131
|
private _deleteListener;
|
|
131
|
-
updateFloatDomProps(unitId: string, subUnitId: string, id: string, props: Record<string, any>): void;
|
|
132
132
|
addFloatDomToPosition(layer: ICanvasFloatDom, propId?: string): {
|
|
133
133
|
id: string;
|
|
134
134
|
dispose: () => void;
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(a,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):(a=typeof globalThis<"u"?globalThis:a||self,u(a.UniverCore,a.UniverCoreFacade,a.UniverDrawing,a.UniverEngineRender,a.UniverSheetsDrawingUi,a.UniverSheetsUi,a.UniverSheetsDrawing,a.UniverSheetsUiFacade,a.UniverSheetsFacade,a.UniverUi))})(this,function(a,u,v,S,g,w,l,C,_,E){"use strict";var W=Object.defineProperty;var H=(a,u,v)=>u in a?W(a,u,{enumerable:!0,configurable:!0,writable:!0,value:v}):a[u]=v;var T=(a,u,v)=>H(a,typeof u!="symbol"?u+"":u,v);var j=Object.getOwnPropertyDescriptor,R=(r,i,t,e)=>{for(var n=e>1?void 0:e?j(i,t):i,s=r.length-1,o;s>=0;s--)(o=r[s])&&(n=o(n)||n);return n},y=(r,i)=>(t,e)=>i(t,e,r);function G(r,i){const{from:t,to:e,flipY:n=!1,flipX:s=!1,angle:o=0,skewX:c=0,skewY:d=0}=r.sheetTransform,{column:h,columnOffset:m,row:f,rowOffset:b}=t,k=w.convertPositionSheetOverGridToAbsolute(r.unitId,r.subUnitId,{from:t,to:e},i),{width:O,height:D}=k;return{...r,column:h,columnOffset:m,row:f,rowOffset:b,width:O,height:D,flipY:n,flipX:s,angle:o,skewX:c,skewY:d}}function F(r,i,t){const{column:e,columnOffset:n,row:s,rowOffset:o,flipY:c=!1,flipX:d=!1,angle:h=0,skewX:m=0,skewY:f=0,width:b,height:k}=r,O=w.convertPositionCellToSheetOverGrid(r.unitId,r.subUnitId,{column:e,columnOffset:n,row:s,rowOffset:o},b,k,i,t),{sheetTransform:D,transform:U}=O;return{...r,sheetTransform:{...D,flipY:c,flipX:d,angle:h,skewX:m,skewY:f},transform:{...U,flipY:c,flipX:d,angle:h,skewX:m,skewY:f}}}let p=class{constructor(r,i,t){T(this,"_image");this._injector=t,this._image={drawingId:a.generateRandomId(6),drawingType:a.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:a.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(S.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=G(r,e),this}setSource(r,i){const t=i!=null?i:a.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(S.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,o=n.height;this._image.width===0&&(this._image.width=s),this._image.height===0&&(this._image.height=o)}return F(this._image,t,e)}};p=R([y(2,a.Inject(a.Injector))],p);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(g.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const r=this._injector.createInstance(p);return r.setImage(this._image),r}setSource(r,i){const t=i!=null?i:a.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(g.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(g.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(g.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(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(r){return this._image.sheetTransform.angle=r,this._image.transform&&(this._image.transform.angle=r),this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:a.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:a.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:a.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:a.ArrangeTypeEnum.front})}};I=R([y(1,a.ICommandService),y(2,a.Inject(a.Injector))],I);class B extends _.FWorksheet{addFloatDomToPosition(i,t){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:s,disposableCollection:o}=C.transformComponentKey(i,this._injector.get(E.ComponentManager)),d=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:s,unitId:e,subUnitId:n},t);return d?(o.add(d.dispose),{id:d.id,dispose:()=>{o.dispose(),d.dispose()}}):(o.dispose(),null)}addFloatDomToRange(i,t,e,n){const s=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=C.transformComponentKey(t,this._injector.get(E.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToRange(i.getRange(),{...t,componentKey:c,unitId:s,subUnitId:o},e,n);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(i,t,e,n){const s=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=C.transformComponentKey(t,this._injector.get(E.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(i,{...t,componentKey:c,unitId:s,subUnitId:o},e,n);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}async insertImage(i,t,e,n,s){const o=this.newOverGridImage();if(typeof i=="string")o.setSource(i);else{const h=await i.getBlob().getDataAsString();o.setSource(h,a.ImageSourceType.BASE64)}t!==void 0?o.setColumn(t):o.setColumn(0),e!==void 0?o.setRow(e):o.setRow(0),n!==void 0?o.setColumnOffset(n):o.setColumnOffset(0),s!==void 0?o.setRowOffset(s):o.setRowOffset(0);const c=await o.buildAsync();return this._commandService.syncExecuteCommand(g.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(g.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(g.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===a.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===a.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(g.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:i}),this}onImageInserted(i){const t=this._injector.get(l.ISheetDrawingService);return a.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 a.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 a.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(p,i,t)}}_.FWorksheet.extend(B);class x extends u.FEnum{get DrawingType(){return a.DrawingTypeEnum}get ImageSourceType(){return a.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}u.FEnum.extend(x);class A 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(A);class M extends u.FUniver{_initialize(i){const t=i.get(a.ICommandService);this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:o}=n,c={workbook:s,insertImageParams:o};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,c),c.cancel)throw new a.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const o=i.get(v.IDrawingManagerService),{drawings:c}=n,d=c.map(m=>o.getDrawingByParam(m)),h={workbook:s,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,h),h.cancel)throw new a.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:o}=n,c=i.get(v.IDrawingManagerService),d=[];o.forEach(m=>{const f=c.getDrawingByParam(m);f!=null&&d.push({changeParam:m,image:this._injector.createInstance(I,f)})});const h={workbook:s,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,h),h.cancel)throw c.updateNotification(o),new a.CanceledError})),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 o=i.get(v.IDrawingManagerService),c=o.getFocusDrawings(),d=n.map(m=>o.getDrawingByParam(m)),h={workbook:s,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(c)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,h),h.cancel)throw new a.CanceledError})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:o}=n;this.fireEvent(this.Event.OverGridImageInserted,{workbook:s,images:this._createFOverGridImage(o)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:o}=n;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:s,removeImageParams:o})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:o}=n,c=i.get(v.IDrawingManagerService),d=o.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 o=i.get(v.IDrawingManagerService),c=n.map(d=>o.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(M);class P extends _.FRange{async insertCellImageAsync(i){var s;const t=this._injector.get(S.IRenderManagerService),e=(s=S.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,this._injector.get(a.IUniverInstanceService),t))==null?void 0:s.with(g.SheetDrawingUpdateController);if(!e)return!1;const n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof i=="string"?e.insertCellImageByUrl(i,n):e.insertCellImageByFile(i,n)}}_.FRange.extend(P)});
|
|
1
|
+
(function(c,l){typeof exports=="object"&&typeof module<"u"?l(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"],l):(c=typeof globalThis<"u"?globalThis:c||self,l(c.UniverCore,c.UniverCoreFacade,c.UniverDrawing,c.UniverEngineRender,c.UniverSheetsDrawingUi,c.UniverSheetsUi,c.UniverSheetsDrawing,c.UniverSheetsUiFacade,c.UniverSheetsFacade,c.UniverUi))})(this,function(c,l,v,E,g,D,w,b,C,F){"use strict";var H=Object.defineProperty;var K=(c,l,v)=>l in c?H(c,l,{enumerable:!0,configurable:!0,writable:!0,value:v}):c[l]=v;var B=(c,l,v)=>K(c,typeof l!="symbol"?l+"":l,v);var j=Object.getOwnPropertyDescriptor,O=(o,i,t,e)=>{for(var r=e>1?void 0:e?j(i,t):i,n=o.length-1,a;n>=0;n--)(a=o[n])&&(r=a(r)||r);return r},R=(o,i)=>(t,e)=>i(t,e,o);function A(o,i){const{from:t,to:e,flipY:r=!1,flipX:n=!1,angle:a=0,skewX:s=0,skewY:d=0}=o.sheetTransform,{column:u,columnOffset:m,row:h,rowOffset:I}=t,_=D.convertPositionSheetOverGridToAbsolute(o.unitId,o.subUnitId,{from:t,to:e},i),{width:f,height:S}=_;return{...o,column:u,columnOffset:m,row:h,rowOffset:I,width:f,height:S,flipY:r,flipX:n,angle:a,skewX:s,skewY:d}}function G(o,i,t){const{column:e,columnOffset:r,row:n,rowOffset:a,flipY:s=!1,flipX:d=!1,angle:u=0,skewX:m=0,skewY:h=0,width:I,height:_}=o,f=D.convertPositionCellToSheetOverGrid(o.unitId,o.subUnitId,{column:e,columnOffset:r,row:n,rowOffset:a},I,_,i,t),{sheetTransform:S,transform:T}=f;return{...o,sheetTransform:{...S,flipY:s,flipX:d,angle:u,skewX:m,skewY:h},transform:{...T,flipY:s,flipX:d,angle:u,skewX:m,skewY:h}}}let y=class{constructor(o,i,t){B(this,"_image");this._injector=t,this._image={drawingId:c.generateRandomId(6),drawingType:c.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:c.ImageSourceType.BASE64,source:"",unitId:o,subUnitId:i,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(o){const t=this._injector.get(E.IRenderManagerService).getRenderById(o.unitId);if(!t)throw new Error(`Render Unit with unitId ${o.unitId} not found`);const e=t.with(D.SheetSkeletonManagerService);return o.sheetTransform==null&&(o.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=A(o,e),this}setSource(o,i){const t=i!=null?i:c.ImageSourceType.URL;return this._image.source=o,this._image.imageSourceType=t,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(o){return this._image.column=o,this}setRow(o){return this._image.row=o,this}setColumnOffset(o){return this._image.columnOffset=o,this}setRowOffset(o){return this._image.rowOffset=o,this}setWidth(o){return this._image.width=o,this}setHeight(o){return this._image.height=o,this}setAnchorType(o){return this._image.anchorType=o,this}setCropTop(o){return this._initializeSrcRect(),this._image.srcRect.top=o,this}setCropLeft(o){return this._initializeSrcRect(),this._image.srcRect.left=o,this}setCropBottom(o){return this._initializeSrcRect(),this._image.srcRect.bottom=o,this}setCropRight(o){return this._initializeSrcRect(),this._image.srcRect.right=o,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(o){return this._image.angle=o,this}setUnitId(o){return this._image.unitId=o,this}setSubUnitId(o){return this._image.subUnitId=o,this}async buildAsync(){const i=this._injector.get(E.IRenderManagerService).getRenderById(this._image.unitId);if(!i)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=i.with(D.ISheetSelectionRenderService),e=i.with(D.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const r=await v.getImageSize(this._image.source),n=r.width,a=r.height;this._image.width===0&&(this._image.width=n),this._image.height===0&&(this._image.height=a)}return G(this._image,t,e)}};y=O([R(2,c.Inject(c.Injector))],y);let p=class extends l.FBase{constructor(o,i,t){super(),this._image=o,this._commandService=i,this._injector=t}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(g.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const o=this._injector.createInstance(y);return o.setImage(this._image),o}setSource(o,i){const t=i!=null?i:c.ImageSourceType.URL;return this._image.source=o,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(o,i,t,e){const r=this.toBuilder();r.setColumn(i),r.setRow(o),t!=null&&r.setRowOffset(t),e!=null&&r.setColumnOffset(e);const n=await r.buildAsync();return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[n]})}async setSizeAsync(o,i){const t=this.toBuilder();t.setWidth(o),t.setHeight(i);const e=await t.buildAsync();return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(o,i,t,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),o!=null&&(this._image.srcRect.top=o),i!=null&&(this._image.srcRect.left=i),t!=null&&(this._image.srcRect.bottom=t),e!=null&&(this._image.srcRect.right=e),this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(o){return this._image.sheetTransform.angle=o,this._image.transform&&(this._image.transform.angle=o),this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.front})}};p=O([R(1,c.ICommandService),R(2,c.Inject(c.Injector))],p);class M extends C.FWorksheet{getFloatDomById(i){const e=this._injector.get(g.SheetCanvasFloatDomManagerService).getFloatDomInfo(i);if(!e)return null;const{unitId:r,subUnitId:n}=e,{rect:a}=e,s=a.getState(),{left:d=0,top:u=0,width:m=0,height:h=0,flipX:I=!1,flipY:_=!1,angle:f=0,skewX:S=0,skewY:T=0}=s,k=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:r,subUnitId:n});return k?{position:{left:d,top:u,width:m,height:h,flipX:I,flipY:_,angle:f,skewX:S,skewY:T},componentKey:k.componentKey,allowTransform:k.allowTransform,data:k.data,id:e.id}:null}getAllFloatDoms(){const i=this._injector.get(g.SheetCanvasFloatDomManagerService),t=this._workbook.getUnitId(),e=this._worksheet.getSheetId();return Array.from(i.getFloatDomsBySubUnitId(t,e).values()).map(r=>{const{rect:n}=r,a=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:r.id,unitId:t,subUnitId:e}),{left:s,top:d,width:u,height:m,flipX:h,flipY:I,angle:_,skewX:f,skewY:S}=n.getState();return{position:{left:s,top:d,width:u,height:m,flipX:h,flipY:I,angle:_,skewX:f,skewY:S},componentKey:a.componentKey,allowTransform:a.allowTransform,data:a.data,id:r.id}})}updateFloatDom(i,t){var f,S;const r=this._injector.get(g.SheetCanvasFloatDomManagerService).getFloatDomInfo(i);if(!r)return this;const{unitId:n,subUnitId:a}=r,s=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:a,drawingId:i}),d=this._injector.get(E.IRenderManagerService);if(!d.getRenderById(n))return this;if(!this.getSkeleton())return this;const h=(f=d.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:f.with(D.ISheetSelectionRenderService);if(!h)return this;const I={...s,componentKey:t.componentKey||s.componentKey,allowTransform:t.allowTransform!==void 0?t.allowTransform:s.allowTransform,data:t.data||s.data,sheetTransform:t.position&&(S=g.transformToDrawingPosition(t.position,h))!=null?S:s.sheetTransform,transform:{...s.transform,...t.position}};if(!this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:n,subUnitId:a,drawings:[I]}))throw new Error("updateFloatDom failed");return this}batchUpdateFloatDoms(i){var a;const t=this._injector.get(g.SheetCanvasFloatDomManagerService),e=this._injector.get(w.ISheetDrawingService),r=this._injector.get(E.IRenderManagerService),n=[];for(const s of i){const d=t.getFloatDomInfo(s.id);if(!d)continue;const{unitId:u,subUnitId:m}=d,h=e.getDrawingByParam({unitId:u,subUnitId:m,drawingId:s.id});if(!h)continue;const I=r.getRenderById(u);if(!I||!this.getSkeleton())continue;const f=I.with(D.ISheetSelectionRenderService);if(!f)return this;const S={...h,componentKey:s.config.componentKey||h.componentKey,allowTransform:s.config.allowTransform!==void 0?s.config.allowTransform:h.allowTransform,data:s.config.data||h.data,sheetTransform:s.config.position&&(a=g.transformToDrawingPosition(s.config.position,f))!=null?a:h.sheetTransform,transform:{...h.transform,...s.config.position}};n.push(S)}if(n.length>0){const s=this._workbook.getUnitId(),d=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:s,subUnitId:d,drawings:n}))throw new Error("batchUpdateFloatDoms failed")}return this}removeFloatDom(i){const e=this._injector.get(g.SheetCanvasFloatDomManagerService).getFloatDomInfo(i);if(!e)return this;const{unitId:r,subUnitId:n}=e,s=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:r,subUnitId:n,drawingId:i});if(!s)return this;if(!this._commandService.syncExecuteCommand(g.RemoveSheetDrawingCommand.id,{unitId:r,drawings:[s]}))throw new Error("removeFloatDom failed");return this}addFloatDomToPosition(i,t){const e=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),{key:n,disposableCollection:a}=b.transformComponentKey(i,this._injector.get(F.ComponentManager)),d=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:n,unitId:e,subUnitId:r},t);return d?(a.add(d.dispose),{id:d.id,dispose:()=>{a.dispose(),d.dispose()}}):(a.dispose(),null)}addFloatDomToRange(i,t,e,r){const n=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:s,disposableCollection:d}=b.transformComponentKey(t,this._injector.get(F.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToRange(i.getRange(),{...t,componentKey:s,unitId:n,subUnitId:a},e,r);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(i,t,e,r){const n=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:s,disposableCollection:d}=b.transformComponentKey(t,this._injector.get(F.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(i,{...t,componentKey:s,unitId:n,subUnitId:a},e,r);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}async insertImage(i,t,e,r,n){const a=this.newOverGridImage();if(typeof i=="string")a.setSource(i);else{const u=await i.getBlob().getDataAsString();a.setSource(u,c.ImageSourceType.BASE64)}t!==void 0?a.setColumn(t):a.setColumn(0),e!==void 0?a.setRow(e):a.setRow(0),r!==void 0?a.setColumnOffset(r):a.setColumnOffset(0),n!==void 0?a.setRowOffset(n):a.setRowOffset(0);const s=await a.buildAsync();return this._commandService.syncExecuteCommand(g.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[s]})}insertImages(i){const t=i.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(g.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(g.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){const t=this._injector.get(w.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const r in t){const n=t[r];n.drawingType===c.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(p,n))}return e}getImageById(i){const e=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:i});return e&&e.drawingType===c.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(p,e):null}getActiveImages(){const t=this._injector.get(w.ISheetDrawingService).getFocusDrawings(),e=[];for(const r in t){const n=t[r];e.push(this._injector.createInstance(p,n))}return e}updateImages(i){return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:i}),this}onImageInserted(i){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.add$.subscribe(e=>{const r=e.map(n=>this._injector.createInstance(p,t.getDrawingByParam(n)));i(r)}))}onImageDeleted(i){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.remove$.subscribe(e=>{const r=e.map(n=>this._injector.createInstance(p,t.getDrawingByParam(n)));i(r)}))}onImageChanged(i){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.update$.subscribe(e=>{const r=e.map(n=>this._injector.createInstance(p,t.getDrawingByParam(n)));i(r)}))}newOverGridImage(){const i=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(y,i,t)}}C.FWorksheet.extend(M);class x extends l.FEnum{get DrawingType(){return c.DrawingTypeEnum}get ImageSourceType(){return c.ImageSourceType}get SheetDrawingAnchorType(){return w.SheetDrawingAnchorType}}l.FEnum.extend(x);class P extends l.FEventName{get BeforeFloatDomAdd(){return"BeforeFloatDomAdd"}get FloatDomAdded(){return"FloatDomAdded"}get BeforeFloatDomUpdate(){return"BeforeFloatDomUpdate"}get FloatDomUpdated(){return"FloatDomUpdated"}get BeforeFloatDomDelete(){return"BeforeFloatDomDelete"}get FloatDomDeleted(){return"FloatDomDeleted"}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"}}l.FEventName.extend(P);class W extends l.FUniver{_initialize(i){const t=i.get(c.ICommandService);this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=a.filter(u=>u.drawingType===c.DrawingTypeEnum.DRAWING_DOM);if(s.length===0)return;const d={workbook:n,drawings:s};if(this.fireEvent(this.Event.BeforeFloatDomAdd,d),d.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomAdded,()=>t.onCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=a.filter(d=>d.drawingType===c.DrawingTypeEnum.DRAWING_DOM);s.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:n,drawings:s})})),this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s={workbook:n,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,s),s.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const a=i.get(v.IDrawingManagerService),{drawings:s}=r,d=s.map(m=>a.getDrawingByParam(m)),u={workbook:n,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=[];a.forEach(m=>{const h=s.getDrawingByParam(m);h!=null&&d.push({changeParam:m,image:this._injector.createInstance(p,h)})});const u={workbook:n,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw s.updateNotification(a),new c.CanceledError})),this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=[];if(a.forEach(m=>{const h=s.getDrawingByParam(m);(h==null?void 0:h.drawingType)===c.DrawingTypeEnum.DRAWING_DOM&&d.push(h)}),d.length===0)return;const u={workbook:n,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,u),u.cancel)throw s.updateNotification(a),new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomUpdated,()=>t.onCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=[];a.forEach(u=>{const m=s.getDrawingByParam(u);(m==null?void 0:m.drawingType)===c.DrawingTypeEnum.DRAWING_DOM&&d.push(m)}),d.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:n,drawings:d})})),this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const a=i.get(v.IDrawingManagerService),{drawings:s}=r,d=s.map(m=>a.getDrawingByParam(m)).filter(m=>(m==null?void 0:m.drawingType)===c.DrawingTypeEnum.DRAWING_DOM);if(d.length===0)return;const u={workbook:n,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomDelete,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomDeleted,()=>t.onCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r;this.fireEvent(this.Event.FloatDomDeleted,{workbook:n,drawings:a.filter(s=>s.drawingType===c.DrawingTypeEnum.DRAWING_DOM).map(s=>s.drawingId)})})),this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null)return;const a=i.get(v.IDrawingManagerService),s=a.getFocusDrawings(),d=r.map(m=>a.getDrawingByParam(m)),u={workbook:n,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r;this.fireEvent(this.Event.OverGridImageInserted,{workbook:n,images:this._createFOverGridImage(a)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:n,removeImageParams:a})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=a.map(u=>this._injector.createInstance(p,s.getDrawingByParam(u)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:n,images:d})})),this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null)return;const a=i.get(v.IDrawingManagerService),s=r.map(d=>a.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:n,selectedImages:this._createFOverGridImage(s)})}))}_createFOverGridImage(i){return i.map(t=>this._injector.createInstance(p,t))}}l.FUniver.extend(W);class U extends C.FRange{async insertCellImageAsync(i){var n;const t=this._injector.get(E.IRenderManagerService),e=(n=E.getCurrentTypeOfRenderer(c.UniverInstanceType.UNIVER_SHEET,this._injector.get(c.IUniverInstanceService),t))==null?void 0:n.with(g.SheetDrawingUpdateController);if(!e)return!1;const r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof i=="string"?e.insertCellImageByUrl(i,r):e.insertCellImageByFile(i,r)}}C.FRange.extend(U)});
|