@univerjs/sheets-drawing-ui 0.19.0 → 0.20.0

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.
Files changed (30) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +2 -2
  3. package/lib/es/facade.js +1 -1
  4. package/lib/es/index.js +2 -2
  5. package/lib/facade.js +1 -1
  6. package/lib/index.js +2 -2
  7. package/lib/types/controllers/render-controllers/sheet-drawing.render-controller.d.ts +3 -4
  8. package/lib/types/controllers/sheet-drawing-copy-paste.controller.d.ts +3 -1
  9. package/lib/types/controllers/sheet-drawing-group-copy-paste.controller.d.ts +3 -1
  10. package/lib/types/controllers/sheet-drawing-transform-affected.controller.d.ts +5 -6
  11. package/lib/types/controllers/sheet-drawing-update.controller.d.ts +5 -4
  12. package/lib/types/controllers/sheet-drawing.controller.d.ts +1 -5
  13. package/lib/types/facade/f-event.d.ts +24 -261
  14. package/lib/types/facade/f-range.d.ts +3 -3
  15. package/lib/types/facade/f-univer.d.ts +3 -4
  16. package/lib/types/facade/f-worksheet.d.ts +4 -211
  17. package/lib/types/facade/index.d.ts +0 -4
  18. package/lib/types/index.d.ts +0 -7
  19. package/lib/umd/facade.js +1 -1
  20. package/lib/umd/index.js +2 -2
  21. package/package.json +13 -13
  22. package/lib/types/basics/transform-position.d.ts +0 -32
  23. package/lib/types/commands/commands/insert-sheet-drawing.command.d.ts +0 -20
  24. package/lib/types/commands/commands/interfaces.d.ts +0 -35
  25. package/lib/types/commands/commands/remove-sheet-drawing.command.d.ts +0 -20
  26. package/lib/types/commands/commands/set-drawing-arrange.command.d.ts +0 -25
  27. package/lib/types/commands/commands/set-sheet-drawing.command.d.ts +0 -20
  28. package/lib/types/commands/operations/clear-drawing-transformer.operation.d.ts +0 -17
  29. package/lib/types/facade/f-enum.d.ts +0 -38
  30. package/lib/types/facade/f-over-grid-image.d.ts +0 -603
@@ -13,15 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IDisposable, ITransformState, Nullable } from '@univerjs/core';
17
- import type { IFBlobSource } from '@univerjs/core/facade';
18
- import type { ISheetImage } from '@univerjs/sheets-drawing';
16
+ import type { ITransformState, Nullable } from '@univerjs/core';
19
17
  import type { ICanvasFloatDom, ICanvasFloatDomInfo, IDOMAnchor } from '@univerjs/sheets-drawing-ui';
20
18
  import type { IFComponentKey } from '@univerjs/sheets-ui/facade';
21
19
  import type { FRange } from '@univerjs/sheets/facade';
22
20
  import type { ISaveCellImagesOptions } from './f-range';
23
21
  import { FWorksheet } from '@univerjs/sheets/facade';
24
- import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
25
22
  export interface IFICanvasFloatDom extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId'>, IFComponentKey {
26
23
  }
27
24
  export interface IFCanvasFloatDomResult extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId' | 'initPosition'>, IFComponentKey, Pick<ICanvasFloatDomInfo, 'id'> {
@@ -31,7 +28,7 @@ export interface IFCanvasFloatDomResult extends Omit<ICanvasFloatDom, 'component
31
28
  /**
32
29
  * @ignore
33
30
  */
