@univerjs/sheets-ui 0.10.10 → 0.10.11-nightly.202510220308
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 +4 -4
- package/lib/es/facade.js +3 -3
- package/lib/es/index.js +2101 -2061
- package/lib/facade.js +3 -3
- package/lib/index.css +1 -1
- package/lib/index.js +2101 -2061
- package/lib/types/commands/commands/set-scroll.command.d.ts +4 -0
- package/lib/types/controllers/editor/editing.render-controller.d.ts +1 -0
- package/lib/types/controllers/move-range.controller.d.ts +2 -0
- package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +8 -2
- package/lib/types/facade/f-event.d.ts +11 -8
- package/lib/types/facade/f-worksheet.d.ts +3 -2
- package/lib/types/services/scroll-manager.service.d.ts +4 -0
- package/lib/types/services/selection/selection-render.service.d.ts +1 -0
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +4 -4
- package/package.json +15 -15
- package/LICENSE +0 -176
|
@@ -18,6 +18,10 @@ export interface IScrollCommandParams {
|
|
|
18
18
|
* e.g. if scrolled about 2 columns, now left is E, then sheetViewStartColumn is 2.
|
|
19
19
|
*/
|
|
20
20
|
sheetViewStartColumn?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The duration of the scroll animation in milliseconds.
|
|
23
|
+
*/
|
|
24
|
+
duration?: number;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* This command is used to manage the scroll by relative offset
|
|
@@ -54,6 +54,7 @@ export declare class EditingRenderController extends Disposable {
|
|
|
54
54
|
private _isCellImageData;
|
|
55
55
|
submitCellData(documentDataModel: DocumentDataModel): Promise<boolean>;
|
|
56
56
|
private _submitEdit;
|
|
57
|
+
private _removeComposedCellStyleInCellData;
|
|
57
58
|
private _exitInput;
|
|
58
59
|
private _moveSelection;
|
|
59
60
|
/**
|
|
@@ -7,6 +7,8 @@ export declare class MoveRangeRenderController extends Disposable implements IRe
|
|
|
7
7
|
private readonly _selectionRenderService;
|
|
8
8
|
private readonly _selectionManagerService;
|
|
9
9
|
private readonly _commandService;
|
|
10
|
+
private _disposableCollection;
|
|
10
11
|
constructor(_context: IRenderContext<Workbook>, _selectionRenderService: ISheetSelectionRenderService, _selectionManagerService: SheetsSelectionsService, _commandService: ICommandService);
|
|
12
|
+
dispose(): void;
|
|
11
13
|
private _initialize;
|
|
12
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRange, Workbook, Disposable, ICommandService, IContextService, Injector } from '@univerjs/core';
|
|
2
|
-
import { IRenderContext, IRenderModule, IRenderManagerService } from '@univerjs/engine-render';
|
|
2
|
+
import { IRenderContext, IRenderModule, Viewport, IRenderManagerService } from '@univerjs/engine-render';
|
|
3
3
|
import { SheetScrollManagerService } from '../../services/scroll-manager.service';
|
|
4
4
|
import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service';
|
|
5
5
|
/**
|
|
@@ -17,6 +17,12 @@ export declare class SheetsScrollRenderController extends Disposable implements
|
|
|
17
17
|
private _wheelEventListener;
|
|
18
18
|
private _scrollBarEventListener;
|
|
19
19
|
private _initSkeletonListener;
|
|
20
|
+
_smoothScrollToViewportPos(params: {
|
|
21
|
+
viewportMain: Viewport;
|
|
22
|
+
viewportScrollX: number;
|
|
23
|
+
viewportScrollY: number;
|
|
24
|
+
duration: number;
|
|
25
|
+
}): void;
|
|
20
26
|
_updateViewportScroll(viewportScrollX?: number, viewportScrollY?: number): void;
|
|
21
27
|
scrollToRange(range: IRange, forceTop?: boolean, forceLeft?: boolean): boolean;
|
|
22
28
|
/**
|
|
@@ -28,7 +34,7 @@ export declare class SheetsScrollRenderController extends Disposable implements
|
|
|
28
34
|
* @param {number} column - Cell column
|
|
29
35
|
* @returns {boolean} - true if scroll is successful
|
|
30
36
|
*/
|
|
31
|
-
scrollToCell(row: number, column: number): boolean;
|
|
37
|
+
scrollToCell(row: number, column: number, duration?: number): boolean;
|
|
32
38
|
private _initCommandListener;
|
|
33
39
|
private _scrollToSelectionForExpand;
|
|
34
40
|
private _getFreeze;
|
|
@@ -2,6 +2,7 @@ import { IRange, RichTextValue } from '@univerjs/core';
|
|
|
2
2
|
import { IEventBase } from '@univerjs/core/facade';
|
|
3
3
|
import { DeviceInputEventType, SpreadsheetSkeleton } from '@univerjs/engine-render';
|
|
4
4
|
import { CommandListenerSkeletonChange } from '@univerjs/sheets';
|
|
5
|
+
import { IDragCellPosition } from '@univerjs/sheets-ui';
|
|
5
6
|
import { FRange, FWorkbook, FWorksheet } from '@univerjs/sheets/facade';
|
|
6
7
|
import { KeyCode } from '@univerjs/ui';
|
|
7
8
|
/**
|
|
@@ -453,12 +454,12 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
453
454
|
readonly ColumnHeaderHover: 'ColumnHeaderHover';
|
|
454
455
|
/**
|
|
455
456
|
* Event fired when the drag element passes over the spreadsheet cells
|
|
456
|
-
* @see {@link
|
|
457
|
+
* @see {@link IDragEventParam}
|
|
457
458
|
* @example
|
|
458
459
|
* ```ts
|
|
459
460
|
* const disposable = univerAPI.addEvent(univerAPI.Event.DragOver, (params) => {
|
|
460
|
-
* const {
|
|
461
|
-
* console.log(params);
|
|
461
|
+
* const { row, column, dataTransfer } = params;
|
|
462
|
+
* console.log(params, dataTransfer.files.length);
|
|
462
463
|
* });
|
|
463
464
|
*
|
|
464
465
|
* // Remove the event listener, use `disposable.dispose()`
|
|
@@ -467,12 +468,12 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
467
468
|
readonly DragOver: 'DragOver';
|
|
468
469
|
/**
|
|
469
470
|
* Event fired when the drag element is dropped on the spreadsheet cells
|
|
470
|
-
* @see {@link
|
|
471
|
+
* @see {@link IDragEventParam}
|
|
471
472
|
* @example
|
|
472
473
|
* ```ts
|
|
473
474
|
* const disposable = univerAPI.addEvent(univerAPI.Event.Drop, (params) => {
|
|
474
|
-
* const {
|
|
475
|
-
* console.log(params);
|
|
475
|
+
* const { row, column, dataTransfer } = params;
|
|
476
|
+
* console.log(params, dataTransfer.files.length);
|
|
476
477
|
* });
|
|
477
478
|
*
|
|
478
479
|
* // Remove the event listener, use `disposable.dispose()`
|
|
@@ -706,6 +707,8 @@ export interface ICellEventParam extends ISheetUIEventBase {
|
|
|
706
707
|
row: number;
|
|
707
708
|
column: number;
|
|
708
709
|
}
|
|
710
|
+
export interface IDragEventParam extends IDragCellPosition, ICellEventParam {
|
|
711
|
+
}
|
|
709
712
|
export interface IScrollEventParam extends ISheetUIEventBase {
|
|
710
713
|
scrollX: number;
|
|
711
714
|
scrollY: number;
|
|
@@ -742,8 +745,8 @@ export interface IFSheetsUIEventParamConfig {
|
|
|
742
745
|
CellPointerDown: ICellEventParam;
|
|
743
746
|
CellPointerUp: ICellEventParam;
|
|
744
747
|
CellPointerMove: ICellEventParam;
|
|
745
|
-
Drop:
|
|
746
|
-
DragOver:
|
|
748
|
+
Drop: IDragEventParam;
|
|
749
|
+
DragOver: IDragEventParam;
|
|
747
750
|
RowHeaderClick: ISheetRowHeaderEvent;
|
|
748
751
|
RowHeaderHover: ISheetRowHeaderEvent;
|
|
749
752
|
RowHeaderPointerDown: ISheetRowHeaderEvent;
|
|
@@ -63,6 +63,7 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
63
63
|
* Based on the limitations of viewport and the number of rows and columns, you can only scroll to the maximum scrollable range.
|
|
64
64
|
* @param {number} row - Cell row index
|
|
65
65
|
* @param {number} column - Cell column index
|
|
66
|
+
* @param {number} [duration] - The duration of the scroll animation in milliseconds.
|
|
66
67
|
* @returns {FWorksheet} - The FWorksheet instance for chaining.
|
|
67
68
|
* @example
|
|
68
69
|
* ```ts
|
|
@@ -76,7 +77,7 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
76
77
|
* fWorksheet.scrollToCell(row, column);
|
|
77
78
|
* ```
|
|
78
79
|
*/
|
|
79
|
-
scrollToCell(row: number, column: number): FWorksheet;
|
|
80
|
+
scrollToCell(row: number, column: number, duration?: number): FWorksheet;
|
|
80
81
|
/**
|
|
81
82
|
* Get scroll state of current sheet.
|
|
82
83
|
* @returns {IScrollState} curr scroll state
|
|
@@ -252,7 +253,7 @@ export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWor
|
|
|
252
253
|
zoom(zoomRatio: number): FWorksheet;
|
|
253
254
|
getZoom(): number;
|
|
254
255
|
getVisibleRange(): IRange;
|
|
255
|
-
scrollToCell(row: number, column: number): FWorksheet;
|
|
256
|
+
scrollToCell(row: number, column: number, duration?: number): FWorksheet;
|
|
256
257
|
getScrollState(): IScrollState;
|
|
257
258
|
onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
|
|
258
259
|
getSkeleton(): Nullable<SpreadsheetSkeleton>;
|
|
@@ -27,6 +27,10 @@ export interface IScrollState {
|
|
|
27
27
|
* e.g. If column A ~ C is frozen, the first column of viewMain is D, but sheetViewStartColumn still 0.
|
|
28
28
|
*/
|
|
29
29
|
sheetViewStartColumn: number;
|
|
30
|
+
/**
|
|
31
|
+
* The duration of the scroll animation in milliseconds.
|
|
32
|
+
*/
|
|
33
|
+
duration?: number;
|
|
30
34
|
}
|
|
31
35
|
export interface IViewportScrollState extends IScrollState {
|
|
32
36
|
/** scroll value in scrollbar */
|
|
@@ -17,6 +17,7 @@ export declare class SheetSelectionRenderService extends BaseSelectionRenderServ
|
|
|
17
17
|
private _renderDisposable;
|
|
18
18
|
constructor(_context: IRenderContext<Workbook>, injector: Injector, themeService: ThemeService, shortcutService: IShortcutService, selectionManagerService: SheetsSelectionsService, sheetSkeletonManagerService: SheetSkeletonManagerService, _logService: ILogService, _commandService: ICommandService, _contextService: IContextService);
|
|
19
19
|
private _init;
|
|
20
|
+
dispose(): void;
|
|
20
21
|
private _initEventListeners;
|
|
21
22
|
private _initThemeChangeListener;
|
|
22
23
|
/**
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(p,h){typeof exports=="object"&&typeof module<"u"?h(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"],h):(p=typeof globalThis<"u"?globalThis:p||self,h(p.UniverSheetsUiFacade={},p.UniverCore,p.UniverCoreFacade,p.UniverDocs,p.UniverEngineRender,p.UniverSheets,p.UniverSheetsUi,p.UniverSheetsFacade,p.UniverUi,p.rxjs))})(this,(function(p,h,P,H,S,I,d,b,C,m){"use strict";class y extends P.FUniver{_initSheetUIEvent(e){const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>r.beforeCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=t.params,{visible:g,keycode:u,eventType:a}=v,n=l.getEditLocation();if(g){const c={row:n.row,column:n.column,eventType:a,keycode:u,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,c),c.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>r.beforeCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=e.get(h.IUniverInstanceService),g=t.params,{visible:u,keycode:a,eventType:n}=g,c=l.getEditLocation();if(!u){const M={row:c.row,column:c.column,eventType:n,keycode:a,workbook:o,worksheet:s,isZenEditor:!1,value:h.RichTextValue.create(v.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:a!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,M),M.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.SheetEditStarted,()=>r.onCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=t.params,{visible:g,keycode:u,eventType:a}=v,n=l.getEditLocation();if(g){const c={row:n.row,column:n.column,eventType:a,keycode:u,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,c)}})),this.registerEventHandler(this.Event.SheetEditEnded,()=>r.onCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=t.params,{visible:g,keycode:u,eventType:a}=v,n=l.getEditLocation();if(!g){const c={row:n.row,column:n.column,eventType:a,keycode:u,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:u!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,c)}})),this.registerEventHandler(this.Event.SheetEditChanging,()=>r.onCommandExecuted(t=>{if(t.id!==H.RichTextEditingMutation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=e.get(h.IUniverInstanceService),g=t.params;if(!l.isVisible().visible)return;const{unitId:u}=g;if(u===h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:a,column:n}=l.getEditLocation(),c={workbook:o,worksheet:s,row:a,column:n,value:h.RichTextValue.create(v.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,c)}})),this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>r.beforeCommandExecuted(t=>{if(t.id!==d.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l={zoom:t.params.zoomRatio,workbook:o,worksheet:s};if(this.fireEvent(this.Event.BeforeSheetZoomChange,l),l.cancel)throw new h.CanceledError})),this.registerEventHandler(this.Event.SheetZoomChanged,()=>r.onCommandExecuted(t=>{if(t.id!==d.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}))}_initObserverListener(e){const r=e.get(S.IRenderManagerService),t=e.get(h.LifecycleService),i=new h.DisposableCollection;this.disposeWithMe(t.lifecycle$.subscribe(v=>{if(v!==h.LifecycleStages.Rendered)return;i.dispose();const g=e.get(d.HoverManagerService),u=e.get(d.DragManagerService);g&&(this.registerEventHandler(this.Event.CellClicked,()=>{var a;return(a=g.currentClickedCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.location.unitId,n.location.subUnitId);c&&this.fireEvent(this.Event.CellClicked,{...c,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.CellHover,()=>{var a;return(a=g.currentRichText$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellHover,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerDown,()=>{var a;return(a=g.currentPointerDownCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellPointerDown,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerUp,()=>{var a;return(a=g.currentPointerUpCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellPointerUp,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerMove,()=>{var a;return(a=g.currentCellPosWithEvent$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellPointerMove,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.DragOver,()=>{var a;return(a=u.currentCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.location.unitId,n.location.subUnitId);c&&this.fireEvent(this.Event.DragOver,{...c,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.Drop,()=>{var a;return(a=u.endCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.location.unitId,n.location.subUnitId);c&&this.fireEvent(this.Event.Drop,{...c,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.RowHeaderClick,()=>{var a;return(a=g.currentRowHeaderClick$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderClick,{...c,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var a;return(a=g.currentRowHeaderPointerDown$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderPointerDown,{...c,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var a;return(a=g.currentRowHeaderPointerUp$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderPointerUp,{...c,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderHover,()=>{var a;return(a=g.currentHoveredRowHeader$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderHover,{...c,row:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var a;return(a=g.currentColHeaderClick$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderClick,{...c,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var a;return(a=g.currentColHeaderPointerDown$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...c,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var a;return(a=g.currentColHeaderPointerUp$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...c,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var a;return(a=g.currentHoveredColHeader$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderHover,{...c,column:n.index})})}))})),this.disposeWithMe(i);const o=new Map;let s;const l=m.combineLatest([r.created$,t.lifecycle$]);this.disposeWithMe(l.subscribe(([v,g])=>{var M;if(v.type===h.UniverInstanceType.UNIVER_SHEET&&(s=v),g<=h.LifecycleStages.Rendered||!s)return;const u=new h.DisposableCollection,a=this.getWorkbook(s.unitId);if(!a)return;o.get(s.unitId)&&((M=o.get(s.unitId))==null||M.dispose()),o.set(s.unitId,u);const n=s.with(d.SheetScrollManagerService),c=s.with(I.SheetsSelectionsService);u.add(this.registerEventHandler(this.Event.Scroll,()=>n.validViewportScrollInfo$.subscribe(E=>{E&&this.fireEvent(this.Event.Scroll,{workbook:a,worksheet:a.getActiveSheet(),...E})}))),u.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>c.selectionMoveStart$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveStart,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),u.add(this.registerEventHandler(this.Event.SelectionMoving,()=>c.selectionMoving$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoving,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),u.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>c.selectionMoveEnd$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),u.add(this.registerEventHandler(this.Event.SelectionChanged,()=>c.selectionChanged$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionChanged,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),s=null,this.disposeWithMe(u)})),this.disposeWithMe(r.disposed$.subscribe(v=>{var g;(g=o.get(v))==null||g.dispose(),o.delete(v)})),this.disposeWithMe(()=>{o.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeClipboardChange,()=>r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break}})),this.registerEventHandler(this.Event.ClipboardChanged,()=>r.onCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break}})),this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>r.beforeCommandExecuted(t=>{switch(t.id){case d.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break;case C.PasteCommand.id:this._beforeClipboardPasteAsync();break}})),this.registerEventHandler(this.Event.ClipboardPasted,()=>r.onCommandExecuted(t=>{switch(t.id){case d.SheetPasteShortKeyCommand.id:this._clipboardPaste(t.params);break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>r.onCommandExecuted(t=>{if(I.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){const i=this.getActiveSheet();if(!i)return;const o=I.getSkeletonChangedEffectedRange(t,i.worksheet.getMaxColumns()).map(s=>{var l,v;return(v=(l=this.getWorkbook(s.unitId))==null?void 0:l.getSheetBySheetId(s.subUnitId))==null?void 0:v.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton(),effectedRanges:o})}}))}_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(d.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 h.CanceledError}_clipboardChanged(){const e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,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(C.IClipboardInterfaceService).read())[0];let s;if(o){const l=o.types,v=l.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(u=>u&&u.text()):"",g=l.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(u=>u&&u.text()):"";s={workbook:e,worksheet:r,text:v,html:g}}return s}_beforeClipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new h.CanceledError}_clipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.ClipboardPasted,r),r.cancel))throw new h.CanceledError}async _beforeClipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.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 h.CanceledError}async _clipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.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 h.CanceledError}customizeColumnHeader(e){var g,u;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(S.IRenderManagerService),o=r.getActiveSheet(),s=o.getSheetId(),l=i.getRenderById(t);l&&((g=e.headerStyle)!=null&&g.size)&&(l.with(d.SheetSkeletonManagerService).setColumnHeaderSize(l,s,(u=e.headerStyle)==null?void 0:u.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,d.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,d.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,d.SHEET_VIEW_KEY.ROW),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,d.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,d.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(b.FSheetHooks)}pasteIntoSheet(e,r,t){return this._commandService.executeCommand(d.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:r,files:t})}}P.FUniver.extend(y);class D extends b.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,r){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}_logDeprecation(e){this._injector.get(h.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(d.HoverManagerService);return h.toDisposable(r.currentClickedCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentRichText$.pipe(m.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentCellPosWithEvent$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(d.DragManagerService);return h.toDisposable(r.currentCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(d.DragManagerService);return h.toDisposable(r.endCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){return this._injector.get(h.ICommandService).syncExecuteCommand(d.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(h.ICommandService).syncExecuteCommand(d.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await h.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(S.IRenderManagerService).getRenderById(r);return i?i.with(d.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).showSelection(),this}}b.FWorkbook.extend(D);class T extends b.FWorksheet{refreshCanvas(){const e=this._injector.get(S.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(d.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){const r=this._injector.get(h.ICommandService),t=Math.min(Math.max(e,.1),4);return r.executeCommand(d.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:t}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!t)return i;const s=t.with(d.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const l=s==null?void 0:s.getVisibleRanges();if(!l)return i;i=s.getVisibleRangeByViewport(S.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[v,g]of l)S.sheetContentViewportKeys.indexOf(v)!==-1&&(i.startColumn=Math.min(i.startColumn,g.startColumn),i.startRow=Math.min(i.startRow,g.startRow),i.endColumn=Math.max(i.endColumn,g.endColumn),i.endRow=Math.max(i.endRow,g.endRow));return i}scrollToCell(e,r){const t=this._workbook.getUnitId(),o=this._injector.get(S.IRenderManagerService).getRenderById(t);return o&&(o==null?void 0:o.with(d.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(S.IRenderManagerService).getRenderById(r);return o&&o.with(d.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(S.IRenderManagerService).getRenderById(r))==null?void 0:o.with(d.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return h.toDisposable(s)}return h.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(S.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(d.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(d.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}setColumnAutoWidth(e,r){return this.autoResizeColumns(e,r)}autoResizeRows(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+r-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(I.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var l,v;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(d.SheetSkeletonManagerService).setColumnHeaderSize(o,t,(v=e.headerStyle)==null?void 0:v.size),this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,t)}customizeRowHeader(e){var l,v;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(d.SheetSkeletonManagerService).setRowHeaderSize(o,t,(v=e.headerStyle)==null?void 0:v.size),this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.ROW).setCustomHeader(e,t)}setColumnHeaderHeight(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(d.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:t,size:e}),this}setRowHeaderWidth(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(d.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:t,size:e}),this}_getSheetRenderComponent(e,r){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}}b.FWorksheet.extend(T);class x extends b.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}b.FPermission.extend(x);class B extends b.FSheetHooks{onCellPointerMove(e){return h.toDisposable(this._injector.get(d.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return h.toDisposable(this._injector.get(d.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return h.toDisposable(this._injector.get(d.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return h.toDisposable(this._injector.get(d.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=h.InterceptorEffectEnum.Style,t=I.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(I.SheetInterceptorService).intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,s)=>(i&&!i.customRender&&e&&(i.customRender=[...e]),s(i)),priority:t})}onBeforeCellEdit(e){return this._injector.get(h.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===d.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(h.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===d.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}b.FSheetHooks.extend(B);const _={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover"};class A{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"}}P.FEventName.extend(A);class O extends b.FRange{getCell(){var l;const e=this._injector.get(S.IRenderManagerService),r=this._injector.get(h.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),s=(l=o==null?void 0:o.with(d.SheetSkeletonManagerService).getSkeletonParam(i))==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:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const r=this._injector.get(d.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=r==null?void 0:r.html)!=null?t:""}attachPopup(e){var s,l,v;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(v=e.offset)!=null?v:[0,0];const{key:r,disposableCollection:t}=R(e,this._injector.get(C.ComponentManager)),o=this._injector.get(d.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(d.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,v;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(v=e.offset)!=null?v:[0,0];const{key:r,disposableCollection:t}=R(e,this._injector.get(C.ComponentManager)),o=this._injector.get(d.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(d.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{t.removeShape(i)})}showDropdown(e){return this._injector.get(d.ISheetCellDropdownManagerService).showDropdown(e)}}b.FRange.extend(O);function R(f,e){const{componentKey:r,isVue3:t}=f;let i;const o=new h.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${h.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}p.transformComponentKey=R,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(p,h){typeof exports=="object"&&typeof module<"u"?h(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"],h):(p=typeof globalThis<"u"?globalThis:p||self,h(p.UniverSheetsUiFacade={},p.UniverCore,p.UniverCoreFacade,p.UniverDocs,p.UniverEngineRender,p.UniverSheets,p.UniverSheetsUi,p.UniverSheetsFacade,p.UniverUi,p.rxjs))})(this,(function(p,h,P,H,S,I,d,b,C,m){"use strict";class y extends P.FUniver{_initSheetUIEvent(e){const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>r.beforeCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=t.params,{visible:g,keycode:u,eventType:a}=v,n=l.getEditLocation();if(g){const c={row:n.row,column:n.column,eventType:a,keycode:u,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,c),c.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>r.beforeCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=e.get(h.IUniverInstanceService),g=t.params,{visible:u,keycode:a,eventType:n}=g,c=l.getEditLocation();if(!u){const M={row:c.row,column:c.column,eventType:n,keycode:a,workbook:o,worksheet:s,isZenEditor:!1,value:h.RichTextValue.create(v.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:a!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,M),M.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.SheetEditStarted,()=>r.onCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=t.params,{visible:g,keycode:u,eventType:a}=v,n=l.getEditLocation();if(g){const c={row:n.row,column:n.column,eventType:a,keycode:u,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,c)}})),this.registerEventHandler(this.Event.SheetEditEnded,()=>r.onCommandExecuted(t=>{if(t.id!==d.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=t.params,{visible:g,keycode:u,eventType:a}=v,n=l.getEditLocation();if(!g){const c={row:n.row,column:n.column,eventType:a,keycode:u,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:u!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,c)}})),this.registerEventHandler(this.Event.SheetEditChanging,()=>r.onCommandExecuted(t=>{if(t.id!==H.RichTextEditingMutation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(d.IEditorBridgeService),v=e.get(h.IUniverInstanceService),g=t.params;if(!l.isVisible().visible)return;const{unitId:u}=g;if(u===h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:a,column:n}=l.getEditLocation(),c={workbook:o,worksheet:s,row:a,column:n,value:h.RichTextValue.create(v.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,c)}})),this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>r.beforeCommandExecuted(t=>{if(t.id!==d.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l={zoom:t.params.zoomRatio,workbook:o,worksheet:s};if(this.fireEvent(this.Event.BeforeSheetZoomChange,l),l.cancel)throw new h.CanceledError})),this.registerEventHandler(this.Event.SheetZoomChanged,()=>r.onCommandExecuted(t=>{if(t.id!==d.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}))}_initObserverListener(e){const r=e.get(S.IRenderManagerService),t=e.get(h.LifecycleService),i=new h.DisposableCollection;this.disposeWithMe(t.lifecycle$.subscribe(v=>{if(v!==h.LifecycleStages.Rendered)return;i.dispose();const g=e.get(d.HoverManagerService),u=e.get(d.DragManagerService);g&&(this.registerEventHandler(this.Event.CellClicked,()=>{var a;return(a=g.currentClickedCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.location.unitId,n.location.subUnitId);c&&this.fireEvent(this.Event.CellClicked,{...c,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.CellHover,()=>{var a;return(a=g.currentRichText$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellHover,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerDown,()=>{var a;return(a=g.currentPointerDownCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellPointerDown,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerUp,()=>{var a;return(a=g.currentPointerUpCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellPointerUp,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerMove,()=>{var a;return(a=g.currentCellPosWithEvent$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.CellPointerMove,{...c,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.DragOver,()=>{var a;return(a=u.currentCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.location.unitId,n.location.subUnitId);c&&this.fireEvent(this.Event.DragOver,{...c,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.Drop,()=>{var a;return(a=u.endCell$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.location.unitId,n.location.subUnitId);c&&this.fireEvent(this.Event.Drop,{...c,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.RowHeaderClick,()=>{var a;return(a=g.currentRowHeaderClick$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderClick,{...c,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var a;return(a=g.currentRowHeaderPointerDown$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderPointerDown,{...c,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var a;return(a=g.currentRowHeaderPointerUp$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderPointerUp,{...c,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderHover,()=>{var a;return(a=g.currentHoveredRowHeader$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.RowHeaderHover,{...c,row:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var a;return(a=g.currentColHeaderClick$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderClick,{...c,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var a;return(a=g.currentColHeaderPointerDown$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...c,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var a;return(a=g.currentColHeaderPointerUp$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...c,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var a;return(a=g.currentHoveredColHeader$)==null?void 0:a.pipe(m.filter(n=>!!n)).subscribe(n=>{const c=this.getSheetTarget(n.unitId,n.subUnitId);c&&this.fireEvent(this.Event.ColumnHeaderHover,{...c,column:n.index})})}))})),this.disposeWithMe(i);const o=new Map;let s;const l=m.combineLatest([r.created$,t.lifecycle$]);this.disposeWithMe(l.subscribe(([v,g])=>{var M;if(v.type===h.UniverInstanceType.UNIVER_SHEET&&(s=v),g<=h.LifecycleStages.Rendered||!s)return;const u=new h.DisposableCollection,a=this.getWorkbook(s.unitId);if(!a)return;o.get(s.unitId)&&((M=o.get(s.unitId))==null||M.dispose()),o.set(s.unitId,u);const n=s.with(d.SheetScrollManagerService),c=s.with(I.SheetsSelectionsService);u.add(this.registerEventHandler(this.Event.Scroll,()=>n.validViewportScrollInfo$.subscribe(E=>{E&&this.fireEvent(this.Event.Scroll,{workbook:a,worksheet:a.getActiveSheet(),...E})}))),u.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>c.selectionMoveStart$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveStart,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),u.add(this.registerEventHandler(this.Event.SelectionMoving,()=>c.selectionMoving$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoving,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),u.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>c.selectionMoveEnd$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),u.add(this.registerEventHandler(this.Event.SelectionChanged,()=>c.selectionChanged$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionChanged,{workbook:a,worksheet:a.getActiveSheet(),selections:(w=E==null?void 0:E.map(k=>k.range))!=null?w:[]})}))),s=null,this.disposeWithMe(u)})),this.disposeWithMe(r.disposed$.subscribe(v=>{var g;(g=o.get(v))==null||g.dispose(),o.delete(v)})),this.disposeWithMe(()=>{o.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeClipboardChange,()=>r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break}})),this.registerEventHandler(this.Event.ClipboardChanged,()=>r.onCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break}})),this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>r.beforeCommandExecuted(t=>{switch(t.id){case d.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break;case C.PasteCommand.id:this._beforeClipboardPasteAsync();break}})),this.registerEventHandler(this.Event.ClipboardPasted,()=>r.onCommandExecuted(t=>{switch(t.id){case d.SheetPasteShortKeyCommand.id:this._clipboardPaste(t.params);break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>r.onCommandExecuted(t=>{if(I.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){const i=this.getActiveSheet();if(!i)return;const o=I.getSkeletonChangedEffectedRange(t,i.worksheet.getMaxColumns()).map(s=>{var l,v;return(v=(l=this.getWorkbook(s.unitId))==null?void 0:l.getSheetBySheetId(s.subUnitId))==null?void 0:v.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton(),effectedRanges:o})}}))}_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(d.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 h.CanceledError}_clipboardChanged(){const e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,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(C.IClipboardInterfaceService).read())[0];let s;if(o){const l=o.types,v=l.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(u=>u&&u.text()):"",g=l.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(u=>u&&u.text()):"";s={workbook:e,worksheet:r,text:v,html:g}}return s}_beforeClipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new h.CanceledError}_clipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.ClipboardPasted,r),r.cancel))throw new h.CanceledError}async _beforeClipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.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 h.CanceledError}async _clipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.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 h.CanceledError}customizeColumnHeader(e){var g,u;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(S.IRenderManagerService),o=r.getActiveSheet(),s=o.getSheetId(),l=i.getRenderById(t);l&&((g=e.headerStyle)!=null&&g.size)&&(l.with(d.SheetSkeletonManagerService).setColumnHeaderSize(l,s,(u=e.headerStyle)==null?void 0:u.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,d.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,d.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,d.SHEET_VIEW_KEY.ROW),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,d.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,d.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(b.FSheetHooks)}pasteIntoSheet(e,r,t){return this._commandService.executeCommand(d.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:r,files:t})}}P.FUniver.extend(y);class D extends b.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,r){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}_logDeprecation(e){this._injector.get(h.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(d.HoverManagerService);return h.toDisposable(r.currentClickedCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentRichText$.pipe(m.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(d.HoverManagerService);return h.toDisposable(r.currentCellPosWithEvent$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(d.DragManagerService);return h.toDisposable(r.currentCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(d.DragManagerService);return h.toDisposable(r.endCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){return this._injector.get(h.ICommandService).syncExecuteCommand(d.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(h.ICommandService).syncExecuteCommand(d.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await h.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(S.IRenderManagerService).getRenderById(r);return i?i.with(d.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);return t&&t.with(d.ISheetSelectionRenderService).showSelection(),this}}b.FWorkbook.extend(D);class T extends b.FWorksheet{refreshCanvas(){const e=this._injector.get(S.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(d.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){const r=this._injector.get(h.ICommandService),t=Math.min(Math.max(e,.1),4);return r.executeCommand(d.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:t}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(S.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!t)return i;const s=t.with(d.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const l=s==null?void 0:s.getVisibleRanges();if(!l)return i;i=s.getVisibleRangeByViewport(S.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[v,g]of l)S.sheetContentViewportKeys.indexOf(v)!==-1&&(i.startColumn=Math.min(i.startColumn,g.startColumn),i.startRow=Math.min(i.startRow,g.startRow),i.endColumn=Math.max(i.endColumn,g.endColumn),i.endRow=Math.max(i.endRow,g.endRow));return i}scrollToCell(e,r,t){const i=this._workbook.getUnitId(),s=this._injector.get(S.IRenderManagerService).getRenderById(i);return s&&(s==null?void 0:s.with(d.SheetsScrollRenderController)).scrollToCell(e,r,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);return o&&o.with(d.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(S.IRenderManagerService).getRenderById(r))==null?void 0:o.with(d.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return h.toDisposable(s)}return h.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(S.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(d.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(d.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}setColumnAutoWidth(e,r){return this.autoResizeColumns(e,r)}autoResizeRows(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+r-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(I.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var l,v;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(d.SheetSkeletonManagerService).setColumnHeaderSize(o,t,(v=e.headerStyle)==null?void 0:v.size),this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,t)}customizeRowHeader(e){var l,v;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(d.SheetSkeletonManagerService).setRowHeaderSize(o,t,(v=e.headerStyle)==null?void 0:v.size),this._getSheetRenderComponent(r,d.SHEET_VIEW_KEY.ROW).setCustomHeader(e,t)}setColumnHeaderHeight(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(d.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:t,size:e}),this}setRowHeaderWidth(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(d.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:t,size:e}),this}_getSheetRenderComponent(e,r){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}}b.FWorksheet.extend(T);class x extends b.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}b.FPermission.extend(x);class B extends b.FSheetHooks{onCellPointerMove(e){return h.toDisposable(this._injector.get(d.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return h.toDisposable(this._injector.get(d.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return h.toDisposable(this._injector.get(d.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return h.toDisposable(this._injector.get(d.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=h.InterceptorEffectEnum.Style,t=I.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(I.SheetInterceptorService).intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,s)=>(i&&!i.customRender&&e&&(i.customRender=[...e]),s(i)),priority:t})}onBeforeCellEdit(e){return this._injector.get(h.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===d.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(h.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===d.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}b.FSheetHooks.extend(B);const _={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover"};class A{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"}}P.FEventName.extend(A);class O extends b.FRange{getCell(){var l;const e=this._injector.get(S.IRenderManagerService),r=this._injector.get(h.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),s=(l=o==null?void 0:o.with(d.SheetSkeletonManagerService).getSkeletonParam(i))==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:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const r=this._injector.get(d.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=r==null?void 0:r.html)!=null?t:""}attachPopup(e){var s,l,v;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(v=e.offset)!=null?v:[0,0];const{key:r,disposableCollection:t}=R(e,this._injector.get(C.ComponentManager)),o=this._injector.get(d.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(d.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,v;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(v=e.offset)!=null?v:[0,0];const{key:r,disposableCollection:t}=R(e,this._injector.get(C.ComponentManager)),o=this._injector.get(d.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(d.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{t.removeShape(i)})}showDropdown(e){return this._injector.get(d.ISheetCellDropdownManagerService).showDropdown(e)}}b.FRange.extend(O);function R(f,e){const{componentKey:r,isVue3:t}=f;let i;const o=new h.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${h.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}p.transformComponentKey=R,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));
|