@univerjs/sheets-drawing-ui 0.17.0 → 0.18.0

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 (117) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +7 -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/sk-SK.js +1 -1
  12. package/lib/cjs/locale/vi-VN.js +1 -1
  13. package/lib/cjs/locale/zh-CN.js +1 -1
  14. package/lib/cjs/locale/zh-TW.js +1 -1
  15. package/lib/es/facade.js +1 -1389
  16. package/lib/es/index.js +7 -4388
  17. package/lib/es/locale/ca-ES.js +1 -54
  18. package/lib/es/locale/en-US.js +1 -54
  19. package/lib/es/locale/es-ES.js +1 -54
  20. package/lib/es/locale/fa-IR.js +1 -54
  21. package/lib/es/locale/fr-FR.js +1 -54
  22. package/lib/es/locale/ja-JP.js +1 -54
  23. package/lib/es/locale/ko-KR.js +1 -54
  24. package/lib/es/locale/ru-RU.js +1 -54
  25. package/lib/es/locale/sk-SK.js +1 -54
  26. package/lib/es/locale/vi-VN.js +1 -54
  27. package/lib/es/locale/zh-CN.js +1 -54
  28. package/lib/es/locale/zh-TW.js +1 -54
  29. package/lib/facade.js +1 -1389
  30. package/lib/index.css +66 -1
  31. package/lib/index.js +7 -4388
  32. package/lib/locale/ca-ES.js +1 -54
  33. package/lib/locale/en-US.js +1 -54
  34. package/lib/locale/es-ES.js +1 -54
  35. package/lib/locale/fa-IR.js +1 -54
  36. package/lib/locale/fr-FR.js +1 -54
  37. package/lib/locale/ja-JP.js +1 -54
  38. package/lib/locale/ko-KR.js +1 -54
  39. package/lib/locale/ru-RU.js +1 -54
  40. package/lib/locale/sk-SK.js +1 -54
  41. package/lib/locale/vi-VN.js +1 -54
  42. package/lib/locale/zh-CN.js +1 -54
  43. package/lib/locale/zh-TW.js +1 -54
  44. package/lib/types/basics/transform-position.d.ts +18 -3
  45. package/lib/types/commands/commands/delete-drawings.command.d.ts +16 -1
  46. package/lib/types/commands/commands/flip-drawings.command.d.ts +16 -1
  47. package/lib/types/commands/commands/group-sheet-drawing.command.d.ts +16 -1
  48. package/lib/types/commands/commands/insert-image.command.d.ts +16 -1
  49. package/lib/types/commands/commands/insert-sheet-drawing.command.d.ts +16 -1
  50. package/lib/types/commands/commands/interfaces.d.ts +17 -2
  51. package/lib/types/commands/commands/move-drawings.command.d.ts +17 -1
  52. package/lib/types/commands/commands/remove-sheet-drawing.command.d.ts +16 -1
  53. package/lib/types/commands/commands/save-cell-images.command.d.ts +16 -1
  54. package/lib/types/commands/commands/set-drawing-arrange.command.d.ts +18 -2
  55. package/lib/types/commands/commands/set-sheet-drawing.command.d.ts +16 -1
  56. package/lib/types/commands/commands/ungroup-sheet-drawing.command.d.ts +16 -1
  57. package/lib/types/commands/commands/utils.d.ts +23 -1
  58. package/lib/types/commands/operations/clear-drawing-transformer.operation.d.ts +16 -1
  59. package/lib/types/commands/operations/edit-sheet-drawing.operation.d.ts +16 -1
  60. package/lib/types/commands/operations/open-drawing-panel.operation.d.ts +16 -1
  61. package/lib/types/config/config.d.ts +17 -2
  62. package/lib/types/controllers/drawing-context-menu.controller.d.ts +28 -0
  63. package/lib/types/controllers/render-controllers/sheet-celll-image-hover.render-controller.d.ts +16 -1
  64. package/lib/types/controllers/render-controllers/sheet-drawing.render-controller.d.ts +16 -1
  65. package/lib/types/controllers/sheet-cell-image-autofill.controller.d.ts +15 -0
  66. package/lib/types/controllers/sheet-cell-image-copy-paste.controller.d.ts +15 -0
  67. package/lib/types/controllers/sheet-cell-image.controller.d.ts +19 -2
  68. package/lib/types/controllers/sheet-drawing-copy-paste.controller.d.ts +15 -0
  69. package/lib/types/controllers/sheet-drawing-group-copy-paste.controller.d.ts +54 -0
  70. package/lib/types/controllers/sheet-drawing-permission.controller.d.ts +15 -0
  71. package/lib/types/controllers/sheet-drawing-printing.controller.d.ts +15 -0
  72. package/lib/types/controllers/sheet-drawing-transform-affected.controller.d.ts +19 -2
  73. package/lib/types/controllers/sheet-drawing-update.controller.d.ts +20 -3
  74. package/lib/types/controllers/sheet-drawing.controller.d.ts +15 -0
  75. package/lib/types/controllers/shortcuts/drawing.shortcut.d.ts +18 -3
  76. package/lib/types/facade/f-enum.d.ts +15 -0
  77. package/lib/types/facade/f-event.d.ts +21 -5
  78. package/lib/types/facade/f-over-grid-image.d.ts +19 -3
  79. package/lib/types/facade/f-range.d.ts +15 -0
  80. package/lib/types/facade/f-univer.d.ts +16 -1
  81. package/lib/types/facade/f-worksheet.d.ts +23 -7
  82. package/lib/types/index.d.ts +1 -0
  83. package/lib/types/locale/ca-ES.d.ts +16 -1
  84. package/lib/types/locale/es-ES.d.ts +16 -1
  85. package/lib/types/locale/fa-IR.d.ts +16 -1
  86. package/lib/types/locale/fr-FR.d.ts +16 -1
  87. package/lib/types/locale/ja-JP.d.ts +16 -1
  88. package/lib/types/locale/ko-KR.d.ts +16 -1
  89. package/lib/types/locale/ru-RU.d.ts +16 -1
  90. package/lib/types/locale/sk-SK.d.ts +16 -1
  91. package/lib/types/locale/vi-VN.d.ts +16 -1
  92. package/lib/types/locale/zh-CN.d.ts +16 -1
  93. package/lib/types/locale/zh-TW.d.ts +16 -1
  94. package/lib/types/menu/drawing-popup-menu.controller.d.ts +17 -1
  95. package/lib/types/menu/image.menu.d.ts +17 -2
  96. package/lib/types/menu/save-images.menu.d.ts +17 -2
  97. package/lib/types/menu/schema.d.ts +16 -1
  98. package/lib/types/plugin.d.ts +16 -1
  99. package/lib/types/services/batch-save-images.service.d.ts +18 -2
  100. package/lib/types/services/canvas-float-dom-manager.service.d.ts +24 -6
  101. package/lib/types/views/printing-float-dom/index.d.ts +18 -3
  102. package/lib/types/views/sheet-image-panel/SheetDrawingAnchor.d.ts +16 -1
  103. package/lib/umd/facade.js +1 -1
  104. package/lib/umd/index.js +7 -2
  105. package/lib/umd/locale/ca-ES.js +1 -1
  106. package/lib/umd/locale/en-US.js +1 -1
  107. package/lib/umd/locale/es-ES.js +1 -1
  108. package/lib/umd/locale/fa-IR.js +1 -1
  109. package/lib/umd/locale/fr-FR.js +1 -1
  110. package/lib/umd/locale/ja-JP.js +1 -1
  111. package/lib/umd/locale/ko-KR.js +1 -1
  112. package/lib/umd/locale/ru-RU.js +1 -1
  113. package/lib/umd/locale/sk-SK.js +1 -1
  114. package/lib/umd/locale/vi-VN.js +1 -1
  115. package/lib/umd/locale/zh-CN.js +1 -1
  116. package/lib/umd/locale/zh-TW.js +1 -1
  117. package/package.json +17 -16
