@univerjs/sheets-drawing-ui 0.5.4-nightly.202501200849 → 0.5.5-experimental.20250122-3362a4a

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 (39) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +1 -9
  3. package/lib/cjs/locale/en-US.js +1 -1
  4. package/lib/cjs/locale/fa-IR.js +1 -1
  5. package/lib/cjs/locale/fr-FR.js +1 -1
  6. package/lib/cjs/locale/ru-RU.js +1 -1
  7. package/lib/cjs/locale/vi-VN.js +1 -1
  8. package/lib/cjs/locale/zh-CN.js +1 -1
  9. package/lib/cjs/locale/zh-TW.js +1 -1
  10. package/lib/es/facade.js +346 -330
  11. package/lib/es/index.js +2563 -2308
  12. package/lib/es/locale/en-US.js +2 -2
  13. package/lib/es/locale/fa-IR.js +2 -2
  14. package/lib/es/locale/fr-FR.js +2 -2
  15. package/lib/es/locale/ru-RU.js +2 -2
  16. package/lib/es/locale/vi-VN.js +2 -2
  17. package/lib/es/locale/zh-CN.js +2 -2
  18. package/lib/es/locale/zh-TW.js +2 -2
  19. package/lib/types/controllers/sheet-drawing-copy-paste.controller.d.ts +11 -5
  20. package/lib/types/controllers/sheet-drawing-update.controller.d.ts +2 -2
  21. package/lib/types/controllers/sheet-drawing.controller.d.ts +5 -1
  22. package/lib/types/facade/f-over-grid-image.d.ts +6 -0
  23. package/lib/types/facade/f-univer.d.ts +6 -0
  24. package/lib/types/facade/f-worksheet.d.ts +5 -5
  25. package/lib/types/index.d.ts +1 -1
  26. package/lib/types/services/canvas-float-dom-manager.service.d.ts +13 -4
  27. package/lib/types/views/sheet-image-panel/SheetDrawingAnchor.d.ts +1 -2
  28. package/lib/types/views/sheet-image-panel/SheetDrawingPanel.d.ts +16 -2
  29. package/lib/types/views/upload-loading/UploadLoading.d.ts +16 -2
  30. package/lib/umd/facade.js +1 -1
  31. package/lib/umd/index.js +1 -9
  32. package/lib/umd/locale/en-US.js +1 -1
  33. package/lib/umd/locale/fa-IR.js +1 -1
  34. package/lib/umd/locale/fr-FR.js +1 -1
  35. package/lib/umd/locale/ru-RU.js +1 -1
  36. package/lib/umd/locale/vi-VN.js +1 -1
  37. package/lib/umd/locale/zh-CN.js +1 -1
  38. package/lib/umd/locale/zh-TW.js +1 -1
  39. package/package.json +14 -14
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "Image",
4
4
  upload: {
@@ -40,5 +40,5 @@ const e = {
40
40
  }
41
41
  };
