@univerjs/sheets-ui 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +11 -11
- package/lib/es/facade.js +1 -1
- package/lib/es/index.js +11 -11
- package/lib/facade.js +1 -1
- package/lib/index.js +11 -11
- package/lib/types/common/utils.d.ts +1 -2
- package/lib/types/controllers/auto-height.controller.d.ts +7 -9
- package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +0 -1
- package/lib/types/facade/f-enum.d.ts +4 -3
- package/lib/types/facade/f-event.d.ts +228 -213
- package/lib/types/facade/f-workbook.d.ts +0 -2
- package/lib/types/facade/f-worksheet.d.ts +3 -3
- package/lib/types/index.d.ts +0 -3
- package/lib/types/services/clipboard/html-to-usm/converter.d.ts +1 -1
- package/lib/types/services/editor-bridge.service.d.ts +3 -2
- package/lib/types/services/mark-selection/mark-selection.service.d.ts +3 -1
- package/lib/types/services/selection/base-selection-render.service.d.ts +1 -9
- package/lib/types/services/sheet-skeleton-manager.service.d.ts +8 -40
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +11 -11
- package/package.json +12 -12
- package/lib/types/services/selection/util.d.ts +0 -34
- package/lib/types/services/utils/drawing-position-util.d.ts +0 -50
package/lib/es/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CanceledError as e,DOCS_NORMAL_EDITOR_UNIT_ID_KEY as t,DisposableCollection as n,ICommandService as r,ILogService as i,IPermissionService as a,IUniverInstanceService as o,InterceptorEffectEnum as s,LifecycleService as c,LifecycleStages as l,RichTextValue as u,UniverInstanceType as d,awaitTime as f,generateRandomId as p,toDisposable as m}from"@univerjs/core";import{FEnum as ee,FEventName as te,FUniver as h}from"@univerjs/core/facade";import{RichTextEditingMutation as ne}from"@univerjs/docs";import{DeviceInputEventType as g,IRenderManagerService as _,SHEET_VIEWPORT_KEY as v}from"@univerjs/engine-render";import{COMMAND_LISTENER_SKELETON_CHANGE as re,INTERCEPTOR_POINT as ie,InterceptCellContentPriority as ae,SetWorksheetRowIsAutoHeightCommand as oe,SheetInterceptorService as se,SheetsSelectionsService as y,getSkeletonChangedEffectedRange as ce}from"@univerjs/sheets";import{CellAlertManagerService as le,DragManagerService as b,HoverManagerService as x,IEditorBridgeService as S,IMarkSelectionService as C,ISheetCellDropdownManagerService as ue,ISheetClipboardService as w,ISheetSelectionRenderService as T,SHEET_VIEW_KEY as E,SetCellEditVisibleOperation as D,SetColumnHeaderHeightCommand as O,SetRowHeaderWidthCommand as k,SetWorksheetColAutoWidthCommand as A,SetZoomRatioCommand as j,SheetCanvasPopManagerService as M,SheetPasteShortKeyCommand as N,SheetPermissionRenderManagerService as P,SheetScrollManagerService as F,SheetSkeletonManagerService as I,SheetsScrollRenderController as de}from"@univerjs/sheets-ui";import{FPermission as L,FRange as R,FSheetHooks as z,FWorkbook as B,FWorksheet as V}from"@univerjs/sheets/facade";import{ComponentManager as H,CopyCommand as U,CutCommand as W,HTML_CLIPBOARD_MIME_TYPE as G,IClipboardInterfaceService as fe,IDialogService as pe,ISidebarService as me,KeyCode as K,PLAIN_TEXT_CLIPBOARD_MIME_TYPE as q,PasteCommand as J,supportClipboardAPI as Y}from"@univerjs/ui";import{combineLatest as he,filter as X}from"rxjs";var ge=class extends h{_initSheetUIEvent(n){let i=n.get(r);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>i.beforeCommandExecuted(t=>{if(t.id!==D.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,o=n.get(S),{visible:s,keycode:c,eventType:l}=t.params,u=o.getEditLocation();if(s){let t={row:u.row,column:u.column,eventType:l,keycode:c,workbook:i,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,t),t.cancel)throw new e}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>i.beforeCommandExecuted(r=>{if(r.id!==D.id)return;let i=this.getActiveSheet();if(!i)return;let{workbook:a,worksheet:s}=i,c=n.get(S),l=n.get(o),{visible:d,keycode:f,eventType:p}=r.params,m=c.getEditLocation();if(!d){let n={row:m.row,column:m.column,eventType:p,keycode:f,workbook:a,worksheet:s,isZenEditor:!1,value:u.create(l.getUnit(t).getSnapshot()),isConfirm:f!==K.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,n),n.cancel)throw new e}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>i.onCommandExecuted(e=>{if(e.id!==D.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:i}=t,a=n.get(S),{visible:o,keycode:s,eventType:c}=e.params,l=a.getEditLocation();if(o){let e={row:l.row,column:l.column,eventType:c,keycode:s,workbook:r,worksheet:i,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>i.onCommandExecuted(e=>{if(e.id!==D.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:i}=t,a=n.get(S),{visible:o,keycode:s,eventType:c}=e.params,l=a.getEditLocation();if(!o){let e={row:l.row,column:l.column,eventType:c,keycode:s,workbook:r,worksheet:i,isZenEditor:!1,isConfirm:s!==K.ESC};this.fireEvent(this.Event.SheetEditEnded,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>i.onCommandExecuted(e=>{if(e.id!==ne.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=n.get(S),c=n.get(o),l=e.params;if(!s.isVisible().visible)return;let{unitId:d}=l;if(d===t){let{row:e,column:n}=s.getEditLocation(),r={workbook:i,worksheet:a,row:e,column:n,value:u.create(c.getUnit(t).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>i.beforeCommandExecuted(t=>{if(t.id!==j.id)return;let n=this.getCommandSheetTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,a={zoom:t.params.zoomRatio,workbook:r,worksheet:i};if(this.fireEvent(this.Event.BeforeSheetZoomChange,a),a.cancel)throw new e}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>i.onCommandExecuted(e=>{if(e.id!==j.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:n,worksheet:r}=t;this.fireEvent(this.Event.SheetZoomChanged,{zoom:r.getZoom(),workbook:n,worksheet:r})})))}_initObserverListener(e){let t=e.get(_),r=e.get(c),i=new n;this.disposeWithMe(r.lifecycle$.subscribe(t=>{if(t!==l.Rendered)return;let n=e.get(x),r=e.get(b);n&&(i.dispose(),i.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=n.currentClickedCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.CellClicked,{...t,...e,row:e.location.row,column:e.location.col})})})),i.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=n.currentRichText$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellHover,{...t,...e,row:e.row,column:e.col})})})),i.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=n.currentPointerDownCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerDown,{...t,...e,row:e.row,column:e.col})})})),i.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=n.currentPointerUpCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerUp,{...t,...e,row:e.row,column:e.col})})})),i.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=n.currentCellPosWithEvent$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerMove,{...t,...e,row:e.row,column:e.col})})})),i.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=r.currentCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.DragOver,{...t,...e,row:e.location.row,column:e.location.col})})})),i.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=r.endCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.Drop,{...t,...e,row:e.location.row,column:e.location.col})})})),i.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=n.currentRowHeaderClick$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderClick,{...t,row:e.index})})})),i.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=n.currentRowHeaderPointerDown$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderPointerDown,{...t,row:e.index})})})),i.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=n.currentRowHeaderPointerUp$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderPointerUp,{...t,row:e.index})})})),i.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=n.currentHoveredRowHeader$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderHover,{...t,row:e.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=n.currentColHeaderClick$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderClick,{...t,column:e.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=n.currentColHeaderPointerDown$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...t,column:e.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=n.currentColHeaderPointerUp$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...t,column:e.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=n.currentHoveredColHeader$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderHover,{...t,column:e.index})})})),this.disposeWithMe(i))}));let a,o=he([t.created$,r.lifecycle$]),s=new n;this.disposeWithMe(o.subscribe(([e,t])=>{if(e.type===d.UNIVER_SHEET&&(a=e),t<=l.Rendered||!a)return;let n=this.getWorkbook(a.unitId);if(!n)return;s.dispose();let r=a.with(F),i=a.with(y);s.add(this.registerEventHandler(this.Event.Scroll,()=>r.validViewportScrollInfo$.subscribe(e=>{e&&this.fireEvent(this.Event.Scroll,{workbook:n,worksheet:n.getActiveSheet(),...e})}))),s.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>i.selectionMoveStart$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoveStart,{workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),s.add(this.registerEventHandler(this.Event.SelectionMoving,()=>i.selectionMoving$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoving,{workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),s.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>i.selectionMoveEnd$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),s.add(this.registerEventHandler(this.Event.SelectionChanged,()=>i.selectionChanged$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionChanged,{workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),a=null,this.disposeWithMe(s)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let t=e.get(r);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>t.beforeCommandExecuted(e=>{switch(e.id){case U.id:case W.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>t.onCommandExecuted(e=>{switch(e.id){case U.id:case W.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>t.beforeCommandExecuted(e=>{switch(e.id){case N.id:this._beforeClipboardPaste(e.params);break;case J.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>t.onCommandExecuted(e=>{switch(e.id){case N.id:this._clipboardPaste(e.params);break;case J.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>t.onCommandExecuted(e=>{if(re.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let n=ce(e,t.worksheet.getMaxColumns()).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!n.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:n})}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),n=e==null?void 0:e.getActiveRange();if(!e||!t||!n)return;let r=this._injector.get(w).generateCopyContent(e.getId(),t.getSheetId(),n.getRange());if(!r)return;let{html:i,plain:a}=r;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:n}}_beforeClipboardChange(){let t=this._generateClipboardCopyParam();if(t&&(this.fireEvent(this.Event.BeforeClipboardChange,t),t.cancel))throw new e}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:n}=e,r=this.getActiveWorkbook(),i=r==null?void 0:r.getActiveSheet();if(!(!r||!i))return{workbook:r,worksheet:i,text:n,html:t}}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;let n=(await this._injector.get(fe).read())[0],r;if(n){let i=n.types;r={workbook:e,worksheet:t,text:i.indexOf(q)===-1?``:await n.getType(q).then(e=>e&&e.text()),html:i.indexOf(G)===-1?``:await n.getType(G).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(t){let n=this._generateClipboardPasteParam(t);if(n&&(this.fireEvent(this.Event.BeforeClipboardPaste,n),n.cancel))throw new e}_clipboardPaste(t){let n=this._generateClipboardPasteParam(t);if(n&&(this.fireEvent(this.Event.ClipboardPasted,n),n.cancel))throw new e}async _beforeClipboardPasteAsync(){if(!Y()){this._injector.get(i).warn(`[Facade]: The navigator object only supports the browser environment`);return}let t=await this._generateClipboardPasteParamAsync();if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new e}async _clipboardPasteAsync(){if(!Y()){this._injector.get(i).warn(`[Facade]: The navigator object only supports the browser environment`);return}let t=await this._generateClipboardPasteParamAsync();if(t&&(this.fireEvent(this.Event.ClipboardPasted,t),t.cancel))throw new e}customizeColumnHeader(e){var t;let n=this.getActiveWorkbook();if(!n){console.error(`WorkBook not exist`);return}let r=n==null?void 0:n.getId(),i=this._injector.get(_),a=n.getActiveSheet(),o=a.getSheetId(),s=i.getRenderById(r);if(s&&(t=e.headerStyle)!=null&&t.size){var c;s.with(I).setColumnHeaderSize(s,o,(c=e.headerStyle)==null?void 0:c.size),a==null||a.refreshCanvas()}this._getSheetRenderComponent(r,E.COLUMN).setCustomHeader(e),a==null||a.refreshCanvas()}customizeRowHeader(e){let t=this.getActiveWorkbook();if(!t){console.error(`WorkBook not exist`);return}let n=t==null?void 0:t.getId();this._getSheetRenderComponent(n,E.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){let n=this._getSheetRenderComponent(e,E.ROW),r=n.register(...t);return m(()=>{r.dispose(),n.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){let n=this._getSheetRenderComponent(e,E.COLUMN),r=n.register(...t);return m(()=>{r.dispose(),n.makeDirty(!0)})}registerSheetMainExtension(e,...t){let n=this._getSheetRenderComponent(e,E.MAIN),r=n.register(...t);return m(()=>{r.dispose(),n.makeDirty(!0)})}_getSheetRenderComponent(e,t){let n=this._injector.get(_).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,i=r.get(t);if(!i)throw Error(`Render component not found`);return i}getSheetHooks(){return this._injector.createInstance(z)}pasteIntoSheet(e,t,n){return this._commandService.executeCommand(N.id,{htmlContent:e,textContent:t,files:n})}setProtectedRangeShadowStrategy(e){this._injector.get(P).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(P).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(P).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(a).setShowComponents(e)}};h.extend(ge);var _e=class extends B{openSiderbar(e){return this._logDeprecation(`openSiderbar`),this._injector.get(me).open(e)}openDialog(e){this._logDeprecation(`openDialog`);let t=this._injector.get(pe).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,E.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,E.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let n=this._injector.get(_).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,i=r.get(t);if(!i)throw Error(`Render component not found`);return i}_logDeprecation(e){this._injector.get(i).warn(`[FWorkbook]`,`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){let t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){return m(this._injector.get(x).currentClickedCell$.pipe(X(e=>!!e)).subscribe(t=>{e(t)}))}onCellHover(e){return m(this._injector.get(x).currentRichText$.pipe(X(e=>!!e)).subscribe(e))}onCellPointerDown(e){return m(this._injector.get(x).currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){return m(this._injector.get(x).currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){return m(this._injector.get(x).currentCellPosWithEvent$.pipe(X(e=>!!e)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){return m(this._injector.get(b).currentCell$.pipe(X(e=>!!e)).subscribe(t=>{e(t)}))}onDrop(e){return m(this._injector.get(b).endCell$.pipe(X(e=>!!e)).subscribe(t=>{e(t)}))}startEditing(){let e=this._injector.get(r);return this._injector.get(S).isVisible().visible?!0:e.syncExecuteCommand(D.id,{eventType:g.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){let t=this._injector.get(r);return this._injector.get(S).isVisible().visible&&t.syncExecuteCommand(D.id,{eventType:g.Keyboard,keycode:e?K.ENTER:K.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await f(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(S).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),n=this._injector.get(_).getRenderById(t);return n?n.with(F).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(_).getRenderById(e);return t&&t.with(T).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(_).getRenderById(e);return t&&t.with(T).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(_).getRenderById(e);return t&&t.with(T).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(_).getRenderById(e);return t&&t.with(T).showSelection(),this}};B.extend(_e);var ve=class extends V{refreshCanvas(){let e=this._injector.get(_),t=this._fWorkbook.id,n=e.getRenderById(t);if(!n)throw Error(`Render Unit with unitId ${t} not found`);n.with(I).reCalculate();let r=n.mainComponent;if(!r)throw Error(`Main component not found`);return r.makeDirty(),this}highlightRanges(e,t,n){let r=this._injector.get(C),i=[];for(let a of e){let e=a.getRange(),o=r.addShapeWithNoFresh({range:e,style:t,primary:n});o&&i.push(o)}if(r.refreshShapes(),i.length===0)throw Error(`Failed to highlight current range`);return m(()=>{i.forEach(e=>{r.removeShape(e)})})}zoom(e){let t=this._injector.get(r),n=Math.min(Math.max(e,.1),4);return t.executeCommand(j.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:n}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(_).getRenderById(e);if(!t)return null;let n=t.with(I).getCurrentSkeleton();return n?n.getVisibleRangeByViewport(v.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(_).getRenderById(e);if(!t)return null;let n=t.with(I).getCurrentSkeleton();return n?n.getVisibleRanges():null}scrollToCell(e,t,n){let r=this._workbook.getUnitId(),i=this._injector.get(_).getRenderById(r);return i&&(i==null?void 0:i.with(de)).scrollToCell(e,t,n),this}getScrollState(){let e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),r=this._injector.get(_).getRenderById(t);return r&&r.with(F).getScrollStateByParam({unitId:t,sheetId:n})||e}onScroll(e){var t;let n=this._workbook.getUnitId(),r=(t=this._injector.get(_).getRenderById(n))==null?void 0:t.with(F);return m(r?r.validViewportScrollInfo$.subscribe(t=>{e(t)}):()=>{})}getSkeleton(){var e,t;let n=(e=this._injector.get(_).getRenderById(this._workbook.getUnitId()))==null?void 0:e.with(I);return n==null||(t=n.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(A.id,{unitId:n,subUnitId:r,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(oe.id,{unitId:n,subUnitId:r,ranges:i}),this}customizeColumnHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=this._injector.get(_).getRenderById(n);if(i&&(t=e.headerStyle)!=null&&t.size){var a;i.with(I).setColumnHeaderSize(i,r,(a=e.headerStyle)==null?void 0:a.size)}this._getSheetRenderComponent(n,E.COLUMN).setCustomHeader(e,r)}customizeRowHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=this._injector.get(_).getRenderById(n);if(i&&(t=e.headerStyle)!=null&&t.size){var a;i.with(I).setRowHeaderSize(i,r,(a=e.headerStyle)==null?void 0:a.size)}this._getSheetRenderComponent(n,E.ROW).setCustomHeader(e,r)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(O.id,{unitId:t,subUnitId:n,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(k.id,{unitId:t,subUnitId:n,size:e}),this}_getSheetRenderComponent(e,t){let n=this._injector.get(_).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,i=r.get(t);if(!i)throw Error(`Render component not found`);return i}};V.extend(ve);var ye=class extends L{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}};L.extend(ye);var be=class extends z{onCellPointerMove(e){return m(this._injector.get(x).currentPosition$.subscribe(e))}onCellPointerOver(e){return m(this._injector.get(x).currentCell$.subscribe(e))}onCellDragOver(e){return m(this._injector.get(b).currentCell$.subscribe(e))}onCellDrop(e){return m(this._injector.get(b).endCell$.subscribe(e))}onCellRender(e,t=s.Style,n=ae.DATA_VALIDATION){return this._injector.get(se).intercept(ie.CELL_CONTENT,{effect:t,handler:(t,n,r)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),r(t)),priority:n})}onBeforeCellEdit(e){return this._injector.get(r).beforeCommandExecuted(t=>{let n=t.params;t.id===D.id&&n.visible&&e(n)})}onAfterCellEdit(e){return this._injector.get(r).onCommandExecuted(t=>{let n=t.params;t.id===D.id&&!n.visible&&e(n)})}};z.extend(be);const Z={CellClicked:`CellClicked`,CellPointerDown:`CellPointerDown`,CellPointerUp:`CellPointerUp`,CellPointerMove:`CellPointerMove`,CellHover:`CellHover`,DragOver:`DragOver`,Drop:`Drop`,Scroll:`Scroll`,SelectionMoveStart:`SelectionMoveStart`,SelectionMoving:`SelectionMoving`,SelectionMoveEnd:`SelectionMoveEnd`,SelectionChanged:`SelectionChanged`};var xe=class{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 Z.CellClicked}get CellHover(){return Z.CellHover}get CellPointerDown(){return Z.CellPointerDown}get CellPointerUp(){return Z.CellPointerUp}get CellPointerMove(){return Z.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`}get BeforeSheetZoomChange(){return`BeforeSheetZoomChange`}get SheetZoomChanged(){return`SheetZoomChanged`}};te.extend(xe);var Q=class{get SHEET_VIEWPORT_KEY(){return v}};ee.extend(Q);var Se=class extends R{getCell(){var e;let t=this._injector.get(_),n=this._injector.get(i),r=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=t.getRenderById(r),s=o==null||(e=o.with(I).getSkeletonParam(a))==null?void 0:e.skeleton;if(!s)throw n.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:n,endY:r}=this.getCell(),i={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(w).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e=t==null?void 0:t.html)==null?``:e}attachPopup(e){var t,n,r;e.direction=(t=e.direction)==null?`horizontal`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=$(e,this._injector.get(H)),o=this._injector.get(M).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return o?(a.add(o),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(le),n={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:n}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,n,r;e.direction=(t=e.direction)==null?`top-center`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=$(e,this._injector.get(H)),o=this._injector.get(M).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return o?(a.add(o),a):(a.dispose(),null)}highlight(e,t){let n=this._injector.get(C),r=n.addShape({range:this._range,style:e,primary:t});if(!r)throw Error(`Failed to highlight current range`);return m(()=>{n.removeShape(r)})}showDropdown(e){return this._injector.get(ue).showDropdown(e)}};R.extend(Se);function $(e,t){let{componentKey:r,isVue3:i}=e,a,o=new n;return typeof r==`string`?a=r:(a=`External_${p(6)}`,o.add(t.register(a,r,{framework:i?`vue3`:`react`}))),{key:a,disposableCollection:o}}export{Q as FSheetsUIEnum,$ as transformComponentKey};
|
|
1
|
+
import{CanceledError as e,DOCS_NORMAL_EDITOR_UNIT_ID_KEY as t,DisposableCollection as n,ICommandService as r,ILogService as i,IPermissionService as a,IUniverInstanceService as o,InterceptorEffectEnum as s,LifecycleService as c,LifecycleStages as l,RichTextValue as u,UniverInstanceType as d,awaitTime as f,generateRandomId as p,toDisposable as m}from"@univerjs/core";import{FEnum as h,FEventName as g,FUniver as _}from"@univerjs/core/facade";import{RichTextEditingMutation as ee}from"@univerjs/docs";import{DeviceInputEventType as v,IRenderManagerService as y,SHEET_VIEWPORT_KEY as b}from"@univerjs/engine-render";import{COMMAND_LISTENER_SKELETON_CHANGE as te,INTERCEPTOR_POINT as ne,InterceptCellContentPriority as re,SetWorksheetRowIsAutoHeightCommand as ie,SheetInterceptorService as ae,SheetsSelectionsService as oe,getSkeletonChangedEffectedRange as se}from"@univerjs/sheets";import{CellAlertManagerService as ce,DragManagerService as x,HoverManagerService as S,IEditorBridgeService as C,IMarkSelectionService as w,ISheetCellDropdownManagerService as le,ISheetClipboardService as T,ISheetSelectionRenderService as E,SHEET_VIEW_KEY as D,SetCellEditVisibleOperation as O,SetColumnHeaderHeightCommand as ue,SetRowHeaderWidthCommand as k,SetWorksheetColAutoWidthCommand as A,SetZoomRatioCommand as j,SheetCanvasPopManagerService as M,SheetPasteShortKeyCommand as N,SheetPermissionRenderManagerService as P,SheetScrollManagerService as F,SheetSkeletonManagerService as I,SheetsScrollRenderController as de}from"@univerjs/sheets-ui";import{FPermission as L,FRange as R,FSheetHooks as z,FWorkbook as B,FWorksheet as V}from"@univerjs/sheets/facade";import{ComponentManager as H,CopyCommand as U,CutCommand as W,HTML_CLIPBOARD_MIME_TYPE as G,IClipboardInterfaceService as fe,IDialogService as pe,ISidebarService as me,KeyCode as K,PLAIN_TEXT_CLIPBOARD_MIME_TYPE as q,PasteCommand as J,supportClipboardAPI as Y}from"@univerjs/ui";import{combineLatest as he,filter as X}from"rxjs";var Z=class extends _{_initSheetUIEvent(n){let i=n.get(r);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>i.beforeCommandExecuted(t=>{if(t.id!==O.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,o=n.get(C),{visible:s,keycode:c,eventType:l}=t.params,u=o.getEditLocation();if(!s)return;let d={row:u.row,column:u.column,eventType:l,keycode:c,workbook:i,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,d),d.cancel)throw new e}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>i.beforeCommandExecuted(r=>{if(r.id!==O.id)return;let i=this.getActiveSheet();if(!i)return;let{workbook:a,worksheet:s}=i,c=n.get(C),l=n.get(o),{visible:d,keycode:f,eventType:p}=r.params,m=c.getEditLocation();if(d)return;let h={row:m.row,column:m.column,eventType:p,keycode:f,workbook:a,worksheet:s,isZenEditor:!1,value:u.create(l.getUnit(t).getSnapshot()),isConfirm:f!==K.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,h),h.cancel)throw new e}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>i.onCommandExecuted(e=>{if(e.id!==O.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:i}=t,a=n.get(C),{visible:o,keycode:s,eventType:c}=e.params,l=a.getEditLocation();if(!o)return;let u={row:l.row,column:l.column,eventType:c,keycode:s,workbook:r,worksheet:i,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,u)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>i.onCommandExecuted(e=>{if(e.id!==O.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:i}=t,a=n.get(C),{visible:o,keycode:s,eventType:c}=e.params,l=a.getEditLocation();if(o)return;let u={row:l.row,column:l.column,eventType:c,keycode:s,workbook:r,worksheet:i,isZenEditor:!1,isConfirm:s!==K.ESC};this.fireEvent(this.Event.SheetEditEnded,u)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>i.onCommandExecuted(e=>{if(e.id!==ee.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=n.get(C),c=n.get(o),l=e.params;if(!s.isVisible().visible)return;let{unitId:d}=l;if(d===t){let{row:e,column:n}=s.getEditLocation(),r={workbook:i,worksheet:a,row:e,column:n,value:u.create(c.getUnit(t).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>i.beforeCommandExecuted(t=>{if(t.id!==j.id)return;let n=this.getCommandSheetTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,a={zoom:t.params.zoomRatio,workbook:r,worksheet:i};if(this.fireEvent(this.Event.BeforeSheetZoomChange,a),a.cancel)throw new e}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>i.onCommandExecuted(e=>{if(e.id!==j.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:n,worksheet:r}=t,i={zoom:r.getZoom(),workbook:n,worksheet:r};this.fireEvent(this.Event.SheetZoomChanged,i)})))}_initObserverListener(e){let t=e.get(y),r=e.get(c),i=new n;this.disposeWithMe(r.lifecycle$.subscribe(t=>{if(t!==l.Rendered)return;let n=e.get(S),r=e.get(x);n&&(i.dispose(),i.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=n.currentClickedCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);if(!t)return;let n={...t,...e,row:e.location.row,column:e.location.col};this.fireEvent(this.Event.CellClicked,n)})})),i.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=n.currentRichText$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellHover,n)})})),i.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=n.currentPointerDownCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellPointerDown,n)})})),i.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=n.currentPointerUpCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellPointerUp,n)})})),i.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=n.currentCellPosWithEvent$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellPointerMove,n)})})),i.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=r.currentCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);if(!t)return;let n={...t,...e,row:e.location.row,column:e.location.col};this.fireEvent(this.Event.DragOver,n)})})),i.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=r.endCell$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);if(!t)return;let n={...t,...e,row:e.location.row,column:e.location.col};this.fireEvent(this.Event.Drop,n)})})),i.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=n.currentRowHeaderClick$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderClick,n)})})),i.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=n.currentRowHeaderPointerDown$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderPointerDown,n)})})),i.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=n.currentRowHeaderPointerUp$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderPointerUp,n)})})),i.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=n.currentHoveredRowHeader$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderHover,n)})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=n.currentColHeaderClick$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderClick,n)})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=n.currentColHeaderPointerDown$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderPointerDown,n)})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=n.currentColHeaderPointerUp$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderPointerUp,n)})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=n.currentHoveredColHeader$)==null?void 0:e.pipe(X(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderHover,n)})})),this.disposeWithMe(i))}));let a,o=he([t.created$,r.lifecycle$]),s=new n;this.disposeWithMe(o.subscribe(([e,t])=>{if(e.type===d.UNIVER_SHEET&&(a=e),t<=l.Rendered||!a)return;let n=this.getWorkbook(a.unitId);if(!n)return;s.dispose();let r=a.with(F),i=a.with(oe);s.add(this.registerEventHandler(this.Event.Scroll,()=>r.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let t={workbook:n,worksheet:n.getActiveSheet(),...e};this.fireEvent(this.Event.Scroll,t)}))),s.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>i.selectionMoveStart$.subscribe(e=>{var t;let r={workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveStart,r)}))),s.add(this.registerEventHandler(this.Event.SelectionMoving,()=>i.selectionMoving$.subscribe(e=>{var t;let r={workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoving,r)}))),s.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>i.selectionMoveEnd$.subscribe(e=>{var t;let r={workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveEnd,r)}))),s.add(this.registerEventHandler(this.Event.SelectionChanged,()=>i.selectionChanged$.subscribe(e=>{var t;let r={workbook:n,worksheet:n.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionChanged,r)}))),a=null,this.disposeWithMe(s)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let t=e.get(r);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>t.beforeCommandExecuted(e=>{switch(e.id){case U.id:case W.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>t.onCommandExecuted(e=>{switch(e.id){case U.id:case W.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>t.beforeCommandExecuted(e=>{switch(e.id){case N.id:this._beforeClipboardPaste(e.params);break;case J.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>t.onCommandExecuted(e=>{switch(e.id){case N.id:this._clipboardPaste(e.params);break;case J.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>t.onCommandExecuted(e=>{if(te.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let n=se(e,t.worksheet.getMaxColumns()).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!n.length)return;let r={workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:n};this.fireEvent(this.Event.SheetSkeletonChanged,r)}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),n=e==null?void 0:e.getActiveRange();if(!e||!t||!n)return;let r=this._injector.get(T).generateCopyContent(e.getId(),t.getSheetId(),n.getRange());if(!r)return;let{html:i,plain:a}=r;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:n}}_beforeClipboardChange(){let t=this._generateClipboardCopyParam();if(t&&(this.fireEvent(this.Event.BeforeClipboardChange,t),t.cancel))throw new e}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:n}=e,r=this.getActiveWorkbook(),i=r==null?void 0:r.getActiveSheet();if(!(!r||!i))return{workbook:r,worksheet:i,text:n,html:t}}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;let n=(await this._injector.get(fe).read())[0],r;if(n){let i=n.types;r={workbook:e,worksheet:t,text:i.indexOf(q)===-1?``:await n.getType(q).then(e=>e&&e.text()),html:i.indexOf(G)===-1?``:await n.getType(G).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(t){let n=this._generateClipboardPasteParam(t);if(n&&(this.fireEvent(this.Event.BeforeClipboardPaste,n),n.cancel))throw new e}_clipboardPaste(t){let n=this._generateClipboardPasteParam(t);if(n&&(this.fireEvent(this.Event.ClipboardPasted,n),n.cancel))throw new e}async _beforeClipboardPasteAsync(){if(!Y()){this._injector.get(i).warn(`[Facade]: The navigator object only supports the browser environment`);return}let t=await this._generateClipboardPasteParamAsync();if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new e}async _clipboardPasteAsync(){if(!Y()){this._injector.get(i).warn(`[Facade]: The navigator object only supports the browser environment`);return}let t=await this._generateClipboardPasteParamAsync();if(t&&(this.fireEvent(this.Event.ClipboardPasted,t),t.cancel))throw new e}customizeColumnHeader(e){var t;let n=this.getActiveWorkbook();if(!n){console.error(`WorkBook not exist`);return}let r=n==null?void 0:n.getId(),i=this._injector.get(y),a=n.getActiveSheet(),o=a.getSheetId(),s=i.getRenderById(r);if(s&&(t=e.headerStyle)!=null&&t.size){var c;s.with(I).setColumnHeaderSize(s,o,(c=e.headerStyle)==null?void 0:c.size),a==null||a.refreshCanvas()}this._getSheetRenderComponent(r,D.COLUMN).setCustomHeader(e),a==null||a.refreshCanvas()}customizeRowHeader(e){let t=this.getActiveWorkbook();if(!t){console.error(`WorkBook not exist`);return}let n=t==null?void 0:t.getId();this._getSheetRenderComponent(n,D.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){let n=this._getSheetRenderComponent(e,D.ROW),r=n.register(...t);return m(()=>{r.dispose(),n.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){let n=this._getSheetRenderComponent(e,D.COLUMN),r=n.register(...t);return m(()=>{r.dispose(),n.makeDirty(!0)})}registerSheetMainExtension(e,...t){let n=this._getSheetRenderComponent(e,D.MAIN),r=n.register(...t);return m(()=>{r.dispose(),n.makeDirty(!0)})}_getSheetRenderComponent(e,t){let n=this._injector.get(y).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,i=r.get(t);if(!i)throw Error(`Render component not found`);return i}getSheetHooks(){return this._injector.createInstance(z)}pasteIntoSheet(e,t,n){return this._commandService.executeCommand(N.id,{htmlContent:e,textContent:t,files:n})}setProtectedRangeShadowStrategy(e){this._injector.get(P).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(P).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(P).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(a).setShowComponents(e)}};_.extend(Z);var ge=class extends B{openSiderbar(e){return this._logDeprecation(`openSiderbar`),this._injector.get(me).open(e)}openDialog(e){this._logDeprecation(`openDialog`);let t=this._injector.get(pe).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,D.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,D.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let n=this._injector.get(y).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,i=r.get(t);if(!i)throw Error(`Render component not found`);return i}_logDeprecation(e){this._injector.get(i).warn(`[FWorkbook]`,`${e} is deprecated. Please use the function of the same name on "FUniver".`)}onCellClick(e){return m(this._injector.get(S).currentClickedCell$.pipe(X(e=>!!e)).subscribe(t=>{e(t)}))}onCellHover(e){return m(this._injector.get(S).currentRichText$.pipe(X(e=>!!e)).subscribe(e))}onCellPointerDown(e){return m(this._injector.get(S).currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){return m(this._injector.get(S).currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){return m(this._injector.get(S).currentCellPosWithEvent$.pipe(X(e=>!!e)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){return m(this._injector.get(x).currentCell$.pipe(X(e=>!!e)).subscribe(t=>{e(t)}))}onDrop(e){return m(this._injector.get(x).endCell$.pipe(X(e=>!!e)).subscribe(t=>{e(t)}))}startEditing(){let e=this._injector.get(r);return this._injector.get(C).isVisible().visible?!0:e.syncExecuteCommand(O.id,{eventType:v.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){let t=this._injector.get(r);return this._injector.get(C).isVisible().visible&&t.syncExecuteCommand(O.id,{eventType:v.Keyboard,keycode:e?K.ENTER:K.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await f(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(C).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),n=this._injector.get(y).getRenderById(t);return n?n.with(F).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(y).getRenderById(e);return t&&t.with(E).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(y).getRenderById(e);return t&&t.with(E).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(y).getRenderById(e);return t&&t.with(E).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(y).getRenderById(e);return t&&t.with(E).showSelection(),this}};B.extend(ge);var _e=class extends V{refreshCanvas(){let e=this._injector.get(y),t=this._fWorkbook.id,n=e.getRenderById(t);if(!n)throw Error(`Render Unit with unitId ${t} not found`);n.with(I).reCalculate();let r=n.mainComponent;if(!r)throw Error(`Main component not found`);return r.makeDirty(),this}highlightRanges(e,t,n){let r=this._injector.get(w),i=[];for(let a of e){let e=a.getRange(),o=r.addShapeWithNoFresh({range:e,style:t,primary:n});o&&i.push(o)}if(r.refreshShapes(),i.length===0)throw Error(`Failed to highlight current range`);return m(()=>{i.forEach(e=>{r.removeShape(e)})})}zoom(e){let t=this._injector.get(r),n=Math.min(Math.max(e,.1),4);return t.executeCommand(j.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:n}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(y).getRenderById(e);if(!t)return null;let n=t.with(I).getCurrentSkeleton();return n?n.getVisibleRangeByViewport(b.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(y).getRenderById(e);if(!t)return null;let n=t.with(I).getCurrentSkeleton();return n?n.getVisibleRanges():null}scrollToCell(e,t,n){let r=this._workbook.getUnitId(),i=this._injector.get(y).getRenderById(r);return i&&(i==null?void 0:i.with(de)).scrollToCell(e,t,n),this}getScrollState(){let e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),r=this._injector.get(y).getRenderById(t);return r&&r.with(F).getScrollStateByParam({unitId:t,sheetId:n})||e}onScroll(e){var t;let n=this._workbook.getUnitId(),r=(t=this._injector.get(y).getRenderById(n))==null?void 0:t.with(F);return m(r?r.validViewportScrollInfo$.subscribe(t=>{e(t)}):()=>{})}getSkeleton(){var e;let t=(e=this._injector.get(y).getRenderById(this._workbook.getUnitId()))==null?void 0:e.with(I);return t==null?void 0:t.getSkeleton(this._worksheet.getSheetId())}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(A.id,{unitId:n,subUnitId:r,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(ie.id,{unitId:n,subUnitId:r,ranges:i}),this}customizeColumnHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=this._injector.get(y).getRenderById(n);if(i&&(t=e.headerStyle)!=null&&t.size){var a;i.with(I).setColumnHeaderSize(i,r,(a=e.headerStyle)==null?void 0:a.size)}this._getSheetRenderComponent(n,D.COLUMN).setCustomHeader(e,r)}customizeRowHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=this._injector.get(y).getRenderById(n);if(i&&(t=e.headerStyle)!=null&&t.size){var a;i.with(I).setRowHeaderSize(i,r,(a=e.headerStyle)==null?void 0:a.size)}this._getSheetRenderComponent(n,D.ROW).setCustomHeader(e,r)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(ue.id,{unitId:t,subUnitId:n,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(k.id,{unitId:t,subUnitId:n,size:e}),this}_getSheetRenderComponent(e,t){let n=this._injector.get(y).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,i=r.get(t);if(!i)throw Error(`Render component not found`);return i}};V.extend(_e);var ve=class extends L{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}};L.extend(ve);var ye=class extends z{onCellPointerMove(e){return m(this._injector.get(S).currentPosition$.subscribe(e))}onCellPointerOver(e){return m(this._injector.get(S).currentCell$.subscribe(e))}onCellDragOver(e){return m(this._injector.get(x).currentCell$.subscribe(e))}onCellDrop(e){return m(this._injector.get(x).endCell$.subscribe(e))}onCellRender(e,t=s.Style,n=re.DATA_VALIDATION){return this._injector.get(ae).intercept(ne.CELL_CONTENT,{effect:t,handler:(t,n,r)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),r(t)),priority:n})}onBeforeCellEdit(e){return this._injector.get(r).beforeCommandExecuted(t=>{let n=t.params;t.id===O.id&&n.visible&&e(n)})}onAfterCellEdit(e){return this._injector.get(r).onCommandExecuted(t=>{let n=t.params;t.id===O.id&&!n.visible&&e(n)})}};z.extend(ye);var be=class extends g{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`CellClicked`}get CellHover(){return`CellHover`}get CellPointerDown(){return`CellPointerDown`}get CellPointerUp(){return`CellPointerUp`}get CellPointerMove(){return`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`}get BeforeSheetZoomChange(){return`BeforeSheetZoomChange`}get SheetZoomChanged(){return`SheetZoomChanged`}};g.extend(be);var Q=class extends h{get SHEET_VIEWPORT_KEY(){return b}};h.extend(Q);var xe=class extends R{getCell(){var e;let t=this._injector.get(y),n=this._injector.get(i),r=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=t.getRenderById(r),s=o==null||(e=o.with(I).getSkeletonParam(a))==null?void 0:e.skeleton;if(!s)throw n.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:n,endY:r}=this.getCell(),i={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(T).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e=t==null?void 0:t.html)==null?``:e}attachPopup(e){var t,n,r;e.direction=(t=e.direction)==null?`horizontal`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=$(e,this._injector.get(H)),o=this._injector.get(M).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return o?(a.add(o),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(ce),n={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:n}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,n,r;e.direction=(t=e.direction)==null?`top-center`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=$(e,this._injector.get(H)),o=this._injector.get(M).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return o?(a.add(o),a):(a.dispose(),null)}highlight(e,t){let n=this._injector.get(w),r=n.addShape({range:this._range,style:e,primary:t});if(!r)throw Error(`Failed to highlight current range`);return m(()=>{n.removeShape(r)})}showDropdown(e){return this._injector.get(le).showDropdown(e)}};R.extend(xe);function $(e,t){let{componentKey:r,isVue3:i}=e,a,o=new n;return typeof r==`string`?a=r:(a=`External_${p(6)}`,o.add(t.register(a,r,{framework:i?`vue3`:`react`}))),{key:a,disposableCollection:o}}export{Q as FSheetsUIEnumMixin,$ as transformComponentKey};
|