@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.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +1 -9
- package/lib/cjs/locale/en-US.js +1 -1
- package/lib/cjs/locale/fa-IR.js +1 -1
- package/lib/cjs/locale/fr-FR.js +1 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/cjs/locale/vi-VN.js +1 -1
- package/lib/cjs/locale/zh-CN.js +1 -1
- package/lib/cjs/locale/zh-TW.js +1 -1
- package/lib/es/facade.js +346 -312
- package/lib/es/index.js +2651 -2029
- package/lib/es/locale/en-US.js +2 -2
- package/lib/es/locale/fa-IR.js +2 -2
- package/lib/es/locale/fr-FR.js +2 -2
- package/lib/es/locale/ru-RU.js +2 -2
- package/lib/es/locale/vi-VN.js +2 -2
- package/lib/es/locale/zh-CN.js +2 -2
- package/lib/es/locale/zh-TW.js +2 -2
- package/lib/types/controllers/sheet-drawing-copy-paste.controller.d.ts +11 -5
- package/lib/types/controllers/sheet-drawing-update.controller.d.ts +2 -2
- package/lib/types/controllers/sheet-drawing.controller.d.ts +5 -1
- package/lib/types/facade/f-over-grid-image.d.ts +6 -0
- package/lib/types/facade/f-univer.d.ts +6 -0
- package/lib/types/facade/f-worksheet.d.ts +111 -2
- package/lib/types/index.d.ts +1 -1
- package/lib/types/services/canvas-float-dom-manager.service.d.ts +62 -7
- package/lib/types/views/sheet-image-panel/SheetDrawingAnchor.d.ts +1 -2
- package/lib/types/views/sheet-image-panel/SheetDrawingPanel.d.ts +16 -2
- package/lib/types/views/upload-loading/UploadLoading.d.ts +16 -2
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +1 -9
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +14 -14
- package/LICENSE +0 -176
package/lib/es/locale/en-US.js
CHANGED
package/lib/es/locale/fa-IR.js
CHANGED
package/lib/es/locale/fr-FR.js
CHANGED
package/lib/es/locale/ru-RU.js
CHANGED
package/lib/es/locale/vi-VN.js
CHANGED
package/lib/es/locale/zh-CN.js
CHANGED
package/lib/es/locale/zh-TW.js
CHANGED
|
@@ -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
|
|
9
|
+
private readonly _drawingService;
|
|
10
|
+
private readonly _clipboardInterfaceService;
|
|
11
|
+
private readonly _commandService;
|
|
9
12
|
private _copyInfo;
|
|
10
|
-
constructor(_sheetClipboardService: ISheetClipboardService, _renderManagerService: IRenderManagerService,
|
|
13
|
+
constructor(_sheetClipboardService: ISheetClipboardService, _renderManagerService: IRenderManagerService, _drawingService: IDrawingManagerService, _clipboardInterfaceService: IClipboardInterfaceService, _commandService: ICommandService);
|
|
14
|
+
private get _focusedDrawings();
|
|
11
15
|
private _initCopyPaste;
|
|
12
|
-
private
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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) =>
|
|
5
|
+
export declare const SheetDrawingAnchor: (props: ISheetDrawingAnchorProps) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
2
|
-
|
|
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)});
|