@univerjs/sheets-drawing-ui 0.5.4 → 0.5.5-nightly.202501201336
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +2 -2
- package/lib/es/facade.js +237 -219
- package/lib/es/index.js +1841 -1379
- 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/umd/facade.js +1 -1
- package/lib/umd/index.js +2 -2
- package/package.json +13 -13
- package/LICENSE +0 -176
|
@@ -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 {};
|
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(s,g){typeof exports=="object"&&typeof module<"u"?g(require("@univerjs/core"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],g):(s=typeof globalThis<"u"?globalThis:s||self,g(s.UniverCore,s.UniverDrawing,s.UniverEngineRender,s.UniverSheetsDrawingUi,s.UniverSheetsUi,s.UniverSheetsDrawing,s.UniverSheetsUiFacade,s.UniverSheetsFacade,s.UniverUi))})(this,function(s,g,I,d,f,l,_,y,p){"use strict";var U=Object.defineProperty;var q=(s,g,I)=>g in s?U(s,g,{enumerable:!0,configurable:!0,writable:!0,value:I}):s[g]=I;var R=(s,g,I)=>q(s,typeof g!="symbol"?g+"":g,I);var j=Object.defineProperty,T=Object.getOwnPropertyDescriptor,E=(i,t,e,r)=>{for(var n=r>1?void 0:r?T(t,e):t,a=i.length-1,o;a>=0;a--)(o=i[a])&&(n=(r?o(t,e,n):o(n))||n);return r&&n&&j(t,e,n),n},b=(i,t)=>(e,r)=>t(e,r,i);function B(i,t){const{from:e,to:r,flipY:n=!1,flipX:a=!1,angle:o=0,skewX:m=0,skewY:c=0}=i.sheetTransform,{column:v,columnOffset:h,row:S,rowOffset:C}=e,k=f.convertPositionSheetOverGridToAbsolute(i.unitId,i.subUnitId,{from:e,to:r},t),{left:D,top:G,width:O,height:W}=k;return{...i,column:v,columnOffset:h,row:S,rowOffset:C,width:O,height:W,flipY:n,flipX:a,angle:o,skewX:m,skewY:c}}function F(i,t,e){const{column:r,columnOffset:n,row:a,rowOffset:o,flipY:m=!1,flipX:c=!1,angle:v=0,skewX:h=0,skewY:S=0,width:C,height:k}=i,D=f.convertPositionCellToSheetOverGrid(i.unitId,i.subUnitId,{column:r,columnOffset:n,row:a,rowOffset:o},C,k,t,e),{sheetTransform:G,transform:O}=D;return{...i,sheetTransform:{...G,flipY:m,flipX:c,angle:v,skewX:h,skewY:S},transform:{...O,flipY:m,flipX:c,angle:v,skewX:h,skewY:S}}}let w=class{constructor(i,t,e){R(this,"_image");this._injector=e,this._image={drawingId:s.generateRandomId(6),drawingType:s.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:s.ImageSourceType.BASE64,source:"",unitId:i,subUnitId:t,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(i){const e=this._injector.get(I.IRenderManagerService).getRenderById(i.unitId);if(!e)throw new Error(`Render Unit with unitId ${i.unitId} not found`);const r=e.with(f.SheetSkeletonManagerService);return i.sheetTransform==null&&(i.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=B(i,r),this}setSource(i,t){const e=t!=null?t:s.ImageSourceType.URL;return this._image.source=i,this._image.imageSourceType=e,this}getsource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(i){return this._image.column=i,this}setRow(i){return this._image.row=i,this}setColumnOffset(i){return this._image.columnOffset=i,this}setRowOffset(i){return this._image.rowOffset=i,this}setWidth(i){return this._image.width=i,this}setHeight(i){return this._image.height=i,this}setAnchorType(i){return this._image.anchorType=i,this}setCropTop(i){return this._initializeSrcRect(),this._image.srcRect.top=i,this}setCropLeft(i){return this._initializeSrcRect(),this._image.srcRect.left=i,this}setCropBottom(i){return this._initializeSrcRect(),this._image.srcRect.bottom=i,this}setCropRight(i){return this._initializeSrcRect(),this._image.srcRect.right=i,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(i){return this._image.angle=i,this}setUnitId(i){return this._image.unitId=i,this}setSubUnitId(i){return this._image.subUnitId=i,this}async buildAsync(){const t=this._injector.get(I.IRenderManagerService).getRenderById(this._image.unitId);if(!t)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const e=t.with(f.ISheetSelectionRenderService),r=t.with(f.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await g.getImageSize(this._image.source),a=n.width,o=n.height;this._image.width===0&&(this._image.width=a),this._image.height===0&&(this._image.height=o)}return F(this._image,e,r)}};w=E([b(2,s.Inject(s.Injector))],w);let u=class extends s.FBase{constructor(i,t,e){super(),this._image=i,this._commandService=t,this._injector=e}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const i=this._injector.createInstance(w);return i.setImage(this._image),i}setSource(i,t){const e=t!=null?t:s.ImageSourceType.URL;return this._image.source=i,this._image.imageSourceType=e,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(i,t,e,r){const n=this.toBuilder();n.setColumn(t),n.setRow(i),e!=null&&n.setRowOffset(e),r!=null&&n.setColumnOffset(r);const a=await n.buildAsync();return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[a]})}async setSizeAsync(i,t){const e=this.toBuilder();e.setWidth(i),e.setHeight(t);const r=await e.buildAsync();return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(i,t,e,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),i!=null&&(this._image.srcRect.top=i),t!=null&&(this._image.srcRect.left=t),e!=null&&(this._image.srcRect.bottom=e),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(i){return this._image.sheetTransform.angle=i,this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(d.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:s.ArrangeTypeEnum.front})}};u=E([b(1,s.ICommandService),b(2,s.Inject(s.Injector))],u);class A extends y.FWorksheet{addFloatDomToPosition(t,e){const r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),c=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...t,componentKey:a,unitId:r,subUnitId:n},e);return c?(o.add(c.dispose),{id:c.id,dispose:()=>{o.dispose(),c.dispose()}}):(o.dispose(),null)}addFloatDomToRange(t,e,r,n){const a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:m,disposableCollection:c}=_.transformComponentKey(e,this._injector.get(p.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToRange(t.getRange(),{...e,componentKey:m,unitId:a,subUnitId:o},r,n);return h?(c.add(h.dispose),{id:h.id,dispose:()=>{c.dispose(),h.dispose()}}):(c.dispose(),null)}addFloatDomToColumnHeader(t,e,r,n){const a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:m,disposableCollection:c}=_.transformComponentKey(e,this._injector.get(p.ComponentManager)),h=this._injector.get(d.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(t,{...e,componentKey:m,unitId:a,subUnitId:o},r,n);return h?(c.add(h.dispose),{id:h.id,dispose:()=>{c.dispose(),h.dispose()}}):(c.dispose(),null)}async insertImage(t,e,r,n,a){const o=this.newOverGridImage();if(typeof t=="string")o.setSource(t);else{const v=await t.getBlob().getDataAsString();o.setSource(v,s.ImageSourceType.BASE64)}e!==void 0?o.setColumn(e):o.setColumn(0),r!==void 0?o.setRow(r):o.setRow(0),n!==void 0?o.setColumnOffset(n):o.setColumnOffset(0),a!==void 0?o.setRowOffset(a):o.setRowOffset(0);const m=await o.buildAsync();return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[m]})}insertImages(t){const e=t.map(r=>(r.unitId=this._fWorkbook.getId(),r.subUnitId=this.getSheetId(),r));return this._commandService.syncExecuteCommand(d.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}deleteImages(t){const e=t.map(r=>({unitId:this._fWorkbook.getId(),drawingId:r.getId(),subUnitId:this.getSheetId(),drawingType:r.getType()}));return this._commandService.syncExecuteCommand(d.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}getImages(){const e=this._injector.get(l.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),r=[];for(const n in e){const a=e[n];a.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE&&r.push(this._injector.createInstance(u,a))}return r}getImageById(t){const r=this._injector.get(l.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return r&&r.drawingType===s.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(u,r):null}getActiveImages(){const e=this._injector.get(l.ISheetDrawingService).getFocusDrawings(),r=[];for(const n in e){const a=e[n];r.push(this._injector.createInstance(u,a))}return r}updateImages(t){return this._commandService.syncExecuteCommand(d.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}onImageInserted(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.add$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}onImageDeleted(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.remove$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}onImageChanged(t){const e=this._injector.get(l.ISheetDrawingService);return s.toDisposable(e.update$.subscribe(r=>{const n=r.map(a=>this._injector.createInstance(u,e.getDrawingByParam(a)));t(n)}))}newOverGridImage(){const t=this._fWorkbook.getId(),e=this.getSheetId();return this._injector.createInstance(w,t,e)}}y.FWorksheet.extend(A);class M extends s.FEnum{get DrawingType(){return s.DrawingTypeEnum}get ImageSourceType(){return s.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}s.FEnum.extend(M);class x extends s.FEventName{get BeforeOverGridImageChange(){return"BeforeOverGridImageChange"}get OverGridImageChanged(){return"OverGridImageChanged"}get BeforeOverGridImageInsert(){return"BeforeOverGridImageInsert"}get OverGridImageInserted(){return"OverGridImageInserted"}get BeforeOverGridImageRemove(){return"BeforeOverGridImageRemove"}get OverGridImageRemoved(){return"OverGridImageRemoved"}get BeforeOverGridImageSelect(){return"BeforeOverGridImageSelect"}get OverGridImageSelected(){return"OverGridImageSelected"}}s.FEventName.extend(x);class P extends s.FUniver{_initialize(t){const e=t.get(s.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(r=>{switch(r.id){case d.InsertSheetDrawingCommand.id:this._beforeOverGridImageInsert(r.params);break;case d.RemoveSheetDrawingCommand.id:this._beforeOverGridImageRemove(r.params);break;case d.SetSheetDrawingCommand.id:this._beforeOverGridImageChange(r.params);break;case g.SetDrawingSelectedOperation.id:this._beforeOverGridImageSelect(r.params);break}})),this.disposeWithMe(e.onCommandExecuted(r=>{switch(r.id){case d.InsertSheetDrawingCommand.id:this._overGridImageInserted(r.params);break;case d.RemoveSheetDrawingCommand.id:this._overGridImageRemoved(r.params);break;case d.SetSheetDrawingCommand.id:this._overGridImageChanged(r.params);break;case g.SetDrawingSelectedOperation.id:this._overGridImageSelected(r.params);break}}))}_beforeOverGridImageInsert(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageInsert))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n={workbook:e,insertImageParams:r};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,n),n.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")}_overGridImageInserted(t){if(!this.hasEventCallback(this.Event.OverGridImageInserted))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t;this.fireEvent(this.Event.OverGridImageInserted,{workbook:e,images:this._createFOverGridImage(r)})}_beforeOverGridImageRemove(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageRemove))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=r.map(m=>n.getDrawingByParam(m)),o={workbook:e,images:this._createFOverGridImage(a)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,o),o.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")}_overGridImageRemoved(t){if(!this.hasEventCallback(this.Event.OverGridImageRemoved))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:e,removeImageParams:r})}_beforeOverGridImageChange(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageChange))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=[];r.forEach(m=>{const c=n.getDrawingByParam(m);c!=null&&a.push({changeParam:m,image:this._injector.createInstance(u,c)})});const o={workbook:e,images:a};if(this.fireEvent(this.Event.BeforeOverGridImageChange,o),o.cancel)throw n.updateNotification(r),new Error("Canceled by BeforeOverGridImageChange event")}_overGridImageChanged(t){if(!this.hasEventCallback(this.Event.OverGridImageChanged))return;const e=this.getActiveWorkbook();if(e==null||t==null)return;const{drawings:r}=t,n=this._injector.get(g.IDrawingManagerService),a=r.map(o=>this._injector.createInstance(u,n.getDrawingByParam(o)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:e,images:a})}_beforeOverGridImageSelect(t){if(!this.hasEventCallback(this.Event.BeforeOverGridImageSelect))return;const e=this._injector.get(g.IDrawingManagerService),r=this.getActiveWorkbook();if(r==null)return;const n=e.getFocusDrawings(),a=t.map(m=>e.getDrawingByParam(m)),o={workbook:r,selectedImages:this._createFOverGridImage(a),oldSelectedImages:this._createFOverGridImage(n)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,o),o.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")}_overGridImageSelected(t){if(!this.hasEventCallback(this.Event.OverGridImageSelected))return;const e=this.getActiveWorkbook(),r=this._injector.get(g.IDrawingManagerService);if(e==null)return;const n=t.map(a=>r.getDrawingByParam(a));this.fireEvent(this.Event.OverGridImageSelected,{workbook:e,selectedImages:this._createFOverGridImage(n)})}_createFOverGridImage(t){return t.map(e=>this._injector.createInstance(u,e))}}s.FUniver.extend(P)});
|