42
42
  export {
43
- e as default
43
+ locale as default
44
44
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "تصویر",
4
4
  upload: {
@@ -40,5 +40,5 @@ const e = {
40
40
  }
41
41
  };
42
42
  export {
43
- e as default
43
+ locale as default
44
44
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "Image",
4
4
  upload: {
@@ -40,5 +40,5 @@ const e = {
40
40
  }
41
41
  };
42
42
  export {
43
- e as default
43
+ locale as default
44
44
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "Изображение",
4
4
  upload: {
@@ -40,5 +40,5 @@ const e = {
40
40
  }
41
41
  };
42
42
  export {
43
- e as default
43
+ locale as default
44
44
  };
@@ -1,4 +1,4 @@
1
- const h = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "Hình ảnh",
4
4
  upload: {
@@ -40,5 +40,5 @@ const h = {
40
40
  }
41
41
  };
42
42
  export {
43
- h as default
43
+ locale as default
44
44
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "图片",
4
4
  upload: {
@@ -40,5 +40,5 @@ const e = {
40
40
  }
41
41
  };
42
42
  export {
43
- e as default
43
+ locale as default
44
44
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  sheetImage: {
3
3
  title: "圖片",
4
4
  upload: {
@@ -40,5 +40,5 @@ const e = {
40
40
  }
41
41
  };
42
42
  export {
43
- e as default
43
+ locale as default
44
44
  };
@@ -1,14 +1,20 @@
1
- import { Disposable } from '@univerjs/core';
1
+ import { Disposable, ICommandService } from '@univerjs/core';
2
+ import { IDrawingManagerService } from '@univerjs/drawing';
2
3
  import { IRenderManagerService } from '@univerjs/engine-render';
3
- import { ISheetDrawingService } from '@univerjs/sheets-drawing';
4
4
  import { ISheetClipboardService } from '@univerjs/sheets-ui';
5
+ import { IClipboardInterfaceService } from '@univerjs/ui';
5
6
  export declare class SheetsDrawingCopyPasteController extends Disposable {
6
7
  private _sheetClipboardService;
7
8
  private readonly _renderManagerService;
8
- private readonly _sheetDrawingService;
9
+ private readonly _drawingService;
10
+ private readonly _clipboardInterfaceService;
11
+ private readonly _commandService;
9
12
  private _copyInfo;
10
- constructor(_sheetClipboardService: ISheetClipboardService, _renderManagerService: IRenderManagerService, _sheetDrawingService: ISheetDrawingService);
13
+ constructor(_sheetClipboardService: ISheetClipboardService, _renderManagerService: IRenderManagerService, _drawingService: IDrawingManagerService, _clipboardInterfaceService: IClipboardInterfaceService, _commandService: ICommandService);
14
+ private get _focusedDrawings();
11
15
  private _initCopyPaste;
12
- private _collect;
16
+ private _createDrawingsCopyInfoByRange;
17
+ private _generateSingleDrawingPasteMutations;
13
18
  private _generateMutations;
19
+ private _generateRangeDrawingsPasteMutations;
14
20
  }
@@ -1,7 +1,7 @@
1
1
  import { IAccessor, Workbook, Disposable, ICommandService, IContextService, Injector, LocaleService } from '@univerjs/core';
2
+ import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
2
3
  import { ISheetLocationBase, SheetsSelectionsService } from '@univerjs/sheets';
3
4
  import { IDrawingManagerService, IImageIoService } from '@univerjs/drawing';
4
- import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
5
5
  import { ISheetDrawingService } from '@univerjs/sheets-drawing';
6
6
  import { ISheetSelectionRenderService, SheetSkeletonManagerService } from '@univerjs/sheets-ui';
7
7
  import { ILocalFileService, IMessageService } from '@univerjs/ui';
@@ -35,7 +35,7 @@ export declare class SheetDrawingUpdateController extends Disposable implements
35
35
  constructor(_context: IRenderContext<Workbook>, _skeletonManagerService: SheetSkeletonManagerService, _commandService: ICommandService, _selectionRenderService: ISheetSelectionRenderService, _imageIoService: IImageIoService, _fileOpenerService: ILocalFileService, _sheetDrawingService: ISheetDrawingService, _drawingManagerService: IDrawingManagerService, _contextService: IContextService, _messageService: IMessageService, _localeService: LocaleService, selectionManagerService: SheetsSelectionsService, _injector: Injector);
36
36
  insertFloatImage(): Promise<boolean>;
37
37
  insertCellImage(): Promise<boolean>;
38
- private _insertFloatImage;
38
+ insertFloatImageByFile(file: File): Promise<boolean | undefined>;
39
39
  private _insertCellImage;
40
40
  private _getUnitInfo;
41
41
  private _getImagePosition;
@@ -1,11 +1,15 @@
1
1
  import { Disposable, ICommandService } from '@univerjs/core';
2
+ import { IDrawingManagerService } from '@univerjs/drawing';
3
+ import { SheetsSelectionsService } from '@univerjs/sheets';
2
4
  import { ComponentManager, IMenuManagerService, IShortcutService } from '@univerjs/ui';
3
5
  export declare class SheetDrawingUIController extends Disposable {
4
6
  private readonly _componentManager;
5
7
  private readonly _menuManagerService;
6
8
  private readonly _commandService;
7
9
  private readonly _shortcutService;
8
- constructor(_componentManager: ComponentManager, _menuManagerService: IMenuManagerService, _commandService: ICommandService, _shortcutService: IShortcutService);
10
+ private readonly _drawingManagerService;
11
+ private readonly _sheetsSelectionsService;
12
+ constructor(_componentManager: ComponentManager, _menuManagerService: IMenuManagerService, _commandService: ICommandService, _shortcutService: IShortcutService, _drawingManagerService: IDrawingManagerService, _sheetsSelectionsService: SheetsSelectionsService);
9
13
  private _initCustomComponents;
10
14
  private _initMenus;
11
15
  private _initCommands;
@@ -3,6 +3,9 @@ import { ICellOverGridPosition } from '@univerjs/sheets';
3
3
  import { ISheetImage, SheetDrawingAnchorType } from '@univerjs/sheets-drawing';
4
4
  export interface IFOverGridImage extends Omit<ISheetImage, 'sheetTransform' | 'transform'>, ICellOverGridPosition, IRotationSkewFlipTransform, Required<ISize> {
5
5
  }
6
+ /**
7
+ * @hideconstructor
8
+ */
6
9
  export declare class FOverGridImageBuilder {
7
10
  protected readonly _injector: Injector;
8
11
  private _image;
@@ -232,6 +235,9 @@ export declare class FOverGridImageBuilder {
232
235
  setSubUnitId(subUnitId: string): FOverGridImageBuilder;
233
236
  buildAsync(): Promise<ISheetImage>;
234
237
  }
238
+ /**
239
+ * @hideconstructor
240
+ */
235
241
  export declare class FOverGridImage extends FBase {
236
242
  private _image;
237
243
  protected readonly _commandService: ICommandService;
@@ -1,5 +1,11 @@
1
1
  import { Injector, FUniver } from '@univerjs/core';
2
+ /**
3
+ * @ignore
4
+ */
2
5
  export declare class FUniverDrawingMixin extends FUniver {
6
+ /**
7
+ * @ignore
8
+ */
3
9
  _initialize(injector: Injector): void;
4
10
  private _beforeOverGridImageInsert;
5
11
  private _overGridImageInserted;
@@ -1,7 +1,7 @@
1
1
  import { IDisposable, IFBlobSource, Nullable } from '@univerjs/core';
2
2
  import { FRange, FWorksheet } from '@univerjs/sheets/facade';
3
3
  import { ISheetImage } from '@univerjs/sheets-drawing';
4
- import { ICanvasFloatDom, IDOMRangeLayout } from '@univerjs/sheets-drawing-ui';
4
+ import { ICanvasFloatDom, IDOMAnchor } from '@univerjs/sheets-drawing-ui';
5
5
  import { IFComponentKey } from '@univerjs/sheets-ui/facade';
6
6
  import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
7
7
  export interface IFICanvasFloatDom extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId'>, IFComponentKey {
@@ -86,7 +86,7 @@ export interface IFWorksheetLegacy {
86
86
 
87
87
  * ```
88
88
  */
89
- addFloatDomToRange(range: FRange, layer: IFICanvasFloatDom, domLayout: IDOMRangeLayout, id?: string): Nullable<{
89
+ addFloatDomToRange(range: FRange, layer: IFICanvasFloatDom, domLayout: IDOMAnchor, id?: string): Nullable<{
90
90
  id: string;
91
91
  dispose: () => void;
92
92
  }>;
@@ -114,7 +114,7 @@ export interface IFWorksheetLegacy {
114
114
  }
115
115
  *```
116
116
  */
117
- addFloatDomToColumnHeader(column: number, layer: IFICanvasFloatDom, domPos: IDOMRangeLayout, id?: string): Nullable<{
117
+ addFloatDomToColumnHeader(column: number, layer: IFICanvasFloatDom, domPos: IDOMAnchor, id?: string): Nullable<{
118
118
  id: string;
119
119
  dispose: () => void;
120
120
  }>;
@@ -240,11 +240,11 @@ export declare class FWorksheetLegacy extends FWorksheet implements IFWorksheetL
240
240
  id: string;
241
241
  dispose: () => void;
242
242
  }>;
243
- addFloatDomToRange(fRange: FRange, layer: IFICanvasFloatDom, domLayout: IDOMRangeLayout, id?: string): Nullable<{
243
+ addFloatDomToRange(fRange: FRange, layer: IFICanvasFloatDom, domLayout: IDOMAnchor, id?: string): Nullable<{
244
244
  id: string;
245
245
  dispose: () => void;
246
246
  }>;
247
- addFloatDomToColumnHeader(column: number, layer: IFICanvasFloatDom, domLayout: IDOMRangeLayout, id?: string): Nullable<{
247
+ addFloatDomToColumnHeader(column: number, layer: IFICanvasFloatDom, domLayout: IDOMAnchor, id?: string): Nullable<{
248
248
  id: string;
249
249
  dispose: () => void;
250
250
  }>;
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import './global.css';
17
17
  export { UniverSheetsDrawingUIPlugin } from './plugin';
18
- export { type ICanvasFloatDom, type IDOMRangeLayout, SheetCanvasFloatDomManagerService } from './services/canvas-float-dom-manager.service';
18
+ export { type ICanvasFloatDom, type IDOMAnchor, SheetCanvasFloatDomManagerService } from './services/canvas-float-dom-manager.service';
19
19
  export { SHEETS_IMAGE_MENU_ID } from './views/menu/image.menu';
20
20
  export { DeleteDrawingsCommand } from './commands/commands/delete-drawings.command';
21
21
  export { GroupSheetDrawingCommand } from './commands/commands/group-sheet-drawing.command';
@@ -52,8 +52,9 @@ interface ICanvasFloatDomInfo {
52
52
  subUnitId: string;
53
53
  boundsOfViewArea?: IBoundRectNoAngle;
54
54
  scrollDirectionResponse?: ScrollDirectionResponse;
55
+ domAnchor?: IDOMAnchor;
55
56
  }
56
- export interface IDOMRangeLayout {
57
+ export interface IDOMAnchor {
57
58
  width: number;
58
59
  height: number;
59
60
  horizonOffsetAlign?: 'left' | 'right';
@@ -88,9 +89,12 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
88
89
  private readonly _sheetDrawingService;
89
90
  protected readonly _lifecycleService: LifecycleService;
90
91
  /**
91
- * for update dom container position when scrolling
92
+ * for update dom container position when scrolling and zoom
92
93
  */
93
94
  private _domLayerMap;
95
+ /**
96
+ * for update dom container position when scrolling and zoom
97
+ */
94
98
  private _domLayerInfoMap;
95
99
  private _transformChange$;
96
100
  transformChange$: import('rxjs').Observable<{
@@ -113,6 +117,11 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
113
117
  private _hooks;
114
118
  constructor(_renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService, _commandService: ICommandService, _drawingManagerService: IDrawingManagerService, _canvasFloatDomService: CanvasFloatDomService, _sheetDrawingService: ISheetDrawingService, _lifecycleService: LifecycleService);
115
119
  private _bindScrollEvent;
120
+ /**
121
+ * For scrolling and zoom
122
+ * @param unitId
123
+ * @param subUnitId
124
+ */
116
125
  private _ensureMap;
117
126
  getFloatDomInfo(id: string): ICanvasFloatDomInfo | undefined;
118
127
  private _getSceneAndTransformerByDrawingSearch;
@@ -129,11 +138,11 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
129
138
  } | undefined;
130
139
  private _removeDom;
131
140
  addHook(hook: ISheetCanvasFloatDomHook): IDisposable;
132
- addFloatDomToRange(range: IRange, config: ICanvasFloatDom, domPos: IDOMRangeLayout, propId?: string): {
141
+ addFloatDomToRange(range: IRange, config: ICanvasFloatDom, domAnchor: Partial<IDOMAnchor>, propId?: string): {
133
142
  id: string;
134
143
  dispose: () => void;
135
144
  } | undefined;
136
- addFloatDomToColumnHeader(column: number, config: ICanvasFloatDom, domLayout: IDOMRangeLayout, propId?: string): {
145
+ addFloatDomToColumnHeader(column: number, config: ICanvasFloatDom, domLayoutParam: IDOMAnchor, propId?: string): {
137
146
  id: string;
138
147
  dispose: () => void;
139
148
  } | undefined;
@@ -1,6 +1,5 @@
1
1
  import { IDrawingParam } from '@univerjs/core';
2
- import { default as React } from 'react';
3
2
  export interface ISheetDrawingAnchorProps {
4
3
  drawings: IDrawingParam[];
5
4
  }
6
- export declare const SheetDrawingAnchor: (props: ISheetDrawingAnchorProps) => React.JSX.Element | undefined;
5
+ export declare const SheetDrawingAnchor: (props: ISheetDrawingAnchorProps) => import("react/jsx-runtime").JSX.Element | undefined;
@@ -1,2 +1,16 @@
1
- import { default as React } from 'react';
2
- export declare const SheetDrawingPanel: () => false | React.JSX.Element;
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export declare const SheetDrawingPanel: () => false | import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,16 @@
1
- import { default as React } from 'react';
2
- export declare const UploadLoading: () => React.JSX.Element;
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export declare const UploadLoading: () => import("react/jsx-runtime").JSX.Element;
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(s,g){typeof exports=="object"&&typeof module<"u"?g(require("@univerjs/core"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],g):(s=typeof globalThis<"u"?globalThis:s||self,g(s.UniverCore,s.UniverDrawing,s.UniverEngineRender,s.UniverSheetsDrawingUi,s.UniverSheetsUi,s.UniverSheetsDrawing,s.UniverSheetsUiFacade,s.UniverSheetsFacade,s.UniverUi))})(this,function(s,g,I,d,f,l,_,y,p){"use strict";var U=Object.defineProperty;var q=(s,g,I)=>g in s?U(s,g,{enumerable:!0,configurable:!0,writable:!0,value:I}):s[g]=I;var R=(s,g,I)=>q(s,typeof g!="symbol"?g+"":g,I);var j=Object.defineProperty,T=Object.getOwnPropertyDescriptor,E=(i,t,e,r)=>{for(var n=r>1?void 0:r?T(t,e):t,a=i.length-1,o;a>=0;a--)(o=i[a])&&(n=(r?o(t,e,n):o(n))||n);return r&&n&&j(t,e,n),n},b=(i,t)=>(e,r)=>t(e,r,i);function B(i,t){const{from:e,to:r,flipY:n=!1,flipX:a=!1,angle:o=0,skewX:m=0,skewY:c=0}=i.sheetTransform,{column:v,columnOffset:h,row:S,rowOffset:C}=e,k=f.convertPositionSheetOverGridToAbsolute(i.unitId,i.subUnitId,{from:e,to:r},t),{left:D,top:G,width:O,height:W}=k;return{...i,column:v,columnOffset:h,row:S,rowOffset:C,width:O,height:W,flipY:n,flipX:a,angle:o,skewX:m,skewY:c}}function F(i,t,e){const{column:r,columnOffset:n,row:a,rowOffset:o,flipY:m=!1,flipX:c=!1,angle:v=0,skewX:h=0,skewY:S=0,width:C,height:k}=i,D=f.convertPositionCellToSheetOverGrid(i.unitId,i.subUnitId,{column:r,columnOffset:n,row:a,rowOffset:o},C,k,t,e),{sheetTransform:G,transform:O}=D;return{...i,sheetTransform:{...G,flipY:m,flipX:c,angle:v,skewX:h,skewY:S},transform:{...O,flipY:m,flipX:c,angle:v,skewX:h,skewY:S}}}let w=class{constructor(i,t,e){R(this,"_image");this._injector=e,this._image={drawingId:s.generateRandomId(6),drawingType:s.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:s.ImageSourceType.BASE64,source:"",unitId:i,subUnitId:t,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(i){const e=this._injector.get(I.IRenderManagerService).getRenderById(i.unitId);if(!e)throw new Error(`Render Unit with unitId ${i.unitId} not found`);const r=e.with(f.SheetSkeletonManagerService);return i.sheetTransform==null&&(i.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=B(i,r),this}setSource(i,t){const e=t!=null?t:s.ImageSourceType.URL;return this._image.source=i,this._image.imageSourceType=e,this}getsource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(i){return this._image.column=i,this}setRow(i){return this._image.row=i,this}setColumnOffset(i){return this._image.columnOffset=i,this}setRowOffset(i){return this._image.rowOffset=i,this}setWidth(i){return this._image.width=i,this}setHeight(i){return this._image.height=i,this}setAnchorType(i){return this._image.anchorType=i,this}setCropTop(i){return this._initializeSrcRect(),this._image.srcRect.top=i,this}setCropLeft(i){return this._initializeSrcRect(),this._image.srcRect.left=i,this}setCropBottom(i){return this._initializeSrcRect(),this._image.srcRect.bottom=i,this}setCropRight(i){return this._initializeSrcRect(),this._image.srcRect.right=i,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(i){return this._image.angle=i,this}setUnitId(i){return this._image.unitId=i,this}setSubUnitId(i){return this._image.subUnitId=i,this}async buildAsync(){const t=this._injector.get(I.IRenderManagerService).getRenderById(this._image.unitId);if(!t)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const e=t.with(f.ISheetSelectionRenderService),r=t.with(f.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await g.getImageSize(this._image.source),a=n.width,o=n.height;this._image.width===0&&(this._image.width=a),this._image.height===0&&(this._image.height=o)}return F(this._image,e,r)}};w=E([b(2,s.Inject(s.Injector))],w);let u=class extends s.FBase{constructor(i,t,e){super(),this._image=i,this._commandService=t,this._injector=e}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const i=this._injector.createInstance(w);return i.setImage(this._image),i}setSource(i,t){const e=t!=null?t:s.ImageSourceType.URL;return this._image.source=i,this._image.imageSourceType=e,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(i,t,e,r){const n=this.toBuilder();n.setColumn(t),n.setRow(i),e!=null&&n.setRowOffset(e),r!=null&&n.setColumnOffset(r);const a=await n.buildAsync();return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[a]})}async setSizeAsync(i,t){const e=this.toBuilder();e.setWidth(i),e.setHeight(t);const r=await e.buildAsync();return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(i,t,e,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),i!=null&&(this._image.srcRect.top=i),t!=null&&(this._image.srcRect.left=t),e!=null&&(this._image.srcRect.bottom=e),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(i){return this._image.sheetTransform.angle=i,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.front})}};u=E([b(1,s.ICommandService),b(2,s.Inject(s.Injector))],u);class A extends y.FWorksheet{addFloatDomToPosition(t,e){const r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),c=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...t,componentKey:a,unitId:r,subUnitId:n},e);return c?(o.add(c.dispose),{id:c.id,dispose:()=>{o.dispose(),c.dispose()}}):(o.dispose(),null)}addFloatDomToRange(t,e,r,n){const a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:m,disposableCollection:c}=_.transformComponentKey(e,this._injector.get(p.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToRange(t.getRange(),{...e,componentKey:m,unitId:a,subUnitId:o},r,n);return h?(c.add(h.dispose),{id:h.id,dispose:()=>{c.dispose(),h.dispose()}}):(c.dispose(),null)}addFloatDomToColumnHeader(t,e,r,n){const a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:m,disposableCollection:c}=_.transformComponentKey(e,this._injector.get(p.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(t,{...e,componentKey:m,unitId:a,subUnitId:o},r,n);return h?(c.add(h.dispose),{id:h.id,dispose:()=>{c.dispose(),h.dispose()}}):(c.dispose(),null)}async insertImage(t,e,r,n,a){const o=this.newOverGridImage();if(typeof t=="string")o.setSource(t);else{const v=await t.getBlob().getDataAsString();o.setSource(v,s.ImageSourceType.BASE64)}e!==void 0?o.setColumn(e):o.setColumn(0),r!==void 0?o.setRow(r):o.setRow(0),n!==void 0?o.setColumnOffset(n):o.setColumnOffset(0),a!==void 0?o.setRowOffset(a):o.setRowOffset(0);const m=await o.buildAsync();return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[m]})}insertImages(t){const e=t.map(r=>(r.unitId=this._fWorkbook.getId(),r.subUnitId=this.getSheetId(),r));return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}deleteImages(t){const e=t.map(r=>({unitId:this._fWorkbook.getId(),drawingId:r.getId(),subUnitId:this.getSheetId(),drawingType:r.getType()}));return this._commandService.syncExecuteCommand(d.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}getImages(){const e=this._injector.get(l.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),r=[];for(const n in e){const a=e[n];a.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE&&r.push(this._injector.createInstance(u,a))}return r}getImageById(t){const r=this._injector.get(l.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return r&&r.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(u,r):null}getActiveImages(){const e=this._injector.get(l.ISheetDrawingService).getFocusDrawings(),r=[];for(const n in e){const a=e[n];r.push(this._injector.createInstance(u,a))}return r}updateImages(t){return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}onImageInserted(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.add$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}onImageDeleted(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.remove$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}onImageChanged(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.update$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}newOverGridImage(){const t=this._fWorkbook.getId(),e=this.getSheetId();return this._injector.createInstance(w,t,e)}}y.FWorksheet.extend(A);class M extends s.FEnum{get DrawingType(){return s.DrawingTypeEnum}get ImageSourceType(){return s.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}s.FEnum.extend(M);class x extends s.FEventName{get BeforeOverGridImageChange(){return"BeforeOverGridImageChange"}get OverGridImageChanged(){return"OverGridImageChanged"}get BeforeOverGridImageInsert(){return"BeforeOverGridImageInsert"}get OverGridImageInserted(){return"OverGridImageInserted"}get BeforeOverGridImageRemove(){return"BeforeOverGridImageRemove"}get OverGridImageRemoved(){return"OverGridImageRemoved"}get BeforeOverGridImageSelect(){return"BeforeOverGridImageSelect"}get OverGridImageSelected(){return"OverGridImageSelected"}}s.FEventName.extend(x);class P extends s.FUniver{_initialize(t){const e=t.get(s.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(r=>{switch(r.id){case d.InsertSheetDrawingCommand.id:this._beforeOverGridImageInsert(r.params);break;case d.RemoveSheetDrawingCommand.id:this._beforeOverGridImageRemove(r.params);break;case d.SetSheetDrawingCommand.id:this._beforeOverGridImageChange(r.params);break;case g.SetDrawingSelectedOperation.id:this._beforeOverGridImageSelect(r.params);break}})),this.disposeWithMe(e.onCommandExecuted(r=>{switch(r.id){case d.InsertSheetDrawingCommand.id:this._overGridImageInserted(r.params);break;case d.RemoveSheetDrawingCommand.id:this._overGridImageRemoved(r.params);break;case d.SetSheetDrawingCommand.id:this._overGridImageChanged(r.params);break;case g.SetDrawingSelectedOperation.id:this._overGridImageSelected(r.params);break}}))}_beforeOverGridImageInsert(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageInsert))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n={workbook:e,insertImageParams:r};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,n),n.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")}_overGridImageInserted(t){if(!this.hasEventCallback(this.Event.OverGridImageInserted))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t;this.fireEvent(this.Event.OverGridImageInserted,{workbook:e,images:this._createFOverGridImage(r)})}_beforeOverGridImageRemove(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageRemove))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=r.map(m=>n.getDrawingByParam(m)),o={workbook:e,images:this._createFOverGridImage(a)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,o),o.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")}_overGridImageRemoved(t){if(!this.hasEventCallback(this.Event.OverGridImageRemoved))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:e,removeImageParams:r})}_beforeOverGridImageChange(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageChange))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=[];r.forEach(m=>{const c=n.getDrawingByParam(m);c!=null&&a.push({changeParam:m,image:this._injector.createInstance(u,c)})});const o={workbook:e,images:a};if(this.fireEvent(this.Event.BeforeOverGridImageChange,o),o.cancel)throw n.updateNotification(r),new Error("Canceled by BeforeOverGridImageChange event")}_overGridImageChanged(t){if(!this.hasEventCallback(this.Event.OverGridImageChanged))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=r.map(o=>this._injector.createInstance(u,n.getDrawingByParam(o)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:e,images:a})}_beforeOverGridImageSelect(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageSelect))return;const e=this._injector.get(g.IDrawingManagerService),r=this.getActiveWorkbook();if(r==null)return;const n=e.getFocusDrawings(),a=t.map(m=>e.getDrawingByParam(m)),o={workbook:r,selectedImages:this._createFOverGridImage(a),oldSelectedImages:this._createFOverGridImage(n)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,o),o.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")}_overGridImageSelected(t){if(!this.hasEventCallback(this.Event.OverGridImageSelected))return;const e=this.getActiveWorkbook(),r=this._injector.get(g.IDrawingManagerService);if(e==null)return;const n=t.map(a=>r.getDrawingByParam(a));this.fireEvent(this.Event.OverGridImageSelected,{workbook:e,selectedImages:this._createFOverGridImage(n)})}_createFOverGridImage(t){return t.map(e=>this._injector.createInstance(u,e))}}s.FUniver.extend(P)});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(require("@univerjs/core"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverCore,global.UniverDrawing,global.UniverEngineRender,global.UniverSheetsDrawingUi,global.UniverSheetsUi,global.UniverSheetsDrawing,global.UniverSheetsUiFacade,global.UniverSheetsFacade,global.UniverUi))})(this,function(core,drawing,engineRender,sheetsDrawingUi,sheetsUi,sheetsDrawing,facade$1,facade,ui){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b;var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");function convertSheetImageToFOverGridImage(sheetImage,sheetSkeletonManagerService){const{from,to,flipY=!1,flipX=!1,angle=0,skewX=0,skewY=0}=sheetImage.sheetTransform,{column:fromColumn,columnOffset:fromColumnOffset,row:fromRow,rowOffset:fromRowOffset}=from,absolutePosition=sheetsUi.convertPositionSheetOverGridToAbsolute(sheetImage.unitId,sheetImage.subUnitId,{from,to},sheetSkeletonManagerService),{left,top,width,height}=absolutePosition;return{...sheetImage,column:fromColumn,columnOffset:fromColumnOffset,row:fromRow,rowOffset:fromRowOffset,width,height,flipY,flipX,angle,skewX,skewY}}__name(convertSheetImageToFOverGridImage,"convertSheetImageToFOverGridImage");function convertFOverGridImageToSheetImage(fOverGridImage,selectionRenderService,sheetSkeletonManagerService){const{column:fromColumn,columnOffset:fromColumnOffset,row:fromRow,rowOffset:fromRowOffset,flipY=!1,flipX=!1,angle=0,skewX=0,skewY=0,width,height}=fOverGridImage,absolutePosition=sheetsUi.convertPositionCellToSheetOverGrid(fOverGridImage.unitId,fOverGridImage.subUnitId,{column:fromColumn,columnOffset:fromColumnOffset,row:fromRow,rowOffset:fromRowOffset},width,height,selectionRenderService,sheetSkeletonManagerService),{sheetTransform,transform}=absolutePosition;return{...fOverGridImage,sheetTransform:{...sheetTransform,flipY,flipX,angle,skewX,skewY},transform:{...transform,flipY,flipX,angle,skewX,skewY}}}__name(convertFOverGridImageToSheetImage,"convertFOverGridImageToSheetImage");let FOverGridImageBuilder=(_a=class{constructor(unitId,subUnitId,_injector){__publicField(this,"_image");this._injector=_injector,this._image={drawingId:core.generateRandomId(6),drawingType:core.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:core.ImageSourceType.BASE64,source:"",unitId,subUnitId,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(image){const render=this._injector.get(engineRender.IRenderManagerService).getRenderById(image.unitId);if(!render)throw new Error(`Render Unit with unitId ${image.unitId} not found`);const skeletonManagerService=render.with(sheetsUi.SheetSkeletonManagerService);return image.sheetTransform==null&&(image.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=convertSheetImageToFOverGridImage(image,skeletonManagerService),this}setSource(source,sourceType){const sourceTypeVal=sourceType!=null?sourceType:core.ImageSourceType.URL;return this._image.source=source,this._image.imageSourceType=sourceTypeVal,this}getsource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(column){return this._image.column=column,this}setRow(row){return this._image.row=row,this}setColumnOffset(offset){return this._image.columnOffset=offset,this}setRowOffset(offset){return this._image.rowOffset=offset,this}setWidth(width){return this._image.width=width,this}setHeight(height){return this._image.height=height,this}setAnchorType(anchorType){return this._image.anchorType=anchorType,this}setCropTop(top){return this._initializeSrcRect(),this._image.srcRect.top=top,this}setCropLeft(left){return this._initializeSrcRect(),this._image.srcRect.left=left,this}setCropBottom(bottom){return this._initializeSrcRect(),this._image.srcRect.bottom=bottom,this}setCropRight(right){return this._initializeSrcRect(),this._image.srcRect.right=right,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(angle){return this._image.angle=angle,this}setUnitId(unitId){return this._image.unitId=unitId,this}setSubUnitId(subUnitId){return this._image.subUnitId=subUnitId,this}async buildAsync(){const render=this._injector.get(engineRender.IRenderManagerService).getRenderById(this._image.unitId);if(!render)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const selectionRenderService=render.with(sheetsUi.ISheetSelectionRenderService),skeletonManagerService=render.with(sheetsUi.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const size=await drawing.getImageSize(this._image.source),width=size.width,height=size.height;this._image.width===0&&(this._image.width=width),this._image.height===0&&(this._image.height=height)}return convertFOverGridImageToSheetImage(this._image,selectionRenderService,skeletonManagerService)}},__name(_a,"FOverGridImageBuilder"),_a);FOverGridImageBuilder=__decorateClass([__decorateParam(2,core.Inject(core.Injector))],FOverGridImageBuilder);let FOverGridImage=(_b=class extends core.FBase{constructor(_image,_commandService,_injector){super(),this._image=_image,this._commandService=_commandService,this._injector=_injector}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const builder=this._injector.createInstance(FOverGridImageBuilder);return builder.setImage(this._image),builder}setSource(source,sourceType){const sourceTypeVal=sourceType!=null?sourceType:core.ImageSourceType.URL;return this._image.source=source,this._image.imageSourceType=sourceTypeVal,this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(row,column,rowOffset,columnOffset){const builder=this.toBuilder();builder.setColumn(column),builder.setRow(row),rowOffset!=null&&builder.setRowOffset(rowOffset),columnOffset!=null&&builder.setColumnOffset(columnOffset);const param=await builder.buildAsync();return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[param]})}async setSizeAsync(width,height){const builder=this.toBuilder();builder.setWidth(width),builder.setHeight(height);const param=await builder.buildAsync();return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[param]})}setCrop(top,left,bottom,right){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),top!=null&&(this._image.srcRect.top=top),left!=null&&(this._image.srcRect.left=left),bottom!=null&&(this._image.srcRect.bottom=bottom),right!=null&&(this._image.srcRect.right=right),this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(angle){return this._image.sheetTransform.angle=angle,this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:core.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:core.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:core.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:core.ArrangeTypeEnum.front})}},__name(_b,"FOverGridImage"),_b);FOverGridImage=__decorateClass([__decorateParam(1,core.ICommandService),__decorateParam(2,core.Inject(core.Injector))],FOverGridImage);const _FWorksheetLegacy=class _FWorksheetLegacy extends facade.FWorksheet{addFloatDomToPosition(layer,id){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),{key,disposableCollection}=facade$1.transformComponentKey(layer,this._injector.get(ui.ComponentManager)),res=this._injector.get(sheetsDrawingUi.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...layer,componentKey:key,unitId,subUnitId},id);return res?(disposableCollection.add(res.dispose),{id:res.id,dispose:__name(()=>{disposableCollection.dispose(),res.dispose()},"dispose")}):(disposableCollection.dispose(),null)}addFloatDomToRange(fRange,layer,domLayout,id){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),{key,disposableCollection}=facade$1.transformComponentKey(layer,this._injector.get(ui.ComponentManager)),res=this._injector.get(sheetsDrawingUi.SheetCanvasFloatDomManagerService).addFloatDomToRange(fRange.getRange(),{...layer,componentKey:key,unitId,subUnitId},domLayout,id);return res?(disposableCollection.add(res.dispose),{id:res.id,dispose:__name(()=>{disposableCollection.dispose(),res.dispose()},"dispose")}):(disposableCollection.dispose(),null)}addFloatDomToColumnHeader(column,layer,domLayout,id){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),{key,disposableCollection}=facade$1.transformComponentKey(layer,this._injector.get(ui.ComponentManager)),domRangeDispose=this._injector.get(sheetsDrawingUi.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(column,{...layer,componentKey:key,unitId,subUnitId},domLayout,id);return domRangeDispose?(disposableCollection.add(domRangeDispose.dispose),{id:domRangeDispose.id,dispose:__name(()=>{disposableCollection.dispose(),domRangeDispose.dispose()},"dispose")}):(disposableCollection.dispose(),null)}async insertImage(url,column,row,offsetX,offsetY){const imageBuilder=this.newOverGridImage();if(typeof url=="string")imageBuilder.setSource(url);else{const base64=await url.getBlob().getDataAsString();imageBuilder.setSource(base64,core.ImageSourceType.BASE64)}column!==void 0?imageBuilder.setColumn(column):imageBuilder.setColumn(0),row!==void 0?imageBuilder.setRow(row):imageBuilder.setRow(0),offsetX!==void 0?imageBuilder.setColumnOffset(offsetX):imageBuilder.setColumnOffset(0),offsetY!==void 0?imageBuilder.setRowOffset(offsetY):imageBuilder.setRowOffset(0);const param=await imageBuilder.buildAsync();return this._commandService.syncExecuteCommand(sheetsDrawingUi.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[param]})}insertImages(sheetImages){const param=sheetImages.map(image=>(image.unitId=this._fWorkbook.getId(),image.subUnitId=this.getSheetId(),image));return this._commandService.syncExecuteCommand(sheetsDrawingUi.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:param}),this}deleteImages(sheetImages){const drawings=sheetImages.map(image=>({unitId:this._fWorkbook.getId(),drawingId:image.getId(),subUnitId:this.getSheetId(),drawingType:image.getType()}));return this._commandService.syncExecuteCommand(sheetsDrawingUi.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings}),this}getImages(){const drawingData=this._injector.get(sheetsDrawing.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),images=[];for(const drawingId in drawingData){const drawing2=drawingData[drawingId];drawing2.drawingType===core.DrawingTypeEnum.DRAWING_IMAGE&&images.push(this._injector.createInstance(FOverGridImage,drawing2))}return images}getImageById(id){const drawing2=this._injector.get(sheetsDrawing.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:id});return drawing2&&drawing2.drawingType===core.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(FOverGridImage,drawing2):null}getActiveImages(){const drawingData=this._injector.get(sheetsDrawing.ISheetDrawingService).getFocusDrawings(),images=[];for(const drawingId in drawingData){const drawing2=drawingData[drawingId];images.push(this._injector.createInstance(FOverGridImage,drawing2))}return images}updateImages(sheetImages){return this._commandService.syncExecuteCommand(sheetsDrawingUi.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:sheetImages}),this}onImageInserted(callback){const sheetDrawingService=this._injector.get(sheetsDrawing.ISheetDrawingService);return core.toDisposable(sheetDrawingService.add$.subscribe(drawingSearches=>{const drawings=drawingSearches.map(drawingSearch=>this._injector.createInstance(FOverGridImage,sheetDrawingService.getDrawingByParam(drawingSearch)));callback(drawings)}))}onImageDeleted(callback){const sheetDrawingService=this._injector.get(sheetsDrawing.ISheetDrawingService);return core.toDisposable(sheetDrawingService.remove$.subscribe(drawingSearches=>{const drawings=drawingSearches.map(drawingSearch=>this._injector.createInstance(FOverGridImage,sheetDrawingService.getDrawingByParam(drawingSearch)));callback(drawings)}))}onImageChanged(callback){const sheetDrawingService=this._injector.get(sheetsDrawing.ISheetDrawingService);return core.toDisposable(sheetDrawingService.update$.subscribe(drawingSearches=>{const drawings=drawingSearches.map(drawingSearch=>this._injector.createInstance(FOverGridImage,sheetDrawingService.getDrawingByParam(drawingSearch)));callback(drawings)}))}newOverGridImage(){const unitId=this._fWorkbook.getId(),subUnitId=this.getSheetId();return this._injector.createInstance(FOverGridImageBuilder,unitId,subUnitId)}};__name(_FWorksheetLegacy,"FWorksheetLegacy");let FWorksheetLegacy=_FWorksheetLegacy;facade.FWorksheet.extend(FWorksheetLegacy);const _FDrawingEnumMixin=class _FDrawingEnumMixin extends core.FEnum{get DrawingType(){return core.DrawingTypeEnum}get ImageSourceType(){return core.ImageSourceType}get SheetDrawingAnchorType(){return sheetsDrawing.SheetDrawingAnchorType}};__name(_FDrawingEnumMixin,"FDrawingEnumMixin");let FDrawingEnumMixin=_FDrawingEnumMixin;core.FEnum.extend(FDrawingEnumMixin);const _FDrawingEventNameMixin=class _FDrawingEventNameMixin extends core.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"}};__name(_FDrawingEventNameMixin,"FDrawingEventNameMixin");let FDrawingEventNameMixin=_FDrawingEventNameMixin;core.FEventName.extend(FDrawingEventNameMixin);const _FUniverDrawingMixin=class _FUniverDrawingMixin extends core.FUniver{_initialize(injector){const commandService=injector.get(core.ICommandService);this.disposeWithMe(commandService.beforeCommandExecuted(commandInfo=>{switch(commandInfo.id){case sheetsDrawingUi.InsertSheetDrawingCommand.id:this._beforeOverGridImageInsert(commandInfo.params);break;case sheetsDrawingUi.RemoveSheetDrawingCommand.id:this._beforeOverGridImageRemove(commandInfo.params);break;case sheetsDrawingUi.SetSheetDrawingCommand.id:this._beforeOverGridImageChange(commandInfo.params);break;case drawing.SetDrawingSelectedOperation.id:this._beforeOverGridImageSelect(commandInfo.params);break}})),this.disposeWithMe(commandService.onCommandExecuted(commandInfo=>{switch(commandInfo.id){case sheetsDrawingUi.InsertSheetDrawingCommand.id:this._overGridImageInserted(commandInfo.params);break;case sheetsDrawingUi.RemoveSheetDrawingCommand.id:this._overGridImageRemoved(commandInfo.params);break;case sheetsDrawingUi.SetSheetDrawingCommand.id:this._overGridImageChanged(commandInfo.params);break;case drawing.SetDrawingSelectedOperation.id:this._overGridImageSelected(commandInfo.params);break}}))}_beforeOverGridImageInsert(params){if(!this.hasEventCallback(this.Event.BeforeOverGridImageInsert))return;const workbook=this.getActiveWorkbook();if(workbook==null||params==null)return;const{drawings}=params,eventParams={workbook,insertImageParams:drawings};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,eventParams),eventParams.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")}_overGridImageInserted(params){if(!this.hasEventCallback(this.Event.OverGridImageInserted))return;const workbook=this.getActiveWorkbook();if(workbook==null||params==null)return;const{drawings}=params;this.fireEvent(this.Event.OverGridImageInserted,{workbook,images:this._createFOverGridImage(drawings)})}_beforeOverGridImageRemove(params){if(!this.hasEventCallback(this.Event.BeforeOverGridImageRemove))return;const workbook=this.getActiveWorkbook();if(workbook==null||params==null)return;const{drawings}=params,drawingManagerService=this._injector.get(drawing.IDrawingManagerService),willRemoveDrawings=drawings.map(drawing2=>drawingManagerService.getDrawingByParam(drawing2)),eventParams={workbook,images:this._createFOverGridImage(willRemoveDrawings)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,eventParams),eventParams.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")}_overGridImageRemoved(params){if(!this.hasEventCallback(this.Event.OverGridImageRemoved))return;const workbook=this.getActiveWorkbook();if(workbook==null||params==null)return;const{drawings}=params;this.fireEvent(this.Event.OverGridImageRemoved,{workbook,removeImageParams:drawings})}_beforeOverGridImageChange(params){if(!this.hasEventCallback(this.Event.BeforeOverGridImageChange))return;const workbook=this.getActiveWorkbook();if(workbook==null||params==null)return;const{drawings}=params,drawingManagerService=this._injector.get(drawing.IDrawingManagerService),images=[];drawings.forEach(drawing2=>{const image=drawingManagerService.getDrawingByParam(drawing2);image!=null&&images.push({changeParam:drawing2,image:this._injector.createInstance(FOverGridImage,image)})});const eventParams={workbook,images};if(this.fireEvent(this.Event.BeforeOverGridImageChange,eventParams),eventParams.cancel)throw drawingManagerService.updateNotification(drawings),new Error("Canceled by BeforeOverGridImageChange event")}_overGridImageChanged(params){if(!this.hasEventCallback(this.Event.OverGridImageChanged))return;const workbook=this.getActiveWorkbook();if(workbook==null||params==null)return;const{drawings}=params,drawingManagerService=this._injector.get(drawing.IDrawingManagerService),images=drawings.map(drawing2=>this._injector.createInstance(FOverGridImage,drawingManagerService.getDrawingByParam(drawing2)));this.fireEvent(this.Event.OverGridImageChanged,{workbook,images})}_beforeOverGridImageSelect(drawings){if(!this.hasEventCallback(this.Event.BeforeOverGridImageSelect))return;const drawingManagerService=this._injector.get(drawing.IDrawingManagerService),workbook=this.getActiveWorkbook();if(workbook==null)return;const oldSelectedDrawings=drawingManagerService.getFocusDrawings(),selectedDrawings=drawings.map(drawing2=>drawingManagerService.getDrawingByParam(drawing2)),eventParams={workbook,selectedImages:this._createFOverGridImage(selectedDrawings),oldSelectedImages:this._createFOverGridImage(oldSelectedDrawings)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,eventParams),eventParams.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")}_overGridImageSelected(drawings){if(!this.hasEventCallback(this.Event.OverGridImageSelected))return;const workbook=this.getActiveWorkbook(),drawingManagerService=this._injector.get(drawing.IDrawingManagerService);if(workbook==null)return;const selectedDrawings=drawings.map(drawing2=>drawingManagerService.getDrawingByParam(drawing2));this.fireEvent(this.Event.OverGridImageSelected,{workbook,selectedImages:this._createFOverGridImage(selectedDrawings)})}_createFOverGridImage(drawings){return drawings.map(drawing2=>this._injector.createInstance(FOverGridImage,drawing2))}};__name(_FUniverDrawingMixin,"FUniverDrawingMixin");let FUniverDrawingMixin=_FUniverDrawingMixin;core.FUniver.extend(FUniverDrawingMixin)});