@univerjs/sheets-drawing-ui 0.6.1-nightly.202502251606 → 0.6.2-nightly.202503031606
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 -1
- package/lib/es/facade.js +160 -144
- package/lib/es/index.js +1468 -1379
- package/lib/types/controllers/sheet-cell-image.controller.d.ts +1 -0
- package/lib/types/controllers/sheet-drawing-update.controller.d.ts +2 -0
- package/lib/types/facade/f-over-grid-image.d.ts +5 -5
- package/lib/types/facade/f-range.d.ts +27 -0
- package/lib/types/facade/index.d.ts +2 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +16 -17
|
@@ -13,6 +13,7 @@ export declare class SheetCellImageController extends Disposable {
|
|
|
13
13
|
private readonly _docDrawingController;
|
|
14
14
|
private readonly _editorBridgeService;
|
|
15
15
|
constructor(_commandService: ICommandService, _sheetInterceptorService: SheetInterceptorService, _univerInstanceService: IUniverInstanceService, _injector: Injector, _drawingManagerService: IDrawingManagerService, _docDrawingController: DocDrawingController, _editorBridgeService: IEditorBridgeService);
|
|
16
|
+
private _initDisableEdit;
|
|
16
17
|
private _initHandleResize;
|
|
17
18
|
private _handleInitEditor;
|
|
18
19
|
private _handleWriteCell;
|
|
@@ -35,8 +35,10 @@ 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
|
+
insertCellImageByFile(file: File, location?: ISheetLocationBase): Promise<boolean>;
|
|
38
39
|
insertFloatImageByFile(file: File): Promise<boolean | undefined>;
|
|
39
40
|
private _insertCellImage;
|
|
41
|
+
insertCellImageByUrl(url: string, location?: ISheetLocationBase): Promise<boolean>;
|
|
40
42
|
private _getUnitInfo;
|
|
41
43
|
private _getImagePosition;
|
|
42
44
|
private _updateOrderListener;
|
|
@@ -88,7 +88,7 @@ export declare class FOverGridImageBuilder {
|
|
|
88
88
|
getSourceType(): ImageSourceType;
|
|
89
89
|
/**
|
|
90
90
|
* Set the horizontal position of the image
|
|
91
|
-
* @param {number} column - The column index of the image start position
|
|
91
|
+
* @param {number} column - The column index of the image start position, start at 0
|
|
92
92
|
* @returns {FOverGridImageBuilder} The `FOverGridImageBuilder` for chaining
|
|
93
93
|
* @example
|
|
94
94
|
* ```ts
|
|
@@ -107,7 +107,7 @@ export declare class FOverGridImageBuilder {
|
|
|
107
107
|
setColumn(column: number): FOverGridImageBuilder;
|
|
108
108
|
/**
|
|
109
109
|
* Set the vertical position of the image
|
|
110
|
-
* @param {number} row - The row index of the image start position
|
|
110
|
+
* @param {number} row - The row index of the image start position, start at 0
|
|
111
111
|
* @returns {FOverGridImageBuilder} The `FOverGridImageBuilder` for chaining
|
|
112
112
|
* @example
|
|
113
113
|
* ```ts
|
|
@@ -547,7 +547,7 @@ export declare class FOverGridImage extends FBase {
|
|
|
547
547
|
setForward(): boolean;
|
|
548
548
|
/**
|
|
549
549
|
* Move the image layer backward by one level
|
|
550
|
-
* @returns
|
|
550
|
+
* @returns {boolean} true if the image is moved backward successfully, otherwise false
|
|
551
551
|
* @example
|
|
552
552
|
* ```ts
|
|
553
553
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
@@ -560,7 +560,7 @@ export declare class FOverGridImage extends FBase {
|
|
|
560
560
|
setBackward(): boolean;
|
|
561
561
|
/**
|
|
562
562
|
* Move the image layer to the bottom layer
|
|
563
|
-
* @returns
|
|
563
|
+
* @returns {boolean} true if the image is moved to the bottom layer successfully, otherwise false
|
|
564
564
|
* @example
|
|
565
565
|
* ```ts
|
|
566
566
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
@@ -573,7 +573,7 @@ export declare class FOverGridImage extends FBase {
|
|
|
573
573
|
setBack(): boolean;
|
|
574
574
|
/**
|
|
575
575
|
* Move the image layer to the top layer
|
|
576
|
-
* @returns
|
|
576
|
+
* @returns {boolean} true if the image is moved to the top layer successfully, otherwise false
|
|
577
577
|
* @example
|
|
578
578
|
* ```ts
|
|
579
579
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FRange } from '@univerjs/sheets/facade';
|
|
2
|
+
export interface IFRangeSheetDrawingMixin {
|
|
3
|
+
/**
|
|
4
|
+
* Inserts an image into the current cell.
|
|
5
|
+
*
|
|
6
|
+
* @param {string | File} file File or URL string
|
|
7
|
+
* @returns True if the image is inserted successfully, otherwise false
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
11
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
12
|
+
*
|
|
13
|
+
* // Insert an image into the cell A10
|
|
14
|
+
* const fRange = fWorksheet.getRange('A10');
|
|
15
|
+
* const result = await fRange.insertCellImageAsync('https://avatars.githubusercontent.com/u/61444807?s=48&v=4');
|
|
16
|
+
* console.log(result);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
insertCellImageAsync(file: File | string): Promise<boolean>;
|
|
20
|
+
}
|
|
21
|
+
export declare class FRangeSheetDrawingUI extends FRange implements IFRangeSheetDrawingMixin {
|
|
22
|
+
insertCellImageAsync(file: File | string): Promise<boolean>;
|
|
23
|
+
}
|
|
24
|
+
declare module '@univerjs/sheets/facade' {
|
|
25
|
+
interface FRange extends IFRangeSheetDrawingMixin {
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -18,8 +18,10 @@ import './f-worksheet';
|
|
|
18
18
|
import './f-enum';
|
|
19
19
|
import './f-event';
|
|
20
20
|
import './f-univer';
|
|
21
|
+
import './f-range';
|
|
21
22
|
export type * from './f-enum';
|
|
22
23
|
export type * from './f-event';
|
|
23
24
|
export type * from './f-over-grid-image';
|
|
25
|
+
export type * from './f-range';
|
|
24
26
|
export type * from './f-univer';
|
|
25
27
|
export type * from './f-worksheet';
|
package/lib/types/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import './global.css';
|
|
|
17
17
|
export { UniverSheetsDrawingUIPlugin } from './plugin';
|
|
18
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
|
+
export { SheetDrawingUpdateController } from './controllers/sheet-drawing-update.controller';
|
|
20
21
|
export { DeleteDrawingsCommand } from './commands/commands/delete-drawings.command';
|
|
21
22
|
export { GroupSheetDrawingCommand } from './commands/commands/group-sheet-drawing.command';
|
|
22
23
|
export { InsertSheetDrawingCommand } from './commands/commands/insert-sheet-drawing.command';
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(o,u){typeof exports=="object"&&typeof module<"u"?u(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/core/facade","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],u):(o=typeof globalThis<"u"?globalThis:o||self,u(o.UniverCore,o.UniverCoreFacade,o.UniverDrawing,o.UniverEngineRender,o.UniverSheetsDrawingUi,o.UniverSheetsUi,o.UniverSheetsDrawing,o.UniverSheetsUiFacade,o.UniverSheetsFacade,o.UniverUi))})(this,function(o,u,v,k,m,w,l,_,D,p){"use strict";var W=Object.defineProperty;var U=(o,u,v)=>u in o?W(o,u,{enumerable:!0,configurable:!0,writable:!0,value:v}):o[u]=v;var G=(o,u,v)=>U(o,typeof u!="symbol"?u+"":u,v);var j=Object.getOwnPropertyDescriptor,R=(r,i,t,e)=>{for(var n=e>1?void 0:e?j(i,t):i,s=r.length-1,a;s>=0;s--)(a=r[s])&&(n=a(n)||n);return n},C=(r,i)=>(t,e)=>i(t,e,r);function T(r,i){const{from:t,to:e,flipY:n=!1,flipX:s=!1,angle:a=0,skewX:c=0,skewY:d=0}=r.sheetTransform,{column:h,columnOffset:g,row:f,rowOffset:b}=t,E=w.convertPositionSheetOverGridToAbsolute(r.unitId,r.subUnitId,{from:t,to:e},i),{width:y,height:O}=E;return{...r,column:h,columnOffset:g,row:f,rowOffset:b,width:y,height:O,flipY:n,flipX:s,angle:a,skewX:c,skewY:d}}function B(r,i,t){const{column:e,columnOffset:n,row:s,rowOffset:a,flipY:c=!1,flipX:d=!1,angle:h=0,skewX:g=0,skewY:f=0,width:b,height:E}=r,y=w.convertPositionCellToSheetOverGrid(r.unitId,r.subUnitId,{column:e,columnOffset:n,row:s,rowOffset:a},b,E,i,t),{sheetTransform:O,transform:P}=y;return{...r,sheetTransform:{...O,flipY:c,flipX:d,angle:h,skewX:g,skewY:f},transform:{...P,flipY:c,flipX:d,angle:h,skewX:g,skewY:f}}}let S=class{constructor(r,i,t){G(this,"_image");this._injector=t,this._image={drawingId:o.generateRandomId(6),drawingType:o.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:o.ImageSourceType.BASE64,source:"",unitId:r,subUnitId:i,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(r){const t=this._injector.get(k.IRenderManagerService).getRenderById(r.unitId);if(!t)throw new Error(`Render Unit with unitId ${r.unitId} not found`);const e=t.with(w.SheetSkeletonManagerService);return r.sheetTransform==null&&(r.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=T(r,e),this}setSource(r,i){const t=i!=null?i:o.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(r){return this._image.column=r,this}setRow(r){return this._image.row=r,this}setColumnOffset(r){return this._image.columnOffset=r,this}setRowOffset(r){return this._image.rowOffset=r,this}setWidth(r){return this._image.width=r,this}setHeight(r){return this._image.height=r,this}setAnchorType(r){return this._image.anchorType=r,this}setCropTop(r){return this._initializeSrcRect(),this._image.srcRect.top=r,this}setCropLeft(r){return this._initializeSrcRect(),this._image.srcRect.left=r,this}setCropBottom(r){return this._initializeSrcRect(),this._image.srcRect.bottom=r,this}setCropRight(r){return this._initializeSrcRect(),this._image.srcRect.right=r,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(r){return this._image.angle=r,this}setUnitId(r){return this._image.unitId=r,this}setSubUnitId(r){return this._image.subUnitId=r,this}async buildAsync(){const i=this._injector.get(k.IRenderManagerService).getRenderById(this._image.unitId);if(!i)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=i.with(w.ISheetSelectionRenderService),e=i.with(w.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await v.getImageSize(this._image.source),s=n.width,a=n.height;this._image.width===0&&(this._image.width=s),this._image.height===0&&(this._image.height=a)}return B(this._image,t,e)}};S=R([C(2,o.Inject(o.Injector))],S);let I=class extends u.FBase{constructor(r,i,t){super(),this._image=r,this._commandService=i,this._injector=t}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(m.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const r=this._injector.createInstance(S);return r.setImage(this._image),r}setSource(r,i){const t=i!=null?i:o.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(r,i,t,e){const n=this.toBuilder();n.setColumn(i),n.setRow(r),t!=null&&n.setRowOffset(t),e!=null&&n.setColumnOffset(e);const s=await n.buildAsync();return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[s]})}async setSizeAsync(r,i){const t=this.toBuilder();t.setWidth(r),t.setHeight(i);const e=await t.buildAsync();return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(r,i,t,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),r!=null&&(this._image.srcRect.top=r),i!=null&&(this._image.srcRect.left=i),t!=null&&(this._image.srcRect.bottom=t),e!=null&&(this._image.srcRect.right=e),this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(r){return this._image.sheetTransform.angle=r,this._image.transform&&(this._image.transform.angle=r),this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.front})}};I=R([C(1,o.ICommandService),C(2,o.Inject(o.Injector))],I);class F extends D.FWorksheet{addFloatDomToPosition(i,t){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:s,disposableCollection:a}=_.transformComponentKey(i,this._injector.get(p.ComponentManager)),d=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:s,unitId:e,subUnitId:n},t);return d?(a.add(d.dispose),{id:d.id,dispose:()=>{a.dispose(),d.dispose()}}):(a.dispose(),null)}addFloatDomToRange(i,t,e,n){const s=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),g=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToRange(i.getRange(),{...t,componentKey:c,unitId:s,subUnitId:a},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(i,t,e,n){const s=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=_.transformComponentKey(t,this._injector.get(p.ComponentManager)),g=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(i,{...t,componentKey:c,unitId:s,subUnitId:a},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}async insertImage(i,t,e,n,s){const a=this.newOverGridImage();if(typeof i=="string")a.setSource(i);else{const h=await i.getBlob().getDataAsString();a.setSource(h,o.ImageSourceType.BASE64)}t!==void 0?a.setColumn(t):a.setColumn(0),e!==void 0?a.setRow(e):a.setRow(0),n!==void 0?a.setColumnOffset(n):a.setColumnOffset(0),s!==void 0?a.setRowOffset(s):a.setRowOffset(0);const c=await a.buildAsync();return this._commandService.syncExecuteCommand(m.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(i){const t=i.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(m.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(i){const t=i.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(m.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){const t=this._injector.get(l.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const n in t){const s=t[n];s.drawingType===o.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(I,s))}return e}getImageById(i){const e=this._injector.get(l.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:i});return e&&e.drawingType===o.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(I,e):null}getActiveImages(){const t=this._injector.get(l.ISheetDrawingService).getFocusDrawings(),e=[];for(const n in t){const s=t[n];e.push(this._injector.createInstance(I,s))}return e}updateImages(i){return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:i}),this}onImageInserted(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.add$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}onImageDeleted(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.remove$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}onImageChanged(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.update$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}newOverGridImage(){const i=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(S,i,t)}}D.FWorksheet.extend(F);class A extends u.FEnum{get DrawingType(){return o.DrawingTypeEnum}get ImageSourceType(){return o.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}u.FEnum.extend(A);class x extends u.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"}}u.FEventName.extend(x);class M extends u.FUniver{_initialize(i){const t=i.get(o.ICommandService);this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c={workbook:s,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,c),c.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const a=i.get(v.IDrawingManagerService),{drawings:c}=n,d=c.map(g=>a.getDrawingByParam(g)),h={workbook:s,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,h),h.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c=i.get(v.IDrawingManagerService),d=[];a.forEach(g=>{const f=c.getDrawingByParam(g);f!=null&&d.push({changeParam:g,image:this._injector.createInstance(I,f)})});const h={workbook:s,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,h),h.cancel)throw c.updateNotification(a),new Error("Canceled by BeforeOverGridImageChange event")})),this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null)return;const a=i.get(v.IDrawingManagerService),c=a.getFocusDrawings(),d=n.map(g=>a.getDrawingByParam(g)),h={workbook:s,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(c)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,h),h.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageInserted,{workbook:s,images:this._createFOverGridImage(a)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:s,removeImageParams:a})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c=i.get(v.IDrawingManagerService),d=a.map(h=>this._injector.createInstance(I,c.getDrawingByParam(h)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:s,images:d})})),this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null)return;const a=i.get(v.IDrawingManagerService),c=n.map(d=>a.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:s,selectedImages:this._createFOverGridImage(c)})}))}_createFOverGridImage(i){return i.map(t=>this._injector.createInstance(I,t))}}u.FUniver.extend(M)});
|
|
1
|
+
(function(o,u){typeof exports=="object"&&typeof module<"u"?u(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets-drawing-ui"),require("@univerjs/sheets-ui"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-ui/facade"),require("@univerjs/sheets/facade"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/core/facade","@univerjs/drawing","@univerjs/engine-render","@univerjs/sheets-drawing-ui","@univerjs/sheets-ui","@univerjs/sheets-drawing","@univerjs/sheets-ui/facade","@univerjs/sheets/facade","@univerjs/ui"],u):(o=typeof globalThis<"u"?globalThis:o||self,u(o.UniverCore,o.UniverCoreFacade,o.UniverDrawing,o.UniverEngineRender,o.UniverSheetsDrawingUi,o.UniverSheetsUi,o.UniverSheetsDrawing,o.UniverSheetsUiFacade,o.UniverSheetsFacade,o.UniverUi))})(this,function(o,u,v,S,g,w,l,C,_,y){"use strict";var W=Object.defineProperty;var H=(o,u,v)=>u in o?W(o,u,{enumerable:!0,configurable:!0,writable:!0,value:v}):o[u]=v;var G=(o,u,v)=>H(o,typeof u!="symbol"?u+"":u,v);var T=Object.getOwnPropertyDescriptor,R=(r,i,t,e)=>{for(var n=e>1?void 0:e?T(i,t):i,s=r.length-1,a;s>=0;s--)(a=r[s])&&(n=a(n)||n);return n},E=(r,i)=>(t,e)=>i(t,e,r);function j(r,i){const{from:t,to:e,flipY:n=!1,flipX:s=!1,angle:a=0,skewX:c=0,skewY:d=0}=r.sheetTransform,{column:h,columnOffset:m,row:f,rowOffset:b}=t,k=w.convertPositionSheetOverGridToAbsolute(r.unitId,r.subUnitId,{from:t,to:e},i),{width:O,height:D}=k;return{...r,column:h,columnOffset:m,row:f,rowOffset:b,width:O,height:D,flipY:n,flipX:s,angle:a,skewX:c,skewY:d}}function B(r,i,t){const{column:e,columnOffset:n,row:s,rowOffset:a,flipY:c=!1,flipX:d=!1,angle:h=0,skewX:m=0,skewY:f=0,width:b,height:k}=r,O=w.convertPositionCellToSheetOverGrid(r.unitId,r.subUnitId,{column:e,columnOffset:n,row:s,rowOffset:a},b,k,i,t),{sheetTransform:D,transform:U}=O;return{...r,sheetTransform:{...D,flipY:c,flipX:d,angle:h,skewX:m,skewY:f},transform:{...U,flipY:c,flipX:d,angle:h,skewX:m,skewY:f}}}let p=class{constructor(r,i,t){G(this,"_image");this._injector=t,this._image={drawingId:o.generateRandomId(6),drawingType:o.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:o.ImageSourceType.BASE64,source:"",unitId:r,subUnitId:i,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(r){const t=this._injector.get(S.IRenderManagerService).getRenderById(r.unitId);if(!t)throw new Error(`Render Unit with unitId ${r.unitId} not found`);const e=t.with(w.SheetSkeletonManagerService);return r.sheetTransform==null&&(r.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=j(r,e),this}setSource(r,i){const t=i!=null?i:o.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(r){return this._image.column=r,this}setRow(r){return this._image.row=r,this}setColumnOffset(r){return this._image.columnOffset=r,this}setRowOffset(r){return this._image.rowOffset=r,this}setWidth(r){return this._image.width=r,this}setHeight(r){return this._image.height=r,this}setAnchorType(r){return this._image.anchorType=r,this}setCropTop(r){return this._initializeSrcRect(),this._image.srcRect.top=r,this}setCropLeft(r){return this._initializeSrcRect(),this._image.srcRect.left=r,this}setCropBottom(r){return this._initializeSrcRect(),this._image.srcRect.bottom=r,this}setCropRight(r){return this._initializeSrcRect(),this._image.srcRect.right=r,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(r){return this._image.angle=r,this}setUnitId(r){return this._image.unitId=r,this}setSubUnitId(r){return this._image.subUnitId=r,this}async buildAsync(){const i=this._injector.get(S.IRenderManagerService).getRenderById(this._image.unitId);if(!i)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=i.with(w.ISheetSelectionRenderService),e=i.with(w.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await v.getImageSize(this._image.source),s=n.width,a=n.height;this._image.width===0&&(this._image.width=s),this._image.height===0&&(this._image.height=a)}return B(this._image,t,e)}};p=R([E(2,o.Inject(o.Injector))],p);let I=class extends u.FBase{constructor(r,i,t){super(),this._image=r,this._commandService=i,this._injector=t}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(g.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const r=this._injector.createInstance(p);return r.setImage(this._image),r}setSource(r,i){const t=i!=null?i:o.ImageSourceType.URL;return this._image.source=r,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(r,i,t,e){const n=this.toBuilder();n.setColumn(i),n.setRow(r),t!=null&&n.setRowOffset(t),e!=null&&n.setColumnOffset(e);const s=await n.buildAsync();return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[s]})}async setSizeAsync(r,i){const t=this.toBuilder();t.setWidth(r),t.setHeight(i);const e=await t.buildAsync();return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(r,i,t,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),r!=null&&(this._image.srcRect.top=r),i!=null&&(this._image.srcRect.left=i),t!=null&&(this._image.srcRect.bottom=t),e!=null&&(this._image.srcRect.right=e),this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(r){return this._image.sheetTransform.angle=r,this._image.transform&&(this._image.transform.angle=r),this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:o.ArrangeTypeEnum.front})}};I=R([E(1,o.ICommandService),E(2,o.Inject(o.Injector))],I);class F extends _.FWorksheet{addFloatDomToPosition(i,t){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:s,disposableCollection:a}=C.transformComponentKey(i,this._injector.get(y.ComponentManager)),d=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:s,unitId:e,subUnitId:n},t);return d?(a.add(d.dispose),{id:d.id,dispose:()=>{a.dispose(),d.dispose()}}):(a.dispose(),null)}addFloatDomToRange(i,t,e,n){const s=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=C.transformComponentKey(t,this._injector.get(y.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToRange(i.getRange(),{...t,componentKey:c,unitId:s,subUnitId:a},e,n);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(i,t,e,n){const s=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:c,disposableCollection:d}=C.transformComponentKey(t,this._injector.get(y.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(i,{...t,componentKey:c,unitId:s,subUnitId:a},e,n);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}async insertImage(i,t,e,n,s){const a=this.newOverGridImage();if(typeof i=="string")a.setSource(i);else{const h=await i.getBlob().getDataAsString();a.setSource(h,o.ImageSourceType.BASE64)}t!==void 0?a.setColumn(t):a.setColumn(0),e!==void 0?a.setRow(e):a.setRow(0),n!==void 0?a.setColumnOffset(n):a.setColumnOffset(0),s!==void 0?a.setRowOffset(s):a.setRowOffset(0);const c=await a.buildAsync();return this._commandService.syncExecuteCommand(g.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(i){const t=i.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(g.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(i){const t=i.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(g.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){const t=this._injector.get(l.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const n in t){const s=t[n];s.drawingType===o.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(I,s))}return e}getImageById(i){const e=this._injector.get(l.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:i});return e&&e.drawingType===o.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(I,e):null}getActiveImages(){const t=this._injector.get(l.ISheetDrawingService).getFocusDrawings(),e=[];for(const n in t){const s=t[n];e.push(this._injector.createInstance(I,s))}return e}updateImages(i){return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:i}),this}onImageInserted(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.add$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}onImageDeleted(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.remove$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}onImageChanged(i){const t=this._injector.get(l.ISheetDrawingService);return o.toDisposable(t.update$.subscribe(e=>{const n=e.map(s=>this._injector.createInstance(I,t.getDrawingByParam(s)));i(n)}))}newOverGridImage(){const i=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(p,i,t)}}_.FWorksheet.extend(F);class x extends u.FEnum{get DrawingType(){return o.DrawingTypeEnum}get ImageSourceType(){return o.ImageSourceType}get SheetDrawingAnchorType(){return l.SheetDrawingAnchorType}}u.FEnum.extend(x);class A extends u.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"}}u.FEventName.extend(A);class M extends u.FUniver{_initialize(i){const t=i.get(o.ICommandService);this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c={workbook:s,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,c),c.cancel)throw new Error("Canceled by BeforeOverGridImageInsert event")})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const a=i.get(v.IDrawingManagerService),{drawings:c}=n,d=c.map(m=>a.getDrawingByParam(m)),h={workbook:s,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,h),h.cancel)throw new Error("Canceled by BeforeOverGridImageRemove event")})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c=i.get(v.IDrawingManagerService),d=[];a.forEach(m=>{const f=c.getDrawingByParam(m);f!=null&&d.push({changeParam:m,image:this._injector.createInstance(I,f)})});const h={workbook:s,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,h),h.cancel)throw c.updateNotification(a),new Error("Canceled by BeforeOverGridImageChange event")})),this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null)return;const a=i.get(v.IDrawingManagerService),c=a.getFocusDrawings(),d=n.map(m=>a.getDrawingByParam(m)),h={workbook:s,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(c)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,h),h.cancel)throw new Error("Canceled by BeforeOverGridImageSelect event")})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageInserted,{workbook:s,images:this._createFOverGridImage(a)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:s,removeImageParams:a})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null||n==null)return;const{drawings:a}=n,c=i.get(v.IDrawingManagerService),d=a.map(h=>this._injector.createInstance(I,c.getDrawingByParam(h)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:s,images:d})})),this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const n=e.params,s=this.getActiveWorkbook();if(s==null)return;const a=i.get(v.IDrawingManagerService),c=n.map(d=>a.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:s,selectedImages:this._createFOverGridImage(c)})}))}_createFOverGridImage(i){return i.map(t=>this._injector.createInstance(I,t))}}u.FUniver.extend(M);class P extends _.FRange{async insertCellImageAsync(i){var s;const t=this._injector.get(S.IRenderManagerService),e=(s=S.getCurrentTypeOfRenderer(o.UniverInstanceType.UNIVER_SHEET,this._injector.get(o.IUniverInstanceService),t))==null?void 0:s.with(g.SheetDrawingUpdateController);if(!e)return!1;const n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof i=="string"?e.insertCellImageByUrl(i,n):e.insertCellImageByFile(i,n)}}_.FRange.extend(P)});
|