@univerjs/sheets-drawing-ui 0.5.4 → 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 (40) 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 -312
  11. package/lib/es/index.js +2651 -2029
  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 +111 -2
  25. package/lib/types/index.d.ts +1 -1
  26. package/lib/types/services/canvas-float-dom-manager.service.d.ts +62 -7
  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
  40. package/LICENSE +0 -176
@@ -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,8 +1,8 @@
1
1
  import { IDisposable, IFBlobSource, Nullable } from '@univerjs/core';
2
+ import { FRange, FWorksheet } from '@univerjs/sheets/facade';
2
3
  import { ISheetImage } from '@univerjs/sheets-drawing';
3
- import { ICanvasFloatDom } from '@univerjs/sheets-drawing-ui';
4
+ import { ICanvasFloatDom, IDOMAnchor } from '@univerjs/sheets-drawing-ui';
4
5
  import { IFComponentKey } from '@univerjs/sheets-ui/facade';
5
- import { FWorksheet } from '@univerjs/sheets/facade';
6
6
  import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
7
7
  export interface IFICanvasFloatDom extends Omit<ICanvasFloatDom, 'componentKey' | 'unitId' | 'subUnitId'>, IFComponentKey {
8
8
  }
@@ -12,11 +12,112 @@ export interface IFWorksheetLegacy {
12
12
  * @param layer float dom config
13
13
  * @param id float dom id, if not given will be auto generated
14
14
  * @returns float dom id and dispose function
15
+ * @example
16
+ * ```ts
17
+ let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
18
+ sheet.addFloatDomToPosition({
19
+ allowTransform: false,
20
+ initPosition: {
21
+ startX: 200,
22
+ endX: 400,
23
+ startY: 200,
24
+ endY: 400,
25
+ },
26
+ componentKey: 'ImageDemo',
27
+ props: {
28
+ a: 1,
29
+ },
30
+ data: {
31
+ aa: '128',
32
+ },
33
+ });
34
+ * ```
15
35
  */
16
36
  addFloatDomToPosition(layer: IFICanvasFloatDom, id?: string): Nullable<{
17
37
  id: string;
18
38
  dispose: () => void;
19
39
  }>;
40
+ /**
41
+ * Add dom over range to FloatDOM, And FloatDOM is registerComponent(BuiltInUIPart.CONTENT)
42
+ * @param layer
43
+ * @param id
44
+ * @example
45
+ * ```ts
46
+ const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
47
+ const range = sheet.getRange(0, 0, 3, 3);
48
+ univerAPI.getActiveWorkbook().setActiveRange(range);
49
+ const {id, dispose } = sheet.addFloatDomToRange(range, {
50
+ allowTransform: false,
51
+ componentKey: 'RangeLoading',
52
+ props: {
53
+ a: 1,
54
+ },
55
+ data: {
56
+ aa: '128',
57
+ },
58
+ }, {},
59
+ 'loadingcover'
60
+ )
61
+ setTimeout(()=> {
62
+ dispose();
63
+ }, 2000)
64
+
65
+ // another example-------------------
66
+ {
67
+ const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
68
+ const range = univerAPI.getActiveWorkbook().getActiveSheet().getActiveRange()
69
+ const {id, dispose } = sheet.addFloatDomToRange(range, {
70
+ allowTransform: false,
71
+ componentKey: 'FloatButton', // React comp key registered in ComponentManager
72
+ props: {
73
+ a: 1,
74
+ },
75
+ data: {
76
+ aa: '128',
77
+ },
78
+ }, {
79
+ width: 100,
80
+ height: 30,
81
+ marginX: '100%', // margin percent to range width, or pixel
82
+ marginY: '100%'
83
+ },
84
+ 'AIButton') // dom id
85
+ }
86
+
87
+ * ```
88
+ */
89
+ addFloatDomToRange(range: FRange, layer: IFICanvasFloatDom, domLayout: IDOMAnchor, id?: string): Nullable<{
90
+ id: string;
91
+ dispose: () => void;
92
+ }>;
93
+ /**
94
+ * Add dom at column header, And FloatDOM is registerComponent(BuiltInUIPart.CONTENT)
95
+ * @param column
96
+ * @param layer
97
+ * @param domPos
98
+ * @param id
99
+ * @example
100
+ * ```ts
101
+ {
102
+ const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
103
+ const rs = sheet.addFloatDomToColumnHeader(3,
104
+ {
105
+ allowTransform: false,
106
+ componentKey: 'FloatButton', // React comp key registered in ComponentManager
107
+ props: {
108
+ a: 1,
109
+ },
110
+ },
111
+ {width: 100, height: 40, marginX: 0, marginY: 0, horizonOffsetAlign: 'right'},
112
+ 'ai-selector' // dom id
113
+ )
114
+ }
115
+ *```
116
+ */
117
+ addFloatDomToColumnHeader(column: number, layer: IFICanvasFloatDom, domPos: IDOMAnchor, id?: string): Nullable<{
118
+ id: string;
119
+ dispose: () => void;
120
+ }>;
20
121
  /**
21
122
  * Insert an image to the sheet
22
123
  * @param url The image url
@@ -139,6 +240,14 @@ export declare class FWorksheetLegacy extends FWorksheet implements IFWorksheetL
139
240
  id: string;
140
241
  dispose: () => void;
141
242
  }>;
243
+ addFloatDomToRange(fRange: FRange, layer: IFICanvasFloatDom, domLayout: IDOMAnchor, id?: string): Nullable<{
244
+ id: string;
245
+ dispose: () => void;
246
+ }>;
247
+ addFloatDomToColumnHeader(column: number, layer: IFICanvasFloatDom, domLayout: IDOMAnchor, id?: string): Nullable<{
248
+ id: string;
249
+ dispose: () => void;
250
+ }>;
142
251
  insertImage(url: IFBlobSource | string, column?: number, row?: number, offsetX?: number, offsetY?: number): Promise<boolean>;
143
252
  insertImages(sheetImages: ISheetImage[]): FWorksheet;
144
253
  deleteImages(sheetImages: FOverGridImage[]): FWorksheet;
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import './global.css';
17
17
  export { UniverSheetsDrawingUIPlugin } from './plugin';
18
- export { type ICanvasFloatDom, 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';
@@ -1,4 +1,4 @@
1
- import { IDisposable, IPosition, ITransformState, Serializable, Worksheet, Disposable, DrawingTypeEnum, ICommandService, IUniverInstanceService, LifecycleService } from '@univerjs/core';
1
+ import { IDisposable, IPosition, IRange, ITransformState, Serializable, Worksheet, Disposable, DrawingTypeEnum, ICommandService, IUniverInstanceService, LifecycleService } from '@univerjs/core';
2
2
  import { IBoundRectNoAngle, Scene, SpreadsheetSkeleton, IRenderManagerService, Rect } from '@univerjs/engine-render';
3
3
  import { IFloatDomLayout, CanvasFloatDomService } from '@univerjs/ui';
4
4
  import { IDrawingManagerService } from '@univerjs/drawing';
@@ -34,6 +34,15 @@ export interface ICanvasFloatDom {
34
34
  * the float-dom type
35
35
  */
36
36
  type?: DrawingTypeEnum;
37
+ /**
38
+ * whether allow event pass through float dom to canvas.
39
+ */
40
+ eventPassThrough?: boolean;
41
+ }
42
+ declare enum ScrollDirectionResponse {
43
+ ALL = "ALL",
44
+ HORIZONTAL = "HORIZONTAL",
45
+ VERTICAL = "VERTICAL"
37
46
  }
