@univerjs/sheets-drawing-ui 0.12.3 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +2 -2
  3. package/lib/cjs/locale/ca-ES.js +1 -1
  4. package/lib/cjs/locale/en-US.js +1 -1
  5. package/lib/cjs/locale/es-ES.js +1 -1
  6. package/lib/cjs/locale/fa-IR.js +1 -1
  7. package/lib/cjs/locale/fr-FR.js +1 -1
  8. package/lib/cjs/locale/ja-JP.js +1 -1
  9. package/lib/cjs/locale/ko-KR.js +1 -1
  10. package/lib/cjs/locale/ru-RU.js +1 -1
  11. package/lib/cjs/locale/vi-VN.js +1 -1
  12. package/lib/cjs/locale/zh-CN.js +1 -1
  13. package/lib/cjs/locale/zh-TW.js +1 -1
  14. package/lib/es/facade.js +439 -395
  15. package/lib/es/index.js +1786 -1234
  16. package/lib/es/locale/ca-ES.js +15 -2
  17. package/lib/es/locale/en-US.js +13 -0
  18. package/lib/es/locale/es-ES.js +13 -0
  19. package/lib/es/locale/fa-IR.js +13 -0
  20. package/lib/es/locale/fr-FR.js +13 -0
  21. package/lib/es/locale/ja-JP.js +13 -0
  22. package/lib/es/locale/ko-KR.js +13 -0
  23. package/lib/es/locale/ru-RU.js +13 -0
  24. package/lib/es/locale/vi-VN.js +13 -0
  25. package/lib/es/locale/zh-CN.js +13 -0
  26. package/lib/es/locale/zh-TW.js +17 -4
  27. package/lib/facade.js +439 -395
  28. package/lib/index.css +1 -1
  29. package/lib/index.js +1786 -1234
  30. package/lib/locale/ca-ES.js +15 -2
  31. package/lib/locale/en-US.js +13 -0
  32. package/lib/locale/es-ES.js +13 -0
  33. package/lib/locale/fa-IR.js +13 -0
  34. package/lib/locale/fr-FR.js +13 -0
  35. package/lib/locale/ja-JP.js +13 -0
  36. package/lib/locale/ko-KR.js +13 -0
  37. package/lib/locale/ru-RU.js +13 -0
  38. package/lib/locale/vi-VN.js +13 -0
  39. package/lib/locale/zh-CN.js +13 -0
  40. package/lib/locale/zh-TW.js +17 -4
  41. package/lib/types/commands/commands/save-cell-images.command.d.ts +2 -0
  42. package/lib/types/facade/f-range.d.ts +40 -0
  43. package/lib/types/facade/f-worksheet.d.ts +29 -0
  44. package/lib/types/index.d.ts +3 -1
  45. package/lib/types/locale/en-US.d.ts +13 -0
  46. package/lib/types/services/batch-save-images.service.d.ts +148 -0
  47. package/lib/types/services/canvas-float-dom-manager.service.d.ts +2 -0
  48. package/lib/types/views/batch-save-images/BatchSaveImagesDialog.d.ts +16 -0
  49. package/lib/types/views/batch-save-images/component-name.d.ts +16 -0
  50. package/lib/types/views/batch-save-images/index.d.ts +17 -0
  51. package/lib/types/views/menu/save-images.menu.d.ts +4 -0
  52. package/lib/umd/facade.js +1 -1
  53. package/lib/umd/index.js +2 -2
  54. package/lib/umd/locale/ca-ES.js +1 -1
  55. package/lib/umd/locale/en-US.js +1 -1
  56. package/lib/umd/locale/es-ES.js +1 -1
  57. package/lib/umd/locale/fa-IR.js +1 -1
  58. package/lib/umd/locale/fr-FR.js +1 -1
  59. package/lib/umd/locale/ja-JP.js +1 -1
  60. package/lib/umd/locale/ko-KR.js +1 -1
  61. package/lib/umd/locale/ru-RU.js +1 -1
  62. package/lib/umd/locale/vi-VN.js +1 -1
  63. package/lib/umd/locale/zh-CN.js +1 -1
  64. package/lib/umd/locale/zh-TW.js +1 -1
  65. package/package.json +16 -15
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(c,l){typeof exports=="object"&&typeof module<"u"?l(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"],l):(c=typeof globalThis<"u"?globalThis:c||self,l(c.UniverCore,c.UniverCoreFacade,c.UniverDrawing,c.UniverEngineRender,c.UniverSheetsDrawingUi,c.UniverSheetsUi,c.UniverSheetsDrawing,c.UniverSheetsUiFacade,c.UniverSheetsFacade,c.UniverUi))})(this,(function(c,l,v,E,g,D,w,b,C,F){"use strict";var H=Object.defineProperty;var K=(c,l,v)=>l in c?H(c,l,{enumerable:!0,configurable:!0,writable:!0,value:v}):c[l]=v;var B=(c,l,v)=>K(c,typeof l!="symbol"?l+"":l,v);var j=Object.getOwnPropertyDescriptor,O=(o,i,t,e)=>{for(var r=e>1?void 0:e?j(i,t):i,n=o.length-1,a;n>=0;n--)(a=o[n])&&(r=a(r)||r);return r},R=(o,i)=>(t,e)=>i(t,e,o);function A(o,i){const{from:t,to:e,flipY:r=!1,flipX:n=!1,angle:a=0,skewX:s=0,skewY:d=0}=o.sheetTransform,{column:u,columnOffset:m,row:h,rowOffset:I}=t,_=D.convertPositionSheetOverGridToAbsolute(o.unitId,o.subUnitId,{from:t,to:e},i),{width:f,height:S}=_;return{...o,column:u,columnOffset:m,row:h,rowOffset:I,width:f,height:S,flipY:r,flipX:n,angle:a,skewX:s,skewY:d}}function G(o,i,t){const{column:e,columnOffset:r,row:n,rowOffset:a,flipY:s=!1,flipX:d=!1,angle:u=0,skewX:m=0,skewY:h=0,width:I,height:_}=o,f=D.convertPositionCellToSheetOverGrid(o.unitId,o.subUnitId,{column:e,columnOffset:r,row:n,rowOffset:a},I,_,i,t),{sheetTransform:S,transform:T}=f;return{...o,sheetTransform:{...S,flipY:s,flipX:d,angle:u,skewX:m,skewY:h},transform:{...T,flipY:s,flipX:d,angle:u,skewX:m,skewY:h}}}let y=class{constructor(o,i,t){B(this,"_image");this._injector=t,this._image={drawingId:c.generateRandomId(6),drawingType:c.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:c.ImageSourceType.BASE64,source:"",unitId:o,subUnitId:i,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(o){const t=this._injector.get(E.IRenderManagerService).getRenderById(o.unitId);if(!t)throw new Error(`Render Unit with unitId ${o.unitId} not found`);const e=t.with(D.SheetSkeletonManagerService);return o.sheetTransform==null&&(o.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=A(o,e),this}setSource(o,i){const t=i!=null?i:c.ImageSourceType.URL;return this._image.source=o,this._image.imageSourceType=t,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(o){return this._image.column=o,this}setRow(o){return this._image.row=o,this}setColumnOffset(o){return this._image.columnOffset=o,this}setRowOffset(o){return this._image.rowOffset=o,this}setWidth(o){return this._image.width=o,this}setHeight(o){return this._image.height=o,this}setAnchorType(o){return this._image.anchorType=o,this}setCropTop(o){return this._initializeSrcRect(),this._image.srcRect.top=o,this}setCropLeft(o){return this._initializeSrcRect(),this._image.srcRect.left=o,this}setCropBottom(o){return this._initializeSrcRect(),this._image.srcRect.bottom=o,this}setCropRight(o){return this._initializeSrcRect(),this._image.srcRect.right=o,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(o){return this._image.angle=o,this}setUnitId(o){return this._image.unitId=o,this}setSubUnitId(o){return this._image.subUnitId=o,this}async buildAsync(){const i=this._injector.get(E.IRenderManagerService).getRenderById(this._image.unitId);if(!i)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=i.with(D.ISheetSelectionRenderService),e=i.with(D.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const r=await v.getImageSize(this._image.source),n=r.width,a=r.height;this._image.width===0&&(this._image.width=n),this._image.height===0&&(this._image.height=a)}return G(this._image,t,e)}};y=O([R(2,c.Inject(c.Injector))],y);let p=class extends l.FBase{constructor(o,i,t){super(),this._image=o,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 o=this._injector.createInstance(y);return o.setImage(this._image),o}setSource(o,i){const t=i!=null?i:c.ImageSourceType.URL;return this._image.source=o,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(o,i,t,e){const r=this.toBuilder();r.setColumn(i),r.setRow(o),t!=null&&r.setRowOffset(t),e!=null&&r.setColumnOffset(e);const n=await r.buildAsync();return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[n]})}async setSizeAsync(o,i){const t=this.toBuilder();t.setWidth(o),t.setHeight(i);const e=await t.buildAsync();return this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(o,i,t,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),o!=null&&(this._image.srcRect.top=o),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(o){return this._image.sheetTransform.angle=o,this._image.transform&&(this._image.transform.angle=o),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:c.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(g.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.front})}};p=O([R(1,c.ICommandService),R(2,c.Inject(c.Injector))],p);class M extends C.FWorksheet{getFloatDomById(i){const e=this._injector.get(g.SheetCanvasFloatDomManagerService).getFloatDomInfo(i);if(!e)return null;const{unitId:r,subUnitId:n}=e,{rect:a}=e,s=a.getState(),{left:d=0,top:u=0,width:m=0,height:h=0,flipX:I=!1,flipY:_=!1,angle:f=0,skewX:S=0,skewY:T=0}=s,k=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:r,subUnitId:n});return k?{position:{left:d,top:u,width:m,height:h,flipX:I,flipY:_,angle:f,skewX:S,skewY:T},componentKey:k.componentKey,allowTransform:k.allowTransform,data:k.data,id:e.id}:null}getAllFloatDoms(){const i=this._injector.get(g.SheetCanvasFloatDomManagerService),t=this._workbook.getUnitId(),e=this._worksheet.getSheetId();return Array.from(i.getFloatDomsBySubUnitId(t,e).values()).map(r=>{const{rect:n}=r,a=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:r.id,unitId:t,subUnitId:e}),{left:s,top:d,width:u,height:m,flipX:h,flipY:I,angle:_,skewX:f,skewY:S}=n.getState();return{position:{left:s,top:d,width:u,height:m,flipX:h,flipY:I,angle:_,skewX:f,skewY:S},componentKey:a.componentKey,allowTransform:a.allowTransform,data:a.data,id:r.id}})}updateFloatDom(i,t){var f,S;const r=this._injector.get(g.SheetCanvasFloatDomManagerService).getFloatDomInfo(i);if(!r)return this;const{unitId:n,subUnitId:a}=r,s=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:a,drawingId:i}),d=this._injector.get(E.IRenderManagerService);if(!d.getRenderById(n))return this;if(!this.getSkeleton())return this;const h=(f=d.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:f.with(D.ISheetSelectionRenderService);if(!h)return this;const I={...s,componentKey:t.componentKey||s.componentKey,allowTransform:t.allowTransform!==void 0?t.allowTransform:s.allowTransform,data:t.data||s.data,sheetTransform:t.position&&(S=g.transformToDrawingPosition(t.position,h))!=null?S:s.sheetTransform,transform:{...s.transform,...t.position}};if(!this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:n,subUnitId:a,drawings:[I]}))throw new Error("updateFloatDom failed");return this}batchUpdateFloatDoms(i){var a;const t=this._injector.get(g.SheetCanvasFloatDomManagerService),e=this._injector.get(w.ISheetDrawingService),r=this._injector.get(E.IRenderManagerService),n=[];for(const s of i){const d=t.getFloatDomInfo(s.id);if(!d)continue;const{unitId:u,subUnitId:m}=d,h=e.getDrawingByParam({unitId:u,subUnitId:m,drawingId:s.id});if(!h)continue;const I=r.getRenderById(u);if(!I||!this.getSkeleton())continue;const f=I.with(D.ISheetSelectionRenderService);if(!f)return this;const S={...h,componentKey:s.config.componentKey||h.componentKey,allowTransform:s.config.allowTransform!==void 0?s.config.allowTransform:h.allowTransform,data:s.config.data||h.data,sheetTransform:s.config.position&&(a=g.transformToDrawingPosition(s.config.position,f))!=null?a:h.sheetTransform,transform:{...h.transform,...s.config.position}};n.push(S)}if(n.length>0){const s=this._workbook.getUnitId(),d=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(g.SetSheetDrawingCommand.id,{unitId:s,subUnitId:d,drawings:n}))throw new Error("batchUpdateFloatDoms failed")}return this}removeFloatDom(i){const e=this._injector.get(g.SheetCanvasFloatDomManagerService).getFloatDomInfo(i);if(!e)return this;const{unitId:r,subUnitId:n}=e,s=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:r,subUnitId:n,drawingId:i});if(!s)return this;if(!this._commandService.syncExecuteCommand(g.RemoveSheetDrawingCommand.id,{unitId:r,drawings:[s]}))throw new Error("removeFloatDom failed");return this}addFloatDomToPosition(i,t){const e=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),{key:n,disposableCollection:a}=b.transformComponentKey(i,this._injector.get(F.ComponentManager)),d=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...i,componentKey:n,unitId:e,subUnitId:r},t);return d?(a.add(d.dispose),{id:d.id,dispose:()=>{a.dispose(),d.dispose()}}):(a.dispose(),null)}addFloatDomToRange(i,t,e,r){const n=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:s,disposableCollection:d}=b.transformComponentKey(t,this._injector.get(F.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToRange(i.getRange(),{...t,componentKey:s,unitId:n,subUnitId:a},e,r);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(i,t,e,r){const n=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:s,disposableCollection:d}=b.transformComponentKey(t,this._injector.get(F.ComponentManager)),m=this._injector.get(g.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(i,{...t,componentKey:s,unitId:n,subUnitId:a},e,r);return m?(d.add(m.dispose),{id:m.id,dispose:()=>{d.dispose(),m.dispose()}}):(d.dispose(),null)}async insertImage(i,t,e,r,n){const a=this.newOverGridImage();if(typeof i=="string")a.setSource(i);else{const u=await i.getBlob().getDataAsString();a.setSource(u,c.ImageSourceType.BASE64)}t!==void 0?a.setColumn(t):a.setColumn(0),e!==void 0?a.setRow(e):a.setRow(0),r!==void 0?a.setColumnOffset(r):a.setColumnOffset(0),n!==void 0?a.setRowOffset(n):a.setRowOffset(0);const s=await a.buildAsync();return this._commandService.syncExecuteCommand(g.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[s]})}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(w.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const r in t){const n=t[r];n.drawingType===c.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(p,n))}return e}getImageById(i){const e=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:i});return e&&e.drawingType===c.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(p,e):null}getActiveImages(){const t=this._injector.get(w.ISheetDrawingService).getFocusDrawings(),e=[];for(const r in t){const n=t[r];e.push(this._injector.createInstance(p,n))}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(w.ISheetDrawingService);return c.toDisposable(t.add$.subscribe(e=>{const r=e.map(n=>this._injector.createInstance(p,t.getDrawingByParam(n)));i(r)}))}onImageDeleted(i){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.remove$.subscribe(e=>{const r=e.map(n=>this._injector.createInstance(p,t.getDrawingByParam(n)));i(r)}))}onImageChanged(i){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.update$.subscribe(e=>{const r=e.map(n=>this._injector.createInstance(p,t.getDrawingByParam(n)));i(r)}))}newOverGridImage(){const i=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(y,i,t)}}C.FWorksheet.extend(M);class x extends l.FEnum{get DrawingType(){return c.DrawingTypeEnum}get ImageSourceType(){return c.ImageSourceType}get SheetDrawingAnchorType(){return w.SheetDrawingAnchorType}}l.FEnum.extend(x);class P extends l.FEventName{get BeforeFloatDomAdd(){return"BeforeFloatDomAdd"}get FloatDomAdded(){return"FloatDomAdded"}get BeforeFloatDomUpdate(){return"BeforeFloatDomUpdate"}get FloatDomUpdated(){return"FloatDomUpdated"}get BeforeFloatDomDelete(){return"BeforeFloatDomDelete"}get FloatDomDeleted(){return"FloatDomDeleted"}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"}}l.FEventName.extend(P);class W extends l.FUniver{_initialize(i){const t=i.get(c.ICommandService);this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=a.filter(u=>u.drawingType===c.DrawingTypeEnum.DRAWING_DOM);if(s.length===0)return;const d={workbook:n,drawings:s};if(this.fireEvent(this.Event.BeforeFloatDomAdd,d),d.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomAdded,()=>t.onCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=a.filter(d=>d.drawingType===c.DrawingTypeEnum.DRAWING_DOM);s.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:n,drawings:s})})),this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s={workbook:n,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,s),s.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const a=i.get(v.IDrawingManagerService),{drawings:s}=r,d=s.map(m=>a.getDrawingByParam(m)),u={workbook:n,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=[];a.forEach(m=>{const h=s.getDrawingByParam(m);h!=null&&d.push({changeParam:m,image:this._injector.createInstance(p,h)})});const u={workbook:n,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw s.updateNotification(a),new c.CanceledError})),this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=[];if(a.forEach(m=>{const h=s.getDrawingByParam(m);(h==null?void 0:h.drawingType)===c.DrawingTypeEnum.DRAWING_DOM&&d.push(h)}),d.length===0)return;const u={workbook:n,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,u),u.cancel)throw s.updateNotification(a),new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomUpdated,()=>t.onCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=[];a.forEach(u=>{const m=s.getDrawingByParam(u);(m==null?void 0:m.drawingType)===c.DrawingTypeEnum.DRAWING_DOM&&d.push(m)}),d.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:n,drawings:d})})),this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>t.beforeCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const a=i.get(v.IDrawingManagerService),{drawings:s}=r,d=s.map(m=>a.getDrawingByParam(m)).filter(m=>(m==null?void 0:m.drawingType)===c.DrawingTypeEnum.DRAWING_DOM);if(d.length===0)return;const u={workbook:n,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomDelete,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomDeleted,()=>t.onCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r;this.fireEvent(this.Event.FloatDomDeleted,{workbook:n,drawings:a.filter(s=>s.drawingType===c.DrawingTypeEnum.DRAWING_DOM).map(s=>s.drawingId)})})),this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null)return;const a=i.get(v.IDrawingManagerService),s=a.getFocusDrawings(),d=r.map(m=>a.getDrawingByParam(m)),u={workbook:n,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==g.InsertSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r;this.fireEvent(this.Event.OverGridImageInserted,{workbook:n,images:this._createFOverGridImage(a)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==g.RemoveSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:n,removeImageParams:a})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==g.SetSheetDrawingCommand.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null||r==null)return;const{drawings:a}=r,s=i.get(v.IDrawingManagerService),d=a.map(u=>this._injector.createInstance(p,s.getDrawingByParam(u)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:n,images:d})})),this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==v.SetDrawingSelectedOperation.id)return;const r=e.params,n=this.getActiveWorkbook();if(n==null)return;const a=i.get(v.IDrawingManagerService),s=r.map(d=>a.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:n,selectedImages:this._createFOverGridImage(s)})}))}_createFOverGridImage(i){return i.map(t=>this._injector.createInstance(p,t))}}l.FUniver.extend(W);class U extends C.FRange{async insertCellImageAsync(i){var n;const t=this._injector.get(E.IRenderManagerService),e=(n=E.getCurrentTypeOfRenderer(c.UniverInstanceType.UNIVER_SHEET,this._injector.get(c.IUniverInstanceService),t))==null?void 0:n.with(g.SheetDrawingUpdateController);if(!e)return!1;const r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof i=="string"?e.insertCellImageByUrl(i,r):e.insertCellImageByFile(i,r)}}C.FRange.extend(U)}));
1
+ (function(c,l){typeof exports=="object"&&typeof module<"u"?l(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"],l):(c=typeof globalThis<"u"?globalThis:c||self,l(c.UniverCore,c.UniverCoreFacade,c.UniverDrawing,c.UniverEngineRender,c.UniverSheetsDrawingUi,c.UniverSheetsUi,c.UniverSheetsDrawing,c.UniverSheetsUiFacade,c.UniverSheetsFacade,c.UniverUi))})(this,(function(c,l,f,C,m,D,w,b,E,F){"use strict";var N=Object.defineProperty;var H=(c,l,f)=>l in c?N(c,l,{enumerable:!0,configurable:!0,writable:!0,value:f}):c[l]=f;var A=(c,l,f)=>H(c,typeof l!="symbol"?l+"":l,f);var B=Object.getOwnPropertyDescriptor,T=(s,r,t,e)=>{for(var n=e>1?void 0:e?B(r,t):r,i=s.length-1,o;i>=0;i--)(o=s[i])&&(n=o(n)||n);return n},R=(s,r)=>(t,e)=>r(t,e,s);function j(s,r){const{from:t,to:e,flipY:n=!1,flipX:i=!1,angle:o=0,skewX:a=0,skewY:d=0}=s.sheetTransform,{column:u,columnOffset:g,row:h,rowOffset:v}=t,p=D.convertPositionSheetOverGridToAbsolute(s.unitId,s.subUnitId,{from:t,to:e},r),{width:I,height:S}=p;return{...s,column:u,columnOffset:g,row:h,rowOffset:v,width:I,height:S,flipY:n,flipX:i,angle:o,skewX:a,skewY:d}}function M(s,r,t){const{column:e,columnOffset:n,row:i,rowOffset:o,flipY:a=!1,flipX:d=!1,angle:u=0,skewX:g=0,skewY:h=0,width:v,height:p}=s,I=D.convertPositionCellToSheetOverGrid(s.unitId,s.subUnitId,{column:e,columnOffset:n,row:i,rowOffset:o},v,p,r,t),{sheetTransform:S,transform:O}=I;return{...s,sheetTransform:{...S,flipY:a,flipX:d,angle:u,skewX:g,skewY:h},transform:{...O,flipY:a,flipX:d,angle:u,skewX:g,skewY:h}}}let y=class{constructor(s,r,t){A(this,"_image");this._injector=t,this._image={drawingId:c.generateRandomId(6),drawingType:c.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:c.ImageSourceType.BASE64,source:"",unitId:s,subUnitId:r,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(s){const t=this._injector.get(C.IRenderManagerService).getRenderById(s.unitId);if(!t)throw new Error(`Render Unit with unitId ${s.unitId} not found`);const e=t.with(D.SheetSkeletonManagerService);return s.sheetTransform==null&&(s.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=j(s,e),this}setSource(s,r){const t=r!=null?r:c.ImageSourceType.URL;return this._image.source=s,this._image.imageSourceType=t,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(s){return this._image.column=s,this}setRow(s){return this._image.row=s,this}setColumnOffset(s){return this._image.columnOffset=s,this}setRowOffset(s){return this._image.rowOffset=s,this}setWidth(s){return this._image.width=s,this}setHeight(s){return this._image.height=s,this}setAnchorType(s){return this._image.anchorType=s,this}setCropTop(s){return this._initializeSrcRect(),this._image.srcRect.top=s,this}setCropLeft(s){return this._initializeSrcRect(),this._image.srcRect.left=s,this}setCropBottom(s){return this._initializeSrcRect(),this._image.srcRect.bottom=s,this}setCropRight(s){return this._initializeSrcRect(),this._image.srcRect.right=s,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(s){return this._image.angle=s,this}setUnitId(s){return this._image.unitId=s,this}setSubUnitId(s){return this._image.subUnitId=s,this}async buildAsync(){const r=this._injector.get(C.IRenderManagerService).getRenderById(this._image.unitId);if(!r)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const t=r.with(D.ISheetSelectionRenderService),e=r.with(D.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await f.getImageSize(this._image.source),i=n.width,o=n.height;this._image.width===0&&(this._image.width=i),this._image.height===0&&(this._image.height=o)}return M(this._image,t,e)}};y=T([R(2,c.Inject(c.Injector))],y);let _=class extends l.FBase{constructor(s,r,t){super(),this._image=s,this._commandService=r,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 s=this._injector.createInstance(y);return s.setImage(this._image),s}setSource(s,r){const t=r!=null?r:c.ImageSourceType.URL;return this._image.source=s,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(s,r,t,e){const n=this.toBuilder();n.setColumn(r),n.setRow(s),t!=null&&n.setRowOffset(t),e!=null&&n.setColumnOffset(e);const i=await n.buildAsync();return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[i]})}async setSizeAsync(s,r){const t=this.toBuilder();t.setWidth(s),t.setHeight(r);const e=await t.buildAsync();return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(s,r,t,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),s!=null&&(this._image.srcRect.top=s),r!=null&&(this._image.srcRect.left=r),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(s){return this._image.sheetTransform.angle=s,this._image.transform&&(this._image.transform.angle=s),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:c.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(m.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:c.ArrangeTypeEnum.front})}};_=T([R(1,c.ICommandService),R(2,c.Inject(c.Injector))],_);class x extends E.FWorksheet{getFloatDomById(r){const e=this._injector.get(m.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!e)return null;const{unitId:n,subUnitId:i}=e,{rect:o}=e,a=o.getState(),{left:d=0,top:u=0,width:g=0,height:h=0,flipX:v=!1,flipY:p=!1,angle:I=0,skewX:S=0,skewY:O=0}=a,k=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:n,subUnitId:i});return k?{position:{left:d,top:u,width:g,height:h,flipX:v,flipY:p,angle:I,skewX:S,skewY:O},componentKey:k.componentKey,allowTransform:k.allowTransform,data:k.data,id:e.id}:null}getAllFloatDoms(){const r=this._injector.get(m.SheetCanvasFloatDomManagerService),t=this._workbook.getUnitId(),e=this._worksheet.getSheetId();return Array.from(r.getFloatDomsBySubUnitId(t,e).values()).map(n=>{const{rect:i}=n,o=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:n.id,unitId:t,subUnitId:e}),{left:a,top:d,width:u,height:g,flipX:h,flipY:v,angle:p,skewX:I,skewY:S}=i.getState();return{position:{left:a,top:d,width:u,height:g,flipX:h,flipY:v,angle:p,skewX:I,skewY:S},componentKey:o.componentKey,allowTransform:o.allowTransform,data:o.data,id:n.id}})}updateFloatDom(r,t){var I,S;const n=this._injector.get(m.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!n)return this;const{unitId:i,subUnitId:o}=n,a=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:i,subUnitId:o,drawingId:r}),d=this._injector.get(C.IRenderManagerService);if(!d.getRenderById(i))return this;if(!this.getSkeleton())return this;const h=(I=d.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:I.with(D.ISheetSelectionRenderService);if(!h)return this;const v={...a,componentKey:t.componentKey||a.componentKey,allowTransform:t.allowTransform!==void 0?t.allowTransform:a.allowTransform,data:t.data||a.data,sheetTransform:t.position&&(S=m.transformToDrawingPosition(t.position,h))!=null?S:a.sheetTransform,transform:{...a.transform,...t.position}};if(!this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:i,subUnitId:o,drawings:[v]}))throw new Error("updateFloatDom failed");return this}batchUpdateFloatDoms(r){var o;const t=this._injector.get(m.SheetCanvasFloatDomManagerService),e=this._injector.get(w.ISheetDrawingService),n=this._injector.get(C.IRenderManagerService),i=[];for(const a of r){const d=t.getFloatDomInfo(a.id);if(!d)continue;const{unitId:u,subUnitId:g}=d,h=e.getDrawingByParam({unitId:u,subUnitId:g,drawingId:a.id});if(!h)continue;const v=n.getRenderById(u);if(!v||!this.getSkeleton())continue;const I=v.with(D.ISheetSelectionRenderService);if(!I)return this;const S={...h,componentKey:a.config.componentKey||h.componentKey,allowTransform:a.config.allowTransform!==void 0?a.config.allowTransform:h.allowTransform,data:a.config.data||h.data,sheetTransform:a.config.position&&(o=m.transformToDrawingPosition(a.config.position,I))!=null?o:h.sheetTransform,transform:{...h.transform,...a.config.position}};i.push(S)}if(i.length>0){const a=this._workbook.getUnitId(),d=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:a,subUnitId:d,drawings:i}))throw new Error("batchUpdateFloatDoms failed")}return this}removeFloatDom(r){const e=this._injector.get(m.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!e)return this;const{unitId:n,subUnitId:i}=e,a=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:i,drawingId:r});if(!a)return this;if(!this._commandService.syncExecuteCommand(m.RemoveSheetDrawingCommand.id,{unitId:n,drawings:[a]}))throw new Error("removeFloatDom failed");return this}addFloatDomToPosition(r,t){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:i,disposableCollection:o}=b.transformComponentKey(r,this._injector.get(F.ComponentManager)),d=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...r,componentKey:i,unitId:e,subUnitId:n},t);return d?(o.add(d.dispose),{id:d.id,dispose:()=>{o.dispose(),d.dispose()}}):(o.dispose(),null)}addFloatDomToRange(r,t,e,n){const i=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:a,disposableCollection:d}=b.transformComponentKey(t,this._injector.get(F.ComponentManager)),g=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToRange(r.getRange(),{...t,componentKey:a,unitId:i,subUnitId:o},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(r,t,e,n){const i=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:a,disposableCollection:d}=b.transformComponentKey(t,this._injector.get(F.ComponentManager)),g=this._injector.get(m.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(r,{...t,componentKey:a,unitId:i,subUnitId:o},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}async insertImage(r,t,e,n,i){const o=this.newOverGridImage();if(typeof r=="string")o.setSource(r);else{const u=await r.getBlob().getDataAsString();o.setSource(u,c.ImageSourceType.BASE64)}t!==void 0?o.setColumn(t):o.setColumn(0),e!==void 0?o.setRow(e):o.setRow(0),n!==void 0?o.setColumnOffset(n):o.setColumnOffset(0),i!==void 0?o.setRowOffset(i):o.setRowOffset(0);const a=await o.buildAsync();return this._commandService.syncExecuteCommand(m.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[a]})}insertImages(r){const t=r.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(r){const t=r.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(w.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const n in t){const i=t[n];i.drawingType===c.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(_,i))}return e}getImageById(r){const e=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:r});return e&&e.drawingType===c.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(_,e):null}getActiveImages(){const t=this._injector.get(w.ISheetDrawingService).getFocusDrawings(),e=[];for(const n in t){const i=t[n];e.push(this._injector.createInstance(_,i))}return e}updateImages(r){return this._commandService.syncExecuteCommand(m.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:r}),this}onImageInserted(r){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.add$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(_,t.getDrawingByParam(i)));r(n)}))}onImageDeleted(r){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.remove$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(_,t.getDrawingByParam(i)));r(n)}))}onImageChanged(r){const t=this._injector.get(w.ISheetDrawingService);return c.toDisposable(t.update$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(_,t.getDrawingByParam(i)));r(n)}))}newOverGridImage(){const r=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(y,r,t)}async saveCellImagesAsync(r,t){var h;const e=this._injector.get(m.IBatchSaveImagesService),n=this._fWorkbook.getId(),i=this.getSheetId(),o=t?t.map(v=>v.getRange()):[this._worksheet.getCellMatrix().getDataRange()],a=e.getCellImagesFromRanges(n,i,o);if(a.length===0)return!1;if(a.length===1)try{return await e.downloadSingleImage(a[0]),!0}catch(v){return console.error("Failed to download image:",v),!1}const d=[],u=(h=r==null?void 0:r.useCellAddress)!=null?h:!0,g=r==null?void 0:r.useColumnIndex;u&&d.push(m.FileNamePart.CELL_ADDRESS),g!==void 0&&d.push(m.FileNamePart.COLUMN_VALUE),d.length===0&&d.push(m.FileNamePart.CELL_ADDRESS);try{return await e.saveImagesWithContext(a,{fileNameParts:d,columnIndex:g},n,i),!0}catch(v){return console.error("Failed to save images:",v),!1}}}E.FWorksheet.extend(x);class G extends l.FEnum{get DrawingType(){return c.DrawingTypeEnum}get ImageSourceType(){return c.ImageSourceType}get SheetDrawingAnchorType(){return w.SheetDrawingAnchorType}}l.FEnum.extend(G);class P extends l.FEventName{get BeforeFloatDomAdd(){return"BeforeFloatDomAdd"}get FloatDomAdded(){return"FloatDomAdded"}get BeforeFloatDomUpdate(){return"BeforeFloatDomUpdate"}get FloatDomUpdated(){return"FloatDomUpdated"}get BeforeFloatDomDelete(){return"BeforeFloatDomDelete"}get FloatDomDeleted(){return"FloatDomDeleted"}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"}}l.FEventName.extend(P);class W extends l.FUniver{_initialize(r){const t=r.get(c.ICommandService);this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a=o.filter(u=>u.drawingType===c.DrawingTypeEnum.DRAWING_DOM);if(a.length===0)return;const d={workbook:i,drawings:a};if(this.fireEvent(this.Event.BeforeFloatDomAdd,d),d.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomAdded,()=>t.onCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a=o.filter(d=>d.drawingType===c.DrawingTypeEnum.DRAWING_DOM);a.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:i,drawings:a})})),this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a={workbook:i,insertImageParams:o};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,a),a.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const o=r.get(f.IDrawingManagerService),{drawings:a}=n,d=a.map(g=>o.getDrawingByParam(g)),u={workbook:i,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a=r.get(f.IDrawingManagerService),d=[];o.forEach(g=>{const h=a.getDrawingByParam(g);h!=null&&d.push({changeParam:g,image:this._injector.createInstance(_,h)})});const u={workbook:i,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw a.updateNotification(o),new c.CanceledError})),this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a=r.get(f.IDrawingManagerService),d=[];if(o.forEach(g=>{const h=a.getDrawingByParam(g);(h==null?void 0:h.drawingType)===c.DrawingTypeEnum.DRAWING_DOM&&d.push(h)}),d.length===0)return;const u={workbook:i,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,u),u.cancel)throw a.updateNotification(o),new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomUpdated,()=>t.onCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a=r.get(f.IDrawingManagerService),d=[];o.forEach(u=>{const g=a.getDrawingByParam(u);(g==null?void 0:g.drawingType)===c.DrawingTypeEnum.DRAWING_DOM&&d.push(g)}),d.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:i,drawings:d})})),this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>t.beforeCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const o=r.get(f.IDrawingManagerService),{drawings:a}=n,d=a.map(g=>o.getDrawingByParam(g)).filter(g=>(g==null?void 0:g.drawingType)===c.DrawingTypeEnum.DRAWING_DOM);if(d.length===0)return;const u={workbook:i,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomDelete,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.FloatDomDeleted,()=>t.onCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n;this.fireEvent(this.Event.FloatDomDeleted,{workbook:i,drawings:o.filter(a=>a.drawingType===c.DrawingTypeEnum.DRAWING_DOM).map(a=>a.drawingId)})})),this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==f.SetDrawingSelectedOperation.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null)return;const o=r.get(f.IDrawingManagerService),a=o.getFocusDrawings(),d=n.map(g=>o.getDrawingByParam(g)),u={workbook:i,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(a)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,u),u.cancel)throw new c.CanceledError})),this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==m.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n;this.fireEvent(this.Event.OverGridImageInserted,{workbook:i,images:this._createFOverGridImage(o)})})),this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==m.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:i,removeImageParams:o})})),this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==m.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,a=r.get(f.IDrawingManagerService),d=o.map(u=>this._injector.createInstance(_,a.getDrawingByParam(u)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:i,images:d})})),this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==f.SetDrawingSelectedOperation.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null)return;const o=r.get(f.IDrawingManagerService),a=n.map(d=>o.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:i,selectedImages:this._createFOverGridImage(a)})}))}_createFOverGridImage(r){return r.map(t=>this._injector.createInstance(_,t))}}l.FUniver.extend(W);class U extends E.FRange{async insertCellImageAsync(r){var i;const t=this._injector.get(C.IRenderManagerService),e=(i=C.getCurrentTypeOfRenderer(c.UniverInstanceType.UNIVER_SHEET,this._injector.get(c.IUniverInstanceService),t))==null?void 0:i.with(m.SheetDrawingUpdateController);if(!e)return!1;const n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof r=="string"?e.insertCellImageByUrl(r,n):e.insertCellImageByFile(r,n)}async saveCellImagesAsync(r){var g;const t=this._injector.get(m.IBatchSaveImagesService),e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this.getRange(),o=t.getCellImagesFromRanges(e,n,[i]);if(o.length===0)return!1;if(o.length===1)try{return await t.downloadSingleImage(o[0]),!0}catch(h){return console.error("Failed to download image:",h),!1}const a=[],d=(g=r==null?void 0:r.useCellAddress)!=null?g:!0,u=r==null?void 0:r.useColumnIndex;d&&a.push(m.FileNamePart.CELL_ADDRESS),u!==void 0&&a.push(m.FileNamePart.COLUMN_VALUE),a.length===0&&a.push(m.FileNamePart.CELL_ADDRESS);try{return await t.saveImagesWithContext(o,{fileNameParts:a,columnIndex:u},e,n),!0}catch(h){return console.error("Failed to save images:",h),!1}}}E.FRange.extend(U)}));