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