34
- export interface IFWorksheetLegacy {
31
+ export interface IFWorksheetDrawingUIMixin {
35
32
  /**
36
33
  * Get float dom by id
37
34
  * @param {string} id - float dom id
@@ -368,199 +365,6 @@ export interface IFWorksheetLegacy {
368
365
  id: string;
369
366
  dispose: () => void;
370
367
  }>;
371
- /**
372
- * Insert an image to the sheet
373
- * @param {string} url - The image url
374
- * @returns true if the image is inserted successfully
375
- * @example
376
- * ```ts
377
- * // Insert an image to the sheet, default position is A1
378
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
379
- * const result = await fWorksheet.insertImage('https://avatars.githubusercontent.com/u/61444807?s=48&v=4');
380
- * console.log(result);
381
- * ```
382
- */
383
- insertImage(url: string): Promise<boolean>;
384
- /**
385
- * @param {string} url - The image url
386
- * @param {number} column - The column index to insert the image
387
- * @param {number} row - The row index to insert the image
388
- * @returns True if the image is inserted successfully
389
- * @example
390
- * ```ts
391
- * // Insert an image to the sheet, position is F6
392
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
393
- * const result = await fWorksheet.insertImage('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', 5, 5);
394
- * console.log(result);
395
- * ```
396
- */
397
- insertImage(url: string, column: number, row: number): Promise<boolean>;
398
- /**
399
- * @param {string} url - The image url
400
- * @param {number} column - The column index to insert the image
401
- * @param {number} row - The row index to insert the image
402
- * @param {number} offsetX - The column offset, pixel unit
403
- * @param {number} offsetY - The row offset, pixel unit
404
- * @returns True if the image is inserted successfully
405
- * @example
406
- * ```ts
407
- * // Insert an image to the sheet, position is F6, offset is 10px
408
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
409
- * const result = await fWorksheet.insertImage('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', 5, 5, 10, 10);
410
- * console.log(result);
411
- * ```
412
- */
413
- insertImage(url: string, column: number, row: number, offsetX: number, offsetY: number): Promise<boolean>;
414
- insertImage(url: IFBlobSource): Promise<boolean>;
415
- insertImage(url: IFBlobSource, column: number, row: number): Promise<boolean>;
416
- insertImage(url: IFBlobSource, column: number, row: number, offsetX: number, offsetY: number): Promise<boolean>;
417
- insertImage(url: IFBlobSource | string, column: number, row: number, offsetX: number, offsetY: number): Promise<boolean>;
418
- /**
419
- * Insert images to the sheet
420
- * @param {ISheetImage[]} sheetImages - The images to insert
421
- * @returns {FWorksheet} The FWorksheet instance for chaining
422
- * @example
423
- * ```ts
424
- * // create a new image builder and set image source.
425
- * // then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 500px, height is 300px
426
- * const fWorkbook = univerAPI.getActiveWorkbook();
427
- * const fWorksheet = fWorkbook.getActiveSheet();
428
- * const image = await fWorksheet.newOverGridImage()
429
- * .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
430
- * .setColumn(5)
431
- * .setRow(5)
432
- * .setWidth(500)
433
- * .setHeight(300)
434
- * .buildAsync();
435
- * fWorksheet.insertImages([image]);
436
- *
437
- * // update the image width to 100px and height to 50px
438
- * setTimeout(async () => {
439
- * const imageBuilder = fWorksheet.getImageById(image.drawingId).toBuilder();
440
- * const newImage = await imageBuilder.setWidth(100).setHeight(50).buildAsync();
441
- * fWorksheet.updateImages([newImage]);
442
- * }, 4000);
443
- * ```
444
- */
445
- insertImages(sheetImages: ISheetImage[]): FWorksheet;
446
- /**
447
- * Get all images of the sheet.
448
- * @returns {FOverGridImage[]} The FOverGridImage instances
449
- * @example
450
- * ```ts
451
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
452
- * const images = fWorksheet.getImages();
453
- * images.forEach((image) => {
454
- * console.log(image, image.getId());
455
- * });
456
- * ```
457
- */
458
- getImages(): FOverGridImage[];
459
- /**
460
- * Get image by drawing id
461
- * @param {string} id - The drawing id of the image
462
- * @returns {FOverGridImage | null} The FOverGridImage instance
463
- * @example
464
- * ```ts
465
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
466
- * const image = fWorksheet.getImageById('xxxx');
467
- * console.log(image);
468
- * ```
469
- */
470
- getImageById(id: string): FOverGridImage | null;
471
- /**
472
- * Delete images from the sheet
473
- * @param {FOverGridImage[]} sheetImages - The images to delete
474
- * @returns {FWorksheet} The FWorksheet instance for chaining
475
- * @example
476
- * ```ts
477
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
478
- * const image = fWorksheet.getImages()[0];
479
- *
480
- * // Delete the first image of the sheet
481
- * fWorksheet.deleteImages([image]);
482
- * ```
483
- */
484
- deleteImages(sheetImages: FOverGridImage[]): FWorksheet;
485
- /**
486
- * Update images to the sheet
487
- * @param {ISheetImage[]} sheetImages - The images to update
488
- * @returns {FWorksheet} The FWorksheet instance for chaining
489
- * @example
490
- * ```ts
491
- * // create a new image builder and set image source.
492
- * // then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 500px, height is 300px
493
- * const fWorkbook = univerAPI.getActiveWorkbook();
494
- * const fWorksheet = fWorkbook.getActiveSheet();
495
- * const image = await fWorksheet.newOverGridImage()
496
- * .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
497
- * .setColumn(5)
498
- * .setRow(5)
499
- * .setWidth(500)
500
- * .setHeight(300)
501
- * .buildAsync();
502
- * fWorksheet.insertImages([image]);
503
- *
504
- * // update the image width to 100px and height to 50px after 4 seconds
505
- * setTimeout(async () => {
506
- * const imageBuilder = fWorksheet.getImageById(image.drawingId).toBuilder();
507
- * const newImage = await imageBuilder.setWidth(100).setHeight(50).buildAsync();
508
- * fWorksheet.updateImages([newImage]);
509
- * }, 4000);
510
- * ```
511
- */
512
- updateImages(sheetImages: ISheetImage[]): FWorksheet;
513
- /**
514
- * Get the current selected images.
515
- * @returns {FOverGridImage[]} The FOverGridImage instances
516
- * @example
517
- * ```ts
518
- * const fWorksheet = univerAPI.getActiveWorkbook().getActiveSheet();
519
- * const images = fWorksheet.getActiveImages();
520
- * images.forEach((image) => {
521
- * console.log(image, image.getId());
522
- * });
523
- * ```
524
- */
525
- getActiveImages(): FOverGridImage[];
526
- /**
527
- * Hook when a image is inserted.
528
- * @param {function(FOverGridImage[]: void)} callback - The callback function when a image is inserted.
529
- * @deprecated use `univerAPI.addEvent(univerAPI.Event.OverGridImageInserted, (params) => {})` as instead
530
- */
531
- onImageInserted(callback: (images: FOverGridImage[]) => void): IDisposable;
532
- /**
533
- * Hook when a image is deleted.
534
- * @param {function(FOverGridImage[]: void)} callback - The callback function when a image is deleted.
535
- * @deprecated use `univerAPI.addEvent(univerAPI.Event.OverGridImageRemoved, (params) => {})` as instead
536
- */
537
- onImageDeleted(callback: (images: FOverGridImage[]) => void): IDisposable;
538
- /**
539
- * Hook when a image is changed.
540
- * @param {function(FOverGridImage[]: void)} callback - The callback function when a image is changed.
541
- * @deprecated use `univerAPI.addEvent(univerAPI.Event.OverGridImageChanged, (params) => {})` as instead
542
- */
543
- onImageChanged(callback: (images: FOverGridImage[]) => void): IDisposable;
544
- /**
545
- * Create a new over grid image builder.
546
- * @returns {FOverGridImageBuilder} The FOverGridImageBuilder instance
547
- * @example
548
- * ```ts
549
- * // create a new image builder and set image source.
550
- * // then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 500px, height is 300px
551
- * const fWorkbook = univerAPI.getActiveWorkbook();
552
- * const fWorksheet = fWorkbook.getActiveSheet();
553
- * const image = await fWorksheet.newOverGridImage()
554
- * .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
555
- * .setColumn(5)
556
- * .setRow(5)
557
- * .setWidth(500)
558
- * .setHeight(300)
559
- * .buildAsync();
560
- * fWorksheet.insertImages([image]);
561
- * ```
562
- */
563
- newOverGridImage(): FOverGridImageBuilder;
564
368
  /**
565
369
  * Save all cell images from specified ranges to the file system.
566
370
  * This method will open a directory picker dialog and save all images to the selected directory.
@@ -589,7 +393,7 @@ export interface IFWorksheetLegacy {
589
393
  */
590
394
  saveCellImagesAsync(options?: ISaveCellImagesOptions, ranges?: FRange[]): Promise<boolean>;
591
395
  }
592
- export declare class FWorksheetLegacy extends FWorksheet implements IFWorksheetLegacy {
396
+ export declare class FWorksheetDrawingUIMixin extends FWorksheet implements IFWorksheetDrawingUIMixin {
593
397
  getFloatDomById(id: string): Nullable<IFCanvasFloatDomResult>;
594
398
  getAllFloatDoms(): IFCanvasFloatDomResult[];
595
399
  updateFloatDom(id: string, config: Partial<Omit<IFCanvasFloatDomResult, 'id'>>): this;
@@ -610,20 +414,9 @@ export declare class FWorksheetLegacy extends FWorksheet implements IFWorksheetL
610
414
  id: string;
611
415
  dispose: () => void;
612
416
  }>;
613
- insertImage(url: IFBlobSource | string, column?: number, row?: number, offsetX?: number, offsetY?: number): Promise<boolean>;
614
- insertImages(sheetImages: ISheetImage[]): FWorksheet;
615
- deleteImages(sheetImages: FOverGridImage[]): FWorksheet;
616
- getImages(): FOverGridImage[];
617
- getImageById(id: string): FOverGridImage | null;
618
- getActiveImages(): FOverGridImage[];
619
- updateImages(sheetImages: ISheetImage[]): FWorksheet;
620
- onImageInserted(callback: (images: FOverGridImage[]) => void): IDisposable;
621
- onImageDeleted(callback: (images: FOverGridImage[]) => void): IDisposable;
622
- onImageChanged(callback: (images: FOverGridImage[]) => void): IDisposable;
623
- newOverGridImage(): FOverGridImageBuilder;
624
417
  saveCellImagesAsync(options?: ISaveCellImagesOptions, ranges?: FRange[]): Promise<boolean>;
625
418
  }
626
419
  declare module '@univerjs/sheets/facade' {
627
- interface FWorksheet extends IFWorksheetLegacy {
420
+ interface FWorksheet extends IFWorksheetDrawingUIMixin {
628
421
  }
629
422
  }
@@ -13,15 +13,11 @@
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';
17
16
  import './f-worksheet';
18
- import './f-enum';
19
17
  import './f-event';
20
18
  import './f-univer';
21
19
  import './f-range';
22
- export type * from './f-enum';
23
20
  export type * from './f-event';
24
- export type * from './f-over-grid-image';
25
21
  export type * from './f-range';
26
22
  export type * from './f-univer';
27
23
  export type * from './f-worksheet';
@@ -14,19 +14,12 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import './global.css';
17
- export { drawingPositionToTransform, transformToAxisAlignPosition, transformToDrawingPosition } from './basics/transform-position';
18
17
  export { DeleteDrawingsCommand } from './commands/commands/delete-drawings.command';
19
18
  export { GroupSheetDrawingCommand } from './commands/commands/group-sheet-drawing.command';
20
19
  export { type IInsertImageCommandParams, InsertFloatImageCommand } from './commands/commands/insert-image.command';
21
- export { InsertSheetDrawingCommand } from './commands/commands/insert-sheet-drawing.command';
22
- export type { IDeleteDrawingCommandParams, IInsertDrawingCommandParams, ISetDrawingCommandParams } from './commands/commands/interfaces';
23
20
  export { MoveDrawingsCommand } from './commands/commands/move-drawings.command';
24
- export { RemoveSheetDrawingCommand } from './commands/commands/remove-sheet-drawing.command';
25
21
  export { SaveCellImagesCommand } from './commands/commands/save-cell-images.command';
26
- export { SetDrawingArrangeCommand } from './commands/commands/set-drawing-arrange.command';
27
- export { SetSheetDrawingCommand } from './commands/commands/set-sheet-drawing.command';
28
22
  export { UngroupSheetDrawingCommand } from './commands/commands/ungroup-sheet-drawing.command';
29
- export { ClearSheetDrawingTransformerOperation } from './commands/operations/clear-drawing-transformer.operation';
30
23
  export { EditSheetDrawingOperation } from './commands/operations/edit-sheet-drawing.operation';
31
24
  export { SidebarSheetDrawingOperation } from './commands/operations/open-drawing-panel.operation';
32
25
  export type { IUniverSheetsDrawingUIConfig } from './config/config';
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(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`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCore,e.UniverCoreFacade,e.UniverDrawing,e.UniverEngineRender,e.UniverSheetsDrawingUi,e.UniverSheetsUi,e.UniverSheetsDrawing,e.UniverSheetsUiFacade,e.UniverSheetsFacade,e.UniverUi))})(this,function(e,t,n,r,i,a,o,s,c,l){function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return function(n,r){t(n,r,e)}}function h(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function g(e,t){let{from:n,to:r,flipY:i=!1,flipX:o=!1,angle:s=0,skewX:c=0,skewY:l=0}=e.sheetTransform,{column:u,columnOffset:d,row:f,rowOffset:p}=n,{width:m,height:h}=(0,a.convertPositionSheetOverGridToAbsolute)(e.unitId,e.subUnitId,{from:n,to:r},t);return{...e,column:u,columnOffset:d,row:f,rowOffset:p,width:m,height:h,flipY:i,flipX:o,angle:s,skewX:c,skewY:l}}function _(e,t,n){let{column:r,columnOffset:o,row:s,rowOffset:c,flipY:l=!1,flipX:u=!1,angle:d=0,skewX:f=0,skewY:p=0,width:m,height:h}=e,{sheetTransform:g,transform:_}=(0,a.convertPositionCellToSheetOverGrid)(e.unitId,e.subUnitId,{column:r,columnOffset:o,row:s,rowOffset:c},m,h,t,n);return{...e,sheetTransform:{...g,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},transform:{..._,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},axisAlignSheetTransform:(0,i.transformToAxisAlignPosition)(_,t)}}let v=class{constructor(t,n,r){this._injector=r,p(this,`_image`,void 0),this._image={drawingId:(0,e.generateRandomId)(6),drawingType:e.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:e.ImageSourceType.BASE64,source:``,unitId:t,subUnitId:n,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}}}setImage(e){let t=this._injector.get(r.IRenderManagerService).getRenderById(e.unitId);if(!t)throw Error(`Render Unit with unitId ${e.unitId} not found`);let n=t.with(a.SheetSkeletonManagerService);return e.sheetTransform==null&&(e.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),e.axisAlignSheetTransform==null&&(e.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=g(e,n),this}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,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 buildAsync(){let e=this._injector.get(r.IRenderManagerService).getRenderById(this._image.unitId);if(!e)throw Error(`Render Unit with unitId ${this._image.unitId} not found`);let t=e.with(a.ISheetSelectionRenderService),i=e.with(a.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){let e=await(0,n.getImageSize)(this._image.source),t=e.width,r=e.height;this._image.width===0&&(this._image.width=t),this._image.height===0&&(this._image.height=r)}return _(this._image,t,i)}};v=h([m(2,(0,e.Inject)(e.Injector))],v);let y=class extends t.FBase{constructor(e,t,n){super(),this._image=e,this._commandService=t,this._injector=n}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){let e=this._injector.createInstance(v);return e.setImage(this._image),e}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(e,t,n,r){let a=this.toBuilder();a.setColumn(t),a.setRow(e),n!=null&&a.setRowOffset(n),r!=null&&a.setColumnOffset(r);let o=await a.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[o]})}async setSizeAsync(e,t){let n=this.toBuilder();n.setWidth(e),n.setHeight(t);let r=await n.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(e,t,n,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),e!=null&&(this._image.srcRect.top=e),t!=null&&(this._image.srcRect.left=t),n!=null&&(this._image.srcRect.bottom=n),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){if(this._image.sheetTransform.angle=e,this._image.transform&&(this._image.transform.angle=e),this._image.transform){let e=this._injector.get(r.IRenderManagerService).getRenderById(this._image.unitId);if(!e)throw Error(`Render Unit with unitId ${this._image.unitId} not found`);let t=e.with(a.ISheetSelectionRenderService);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=(0,i.transformToAxisAlignPosition)(this._image.transform,t))}return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.front})}};y=h([m(1,e.ICommandService),m(2,(0,e.Inject)(e.Injector))],y);var b=class extends c.FWorksheet{getFloatDomById(e){let t=this._injector.get(i.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!t)return null;let{unitId:n,subUnitId:r}=t,{rect:a}=t,{left:s=0,top:c=0,width:l=0,height:u=0,flipX:d=!1,flipY:f=!1,angle:p=0,skewX:m=0,skewY:h=0}=a.getState(),g=this._injector.get(o.ISheetDrawingService).getDrawingByParam({drawingId:t.id,unitId:n,subUnitId:r});return g?{position:{left:s,top:c,width:l,height:u,flipX:d,flipY:f,angle:p,skewX:m,skewY:h},componentKey:g.componentKey,allowTransform:g.allowTransform,data:g.data,id:t.id}:null}getAllFloatDoms(){let e=this._injector.get(i.SheetCanvasFloatDomManagerService),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return Array.from(e.getFloatDomsBySubUnitId(t,n).values()).map(e=>{let{rect:r}=e,i=this._injector.get(o.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:t,subUnitId:n}),{left:a,top:s,width:c,height:l,flipX:u,flipY:d,angle:f,skewX:p,skewY:m}=r.getState();return{position:{left:a,top:s,width:c,height:l,flipX:u,flipY:d,angle:f,skewX:p,skewY:m},componentKey:i.componentKey,allowTransform:i.allowTransform,data:i.data,id:e.id}})}updateFloatDom(e,t){var n,s,c;let l=this._injector.get(i.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!l)return this;let{unitId:u,subUnitId:d}=l,f=this._injector.get(o.ISheetDrawingService).getDrawingByParam({unitId:u,subUnitId:d,drawingId:e}),p=this._injector.get(r.IRenderManagerService);if(!p.getRenderById(u)||!this.getSkeleton())return this;let m=(n=p.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:n.with(a.ISheetSelectionRenderService);if(!m)return this;let h={...f,componentKey:t.componentKey||f.componentKey,allowTransform:t.allowTransform===void 0?f.allowTransform:t.allowTransform,data:t.data||f.data,sheetTransform:t.position?(s=(0,i.transformToDrawingPosition)(t.position,m))==null?f.sheetTransform:s:f.sheetTransform,transform:{...f.transform,...t.position},axisAlignSheetTransform:t.position?(c=(0,i.transformToAxisAlignPosition)(t.position,m))==null?f.sheetTransform:c:f.sheetTransform};if(!this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:u,subUnitId:d,drawings:[h]}))throw Error(`updateFloatDom failed`);return this}batchUpdateFloatDoms(e){let t=this._injector.get(i.SheetCanvasFloatDomManagerService),n=this._injector.get(o.ISheetDrawingService),s=this._injector.get(r.IRenderManagerService),c=[];for(let r of e){var l,u;let e=t.getFloatDomInfo(r.id);if(!e)continue;let{unitId:o,subUnitId:d}=e,f=n.getDrawingByParam({unitId:o,subUnitId:d,drawingId:r.id});if(!f)continue;let p=s.getRenderById(o);if(!p||!this.getSkeleton())continue;let m=p.with(a.ISheetSelectionRenderService);if(!m)return this;let h={...f,componentKey:r.config.componentKey||f.componentKey,allowTransform:r.config.allowTransform===void 0?f.allowTransform:r.config.allowTransform,data:r.config.data||f.data,sheetTransform:r.config.position?(l=(0,i.transformToDrawingPosition)(r.config.position,m))==null?f.sheetTransform:l:f.sheetTransform,transform:{...f.transform,...r.config.position},axisAlignSheetTransform:r.config.position?(u=(0,i.transformToAxisAlignPosition)(r.config.position,m))==null?f.sheetTransform:u:f.sheetTransform};c.push(h)}if(c.length>0){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:e,subUnitId:t,drawings:c}))throw Error(`batchUpdateFloatDoms failed`)}return this}removeFloatDom(e){let t=this._injector.get(i.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!t)return this;let{unitId:n,subUnitId:r}=t,a=this._injector.get(o.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:r,drawingId:e});if(!a)return this;if(!this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:n,drawings:[a]}))throw Error(`removeFloatDom failed`);return this}addFloatDomToPosition(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=(0,s.transformComponentKey)(e,this._injector.get(l.ComponentManager)),c=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...e,componentKey:a,unitId:n,subUnitId:r},t);return c?(o.add(c.dispose),{id:c.id,dispose:()=>{o.dispose(),c.dispose()}}):(o.dispose(),null)}addFloatDomToRange(e,t,n,r){let a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:c,disposableCollection:u}=(0,s.transformComponentKey)(t,this._injector.get(l.ComponentManager)),d=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToRange(e.getRange(),{...t,componentKey:c,unitId:a,subUnitId:o},n,r);return d?(u.add(d.dispose),{id:d.id,dispose:()=>{u.dispose(),d.dispose()}}):(u.dispose(),null)}addFloatDomToColumnHeader(e,t,n,r){let a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:c,disposableCollection:u}=(0,s.transformComponentKey)(t,this._injector.get(l.ComponentManager)),d=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(e,{...t,componentKey:c,unitId:a,subUnitId:o},n,r);return d?(u.add(d.dispose),{id:d.id,dispose:()=>{u.dispose(),d.dispose()}}):(u.dispose(),null)}async insertImage(t,n,r,a,o){let s=this.newOverGridImage();if(typeof t==`string`)s.setSource(t);else{let n=await t.getBlob().getDataAsString();s.setSource(n,e.ImageSourceType.BASE64)}n===void 0?s.setColumn(0):s.setColumn(n),r===void 0?s.setRow(0):s.setRow(r),a===void 0?s.setColumnOffset(0):s.setColumnOffset(a),o===void 0?s.setRowOffset(0):s.setRowOffset(o);let c=await s.buildAsync();return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(e){let t=e.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(e){let t=e.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){let t=this._injector.get(o.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),n=[];for(let r in t){let i=t[r];i.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE&&n.push(this._injector.createInstance(y,i))}return n}getImageById(t){let n=this._injector.get(o.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return n&&n.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(y,n):null}getActiveImages(){let e=this._injector.get(o.ISheetDrawingService).getFocusDrawings(),t=[];for(let n in e){let r=e[n];t.push(this._injector.createInstance(y,r))}return t}updateImages(e){return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}onImageInserted(t){let n=this._injector.get(o.ISheetDrawingService);return(0,e.toDisposable)(n.add$.subscribe(e=>{t(e.map(e=>this._injector.createInstance(y,n.getDrawingByParam(e))))}))}onImageDeleted(t){let n=this._injector.get(o.ISheetDrawingService);return(0,e.toDisposable)(n.remove$.subscribe(e=>{t(e.map(e=>this._injector.createInstance(y,n.getDrawingByParam(e))))}))}onImageChanged(t){let n=this._injector.get(o.ISheetDrawingService);return(0,e.toDisposable)(n.update$.subscribe(e=>{t(e.map(e=>this._injector.createInstance(y,n.getDrawingByParam(e))))}))}newOverGridImage(){let e=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(v,e,t)}async saveCellImagesAsync(e,t){var n;let r=this._injector.get(i.IBatchSaveImagesService),a=this._fWorkbook.getId(),o=this.getSheetId(),s=t?t.map(e=>e.getRange()):[this._worksheet.getCellMatrix().getDataRange()],c=r.getCellImagesFromRanges(a,o,s);if(c.length===0)return!1;if(c.length===1)try{return await r.downloadSingleImage(c[0]),!0}catch(e){return console.error(`Failed to download image:`,e),!1}let l=[],u=(n=e==null?void 0:e.useCellAddress)==null?!0:n,d=e==null?void 0:e.useColumnIndex;u&&l.push(i.FileNamePart.CELL_ADDRESS),d!==void 0&&l.push(i.FileNamePart.COLUMN_VALUE),l.length===0&&l.push(i.FileNamePart.CELL_ADDRESS);try{return await r.saveImagesWithContext(c,{fileNameParts:l,columnIndex:d},a,o),!0}catch(e){return console.error(`Failed to save images:`,e),!1}}};c.FWorksheet.extend(b);var x=class extends t.FEnum{get DrawingType(){return e.DrawingTypeEnum}get ImageSourceType(){return e.ImageSourceType}get SheetDrawingAnchorType(){return o.SheetDrawingAnchorType}};t.FEnum.extend(x);var S=class extends t.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`}};t.FEventName.extend(S);var C=class extends t.FUniver{_initialize(t){let r=t.get(e.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o=a.filter(t=>t.drawingType===e.DrawingTypeEnum.DRAWING_DOM);if(o.length===0)return;let s={workbook:r,drawings:o};if(this.fireEvent(this.Event.BeforeFloatDomAdd,s),s.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomAdded,()=>r.onCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o=a.filter(t=>t.drawingType===e.DrawingTypeEnum.DRAWING_DOM);o.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:r,drawings:o})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o={workbook:r,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,o),o.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)),u={workbook:o,images:this._createFOverGridImage(l)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(e=>{let t=c.getDrawingByParam(e);t!=null&&l.push({changeParam:e,image:this._injector.createInstance(y,t)})});let u={workbook:o,images:l};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];if(s.forEach(t=>{let n=c.getDrawingByParam(t);(n==null?void 0:n.drawingType)===e.DrawingTypeEnum.DRAWING_DOM&&l.push(n)}),l.length===0)return;let u={workbook:o,drawings:l};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomUpdated,()=>r.onCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(t=>{let n=c.getDrawingByParam(t);(n==null?void 0:n.drawingType)===e.DrawingTypeEnum.DRAWING_DOM&&l.push(n)}),l.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:o,drawings:l})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)).filter(t=>(t==null?void 0:t.drawingType)===e.DrawingTypeEnum.DRAWING_DOM);if(l.length===0)return;let u={workbook:o,drawings:l};if(this.fireEvent(this.Event.BeforeFloatDomDelete,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomDeleted,()=>r.onCommandExecuted(t=>{if(t.id!==i.RemoveSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n;this.fireEvent(this.Event.FloatDomDeleted,{workbook:r,drawings:a.filter(t=>t.drawingType===e.DrawingTypeEnum.DRAWING_DOM).map(e=>e.drawingId)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>r.beforeCommandExecuted(r=>{if(r.id!==n.SetDrawingSelectedOperation.id)return;let i=r.params,a=this.getActiveWorkbook();if(a==null)return;let o=t.get(n.IDrawingManagerService),s=o.getFocusDrawings(),c=i.map(e=>o.getDrawingByParam(e)),l={workbook:a,selectedImages:this._createFOverGridImage(c),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,l),l.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>r.onCommandExecuted(e=>{if(e.id!==i.InsertSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t;this.fireEvent(this.Event.OverGridImageInserted,{workbook:n,images:this._createFOverGridImage(r)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>r.onCommandExecuted(e=>{if(e.id!==i.RemoveSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:n,removeImageParams:r})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>r.onCommandExecuted(e=>{if(e.id!==i.SetSheetDrawingCommand.id)return;let r=e.params,a=this.getActiveWorkbook();if(a==null||r==null)return;let{drawings:o}=r,s=t.get(n.IDrawingManagerService),c=o.map(e=>this._injector.createInstance(y,s.getDrawingByParam(e)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:a,images:c})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>r.onCommandExecuted(e=>{if(e.id!==n.SetDrawingSelectedOperation.id)return;let r=e.params,i=this.getActiveWorkbook();if(i==null)return;let a=t.get(n.IDrawingManagerService),o=r.map(e=>a.getDrawingByParam(e));this.fireEvent(this.Event.OverGridImageSelected,{workbook:i,selectedImages:this._createFOverGridImage(o)})})))}_createFOverGridImage(e){return e.map(e=>this._injector.createInstance(y,e))}registerURLImageDownloader(t){return this._injector.get(e.IURLImageService).registerURLImageDownloader(t)}};t.FUniver.extend(C);var w=class extends c.FRange{async insertCellImageAsync(t){var n;let a=this._injector.get(r.IRenderManagerService),o=(n=(0,r.getCurrentTypeOfRenderer)(e.UniverInstanceType.UNIVER_SHEET,this._injector.get(e.IUniverInstanceService),a))==null?void 0:n.with(i.SheetDrawingUpdateController);if(!o)return!1;let s={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof t==`string`?o.insertCellImageByUrl(t,s):o.insertCellImageByFile(t,s)}async saveCellImagesAsync(e){var t;let n=this._injector.get(i.IBatchSaveImagesService),r=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=this.getRange(),s=n.getCellImagesFromRanges(r,a,[o]);if(s.length===0)return!1;if(s.length===1)try{return await n.downloadSingleImage(s[0]),!0}catch(e){return console.error(`Failed to download image:`,e),!1}let c=[],l=(t=e==null?void 0:e.useCellAddress)==null?!0:t,u=e==null?void 0:e.useColumnIndex;l&&c.push(i.FileNamePart.CELL_ADDRESS),u!==void 0&&c.push(i.FileNamePart.COLUMN_VALUE),c.length===0&&c.push(i.FileNamePart.CELL_ADDRESS);try{return await n.saveImagesWithContext(s,{fileNameParts:c,columnIndex:u},r,a),!0}catch(e){return console.error(`Failed to save images:`,e),!1}}};c.FRange.extend(w)});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require(`@univerjs/sheets`),require(`@univerjs/sheets-drawing`),require(`@univerjs/sheets-drawing-ui`),require(`@univerjs/sheets-ui/facade`),require(`@univerjs/sheets/facade`),require(`@univerjs/ui`),require(`@univerjs/core/facade`),require(`@univerjs/core`),require(`@univerjs/drawing`),require(`@univerjs/engine-render`)):typeof define==`function`&&define.amd?define([`@univerjs/sheets`,`@univerjs/sheets-drawing`,`@univerjs/sheets-drawing-ui`,`@univerjs/sheets-ui/facade`,`@univerjs/sheets/facade`,`@univerjs/ui`,`@univerjs/core/facade`,`@univerjs/core`,`@univerjs/drawing`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheets,e.UniverSheetsDrawing,e.UniverSheetsDrawingUi,e.UniverSheetsUiFacade,e.UniverSheetsFacade,e.UniverUi,e.UniverCoreFacade,e.UniverCore,e.UniverDrawing,e.UniverEngineRender))})(this,function(e,t,n,r,i,a,o,s,c,l){var u=class extends i.FWorksheet{getFloatDomById(e){let r=this._injector.get(n.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!r)return null;let{unitId:i,subUnitId:a}=r,{rect:o}=r,{left:s=0,top:c=0,width:l=0,height:u=0,flipX:d=!1,flipY:f=!1,angle:p=0,skewX:m=0,skewY:h=0}=o.getState(),g=this._injector.get(t.ISheetDrawingService).getDrawingByParam({drawingId:r.id,unitId:i,subUnitId:a});return g?{position:{left:s,top:c,width:l,height:u,flipX:d,flipY:f,angle:p,skewX:m,skewY:h},componentKey:g.componentKey,allowTransform:g.allowTransform,data:g.data,id:r.id}:null}getAllFloatDoms(){let e=this._injector.get(n.SheetCanvasFloatDomManagerService),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return Array.from(e.getFloatDomsBySubUnitId(r,i).values()).map(e=>{let{rect:n}=e,a=this._injector.get(t.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:r,subUnitId:i}),{left:o,top:s,width:c,height:l,flipX:u,flipY:d,angle:f,skewX:p,skewY:m}=n.getState();return{position:{left:o,top:s,width:c,height:l,flipX:u,flipY:d,angle:f,skewX:p,skewY:m},componentKey:a.componentKey,allowTransform:a.allowTransform,data:a.data,id:e.id}})}updateFloatDom(r,i){var a,o;let s=this._injector.get(e.SheetSkeletonService),c=this._injector.get(n.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!c)return this;let{unitId:l,subUnitId:u}=c,d=s.getSkeleton(l,u);if(!d)return this;let f=this._injector.get(t.ISheetDrawingService).getDrawingByParam({unitId:l,subUnitId:u,drawingId:r}),p={...f,componentKey:i.componentKey||f.componentKey,allowTransform:i.allowTransform===void 0?f.allowTransform:i.allowTransform,data:i.data||f.data,sheetTransform:i.position?(a=(0,t.transformToDrawingPosition)(i.position,d))==null?f.sheetTransform:a:f.sheetTransform,transform:{...f.transform,...i.position},axisAlignSheetTransform:i.position?(o=(0,t.transformToAxisAlignPosition)(i.position,d))==null?f.sheetTransform:o:f.sheetTransform};if(!this._commandService.syncExecuteCommand(t.SetSheetDrawingCommand.id,{unitId:l,subUnitId:u,drawings:[p]}))throw Error(`updateFloatDom failed`);return this}batchUpdateFloatDoms(r){let i=this._injector.get(n.SheetCanvasFloatDomManagerService),a=this._injector.get(t.ISheetDrawingService),o=this._injector.get(e.SheetSkeletonService),s=[];for(let e of r){var c,l;let n=i.getFloatDomInfo(e.id);if(!n)continue;let{unitId:r,subUnitId:u}=n,d=o.getSkeleton(r,u);if(!d)continue;let f=a.getDrawingByParam({unitId:r,subUnitId:u,drawingId:e.id});if(!f)continue;let p={...f,componentKey:e.config.componentKey||f.componentKey,allowTransform:e.config.allowTransform===void 0?f.allowTransform:e.config.allowTransform,data:e.config.data||f.data,sheetTransform:e.config.position?(c=(0,t.transformToDrawingPosition)(e.config.position,d))==null?f.sheetTransform:c:f.sheetTransform,transform:{...f.transform,...e.config.position},axisAlignSheetTransform:e.config.position?(l=(0,t.transformToAxisAlignPosition)(e.config.position,d))==null?f.sheetTransform:l:f.sheetTransform};s.push(p)}if(s.length>0){let e=this._workbook.getUnitId(),n=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(t.SetSheetDrawingCommand.id,{unitId:e,subUnitId:n,drawings:s}))throw Error(`batchUpdateFloatDoms failed`)}return this}removeFloatDom(e){let r=this._injector.get(n.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!r)return this;let{unitId:i,subUnitId:a}=r,o=this._injector.get(t.ISheetDrawingService).getDrawingByParam({unitId:i,subUnitId:a,drawingId:e});if(!o)return this;if(!this._commandService.syncExecuteCommand(t.RemoveSheetDrawingCommand.id,{unitId:i,drawings:[o]}))throw Error(`removeFloatDom failed`);return this}addFloatDomToPosition(e,t){let i=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:s,disposableCollection:c}=(0,r.transformComponentKey)(e,this._injector.get(a.ComponentManager)),l=this._injector.get(n.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...e,componentKey:s,unitId:i,subUnitId:o},t);return l?(c.add(l.dispose),{id:l.id,dispose:()=>{c.dispose(),l.dispose()}}):(c.dispose(),null)}addFloatDomToRange(e,t,i,o){let s=this._workbook.getUnitId(),c=this._worksheet.getSheetId(),{key:l,disposableCollection:u}=(0,r.transformComponentKey)(t,this._injector.get(a.ComponentManager)),d=this._injector.get(n.SheetCanvasFloatDomManagerService).addFloatDomToRange(e.getRange(),{...t,componentKey:l,unitId:s,subUnitId:c},i,o);return d?(u.add(d.dispose),{id:d.id,dispose:()=>{u.dispose(),d.dispose()}}):(u.dispose(),null)}addFloatDomToColumnHeader(e,t,i,o){let s=this._workbook.getUnitId(),c=this._worksheet.getSheetId(),{key:l,disposableCollection:u}=(0,r.transformComponentKey)(t,this._injector.get(a.ComponentManager)),d=this._injector.get(n.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(e,{...t,componentKey:l,unitId:s,subUnitId:c},i,o);return d?(u.add(d.dispose),{id:d.id,dispose:()=>{u.dispose(),d.dispose()}}):(u.dispose(),null)}async saveCellImagesAsync(e,t){var r;let i=this._injector.get(n.IBatchSaveImagesService),a=this._fWorkbook.getId(),o=this.getSheetId(),s=t?t.map(e=>e.getRange()):[this._worksheet.getCellMatrix().getDataRange()],c=i.getCellImagesFromRanges(a,o,s);if(c.length===0)return!1;if(c.length===1)try{return await i.downloadSingleImage(c[0]),!0}catch(e){return console.error(`Failed to download image:`,e),!1}let l=[],u=(r=e==null?void 0:e.useCellAddress)==null?!0:r,d=e==null?void 0:e.useColumnIndex;u&&l.push(n.FileNamePart.CELL_ADDRESS),d!==void 0&&l.push(n.FileNamePart.COLUMN_VALUE),l.length===0&&l.push(n.FileNamePart.CELL_ADDRESS);try{return await i.saveImagesWithContext(c,{fileNameParts:l,columnIndex:d},a,o),!0}catch(e){return console.error(`Failed to save images:`,e),!1}}};i.FWorksheet.extend(u);var d=class extends o.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`}};o.FEventName.extend(d);var f=class extends o.FUniver{_initialize(e){let n=e.get(s.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>n.beforeCommandExecuted(e=>{if(e.id!==t.InsertSheetDrawingCommand.id)return;let n=e.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:i}=n,a=i.filter(e=>e.drawingType===s.DrawingTypeEnum.DRAWING_DOM);if(a.length===0)return;let o={workbook:r,drawings:a};if(this.fireEvent(this.Event.BeforeFloatDomAdd,o),o.cancel)throw new s.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomAdded,()=>n.onCommandExecuted(e=>{if(e.id!==t.InsertSheetDrawingCommand.id)return;let n=e.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:i}=n,a=i.filter(e=>e.drawingType===s.DrawingTypeEnum.DRAWING_DOM);if(a.length===0)return;let o={workbook:r,drawings:a};this.fireEvent(this.Event.FloatDomAdded,o)}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>n.beforeCommandExecuted(n=>{if(n.id!==t.SetSheetDrawingCommand.id)return;let r=n.params,i=this.getActiveWorkbook();if(i==null||r==null)return;let{drawings:a}=r,o=e.get(c.IDrawingManagerService),l=[];if(a.forEach(e=>{let t=o.getDrawingByParam(e);(t==null?void 0:t.drawingType)===s.DrawingTypeEnum.DRAWING_DOM&&l.push(t)}),l.length===0)return;let u={workbook:i,drawings:l};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,u),u.cancel)throw o.updateNotification(a),new s.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomUpdated,()=>n.onCommandExecuted(n=>{if(n.id!==t.SetSheetDrawingCommand.id)return;let r=n.params,i=this.getActiveWorkbook();if(i==null||r==null)return;let{drawings:a}=r,o=e.get(c.IDrawingManagerService),l=[];if(a.forEach(e=>{let t=o.getDrawingByParam(e);(t==null?void 0:t.drawingType)===s.DrawingTypeEnum.DRAWING_DOM&&l.push(t)}),l.length===0)return;let u={workbook:i,drawings:l};this.fireEvent(this.Event.FloatDomUpdated,u)}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>n.beforeCommandExecuted(n=>{if(n.id!==t.RemoveSheetDrawingCommand.id)return;let r=n.params,i=this.getActiveWorkbook();if(i==null||r==null)return;let a=e.get(c.IDrawingManagerService),{drawings:o}=r,l=o.map(e=>a.getDrawingByParam(e)).filter(e=>(e==null?void 0:e.drawingType)===s.DrawingTypeEnum.DRAWING_DOM);if(l.length===0)return;let u={workbook:i,drawings:l};if(this.fireEvent(this.Event.BeforeFloatDomDelete,u),u.cancel)throw new s.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomDeleted,()=>n.onCommandExecuted(e=>{if(e.id!==t.RemoveSheetDrawingCommand.id)return;let n=e.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:i}=n,a={workbook:r,drawings:i.filter(e=>e.drawingType===s.DrawingTypeEnum.DRAWING_DOM).map(e=>e.drawingId)};this.fireEvent(this.Event.FloatDomDeleted,a)})))}registerURLImageDownloader(e){return this._injector.get(s.IURLImageService).registerURLImageDownloader(e)}};o.FUniver.extend(f);var p=class extends i.FRange{async insertCellImageAsync(e){var t;let r=this._injector.get(l.IRenderManagerService),i=(t=(0,l.getCurrentTypeOfRenderer)(s.UniverInstanceType.UNIVER_SHEET,this._injector.get(s.IUniverInstanceService),r))==null?void 0:t.with(n.SheetDrawingUpdateController);if(!i)return!1;let a={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof e==`string`?i.insertCellImageByUrl(e,a):i.insertCellImageByFile(e,a)}async saveCellImagesAsync(e){var t;let r=this._injector.get(n.IBatchSaveImagesService),i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=this.getRange(),s=r.getCellImagesFromRanges(i,a,[o]);if(s.length===0)return!1;if(s.length===1)try{return await r.downloadSingleImage(s[0]),!0}catch(e){return console.error(`Failed to download image:`,e),!1}let c=[],l=(t=e==null?void 0:e.useCellAddress)==null?!0:t,u=e==null?void 0:e.useColumnIndex;l&&c.push(n.FileNamePart.CELL_ADDRESS),u!==void 0&&c.push(n.FileNamePart.COLUMN_VALUE),c.length===0&&c.push(n.FileNamePart.CELL_ADDRESS);try{return await r.saveImagesWithContext(s,{fileNameParts:c,columnIndex:u},i,a),!0}catch(e){return console.error(`Failed to save images:`,e),!1}}};i.FRange.extend(p)});