package/lib/cjs/facade.js CHANGED
@@ -1 +1 @@
1
- "use strict";var M=Object.defineProperty;var U=(s,r,t)=>r in s?M(s,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[r]=t;var O=(s,r,t)=>U(s,typeof r!="symbol"?r+"":r,t);const h=require("@univerjs/core"),E=require("@univerjs/core/facade"),S=require("@univerjs/drawing"),C=require("@univerjs/engine-render"),c=require("@univerjs/sheets-drawing-ui"),p=require("@univerjs/sheets-ui"),w=require("@univerjs/sheets-drawing"),R=require("@univerjs/sheets-ui/facade"),b=require("@univerjs/sheets/facade"),T=require("@univerjs/ui");var B=Object.getOwnPropertyDescriptor,A=(s,r,t,e)=>{for(var n=e>1?void 0:e?B(r,t):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(n=a(n)||n);return n},F=(s,r)=>(t,e)=>r(t,e,s);function x(s,r){const{from:t,to:e,flipY:n=!1,flipX:i=!1,angle:a=0,skewX:d=0,skewY:o=0}=s.sheetTransform,{column:m,columnOffset:g,row:l,rowOffset:u}=t,I=p.convertPositionSheetOverGridToAbsolute(s.unitId,s.subUnitId,{from:t,to:e},r),{width:v,height:f}=I;return{...s,column:m,columnOffset:g,row:l,rowOffset:u,width:v,height:f,flipY:n,flipX:i,angle:a,skewX:d,skewY:o}}function P(s,r,t){const{column:e,columnOffset:n,row:i,rowOffset:a,flipY:d=!1,flipX:o=!1,angle:m=0,skewX:g=0,skewY:l=0,width:u,height:I}=s,v=p.convertPositionCellToSheetOverGrid(s.unitId,s.subUnitId,{column:e,columnOffset:n,row:i,rowOffset:a},u,I,r,t),{sheetTransform:f,transform:_}=v;return{...s,sheetTransform:{...f,flipY:d,flipX:o,angle:m,skewX:g,skewY:l},transform:{..._,flipY:d,flipX:o,angle:m,skewX:g,skewY:l},axisAlignSheetTransform:c.transformToAxisAlignPosition(_,r)}}let k=class{constructor(s,r,t){O(this,"_image");this._injector=t,this._image={drawingId:h.generateRandomId(6),drawingType:h.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:h.ImageSourceType.BASE64,source:"",unitId:s,subUnitId:r,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset: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(p.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}}),s.axisAlignSheetTransform==null&&(s.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=x(s,e),this}setSource(s,r){const t=r!=null?r:h.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(p.ISheetSelectionRenderService),e=r.with(p.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await S.getImageSize(this._image.source),i=n.width,a=n.height;this._image.width===0&&(this._image.width=i),this._image.height===0&&(this._image.height=a)}return P(this._image,t,e)}};k=A([F(2,h.Inject(h.Injector))],k);let D=class extends E.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(c.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){const s=this._injector.createInstance(k);return s.setImage(this._image),s}setSource(s,r){const t=r!=null?r:h.ImageSourceType.URL;return this._image.source=s,this._image.imageSourceType=t,this._commandService.syncExecuteCommand(c.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(c.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(c.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(c.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(s){if(this._image.sheetTransform.angle=s,this._image.transform&&(this._image.transform.angle=s),this._image.transform){const t=this._injector.get(C.IRenderManagerService).getRenderById(this._image.unitId);if(!t)throw new Error(`Render Unit with unitId ${this._image.unitId} not found`);const e=t.with(p.ISheetSelectionRenderService);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=c.transformToAxisAlignPosition(this._image.transform,e))}return this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(c.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:h.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(c.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:h.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(c.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:h.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(c.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:h.ArrangeTypeEnum.front})}};D=A([F(1,h.ICommandService),F(2,h.Inject(h.Injector))],D);class G extends b.FWorksheet{getFloatDomById(r){const e=this._injector.get(c.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!e)return null;const{unitId:n,subUnitId:i}=e,{rect:a}=e,d=a.getState(),{left:o=0,top:m=0,width:g=0,height:l=0,flipX:u=!1,flipY:I=!1,angle:v=0,skewX:f=0,skewY:_=0}=d,y=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:n,subUnitId:i});return y?{position:{left:o,top:m,width:g,height:l,flipX:u,flipY:I,angle:v,skewX:f,skewY:_},componentKey:y.componentKey,allowTransform:y.allowTransform,data:y.data,id:e.id}:null}getAllFloatDoms(){const r=this._injector.get(c.SheetCanvasFloatDomManagerService),t=this._workbook.getUnitId(),e=this._worksheet.getSheetId();return Array.from(r.getFloatDomsBySubUnitId(t,e).values()).map(n=>{const{rect:i}=n,a=this._injector.get(w.ISheetDrawingService).getDrawingByParam({drawingId:n.id,unitId:t,subUnitId:e}),{left:d,top:o,width:m,height:g,flipX:l,flipY:u,angle:I,skewX:v,skewY:f}=i.getState();return{position:{left:d,top:o,width:m,height:g,flipX:l,flipY:u,angle:I,skewX:v,skewY:f},componentKey:a.componentKey,allowTransform:a.allowTransform,data:a.data,id:n.id}})}updateFloatDom(r,t){var v,f,_;const n=this._injector.get(c.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!n)return this;const{unitId:i,subUnitId:a}=n,d=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:i,subUnitId:a,drawingId:r}),o=this._injector.get(C.IRenderManagerService);if(!o.getRenderById(i))return this;if(!this.getSkeleton())return this;const l=(v=o.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:v.with(p.ISheetSelectionRenderService);if(!l)return this;const u={...d,componentKey:t.componentKey||d.componentKey,allowTransform:t.allowTransform!==void 0?t.allowTransform:d.allowTransform,data:t.data||d.data,sheetTransform:t.position&&(f=c.transformToDrawingPosition(t.position,l))!=null?f:d.sheetTransform,transform:{...d.transform,...t.position},axisAlignSheetTransform:t.position&&(_=c.transformToAxisAlignPosition(t.position,l))!=null?_:d.sheetTransform};if(!this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:i,subUnitId:a,drawings:[u]}))throw new Error("updateFloatDom failed");return this}batchUpdateFloatDoms(r){var a,d;const t=this._injector.get(c.SheetCanvasFloatDomManagerService),e=this._injector.get(w.ISheetDrawingService),n=this._injector.get(C.IRenderManagerService),i=[];for(const o of r){const m=t.getFloatDomInfo(o.id);if(!m)continue;const{unitId:g,subUnitId:l}=m,u=e.getDrawingByParam({unitId:g,subUnitId:l,drawingId:o.id});if(!u)continue;const I=n.getRenderById(g);if(!I||!this.getSkeleton())continue;const f=I.with(p.ISheetSelectionRenderService);if(!f)return this;const _={...u,componentKey:o.config.componentKey||u.componentKey,allowTransform:o.config.allowTransform!==void 0?o.config.allowTransform:u.allowTransform,data:o.config.data||u.data,sheetTransform:o.config.position&&(a=c.transformToDrawingPosition(o.config.position,f))!=null?a:u.sheetTransform,transform:{...u.transform,...o.config.position},axisAlignSheetTransform:o.config.position&&(d=c.transformToAxisAlignPosition(o.config.position,f))!=null?d:u.sheetTransform};i.push(_)}if(i.length>0){const o=this._workbook.getUnitId(),m=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:o,subUnitId:m,drawings:i}))throw new Error("batchUpdateFloatDoms failed")}return this}removeFloatDom(r){const e=this._injector.get(c.SheetCanvasFloatDomManagerService).getFloatDomInfo(r);if(!e)return this;const{unitId:n,subUnitId:i}=e,d=this._injector.get(w.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:i,drawingId:r});if(!d)return this;if(!this._commandService.syncExecuteCommand(c.RemoveSheetDrawingCommand.id,{unitId:n,drawings:[d]}))throw new Error("removeFloatDom failed");return this}addFloatDomToPosition(r,t){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:i,disposableCollection:a}=R.transformComponentKey(r,this._injector.get(T.ComponentManager)),o=this._injector.get(c.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...r,componentKey:i,unitId:e,subUnitId:n},t);return o?(a.add(o.dispose),{id:o.id,dispose:()=>{a.dispose(),o.dispose()}}):(a.dispose(),null)}addFloatDomToRange(r,t,e,n){const i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:d,disposableCollection:o}=R.transformComponentKey(t,this._injector.get(T.ComponentManager)),g=this._injector.get(c.SheetCanvasFloatDomManagerService).addFloatDomToRange(r.getRange(),{...t,componentKey:d,unitId:i,subUnitId:a},e,n);return g?(o.add(g.dispose),{id:g.id,dispose:()=>{o.dispose(),g.dispose()}}):(o.dispose(),null)}addFloatDomToColumnHeader(r,t,e,n){const i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:d,disposableCollection:o}=R.transformComponentKey(t,this._injector.get(T.ComponentManager)),g=this._injector.get(c.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(r,{...t,componentKey:d,unitId:i,subUnitId:a},e,n);return g?(o.add(g.dispose),{id:g.id,dispose:()=>{o.dispose(),g.dispose()}}):(o.dispose(),null)}async insertImage(r,t,e,n,i){const a=this.newOverGridImage();if(typeof r=="string")a.setSource(r);else{const m=await r.getBlob().getDataAsString();a.setSource(m,h.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),i!==void 0?a.setRowOffset(i):a.setRowOffset(0);const d=await a.buildAsync();return this._commandService.syncExecuteCommand(c.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[d]})}insertImages(r){const t=r.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(c.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(c.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===h.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(D,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===h.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(D,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(D,i))}return e}updateImages(r){return this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:r}),this}onImageInserted(r){const t=this._injector.get(w.ISheetDrawingService);return h.toDisposable(t.add$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(D,t.getDrawingByParam(i)));r(n)}))}onImageDeleted(r){const t=this._injector.get(w.ISheetDrawingService);return h.toDisposable(t.remove$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(D,t.getDrawingByParam(i)));r(n)}))}onImageChanged(r){const t=this._injector.get(w.ISheetDrawingService);return h.toDisposable(t.update$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(D,t.getDrawingByParam(i)));r(n)}))}newOverGridImage(){const r=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(k,r,t)}async saveCellImagesAsync(r,t){var l;const e=this._injector.get(c.IBatchSaveImagesService),n=this._fWorkbook.getId(),i=this.getSheetId(),a=t?t.map(u=>u.getRange()):[this._worksheet.getCellMatrix().getDataRange()],d=e.getCellImagesFromRanges(n,i,a);if(d.length===0)return!1;if(d.length===1)try{return await e.downloadSingleImage(d[0]),!0}catch(u){return console.error("Failed to download image:",u),!1}const o=[],m=(l=r==null?void 0:r.useCellAddress)!=null?l:!0,g=r==null?void 0:r.useColumnIndex;m&&o.push(c.FileNamePart.CELL_ADDRESS),g!==void 0&&o.push(c.FileNamePart.COLUMN_VALUE),o.length===0&&o.push(c.FileNamePart.CELL_ADDRESS);try{return await e.saveImagesWithContext(d,{fileNameParts:o,columnIndex:g},n,i),!0}catch(u){return console.error("Failed to save images:",u),!1}}}b.FWorksheet.extend(G);class W extends E.FEnum{get DrawingType(){return h.DrawingTypeEnum}get ImageSourceType(){return h.ImageSourceType}get SheetDrawingAnchorType(){return w.SheetDrawingAnchorType}}E.FEnum.extend(W);class j extends E.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"}}E.FEventName.extend(j);class N extends E.FUniver{_initialize(r){const t=r.get(h.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>t.beforeCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d=a.filter(m=>m.drawingType===h.DrawingTypeEnum.DRAWING_DOM);if(d.length===0)return;const o={workbook:i,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomAdd,o),o.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomAdded,()=>t.onCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d=a.filter(o=>o.drawingType===h.DrawingTypeEnum.DRAWING_DOM);d.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:i,drawings:d})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d={workbook:i,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,d),d.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(e=>{if(e.id!==c.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const a=r.get(S.IDrawingManagerService),{drawings:d}=n,o=d.map(g=>a.getDrawingByParam(g)),m={workbook:i,images:this._createFOverGridImage(o)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,m),m.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d=r.get(S.IDrawingManagerService),o=[];a.forEach(g=>{const l=d.getDrawingByParam(g);l!=null&&o.push({changeParam:g,image:this._injector.createInstance(D,l)})});const m={workbook:i,images:o};if(this.fireEvent(this.Event.BeforeOverGridImageChange,m),m.cancel)throw d.updateNotification(a),new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d=r.get(S.IDrawingManagerService),o=[];if(a.forEach(g=>{const l=d.getDrawingByParam(g);(l==null?void 0:l.drawingType)===h.DrawingTypeEnum.DRAWING_DOM&&o.push(l)}),o.length===0)return;const m={workbook:i,drawings:o};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,m),m.cancel)throw d.updateNotification(a),new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomUpdated,()=>t.onCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d=r.get(S.IDrawingManagerService),o=[];a.forEach(m=>{const g=d.getDrawingByParam(m);(g==null?void 0:g.drawingType)===h.DrawingTypeEnum.DRAWING_DOM&&o.push(g)}),o.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:i,drawings:o})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>t.beforeCommandExecuted(e=>{if(e.id!==c.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const a=r.get(S.IDrawingManagerService),{drawings:d}=n,o=d.map(g=>a.getDrawingByParam(g)).filter(g=>(g==null?void 0:g.drawingType)===h.DrawingTypeEnum.DRAWING_DOM);if(o.length===0)return;const m={workbook:i,drawings:o};if(this.fireEvent(this.Event.BeforeFloatDomDelete,m),m.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomDeleted,()=>t.onCommandExecuted(e=>{if(e.id!==c.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.FloatDomDeleted,{workbook:i,drawings:a.filter(d=>d.drawingType===h.DrawingTypeEnum.DRAWING_DOM).map(d=>d.drawingId)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(e=>{if(e.id!==S.SetDrawingSelectedOperation.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null)return;const a=r.get(S.IDrawingManagerService),d=a.getFocusDrawings(),o=n.map(g=>a.getDrawingByParam(g)),m={workbook:i,selectedImages:this._createFOverGridImage(o),oldSelectedImages:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,m),m.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageInserted,{workbook:i,images:this._createFOverGridImage(a)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==c.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:i,removeImageParams:a})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:a}=n,d=r.get(S.IDrawingManagerService),o=a.map(m=>this._injector.createInstance(D,d.getDrawingByParam(m)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:i,images:o})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(e=>{if(e.id!==S.SetDrawingSelectedOperation.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null)return;const a=r.get(S.IDrawingManagerService),d=n.map(o=>a.getDrawingByParam(o));this.fireEvent(this.Event.OverGridImageSelected,{workbook:i,selectedImages:this._createFOverGridImage(d)})})))}_createFOverGridImage(r){return r.map(t=>this._injector.createInstance(D,t))}registerURLImageDownloader(r){return this._injector.get(h.IURLImageService).registerURLImageDownloader(r)}}E.FUniver.extend(N);class H extends b.FRange{async insertCellImageAsync(r){var i;const t=this._injector.get(C.IRenderManagerService),e=(i=C.getCurrentTypeOfRenderer(h.UniverInstanceType.UNIVER_SHEET,this._injector.get(h.IUniverInstanceService),t))==null?void 0:i.with(c.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(c.IBatchSaveImagesService),e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this.getRange(),a=t.getCellImagesFromRanges(e,n,[i]);if(a.length===0)return!1;if(a.length===1)try{return await t.downloadSingleImage(a[0]),!0}catch(l){return console.error("Failed to download image:",l),!1}const d=[],o=(g=r==null?void 0:r.useCellAddress)!=null?g:!0,m=r==null?void 0:r.useColumnIndex;o&&d.push(c.FileNamePart.CELL_ADDRESS),m!==void 0&&d.push(c.FileNamePart.COLUMN_VALUE),d.length===0&&d.push(c.FileNamePart.CELL_ADDRESS);try{return await t.saveImagesWithContext(a,{fileNameParts:d,columnIndex:m},e,n),!0}catch(l){return console.error("Failed to save images:",l),!1}}}b.FRange.extend(H);
1
+ let e=require(`@univerjs/core`),t=require(`@univerjs/core/facade`),n=require(`@univerjs/drawing`),r=require(`@univerjs/engine-render`),i=require(`@univerjs/sheets-drawing-ui`),a=require(`@univerjs/sheets-ui`),o=require(`@univerjs/sheets-drawing`),s=require(`@univerjs/sheets-ui/facade`),c=require(`@univerjs/sheets/facade`),l=require(`@univerjs/ui`);function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return function(n,r){t(n,r,e)}}function h(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function g(e,t){let{from:n,to:r,flipY:i=!1,flipX:o=!1,angle:s=0,skewX:c=0,skewY:l=0}=e.sheetTransform,{column:u,columnOffset:d,row:f,rowOffset:p}=n,{width:m,height:h}=(0,a.convertPositionSheetOverGridToAbsolute)(e.unitId,e.subUnitId,{from:n,to:r},t);return{...e,column:u,columnOffset:d,row:f,rowOffset:p,width:m,height:h,flipY:i,flipX:o,angle:s,skewX:c,skewY:l}}function _(e,t,n){let{column:r,columnOffset:o,row:s,rowOffset:c,flipY:l=!1,flipX:u=!1,angle:d=0,skewX:f=0,skewY:p=0,width:m,height:h}=e,{sheetTransform:g,transform:_}=(0,a.convertPositionCellToSheetOverGrid)(e.unitId,e.subUnitId,{column:r,columnOffset:o,row:s,rowOffset:c},m,h,t,n);return{...e,sheetTransform:{...g,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},transform:{..._,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},axisAlignSheetTransform:(0,i.transformToAxisAlignPosition)(_,t)}}let v=class{constructor(t,n,r){this._injector=r,p(this,`_image`,void 0),this._image={drawingId:(0,e.generateRandomId)(6),drawingType:e.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:e.ImageSourceType.BASE64,source:``,unitId:t,subUnitId:n,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}}}setImage(e){let t=this._injector.get(r.IRenderManagerService).getRenderById(e.unitId);if(!t)throw Error(`Render Unit with unitId ${e.unitId} not found`);let n=t.with(a.SheetSkeletonManagerService);return e.sheetTransform==null&&(e.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),e.axisAlignSheetTransform==null&&(e.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=g(e,n),this}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(e){return this._image.column=e,this}setRow(e){return this._image.row=e,this}setColumnOffset(e){return this._image.columnOffset=e,this}setRowOffset(e){return this._image.rowOffset=e,this}setWidth(e){return this._image.width=e,this}setHeight(e){return this._image.height=e,this}setAnchorType(e){return this._image.anchorType=e,this}setCropTop(e){return this._initializeSrcRect(),this._image.srcRect.top=e,this}setCropLeft(e){return this._initializeSrcRect(),this._image.srcRect.left=e,this}setCropBottom(e){return this._initializeSrcRect(),this._image.srcRect.bottom=e,this}setCropRight(e){return this._initializeSrcRect(),this._image.srcRect.right=e,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(e){return this._image.angle=e,this}setUnitId(e){return this._image.unitId=e,this}setSubUnitId(e){return this._image.subUnitId=e,this}async buildAsync(){let e=this._injector.get(r.IRenderManagerService).getRenderById(this._image.unitId);if(!e)throw Error(`Render Unit with unitId ${this._image.unitId} not found`);let t=e.with(a.ISheetSelectionRenderService),i=e.with(a.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){let e=await(0,n.getImageSize)(this._image.source),t=e.width,r=e.height;this._image.width===0&&(this._image.width=t),this._image.height===0&&(this._image.height=r)}return _(this._image,t,i)}};v=h([m(2,(0,e.Inject)(e.Injector))],v);let y=class extends t.FBase{constructor(e,t,n){super(),this._image=e,this._commandService=t,this._injector=n}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){let e=this._injector.createInstance(v);return e.setImage(this._image),e}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(e,t,n,r){let a=this.toBuilder();a.setColumn(t),a.setRow(e),n!=null&&a.setRowOffset(n),r!=null&&a.setColumnOffset(r);let o=await a.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[o]})}async setSizeAsync(e,t){let n=this.toBuilder();n.setWidth(e),n.setHeight(t);let r=await n.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(e,t,n,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),e!=null&&(this._image.srcRect.top=e),t!=null&&(this._image.srcRect.left=t),n!=null&&(this._image.srcRect.bottom=n),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){if(this._image.sheetTransform.angle=e,this._image.transform&&(this._image.transform.angle=e),this._image.transform){let e=this._injector.get(r.IRenderManagerService).getRenderById(this._image.unitId);if(!e)throw Error(`Render Unit with unitId ${this._image.unitId} not found`);let t=e.with(a.ISheetSelectionRenderService);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=(0,i.transformToAxisAlignPosition)(this._image.transform,t))}return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.front})}};y=h([m(1,e.ICommandService),m(2,(0,e.Inject)(e.Injector))],y);var b=class extends c.FWorksheet{getFloatDomById(e){let t=this._injector.get(i.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!t)return null;let{unitId:n,subUnitId:r}=t,{rect:a}=t,{left:s=0,top:c=0,width:l=0,height:u=0,flipX:d=!1,flipY:f=!1,angle:p=0,skewX:m=0,skewY:h=0}=a.getState(),g=this._injector.get(o.ISheetDrawingService).getDrawingByParam({drawingId:t.id,unitId:n,subUnitId:r});return g?{position:{left:s,top:c,width:l,height:u,flipX:d,flipY:f,angle:p,skewX:m,skewY:h},componentKey:g.componentKey,allowTransform:g.allowTransform,data:g.data,id:t.id}:null}getAllFloatDoms(){let e=this._injector.get(i.SheetCanvasFloatDomManagerService),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return Array.from(e.getFloatDomsBySubUnitId(t,n).values()).map(e=>{let{rect:r}=e,i=this._injector.get(o.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:t,subUnitId:n}),{left:a,top:s,width:c,height:l,flipX:u,flipY:d,angle:f,skewX:p,skewY:m}=r.getState();return{position:{left:a,top:s,width:c,height:l,flipX:u,flipY:d,angle:f,skewX:p,skewY:m},componentKey:i.componentKey,allowTransform:i.allowTransform,data:i.data,id:e.id}})}updateFloatDom(e,t){var n,s,c;let l=this._injector.get(i.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!l)return this;let{unitId:u,subUnitId:d}=l,f=this._injector.get(o.ISheetDrawingService).getDrawingByParam({unitId:u,subUnitId:d,drawingId:e}),p=this._injector.get(r.IRenderManagerService);if(!p.getRenderById(u)||!this.getSkeleton())return this;let m=(n=p.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:n.with(a.ISheetSelectionRenderService);if(!m)return this;let h={...f,componentKey:t.componentKey||f.componentKey,allowTransform:t.allowTransform===void 0?f.allowTransform:t.allowTransform,data:t.data||f.data,sheetTransform:t.position?(s=(0,i.transformToDrawingPosition)(t.position,m))==null?f.sheetTransform:s:f.sheetTransform,transform:{...f.transform,...t.position},axisAlignSheetTransform:t.position?(c=(0,i.transformToAxisAlignPosition)(t.position,m))==null?f.sheetTransform:c:f.sheetTransform};if(!this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:u,subUnitId:d,drawings:[h]}))throw Error(`updateFloatDom failed`);return this}batchUpdateFloatDoms(e){let t=this._injector.get(i.SheetCanvasFloatDomManagerService),n=this._injector.get(o.ISheetDrawingService),s=this._injector.get(r.IRenderManagerService),c=[];for(let r of e){var l,u;let e=t.getFloatDomInfo(r.id);if(!e)continue;let{unitId:o,subUnitId:d}=e,f=n.getDrawingByParam({unitId:o,subUnitId:d,drawingId:r.id});if(!f)continue;let p=s.getRenderById(o);if(!p||!this.getSkeleton())continue;let m=p.with(a.ISheetSelectionRenderService);if(!m)return this;let h={...f,componentKey:r.config.componentKey||f.componentKey,allowTransform:r.config.allowTransform===void 0?f.allowTransform:r.config.allowTransform,data:r.config.data||f.data,sheetTransform:r.config.position?(l=(0,i.transformToDrawingPosition)(r.config.position,m))==null?f.sheetTransform:l:f.sheetTransform,transform:{...f.transform,...r.config.position},axisAlignSheetTransform:r.config.position?(u=(0,i.transformToAxisAlignPosition)(r.config.position,m))==null?f.sheetTransform:u:f.sheetTransform};c.push(h)}if(c.length>0){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:e,subUnitId:t,drawings:c}))throw Error(`batchUpdateFloatDoms failed`)}return this}removeFloatDom(e){let t=this._injector.get(i.SheetCanvasFloatDomManagerService).getFloatDomInfo(e);if(!t)return this;let{unitId:n,subUnitId:r}=t,a=this._injector.get(o.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:r,drawingId:e});if(!a)return this;if(!this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:n,drawings:[a]}))throw Error(`removeFloatDom failed`);return this}addFloatDomToPosition(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),{key:a,disposableCollection:o}=(0,s.transformComponentKey)(e,this._injector.get(l.ComponentManager)),c=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...e,componentKey:a,unitId:n,subUnitId:r},t);return c?(o.add(c.dispose),{id:c.id,dispose:()=>{o.dispose(),c.dispose()}}):(o.dispose(),null)}addFloatDomToRange(e,t,n,r){let a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:c,disposableCollection:u}=(0,s.transformComponentKey)(t,this._injector.get(l.ComponentManager)),d=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToRange(e.getRange(),{...t,componentKey:c,unitId:a,subUnitId:o},n,r);return d?(u.add(d.dispose),{id:d.id,dispose:()=>{u.dispose(),d.dispose()}}):(u.dispose(),null)}addFloatDomToColumnHeader(e,t,n,r){let a=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:c,disposableCollection:u}=(0,s.transformComponentKey)(t,this._injector.get(l.ComponentManager)),d=this._injector.get(i.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(e,{...t,componentKey:c,unitId:a,subUnitId:o},n,r);return d?(u.add(d.dispose),{id:d.id,dispose:()=>{u.dispose(),d.dispose()}}):(u.dispose(),null)}async insertImage(t,n,r,a,o){let s=this.newOverGridImage();if(typeof t==`string`)s.setSource(t);else{let n=await t.getBlob().getDataAsString();s.setSource(n,e.ImageSourceType.BASE64)}n===void 0?s.setColumn(0):s.setColumn(n),r===void 0?s.setRow(0):s.setRow(r),a===void 0?s.setColumnOffset(0):s.setColumnOffset(a),o===void 0?s.setRowOffset(0):s.setRowOffset(o);let c=await s.buildAsync();return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(e){let t=e.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(e){let t=e.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){let t=this._injector.get(o.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),n=[];for(let r in t){let i=t[r];i.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE&&n.push(this._injector.createInstance(y,i))}return n}getImageById(t){let n=this._injector.get(o.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return n&&n.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(y,n):null}getActiveImages(){let e=this._injector.get(o.ISheetDrawingService).getFocusDrawings(),t=[];for(let n in e){let r=e[n];t.push(this._injector.createInstance(y,r))}return t}updateImages(e){return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}onImageInserted(t){let n=this._injector.get(o.ISheetDrawingService);return(0,e.toDisposable)(n.add$.subscribe(e=>{t(e.map(e=>this._injector.createInstance(y,n.getDrawingByParam(e))))}))}onImageDeleted(t){let n=this._injector.get(o.ISheetDrawingService);return(0,e.toDisposable)(n.remove$.subscribe(e=>{t(e.map(e=>this._injector.createInstance(y,n.getDrawingByParam(e))))}))}onImageChanged(t){let n=this._injector.get(o.ISheetDrawingService);return(0,e.toDisposable)(n.update$.subscribe(e=>{t(e.map(e=>this._injector.createInstance(y,n.getDrawingByParam(e))))}))}newOverGridImage(){let e=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(v,e,t)}async saveCellImagesAsync(e,t){var n;let r=this._injector.get(i.IBatchSaveImagesService),a=this._fWorkbook.getId(),o=this.getSheetId(),s=t?t.map(e=>e.getRange()):[this._worksheet.getCellMatrix().getDataRange()],c=r.getCellImagesFromRanges(a,o,s);if(c.length===0)return!1;if(c.length===1)try{return await r.downloadSingleImage(c[0]),!0}catch(e){return console.error(`Failed to download image:`,e),!1}let l=[],u=(n=e==null?void 0:e.useCellAddress)==null?!0:n,d=e==null?void 0:e.useColumnIndex;u&&l.push(i.FileNamePart.CELL_ADDRESS),d!==void 0&&l.push(i.FileNamePart.COLUMN_VALUE),l.length===0&&l.push(i.FileNamePart.CELL_ADDRESS);try{return await r.saveImagesWithContext(c,{fileNameParts:l,columnIndex:d},a,o),!0}catch(e){return console.error(`Failed to save images:`,e),!1}}};c.FWorksheet.extend(b);var x=class extends t.FEnum{get DrawingType(){return e.DrawingTypeEnum}get ImageSourceType(){return e.ImageSourceType}get SheetDrawingAnchorType(){return o.SheetDrawingAnchorType}};t.FEnum.extend(x);var S=class extends t.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`}};t.FEventName.extend(S);var C=class extends t.FUniver{_initialize(t){let r=t.get(e.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o=a.filter(t=>t.drawingType===e.DrawingTypeEnum.DRAWING_DOM);if(o.length===0)return;let s={workbook:r,drawings:o};if(this.fireEvent(this.Event.BeforeFloatDomAdd,s),s.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomAdded,()=>r.onCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o=a.filter(t=>t.drawingType===e.DrawingTypeEnum.DRAWING_DOM);o.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:r,drawings:o})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o={workbook:r,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,o),o.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)),u={workbook:o,images:this._createFOverGridImage(l)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(e=>{let t=c.getDrawingByParam(e);t!=null&&l.push({changeParam:e,image:this._injector.createInstance(y,t)})});let u={workbook:o,images:l};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];if(s.forEach(t=>{let n=c.getDrawingByParam(t);(n==null?void 0:n.drawingType)===e.DrawingTypeEnum.DRAWING_DOM&&l.push(n)}),l.length===0)return;let u={workbook:o,drawings:l};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomUpdated,()=>r.onCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(t=>{let n=c.getDrawingByParam(t);(n==null?void 0:n.drawingType)===e.DrawingTypeEnum.DRAWING_DOM&&l.push(n)}),l.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:o,drawings:l})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)).filter(t=>(t==null?void 0:t.drawingType)===e.DrawingTypeEnum.DRAWING_DOM);if(l.length===0)return;let u={workbook:o,drawings:l};if(this.fireEvent(this.Event.BeforeFloatDomDelete,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomDeleted,()=>r.onCommandExecuted(t=>{if(t.id!==i.RemoveSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n;this.fireEvent(this.Event.FloatDomDeleted,{workbook:r,drawings:a.filter(t=>t.drawingType===e.DrawingTypeEnum.DRAWING_DOM).map(e=>e.drawingId)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>r.beforeCommandExecuted(r=>{if(r.id!==n.SetDrawingSelectedOperation.id)return;let i=r.params,a=this.getActiveWorkbook();if(a==null)return;let o=t.get(n.IDrawingManagerService),s=o.getFocusDrawings(),c=i.map(e=>o.getDrawingByParam(e)),l={workbook:a,selectedImages:this._createFOverGridImage(c),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,l),l.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>r.onCommandExecuted(e=>{if(e.id!==i.InsertSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t;this.fireEvent(this.Event.OverGridImageInserted,{workbook:n,images:this._createFOverGridImage(r)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>r.onCommandExecuted(e=>{if(e.id!==i.RemoveSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:n,removeImageParams:r})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>r.onCommandExecuted(e=>{if(e.id!==i.SetSheetDrawingCommand.id)return;let r=e.params,a=this.getActiveWorkbook();if(a==null||r==null)return;let{drawings:o}=r,s=t.get(n.IDrawingManagerService),c=o.map(e=>this._injector.createInstance(y,s.getDrawingByParam(e)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:a,images:c})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>r.onCommandExecuted(e=>{if(e.id!==n.SetDrawingSelectedOperation.id)return;let r=e.params,i=this.getActiveWorkbook();if(i==null)return;let a=t.get(n.IDrawingManagerService),o=r.map(e=>a.getDrawingByParam(e));this.fireEvent(this.Event.OverGridImageSelected,{workbook:i,selectedImages:this._createFOverGridImage(o)})})))}_createFOverGridImage(e){return e.map(e=>this._injector.createInstance(y,e))}registerURLImageDownloader(t){return this._injector.get(e.IURLImageService).registerURLImageDownloader(t)}};t.FUniver.extend(C);var w=class extends c.FRange{async insertCellImageAsync(t){var n;let a=this._injector.get(r.IRenderManagerService),o=(n=(0,r.getCurrentTypeOfRenderer)(e.UniverInstanceType.UNIVER_SHEET,this._injector.get(e.IUniverInstanceService),a))==null?void 0:n.with(i.SheetDrawingUpdateController);if(!o)return!1;let s={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return typeof t==`string`?o.insertCellImageByUrl(t,s):o.insertCellImageByFile(t,s)}async saveCellImagesAsync(e){var t;let n=this._injector.get(i.IBatchSaveImagesService),r=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=this.getRange(),s=n.getCellImagesFromRanges(r,a,[o]);if(s.length===0)return!1;if(s.length===1)try{return await n.downloadSingleImage(s[0]),!0}catch(e){return console.error(`Failed to download image:`,e),!1}let c=[],l=(t=e==null?void 0:e.useCellAddress)==null?!0:t,u=e==null?void 0:e.useColumnIndex;l&&c.push(i.FileNamePart.CELL_ADDRESS),u!==void 0&&c.push(i.FileNamePart.COLUMN_VALUE),c.length===0&&c.push(i.FileNamePart.CELL_ADDRESS);try{return await n.saveImagesWithContext(s,{fileNameParts:c,columnIndex:u},r,a),!0}catch(e){return console.error(`Failed to save images:`,e),!1}}};c.FRange.extend(w);