38
47
  interface ICanvasFloatDomInfo {
39
48
  position$: BehaviorSubject<IFloatDomLayout>;
@@ -41,17 +50,33 @@ interface ICanvasFloatDomInfo {
41
50
  rect: Rect;
42
51
  unitId: string;
43
52
  subUnitId: string;
53
+ boundsOfViewArea?: IBoundRectNoAngle;
54
+ scrollDirectionResponse?: ScrollDirectionResponse;
55
+ domAnchor?: IDOMAnchor;
44
56
  }
45
- export declare function transformBound2DOMBound(originBound: IBoundRectNoAngle, scene: Scene, skeleton: SpreadsheetSkeleton, worksheet: Worksheet): {
57
+ export interface IDOMAnchor {
58
+ width: number;
59
+ height: number;
60
+ horizonOffsetAlign?: 'left' | 'right';
61
+ verticalOffsetAlign?: 'top' | 'bottom';
62
+ marginX?: number;
63
+ marginY?: number;
64
+ }
65
+ export interface ILimitBound extends IBoundRectNoAngle {
46
66
  absolute: {
47
67
  left: boolean;
48
68
  top: boolean;
49
69
  };
50
- left: number;
51
- top: number;
52
- right: number;
53
- bottom: number;
54
- };
70
+ }
71
+ /**
72
+ * Adjust dom bound size when scrolling (dom bound would shrink when scrolling if over the edge of viewMain)
73
+ * @param posOfFloatObject
74
+ * @param scene
75
+ * @param skeleton
76
+ * @param worksheet
77
+ * @returns ILimitBound
78
+ */
79
+ export declare function transformBound2DOMBound(posOfFloatObject: IBoundRectNoAngle, scene: Scene, skeleton: SpreadsheetSkeleton, worksheet: Worksheet, floatDomInfo?: ICanvasFloatDomInfo): ILimitBound;
55
80
  export interface ISheetCanvasFloatDomHook {
56
81
  onGetFloatDomProps: (id: string) => Record<string, any>;
57
82
  }
@@ -63,7 +88,13 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
63
88
  private readonly _canvasFloatDomService;
64
89
  private readonly _sheetDrawingService;
65
90
  protected readonly _lifecycleService: LifecycleService;
91
+ /**
92
+ * for update dom container position when scrolling and zoom
93
+ */
66
94
  private _domLayerMap;
95
+ /**
96
+ * for update dom container position when scrolling and zoom
97
+ */
67
98
  private _domLayerInfoMap;
68
99
  private _transformChange$;
69
100
  transformChange$: import('rxjs').Observable<{
@@ -86,6 +117,11 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
86
117
  private _hooks;
87
118
  constructor(_renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService, _commandService: ICommandService, _drawingManagerService: IDrawingManagerService, _canvasFloatDomService: CanvasFloatDomService, _sheetDrawingService: ISheetDrawingService, _lifecycleService: LifecycleService);
88
119
  private _bindScrollEvent;
120
+ /**
121
+ * For scrolling and zoom
122
+ * @param unitId
123
+ * @param subUnitId
124
+ */
89
125
  private _ensureMap;
90
126
  getFloatDomInfo(id: string): ICanvasFloatDomInfo | undefined;
91
127
  private _getSceneAndTransformerByDrawingSearch;
@@ -102,5 +138,24 @@ export declare class SheetCanvasFloatDomManagerService extends Disposable {
102
138
  } | undefined;
103
139
  private _removeDom;
104
140
  addHook(hook: ISheetCanvasFloatDomHook): IDisposable;
141
+ addFloatDomToRange(range: IRange, config: ICanvasFloatDom, domAnchor: Partial<IDOMAnchor>, propId?: string): {
142
+ id: string;
143
+ dispose: () => void;
144
+ } | undefined;
145
+ addFloatDomToColumnHeader(column: number, config: ICanvasFloatDom, domLayoutParam: IDOMAnchor, propId?: string): {
146
+ id: string;
147
+ dispose: () => void;
148
+ } | undefined;
149
+ /**
150
+ * Unlike _createCellPositionObserver, this accept a range not a single cell.
151
+ *
152
+ * @param initialRow
153
+ * @param initialCol
154
+ * @param currentRender
155
+ * @param skeleton
156
+ * @param activeViewport
157
+ * @returns position of cell to canvas.
158
+ */
159
+ private _createRangePositionObserver;
105
160
  }
106
161
  export {};
@@ -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,c){typeof exports=="object"&&typeof module<"u"?c(require("@univerjs/core"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],c):(s=typeof globalThis<"u"?globalThis:s||self,c(s.UniverCore,s.UniverDrawing,s.UniverEngineRender,s.UniverSheetsDrawingUi,s.UniverSheetsUi,s.UniverSheetsDrawing,s.UniverSheetsUiFacade,s.UniverSheetsFacade,s.UniverUi))})(this,function(s,c,u,d,f,v,D,O,R){"use strict";var U=Object.defineProperty;var q=(s,c,u)=>c in s?U(s,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):s[c]=u;var G=(s,c,u)=>q(s,typeof c!="symbol"?c+"":c,u);var j=Object.defineProperty,B=Object.getOwnPropertyDescriptor,k=(i,t,e,r)=>{for(var n=r>1?void 0:r?B(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},_=(i,t)=>(e,r)=>t(e,r,i);function T(i,t){const{from:e,to:r,flipY:n=!1,flipX:a=!1,angle:o=0,skewX:g=0,skewY:m=0}=i.sheetTransform,{column:I,columnOffset:w,row:S,rowOffset:b}=e,p=f.convertPositionSheetOverGridToAbsolute(i.unitId,i.subUnitId,{from:e,to:r},t),{left:y,top:E,width:C,height:W}=p;return{...i,column:I,columnOffset:w,row:S,rowOffset:b,width:C,height:W,flipY:n,flipX:a,angle:o,skewX:g,skewY:m}}function A(i,t,e){const{column:r,columnOffset:n,row:a,rowOffset:o,flipY:g=!1,flipX:m=!1,angle:I=0,skewX:w=0,skewY:S=0,width:b,height:p}=i,y=f.convertPositionCellToSheetOverGrid(i.unitId,i.subUnitId,{column:r,columnOffset:n,row:a,rowOffset:o},b,p,t,e),{sheetTransform:E,transform:C}=y;return{...i,sheetTransform:{...E,flipY:g,flipX:m,angle:I,skewX:w,skewY:S},transform:{...C,flipY:g,flipX:m,angle:I,skewX:w,skewY:S}}}let l=class{constructor(i,t,e){G(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(u.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=T(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(u.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 c.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 A(this._image,e,r)}};l=k([_(2,s.Inject(s.Injector))],l);let h=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(l);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})}};h=k([_(1,s.ICommandService),_(2,s.Inject(s.Injector))],h);class F extends O.FWorksheet{addFloatDomToPosition(t,e){const r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=D.transformComponentKey(t,this._injector.get(R.ComponentManager)),m=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...t,componentKey:a,unitId:r,subUnitId:n},e);return m?(o.add(m.dispose),{id:m.id,dispose:()=>{o.dispose(),m.dispose()}}):(o.dispose(),null)}async insertImage(t,e,r,n,a){const o=this.newOverGridImage();if(typeof t=="string")o.setSource(t);else{const I=await t.getBlob().getDataAsString();o.setSource(I,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 g=await o.buildAsync();return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[g]})}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(v.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(h,a))}return r}getImageById(t){const r=this._injector.get(v.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return r&&r.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(h,r):null}getActiveImages(){const e=this._injector.get(v.ISheetDrawingService).getFocusDrawings(),r=[];for(const n in e){const a=e[n];r.push(this._injector.createInstance(h,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(v.ISheetDrawingService);return s.toDisposable(e.add$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(h,e.getDrawingByParam(a)));t(n)}))}onImageDeleted(t){const e=this._injector.get(v.ISheetDrawingService);return s.toDisposable(e.remove$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(h,e.getDrawingByParam(a)));t(n)}))}onImageChanged(t){const e=this._injector.get(v.ISheetDrawingService);return s.toDisposable(e.update$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(h,e.getDrawingByParam(a)));t(n)}))}newOverGridImage(){const t=this._fWorkbook.getId(),e=this.getSheetId();return this._injector.createInstance(l,t,e)}}O.FWorksheet.extend(F);class M extends s.FEnum{get DrawingType(){return s.DrawingTypeEnum}get ImageSourceType(){return s.ImageSourceType}get SheetDrawingAnchorType(){return v.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 c.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 c.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(c.IDrawingManagerService),a=r.map(g=>n.getDrawingByParam(g)),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(c.IDrawingManagerService),a=[];r.forEach(g=>{const m=n.getDrawingByParam(g);m!=null&&a.push({changeParam:g,image:this._injector.createInstance(h,m)})});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(c.IDrawingManagerService),a=r.map(o=>this._injector.createInstance(h,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(c.IDrawingManagerService),r=this.getActiveWorkbook();if(r==null)return;const n=e.getFocusDrawings(),a=t.map(g=>e.getDrawingByParam(g)),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(c.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(h,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)});