@univerjs/sheets-ui 0.6.0-nightly.202502051606 → 0.6.0-nightly.202502061605
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 +19 -19
- package/lib/es/facade.js +1 -1
- package/lib/es/index.js +5863 -5785
- package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +1 -0
- package/lib/types/controllers/render-controllers/skeleton.render-controller.d.ts +4 -2
- package/lib/types/controllers/render-controllers/zoom.render-controller.d.ts +1 -1
- package/lib/types/services/scroll-manager.service.d.ts +17 -12
- package/lib/types/services/sheet-skeleton-manager.service.d.ts +35 -16
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +21 -21
- package/package.json +11 -11
package/lib/cjs/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),j=require("@univerjs/docs"),b=require("@univerjs/engine-render"),P=require("@univerjs/sheets"),a=require("@univerjs/sheets-ui"),w=require("@univerjs/sheets/facade"),m=require("@univerjs/ui"),C=require("rxjs");class F extends c.FUniver{_initSheetUIEvent(e){const t=e.get(c.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,d=e.get(a.IEditorBridgeService),u=e.get(c.IUniverInstanceService),p=r.params,{visible:v,keycode:g,eventType:E}=p,l=d.getEditLocation();if(v){const I={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,I),I.cancel)throw new c.CanceledError}else{const I={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1,value:c.RichTextValue.create(u.getUnit(c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==m.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,I),I.cancel)throw new c.CanceledError}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:r.params.zoomRatio,workbook:o,worksheet:s})}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,d=e.get(a.IEditorBridgeService),u=r.params,{visible:p,keycode:v,eventType:g}=u,E=d.getEditLocation();if(p){const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,l)}else{const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:v!==m.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,l)}}if(r.id===j.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,d=e.get(a.IEditorBridgeService),u=e.get(c.IUniverInstanceService),p=r.params;if(!d.isVisible().visible)return;const{unitId:v}=p;if(v===c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:E}=d.getEditLocation(),l={workbook:o,worksheet:s,row:g,column:E,value:c.RichTextValue.create(u.getUnit(c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,l)}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}})),this._initObserverListener(e)}_initObserverListener(e){const r=e.get(c.IUniverInstanceService).getFocusedUnit(),i=r==null?void 0:r.getUnitId(),o=e.get(b.IRenderManagerService);if(i){const v=e.get(c.LifecycleService),g=new c.DisposableCollection;this.disposeWithMe(v.lifecycle$.subscribe(E=>{var M,R,S,f,_,U,D,T,x,B,L,W,A,O,$;if(E<c.LifecycleStages.Rendered)return;g.dispose();const l=e.get(a.HoverManagerService),I=e.get(a.DragManagerService);l&&(g.add((M=l.currentClickedCell$)==null?void 0:M.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.CellClicked,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((R=l.currentRichText$)==null?void 0:R.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellHover,{...h,...n,row:n.row,column:n.col})})),g.add((S=l.currentPointerDownCell$)==null?void 0:S.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerDown,{...h,...n,row:n.row,column:n.col})})),g.add((f=l.currentPointerUpCell$)==null?void 0:f.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerUp,{...h,...n,row:n.row,column:n.col})})),g.add((_=l.currentCellPosWithEvent$)==null?void 0:_.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerMove,{...h,...n,row:n.row,column:n.col})})),g.add((U=I.currentCell$)==null?void 0:U.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.DragOver,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((D=I.endCell$)==null?void 0:D.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.Drop,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((T=l.currentRowHeaderClick$)==null?void 0:T.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderClick,{...h,row:n.index})})),g.add((x=l.currentRowHeaderPointerDown$)==null?void 0:x.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerDown,{...h,row:n.index})})),g.add((B=l.currentRowHeaderPointerUp$)==null?void 0:B.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerUp,{...h,row:n.index})})),g.add((L=l.currentHoveredRowHeader$)==null?void 0:L.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderHover,{...h,row:n.index})})),g.add((W=l.currentColHeaderClick$)==null?void 0:W.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderClick,{...h,column:n.index})})),g.add((A=l.currentColHeaderPointerDown$)==null?void 0:A.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...h,column:n.index})})),g.add((O=l.currentColHeaderPointerUp$)==null?void 0:O.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...h,column:n.index})})),g.add(($=l.currentHoveredColHeader$)==null?void 0:$.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderHover,{...h,column:n.index})})))})),this.disposeWithMe(g)}const s=new Map;let d;const u=e.get(c.LifecycleService),p=C.combineLatest([o.created$,u.lifecycle$]);this.disposeWithMe(p.subscribe(([v,g])=>{var R;if(v.type===c.UniverInstanceType.UNIVER_SHEET&&(d=v),g<=c.LifecycleStages.Rendered)return;const E=new c.DisposableCollection;if(!d)return;const l=this.getWorkbook(d.unitId);if(!l)return;s.get(d.unitId)&&((R=s.get(d.unitId))==null||R.dispose()),s.set(d.unitId,E);const I=d.with(a.SheetScrollManagerService);E.add(I.validViewportScrollInfo$.subscribe(S=>{S&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:l,worksheet:l.getActiveSheet(),...S})}));const M=d.with(P.SheetsSelectionsService);E.add(M.selectionMoveStart$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),E.add(M.selectionMoving$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),E.add(M.selectionMoveEnd$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),E.add(M.selectionChanged$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),d=null,this.disposeWithMe(E)})),this.disposeWithMe(o.disposed$.subscribe(v=>{var g;(g=s.get(v))==null||g.dispose(),s.delete(v)})),this.disposeWithMe(()=>{s.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e);const t=e.get(c.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{switch(r.id){case m.CopyCommand.id:case m.CutCommand.id:this._beforeClipboardChange();break;case a.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(r.params);break}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(P.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(r.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;const o=P.getSkeletonChangedEffectedRange(r).map(s=>{var d,u;return(u=(d=this.getWorkbook(s.unitId))==null?void 0:d.getSheetBySheetId(s.subUnitId))==null?void 0:u.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:r,skeleton:i.worksheet.getSkeleton(),effectedRanges:o});return}switch(r.id){case m.CopyCommand.id:case m.CutCommand.id:this._clipboardChanged();break;case a.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case m.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(t.beforeCommandExecuted(async r=>{switch(r.id){case m.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),r=e==null?void 0:e.getActiveRange();if(!e||!t||!r)return;const o=this._injector.get(a.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!o)return;const{html:s,plain:d}=o;return{workbook:e,worksheet:t,text:d,html:s,fromSheet:t,fromRange:r}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.ClipboardChanged,e),e.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:t,textContent:r}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:r,html:t}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;const o=(await this._injector.get(m.IClipboardInterfaceService).read())[0];let s;if(o){const d=o.types,u=d.indexOf(m.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(m.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",p=d.indexOf(m.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(m.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";s={workbook:e,worksheet:t,text:u,html:p}}return s}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!m.supportClipboardAPI()){this._injector.get(c.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new Error("Before clipboard paste is canceled")}async _clipboardPasteAsync(){if(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!m.supportClipboardAPI()){this._injector.get(c.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new Error("Clipboard pasted is canceled")}customizeColumnHeader(e){var p,v;const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId(),i=this._injector.get(b.IRenderManagerService),o=t.getActiveSheet(),s=o.getSheetId(),d=i.getRenderById(r);d&&((p=e.headerStyle)!=null&&p.size)&&(d.with(a.SheetSkeletonManagerService).setColumnHeaderSize(d,s,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.ROW),i=r.register(...t);return c.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.COLUMN),i=r.register(...t);return c.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.MAIN),i=r.register(...t);return c.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){const i=this._injector.get(b.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(t);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(w.FSheetHooks)}}c.FUniver.extend(F);class V extends w.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(m.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const r=this._injector.get(m.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}_logDeprecation(e){this._injector.get(c.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentClickedCell$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r)}))}onCellHover(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentRichText$.pipe(C.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentCellPosWithEvent$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r,r.event)}))}onDragOver(e){const t=this._injector.get(a.DragManagerService);return c.toDisposable(t.currentCell$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r)}))}onDrop(e){const t=this._injector.get(a.DragManagerService);return c.toDisposable(t.endCell$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r)}))}startEditing(){return this._injector.get(c.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:b.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(c.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:b.DeviceInputEventType.Keyboard,keycode:e?m.KeyCode.ENTER:m.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await c.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),i=this._injector.get(b.IRenderManagerService).getRenderById(t);return i?i.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).showSelection(),this}}w.FWorkbook.extend(V);class N extends w.FWorksheet{refreshCanvas(){const e=this._injector.get(b.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(a.SheetSkeletonManagerService).reCalculate();const i=r.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(c.ICommandService).syncExecuteCommand(a.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return i;const s=r.with(a.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const d=s==null?void 0:s.getVisibleRanges();if(!d)return i;i=s.getVisibleRangeByViewport(b.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[u,p]of d)b.sheetContentViewportKeys.indexOf(u)!==-1&&(i.startColumn=Math.min(i.startColumn,p.startColumn),i.startRow=Math.min(i.startRow,p.startRow),i.endColumn=Math.max(i.endColumn,p.endColumn),i.endRow=Math.max(i.endRow,p.endRow));return i}scrollToCell(e,t){const r=this._workbook.getUnitId(),o=this._injector.get(b.IRenderManagerService).getRenderById(r);return o&&(o==null?void 0:o.with(a.SheetsScrollRenderController)).scrollToCell(e,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=this._injector.get(b.IRenderManagerService).getRenderById(t);return o&&o.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:r})||e}onScroll(e){var o;const t=this._workbook.getUnitId(),i=(o=this._injector.get(b.IRenderManagerService).getRenderById(t))==null?void 0:o.with(a.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(d=>{e(d)});return c.toDisposable(s)}return c.toDisposable(()=>{})}getSkeleton(){var t,r;const e=(t=this._injector.get(b.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:t.with(a.SheetSkeletonManagerService);return(r=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:r.skeleton}setColumnAutoWidth(e,t){const r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetColAutoWidthCommand.id,{unitId:r,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var u,p;const t=this,r=this._fWorkbook.getId(),i=this._injector.get(b.IRenderManagerService),o=t.getSheetId(),s=i.getRenderById(r);s&&((u=e.headerStyle)!=null&&u.size)&&(s.with(a.SheetSkeletonManagerService).setColumnHeaderSize(s,o,(p=e.headerStyle)==null?void 0:p.size),t==null||t.refreshCanvas());const d=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN);d&&(d.setCustomHeader(e),t==null||t.refreshCanvas())}customizeRowHeader(e){const t=this._fWorkbook.getId();this._getSheetRenderComponent(t,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}setColumnHeaderHeight(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();return this._commandService.executeCommand(a.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:i,size:e}),t==null||t.refreshCanvas(),this}setRowHeaderWidth(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();this._commandService.executeCommand(a.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:i,size:e});const o=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW);return o&&o.setCustomHeader({headerStyle:{size:e}}),t==null||t.refreshCanvas(),this}_getSheetRenderComponent(e,t){const i=this._injector.get(b.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(t);if(!s)throw new Error("Render component not found");return s}}w.FWorksheet.extend(N);class K extends w.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}w.FPermission.extend(K);class z extends w.FSheetHooks{onCellPointerMove(e){return c.toDisposable(this._injector.get(a.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return c.toDisposable(this._injector.get(a.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return c.toDisposable(this._injector.get(a.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return c.toDisposable(this._injector.get(a.DragManagerService).endCell$.subscribe(e))}onCellRender(e,t=c.InterceptorEffectEnum.Style,r=P.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(P.SheetInterceptorService).intercept(P.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(i,o,s)=>s({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(c.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(c.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}w.FSheetHooks.extend(z);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class Y extends c.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return y.CellClicked}get CellHover(){return y.CellHover}get CellPointerDown(){return y.CellPointerDown}get CellPointerUp(){return y.CellPointerUp}get CellPointerMove(){return y.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}}c.FEventName.extend(Y);class Z extends w.FRange{getCell(){var d;const e=this._injector.get(b.IRenderManagerService),t=this._injector.get(c.ILogService),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(r),s=(d=o==null?void 0:o.with(a.SheetSkeletonManagerService).getWorksheetSkeleton(i))==null?void 0:d.skeleton;if(!s)throw t.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:i}=this.getCell(),o={x:e,y:t,width:r-e,height:i-t,top:t,left:e,bottom:i,right:r};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const e=this._injector.get(a.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){var s,d,u;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(d=e.extraProps)!=null?d:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=H(e,this._injector.get(m.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(a.CellAlertManagerService),r={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:r}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var s,d,u;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(d=e.extraProps)!=null?d:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=H(e,this._injector.get(m.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}highlight(e,t){const r=this._injector.get(a.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:t});if(!i)throw new Error("Failed to highlight current range");return c.toDisposable(()=>{r.removeShape(i)})}}w.FRange.extend(Z);function H(k,e){const{componentKey:t,isVue3:r}=k;let i;const o=new c.DisposableCollection;return typeof t=="string"?i=t:(i=`External_${c.generateRandomId(6)}`,o.add(e.register(i,t,{framework:r?"vue3":"react"}))),{key:i,disposableCollection:o}}exports.transformComponentKey=H;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),j=require("@univerjs/docs"),b=require("@univerjs/engine-render"),P=require("@univerjs/sheets"),a=require("@univerjs/sheets-ui"),w=require("@univerjs/sheets/facade"),m=require("@univerjs/ui"),C=require("rxjs");class F extends c.FUniver{_initSheetUIEvent(e){const t=e.get(c.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,d=e.get(a.IEditorBridgeService),u=e.get(c.IUniverInstanceService),p=r.params,{visible:v,keycode:g,eventType:E}=p,l=d.getEditLocation();if(v){const I={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,I),I.cancel)throw new c.CanceledError}else{const I={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1,value:c.RichTextValue.create(u.getUnit(c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==m.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,I),I.cancel)throw new c.CanceledError}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:r.params.zoomRatio,workbook:o,worksheet:s})}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,d=e.get(a.IEditorBridgeService),u=r.params,{visible:p,keycode:v,eventType:g}=u,E=d.getEditLocation();if(p){const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,l)}else{const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:v!==m.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,l)}}if(r.id===j.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,d=e.get(a.IEditorBridgeService),u=e.get(c.IUniverInstanceService),p=r.params;if(!d.isVisible().visible)return;const{unitId:v}=p;if(v===c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:E}=d.getEditLocation(),l={workbook:o,worksheet:s,row:g,column:E,value:c.RichTextValue.create(u.getUnit(c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,l)}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}})),this._initObserverListener(e)}_initObserverListener(e){const r=e.get(c.IUniverInstanceService).getFocusedUnit(),i=r==null?void 0:r.getUnitId(),o=e.get(b.IRenderManagerService);if(i){const v=e.get(c.LifecycleService),g=new c.DisposableCollection;this.disposeWithMe(v.lifecycle$.subscribe(E=>{var M,R,S,f,_,U,D,T,x,B,L,W,A,O,$;if(E<c.LifecycleStages.Rendered)return;g.dispose();const l=e.get(a.HoverManagerService),I=e.get(a.DragManagerService);l&&(g.add((M=l.currentClickedCell$)==null?void 0:M.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.CellClicked,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((R=l.currentRichText$)==null?void 0:R.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellHover,{...h,...n,row:n.row,column:n.col})})),g.add((S=l.currentPointerDownCell$)==null?void 0:S.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerDown,{...h,...n,row:n.row,column:n.col})})),g.add((f=l.currentPointerUpCell$)==null?void 0:f.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerUp,{...h,...n,row:n.row,column:n.col})})),g.add((_=l.currentCellPosWithEvent$)==null?void 0:_.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerMove,{...h,...n,row:n.row,column:n.col})})),g.add((U=I.currentCell$)==null?void 0:U.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.DragOver,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((D=I.endCell$)==null?void 0:D.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.Drop,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((T=l.currentRowHeaderClick$)==null?void 0:T.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderClick,{...h,row:n.index})})),g.add((x=l.currentRowHeaderPointerDown$)==null?void 0:x.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerDown,{...h,row:n.index})})),g.add((B=l.currentRowHeaderPointerUp$)==null?void 0:B.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerUp,{...h,row:n.index})})),g.add((L=l.currentHoveredRowHeader$)==null?void 0:L.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderHover,{...h,row:n.index})})),g.add((W=l.currentColHeaderClick$)==null?void 0:W.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderClick,{...h,column:n.index})})),g.add((A=l.currentColHeaderPointerDown$)==null?void 0:A.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...h,column:n.index})})),g.add((O=l.currentColHeaderPointerUp$)==null?void 0:O.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...h,column:n.index})})),g.add(($=l.currentHoveredColHeader$)==null?void 0:$.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderHover,{...h,column:n.index})})))})),this.disposeWithMe(g)}const s=new Map;let d;const u=e.get(c.LifecycleService),p=C.combineLatest([o.created$,u.lifecycle$]);this.disposeWithMe(p.subscribe(([v,g])=>{var R;if(v.type===c.UniverInstanceType.UNIVER_SHEET&&(d=v),g<=c.LifecycleStages.Rendered)return;const E=new c.DisposableCollection;if(!d)return;const l=this.getWorkbook(d.unitId);if(!l)return;s.get(d.unitId)&&((R=s.get(d.unitId))==null||R.dispose()),s.set(d.unitId,E);const I=d.with(a.SheetScrollManagerService);E.add(I.validViewportScrollInfo$.subscribe(S=>{S&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:l,worksheet:l.getActiveSheet(),...S})}));const M=d.with(P.SheetsSelectionsService);E.add(M.selectionMoveStart$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),E.add(M.selectionMoving$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),E.add(M.selectionMoveEnd$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),E.add(M.selectionChanged$.subscribe(S=>{var f;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:l,worksheet:l.getActiveSheet(),selections:(f=S==null?void 0:S.map(_=>_.range))!=null?f:[]})})),d=null,this.disposeWithMe(E)})),this.disposeWithMe(o.disposed$.subscribe(v=>{var g;(g=s.get(v))==null||g.dispose(),s.delete(v)})),this.disposeWithMe(()=>{s.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e);const t=e.get(c.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{switch(r.id){case m.CopyCommand.id:case m.CutCommand.id:this._beforeClipboardChange();break;case a.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(r.params);break}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(P.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(r.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;const o=P.getSkeletonChangedEffectedRange(r).map(s=>{var d,u;return(u=(d=this.getWorkbook(s.unitId))==null?void 0:d.getSheetBySheetId(s.subUnitId))==null?void 0:u.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:r,skeleton:i.worksheet.getSkeleton(),effectedRanges:o});return}switch(r.id){case m.CopyCommand.id:case m.CutCommand.id:this._clipboardChanged();break;case a.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case m.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(t.beforeCommandExecuted(async r=>{switch(r.id){case m.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),r=e==null?void 0:e.getActiveRange();if(!e||!t||!r)return;const o=this._injector.get(a.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!o)return;const{html:s,plain:d}=o;return{workbook:e,worksheet:t,text:d,html:s,fromSheet:t,fromRange:r}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.ClipboardChanged,e),e.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:t,textContent:r}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:r,html:t}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;const o=(await this._injector.get(m.IClipboardInterfaceService).read())[0];let s;if(o){const d=o.types,u=d.indexOf(m.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(m.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",p=d.indexOf(m.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(m.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";s={workbook:e,worksheet:t,text:u,html:p}}return s}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!m.supportClipboardAPI()){this._injector.get(c.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new Error("Before clipboard paste is canceled")}async _clipboardPasteAsync(){if(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!m.supportClipboardAPI()){this._injector.get(c.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new Error("Clipboard pasted is canceled")}customizeColumnHeader(e){var p,v;const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId(),i=this._injector.get(b.IRenderManagerService),o=t.getActiveSheet(),s=o.getSheetId(),d=i.getRenderById(r);d&&((p=e.headerStyle)!=null&&p.size)&&(d.with(a.SheetSkeletonManagerService).setColumnHeaderSize(d,s,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.ROW),i=r.register(...t);return c.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.COLUMN),i=r.register(...t);return c.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.MAIN),i=r.register(...t);return c.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){const i=this._injector.get(b.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(t);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(w.FSheetHooks)}}c.FUniver.extend(F);class V extends w.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(m.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const r=this._injector.get(m.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}_logDeprecation(e){this._injector.get(c.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentClickedCell$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r)}))}onCellHover(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentRichText$.pipe(C.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const t=this._injector.get(a.HoverManagerService);return c.toDisposable(t.currentCellPosWithEvent$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r,r.event)}))}onDragOver(e){const t=this._injector.get(a.DragManagerService);return c.toDisposable(t.currentCell$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r)}))}onDrop(e){const t=this._injector.get(a.DragManagerService);return c.toDisposable(t.endCell$.pipe(C.filter(r=>!!r)).subscribe(r=>{e(r)}))}startEditing(){return this._injector.get(c.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:b.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(c.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:b.DeviceInputEventType.Keyboard,keycode:e?m.KeyCode.ENTER:m.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await c.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),i=this._injector.get(b.IRenderManagerService).getRenderById(t);return i?i.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).showSelection(),this}}w.FWorkbook.extend(V);class N extends w.FWorksheet{refreshCanvas(){const e=this._injector.get(b.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(a.SheetSkeletonManagerService).reCalculate();const i=r.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(c.ICommandService).syncExecuteCommand(a.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),r=this._injector.get(b.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return i;const s=r.with(a.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const d=s==null?void 0:s.getVisibleRanges();if(!d)return i;i=s.getVisibleRangeByViewport(b.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[u,p]of d)b.sheetContentViewportKeys.indexOf(u)!==-1&&(i.startColumn=Math.min(i.startColumn,p.startColumn),i.startRow=Math.min(i.startRow,p.startRow),i.endColumn=Math.max(i.endColumn,p.endColumn),i.endRow=Math.max(i.endRow,p.endRow));return i}scrollToCell(e,t){const r=this._workbook.getUnitId(),o=this._injector.get(b.IRenderManagerService).getRenderById(r);return o&&(o==null?void 0:o.with(a.SheetsScrollRenderController)).scrollToCell(e,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=this._injector.get(b.IRenderManagerService).getRenderById(t);return o&&o.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:r})||e}onScroll(e){var o;const t=this._workbook.getUnitId(),i=(o=this._injector.get(b.IRenderManagerService).getRenderById(t))==null?void 0:o.with(a.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(d=>{e(d)});return c.toDisposable(s)}return c.toDisposable(()=>{})}getSkeleton(){var t,r;const e=(t=this._injector.get(b.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:t.with(a.SheetSkeletonManagerService);return(r=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:r.skeleton}setColumnAutoWidth(e,t){const r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetColAutoWidthCommand.id,{unitId:r,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var u,p;const t=this,r=this._fWorkbook.getId(),i=this._injector.get(b.IRenderManagerService),o=t.getSheetId(),s=i.getRenderById(r);s&&((u=e.headerStyle)!=null&&u.size)&&(s.with(a.SheetSkeletonManagerService).setColumnHeaderSize(s,o,(p=e.headerStyle)==null?void 0:p.size),t==null||t.refreshCanvas());const d=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN);d&&(d.setCustomHeader(e),t==null||t.refreshCanvas())}customizeRowHeader(e){const t=this._fWorkbook.getId();this._getSheetRenderComponent(t,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}setColumnHeaderHeight(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();return this._commandService.executeCommand(a.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:i,size:e}),t==null||t.refreshCanvas(),this}setRowHeaderWidth(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();this._commandService.executeCommand(a.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:i,size:e});const o=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW);return o&&o.setCustomHeader({headerStyle:{size:e}}),t==null||t.refreshCanvas(),this}_getSheetRenderComponent(e,t){const i=this._injector.get(b.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(t);if(!s)throw new Error("Render component not found");return s}}w.FWorksheet.extend(N);class K extends w.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}w.FPermission.extend(K);class z extends w.FSheetHooks{onCellPointerMove(e){return c.toDisposable(this._injector.get(a.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return c.toDisposable(this._injector.get(a.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return c.toDisposable(this._injector.get(a.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return c.toDisposable(this._injector.get(a.DragManagerService).endCell$.subscribe(e))}onCellRender(e,t=c.InterceptorEffectEnum.Style,r=P.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(P.SheetInterceptorService).intercept(P.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(i,o,s)=>s({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(c.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(c.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}w.FSheetHooks.extend(z);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class Y extends c.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return y.CellClicked}get CellHover(){return y.CellHover}get CellPointerDown(){return y.CellPointerDown}get CellPointerUp(){return y.CellPointerUp}get CellPointerMove(){return y.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}}c.FEventName.extend(Y);class Z extends w.FRange{getCell(){var d;const e=this._injector.get(b.IRenderManagerService),t=this._injector.get(c.ILogService),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(r),s=(d=o==null?void 0:o.with(a.SheetSkeletonManagerService).getSkeletonParam(i))==null?void 0:d.skeleton;if(!s)throw t.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:i}=this.getCell(),o={x:e,y:t,width:r-e,height:i-t,top:t,left:e,bottom:i,right:r};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const e=this._injector.get(a.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){var s,d,u;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(d=e.extraProps)!=null?d:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=H(e,this._injector.get(m.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(a.CellAlertManagerService),r={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:r}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var s,d,u;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(d=e.extraProps)!=null?d:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=H(e,this._injector.get(m.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}highlight(e,t){const r=this._injector.get(a.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:t});if(!i)throw new Error("Failed to highlight current range");return c.toDisposable(()=>{r.removeShape(i)})}}w.FRange.extend(Z);function H(k,e){const{componentKey:t,isVue3:r}=k;let i;const o=new c.DisposableCollection;return typeof t=="string"?i=t:(i=`External_${c.generateRandomId(6)}`,o.add(e.register(i,t,{framework:r?"vue3":"react"}))),{key:i,disposableCollection:o}}exports.transformComponentKey=H;
|