@univerjs/sheets-drawing-ui 0.15.4 → 0.15.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +2 -2
- package/lib/es/facade.js +402 -359
- package/lib/es/index.js +1454 -1327
- package/lib/facade.js +402 -359
- package/lib/index.js +1454 -1327
- package/lib/types/basics/transform-position.d.ts +12 -0
- package/lib/types/controllers/sheet-cell-image-autofill.controller.d.ts +1 -1
- package/lib/types/controllers/sheet-drawing-update.controller.d.ts +1 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +2 -2
- package/package.json +13 -13
package/lib/cjs/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var A=Object.defineProperty;var U=(a,t,r)=>t in a?A(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r;var T=(a,t,r)=>U(a,typeof t!="symbol"?t+"":t,r);const h=require("@univerjs/core"),p=require("@univerjs/core/facade"),I=require("@univerjs/drawing"),C=require("@univerjs/engine-render"),c=require("@univerjs/sheets-drawing-ui"),_=require("@univerjs/sheets-ui"),v=require("@univerjs/sheets-drawing"),R=require("@univerjs/sheets-ui/facade"),k=require("@univerjs/sheets/facade"),F=require("@univerjs/ui");var B=Object.getOwnPropertyDescriptor,M=(a,t,r,e)=>{for(var n=e>1?void 0:e?B(t,r):t,i=a.length-1,o;i>=0;i--)(o=a[i])&&(n=o(n)||n);return n},O=(a,t)=>(r,e)=>t(r,e,a);function G(a,t){const{from:r,to:e,flipY:n=!1,flipX:i=!1,angle:o=0,skewX:s=0,skewY:d=0}=a.sheetTransform,{column:m,columnOffset:g,row:l,rowOffset:u}=r,D=_.convertPositionSheetOverGridToAbsolute(a.unitId,a.subUnitId,{from:r,to:e},t),{width:w,height:f}=D;return{...a,column:m,columnOffset:g,row:l,rowOffset:u,width:w,height:f,flipY:n,flipX:i,angle:o,skewX:s,skewY:d}}function W(a,t,r){const{column:e,columnOffset:n,row:i,rowOffset:o,flipY:s=!1,flipX:d=!1,angle:m=0,skewX:g=0,skewY:l=0,width:u,height:D}=a,w=_.convertPositionCellToSheetOverGrid(a.unitId,a.subUnitId,{column:e,columnOffset:n,row:i,rowOffset:o},u,D,t,r),{sheetTransform:f,transform:b}=w;return{...a,sheetTransform:{...f,flipY:s,flipX:d,angle:m,skewX:g,skewY:l},transform:{...b,flipY:s,flipX:d,angle:m,skewX:g,skewY:l}}}let y=class{constructor(a,t,r){T(this,"_image");this._injector=r,this._image={drawingId:h.generateRandomId(6),drawingType:h.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:h.ImageSourceType.BASE64,source:"",unitId:a,subUnitId:t,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0}}setImage(a){const r=this._injector.get(C.IRenderManagerService).getRenderById(a.unitId);if(!r)throw new Error(`Render Unit with unitId ${a.unitId} not found`);const e=r.with(_.SheetSkeletonManagerService);return a.sheetTransform==null&&(a.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=G(a,e),this}setSource(a,t){const r=t!=null?t:h.ImageSourceType.URL;return this._image.source=a,this._image.imageSourceType=r,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(a){return this._image.column=a,this}setRow(a){return this._image.row=a,this}setColumnOffset(a){return this._image.columnOffset=a,this}setRowOffset(a){return this._image.rowOffset=a,this}setWidth(a){return this._image.width=a,this}setHeight(a){return this._image.height=a,this}setAnchorType(a){return this._image.anchorType=a,this}setCropTop(a){return this._initializeSrcRect(),this._image.srcRect.top=a,this}setCropLeft(a){return this._initializeSrcRect(),this._image.srcRect.left=a,this}setCropBottom(a){return this._initializeSrcRect(),this._image.srcRect.bottom=a,this}setCropRight(a){return this._initializeSrcRect(),this._image.srcRect.right=a,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(a){return this._image.angle=a,this}setUnitId(a){return this._image.unitId=a,this}setSubUnitId(a){return this._image.subUnitId=a,this}async buildAsync(){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 r=t.with(_.ISheetSelectionRenderService),e=t.with(_.SheetSkeletonManagerService);if(this._image.width===0||this._image.height===0){const n=await I.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 W(this._image,r,e)}};y=M([O(2,h.Inject(h.Injector))],y);let S=class extends p.FBase{constructor(a,t,r){super(),this._image=a,this._commandService=t,this._injector=r}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 a=this._injector.createInstance(y);return a.setImage(this._image),a}setSource(a,t){const r=t!=null?t:h.ImageSourceType.URL;return this._image.source=a,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(a,t,r,e){const n=this.toBuilder();n.setColumn(t),n.setRow(a),r!=null&&n.setRowOffset(r),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(a,t){const r=this.toBuilder();r.setWidth(a),r.setHeight(t);const e=await r.buildAsync();return this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[e]})}setCrop(a,t,r,e){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),a!=null&&(this._image.srcRect.top=a),t!=null&&(this._image.srcRect.left=t),r!=null&&(this._image.srcRect.bottom=r),e!=null&&(this._image.srcRect.right=e),this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(a){return this._image.sheetTransform.angle=a,this._image.transform&&(this._image.transform.angle=a),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})}};S=M([O(1,h.ICommandService),O(2,h.Inject(h.Injector))],S);class x extends k.FWorksheet{getFloatDomById(t){const e=this._injector.get(c.SheetCanvasFloatDomManagerService).getFloatDomInfo(t);if(!e)return null;const{unitId:n,subUnitId:i}=e,{rect:o}=e,s=o.getState(),{left:d=0,top:m=0,width:g=0,height:l=0,flipX:u=!1,flipY:D=!1,angle:w=0,skewX:f=0,skewY:b=0}=s,E=this._injector.get(v.ISheetDrawingService).getDrawingByParam({drawingId:e.id,unitId:n,subUnitId:i});return E?{position:{left:d,top:m,width:g,height:l,flipX:u,flipY:D,angle:w,skewX:f,skewY:b},componentKey:E.componentKey,allowTransform:E.allowTransform,data:E.data,id:e.id}:null}getAllFloatDoms(){const t=this._injector.get(c.SheetCanvasFloatDomManagerService),r=this._workbook.getUnitId(),e=this._worksheet.getSheetId();return Array.from(t.getFloatDomsBySubUnitId(r,e).values()).map(n=>{const{rect:i}=n,o=this._injector.get(v.ISheetDrawingService).getDrawingByParam({drawingId:n.id,unitId:r,subUnitId:e}),{left:s,top:d,width:m,height:g,flipX:l,flipY:u,angle:D,skewX:w,skewY:f}=i.getState();return{position:{left:s,top:d,width:m,height:g,flipX:l,flipY:u,angle:D,skewX:w,skewY:f},componentKey:o.componentKey,allowTransform:o.allowTransform,data:o.data,id:n.id}})}updateFloatDom(t,r){var w,f;const n=this._injector.get(c.SheetCanvasFloatDomManagerService).getFloatDomInfo(t);if(!n)return this;const{unitId:i,subUnitId:o}=n,s=this._injector.get(v.ISheetDrawingService).getDrawingByParam({unitId:i,subUnitId:o,drawingId:t}),d=this._injector.get(C.IRenderManagerService);if(!d.getRenderById(i))return this;if(!this.getSkeleton())return this;const l=(w=d.getRenderById(this.getWorkbook().getUnitId()))==null?void 0:w.with(_.ISheetSelectionRenderService);if(!l)return this;const u={...s,componentKey:r.componentKey||s.componentKey,allowTransform:r.allowTransform!==void 0?r.allowTransform:s.allowTransform,data:r.data||s.data,sheetTransform:r.position&&(f=c.transformToDrawingPosition(r.position,l))!=null?f:s.sheetTransform,transform:{...s.transform,...r.position}};if(!this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:i,subUnitId:o,drawings:[u]}))throw new Error("updateFloatDom failed");return this}batchUpdateFloatDoms(t){var o;const r=this._injector.get(c.SheetCanvasFloatDomManagerService),e=this._injector.get(v.ISheetDrawingService),n=this._injector.get(C.IRenderManagerService),i=[];for(const s of t){const d=r.getFloatDomInfo(s.id);if(!d)continue;const{unitId:m,subUnitId:g}=d,l=e.getDrawingByParam({unitId:m,subUnitId:g,drawingId:s.id});if(!l)continue;const u=n.getRenderById(m);if(!u||!this.getSkeleton())continue;const w=u.with(_.ISheetSelectionRenderService);if(!w)return this;const f={...l,componentKey:s.config.componentKey||l.componentKey,allowTransform:s.config.allowTransform!==void 0?s.config.allowTransform:l.allowTransform,data:s.config.data||l.data,sheetTransform:s.config.position&&(o=c.transformToDrawingPosition(s.config.position,w))!=null?o:l.sheetTransform,transform:{...l.transform,...s.config.position}};i.push(f)}if(i.length>0){const s=this._workbook.getUnitId(),d=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:s,subUnitId:d,drawings:i}))throw new Error("batchUpdateFloatDoms failed")}return this}removeFloatDom(t){const e=this._injector.get(c.SheetCanvasFloatDomManagerService).getFloatDomInfo(t);if(!e)return this;const{unitId:n,subUnitId:i}=e,s=this._injector.get(v.ISheetDrawingService).getDrawingByParam({unitId:n,subUnitId:i,drawingId:t});if(!s)return this;if(!this._commandService.syncExecuteCommand(c.RemoveSheetDrawingCommand.id,{unitId:n,drawings:[s]}))throw new Error("removeFloatDom failed");return this}addFloatDomToPosition(t,r){const e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:i,disposableCollection:o}=R.transformComponentKey(t,this._injector.get(F.ComponentManager)),d=this._injector.get(c.SheetCanvasFloatDomManagerService).addFloatDomToPosition({...t,componentKey:i,unitId:e,subUnitId:n},r);return d?(o.add(d.dispose),{id:d.id,dispose:()=>{o.dispose(),d.dispose()}}):(o.dispose(),null)}addFloatDomToRange(t,r,e,n){const i=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:s,disposableCollection:d}=R.transformComponentKey(r,this._injector.get(F.ComponentManager)),g=this._injector.get(c.SheetCanvasFloatDomManagerService).addFloatDomToRange(t.getRange(),{...r,componentKey:s,unitId:i,subUnitId:o},e,n);return g?(d.add(g.dispose),{id:g.id,dispose:()=>{d.dispose(),g.dispose()}}):(d.dispose(),null)}addFloatDomToColumnHeader(t,r,e,n){const i=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),{key:s,disposableCollection:d}=R.transformComponentKey(r,this._injector.get(F.ComponentManager)),g=this._injector.get(c.SheetCanvasFloatDomManagerService).addFloatDomToColumnHeader(t,{...r,componentKey:s,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(t,r,e,n,i){const o=this.newOverGridImage();if(typeof t=="string")o.setSource(t);else{const m=await t.getBlob().getDataAsString();o.setSource(m,h.ImageSourceType.BASE64)}r!==void 0?o.setColumn(r):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 s=await o.buildAsync();return this._commandService.syncExecuteCommand(c.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[s]})}insertImages(t){const r=t.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(c.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:r}),this}deleteImages(t){const r=t.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:r}),this}getImages(){const r=this._injector.get(v.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),e=[];for(const n in r){const i=r[n];i.drawingType===h.DrawingTypeEnum.DRAWING_IMAGE&&e.push(this._injector.createInstance(S,i))}return e}getImageById(t){const e=this._injector.get(v.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return e&&e.drawingType===h.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(S,e):null}getActiveImages(){const r=this._injector.get(v.ISheetDrawingService).getFocusDrawings(),e=[];for(const n in r){const i=r[n];e.push(this._injector.createInstance(S,i))}return e}updateImages(t){return this._commandService.syncExecuteCommand(c.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}onImageInserted(t){const r=this._injector.get(v.ISheetDrawingService);return h.toDisposable(r.add$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(S,r.getDrawingByParam(i)));t(n)}))}onImageDeleted(t){const r=this._injector.get(v.ISheetDrawingService);return h.toDisposable(r.remove$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(S,r.getDrawingByParam(i)));t(n)}))}onImageChanged(t){const r=this._injector.get(v.ISheetDrawingService);return h.toDisposable(r.update$.subscribe(e=>{const n=e.map(i=>this._injector.createInstance(S,r.getDrawingByParam(i)));t(n)}))}newOverGridImage(){const t=this._fWorkbook.getId(),r=this.getSheetId();return this._injector.createInstance(y,t,r)}async saveCellImagesAsync(t,r){var l;const e=this._injector.get(c.IBatchSaveImagesService),n=this._fWorkbook.getId(),i=this.getSheetId(),o=r?r.map(u=>u.getRange()):[this._worksheet.getCellMatrix().getDataRange()],s=e.getCellImagesFromRanges(n,i,o);if(s.length===0)return!1;if(s.length===1)try{return await e.downloadSingleImage(s[0]),!0}catch(u){return console.error("Failed to download image:",u),!1}const d=[],m=(l=t==null?void 0:t.useCellAddress)!=null?l:!0,g=t==null?void 0:t.useColumnIndex;m&&d.push(c.FileNamePart.CELL_ADDRESS),g!==void 0&&d.push(c.FileNamePart.COLUMN_VALUE),d.length===0&&d.push(c.FileNamePart.CELL_ADDRESS);try{return await e.saveImagesWithContext(s,{fileNameParts:d,columnIndex:g},n,i),!0}catch(u){return console.error("Failed to save images:",u),!1}}}k.FWorksheet.extend(x);class P extends p.FEnum{get DrawingType(){return h.DrawingTypeEnum}get ImageSourceType(){return h.ImageSourceType}get SheetDrawingAnchorType(){return v.SheetDrawingAnchorType}}p.FEnum.extend(P);class j extends p.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"}}p.FEventName.extend(j);class N extends p.FUniver{_initialize(t){const r=t.get(h.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>r.beforeCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s=o.filter(m=>m.drawingType===h.DrawingTypeEnum.DRAWING_DOM);if(s.length===0)return;const d={workbook:i,drawings:s};if(this.fireEvent(this.Event.BeforeFloatDomAdd,d),d.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomAdded,()=>r.onCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s=o.filter(d=>d.drawingType===h.DrawingTypeEnum.DRAWING_DOM);s.length!==0&&this.fireEvent(this.Event.FloatDomAdded,{workbook:i,drawings:s})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>r.beforeCommandExecuted(e=>{if(e.id!==c.InsertSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s={workbook:i,insertImageParams:o};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,s),s.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>r.beforeCommandExecuted(e=>{if(e.id!==c.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const o=t.get(I.IDrawingManagerService),{drawings:s}=n,d=s.map(g=>o.getDrawingByParam(g)),m={workbook:i,images:this._createFOverGridImage(d)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,m),m.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>r.beforeCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s=t.get(I.IDrawingManagerService),d=[];o.forEach(g=>{const l=s.getDrawingByParam(g);l!=null&&d.push({changeParam:g,image:this._injector.createInstance(S,l)})});const m={workbook:i,images:d};if(this.fireEvent(this.Event.BeforeOverGridImageChange,m),m.cancel)throw s.updateNotification(o),new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s=t.get(I.IDrawingManagerService),d=[];if(o.forEach(g=>{const l=s.getDrawingByParam(g);(l==null?void 0:l.drawingType)===h.DrawingTypeEnum.DRAWING_DOM&&d.push(l)}),d.length===0)return;const m={workbook:i,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,m),m.cancel)throw s.updateNotification(o),new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomUpdated,()=>r.onCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s=t.get(I.IDrawingManagerService),d=[];o.forEach(m=>{const g=s.getDrawingByParam(m);(g==null?void 0:g.drawingType)===h.DrawingTypeEnum.DRAWING_DOM&&d.push(g)}),d.length!==0&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:i,drawings:d})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>r.beforeCommandExecuted(e=>{if(e.id!==c.RemoveSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const o=t.get(I.IDrawingManagerService),{drawings:s}=n,d=s.map(g=>o.getDrawingByParam(g)).filter(g=>(g==null?void 0:g.drawingType)===h.DrawingTypeEnum.DRAWING_DOM);if(d.length===0)return;const m={workbook:i,drawings:d};if(this.fireEvent(this.Event.BeforeFloatDomDelete,m),m.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomDeleted,()=>r.onCommandExecuted(e=>{if(e.id!==c.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(s=>s.drawingType===h.DrawingTypeEnum.DRAWING_DOM).map(s=>s.drawingId)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>r.beforeCommandExecuted(e=>{if(e.id!==I.SetDrawingSelectedOperation.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null)return;const o=t.get(I.IDrawingManagerService),s=o.getFocusDrawings(),d=n.map(g=>o.getDrawingByParam(g)),m={workbook:i,selectedImages:this._createFOverGridImage(d),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,m),m.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>r.onCommandExecuted(e=>{if(e.id!==c.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.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>r.onCommandExecuted(e=>{if(e.id!==c.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.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>r.onCommandExecuted(e=>{if(e.id!==c.SetSheetDrawingCommand.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null||n==null)return;const{drawings:o}=n,s=t.get(I.IDrawingManagerService),d=o.map(m=>this._injector.createInstance(S,s.getDrawingByParam(m)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:i,images:d})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>r.onCommandExecuted(e=>{if(e.id!==I.SetDrawingSelectedOperation.id)return;const n=e.params,i=this.getActiveWorkbook();if(i==null)return;const o=t.get(I.IDrawingManagerService),s=n.map(d=>o.getDrawingByParam(d));this.fireEvent(this.Event.OverGridImageSelected,{workbook:i,selectedImages:this._createFOverGridImage(s)})})))}_createFOverGridImage(t){return t.map(r=>this._injector.createInstance(S,r))}registerURLImageDownloader(t){return this._injector.get(h.IURLImageService).registerURLImageDownloader(t)}}p.FUniver.extend(N);class H extends k.FRange{async insertCellImageAsync(t){var i;const r=this._injector.get(C.IRenderManagerService),e=(i=C.getCurrentTypeOfRenderer(h.UniverInstanceType.UNIVER_SHEET,this._injector.get(h.IUniverInstanceService),r))==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 t=="string"?e.insertCellImageByUrl(t,n):e.insertCellImageByFile(t,n)}async saveCellImagesAsync(t){var g;const r=this._injector.get(c.IBatchSaveImagesService),e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this.getRange(),o=r.getCellImagesFromRanges(e,n,[i]);if(o.length===0)return!1;if(o.length===1)try{return await r.downloadSingleImage(o[0]),!0}catch(l){return console.error("Failed to download image:",l),!1}const s=[],d=(g=t==null?void 0:t.useCellAddress)!=null?g:!0,m=t==null?void 0:t.useColumnIndex;d&&s.push(c.FileNamePart.CELL_ADDRESS),m!==void 0&&s.push(c.FileNamePart.COLUMN_VALUE),s.length===0&&s.push(c.FileNamePart.CELL_ADDRESS);try{return await r.saveImagesWithContext(o,{fileNameParts:s,columnIndex:m},e,n),!0}catch(l){return console.error("Failed to save images:",l),!1}}}k.FRange.extend(H);
|
|
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);
|