@univerjs/sheets-ui 0.6.0-nightly.202502041606 → 0.6.0-nightly.202502061605
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +19 -19
- package/lib/es/facade.js +1 -1
- package/lib/es/index.js +5872 -5786
- package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +1 -0
- package/lib/types/controllers/render-controllers/skeleton.render-controller.d.ts +4 -2
- package/lib/types/controllers/render-controllers/zoom.render-controller.d.ts +1 -1
- package/lib/types/services/scroll-manager.service.d.ts +17 -12
- package/lib/types/services/sheet-skeleton-manager.service.d.ts +35 -16
- package/lib/types/services/sheets-render.service.d.ts +1 -1
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +21 -21
- package/package.json +11 -11
|
@@ -17,6 +17,7 @@ export declare class SheetsScrollRenderController extends Disposable implements
|
|
|
17
17
|
private _wheelEventListener;
|
|
18
18
|
private _scrollBarEventListener;
|
|
19
19
|
private _initSkeletonListener;
|
|
20
|
+
_updateViewportScroll(viewportScrollX?: number, viewportScrollY?: number): void;
|
|
20
21
|
scrollToRange(range: IRange, forceTop?: boolean, forceLeft?: boolean): boolean;
|
|
21
22
|
/**
|
|
22
23
|
* Scroll spreadsheet(viewMain) to cell position. Based on the limitations of viewport and the number of rows and columns, you can only scroll to the maximum scrollable range.
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Workbook, Disposable } from '@univerjs/core';
|
|
2
|
-
import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
|
|
2
|
+
import { IRenderContext, IRenderModule, IRenderManagerService } from '@univerjs/engine-render';
|
|
3
3
|
import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service';
|
|
4
4
|
export declare class SheetSkeletonRenderController extends Disposable implements IRenderModule {
|
|
5
5
|
private readonly _context;
|
|
6
6
|
private readonly _sheetSkeletonManagerService;
|
|
7
|
-
|
|
7
|
+
private readonly _renderManagerService;
|
|
8
|
+
constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService, _renderManagerService: IRenderManagerService);
|
|
9
|
+
private _updateSceneSize;
|
|
8
10
|
}
|
|
@@ -17,7 +17,7 @@ export declare class SheetsZoomRenderController extends Disposable implements IR
|
|
|
17
17
|
private _zoom;
|
|
18
18
|
private _initSkeletonListener;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Triggered when zoom and switch sheet.
|
|
21
21
|
* @param zoomRatio
|
|
22
22
|
*/
|
|
23
23
|
private _updateViewZoom;
|
|
@@ -55,7 +55,7 @@ export declare class SheetScrollManagerService implements IRenderModule {
|
|
|
55
55
|
private readonly _context;
|
|
56
56
|
private readonly _sheetSkeletonManagerService;
|
|
57
57
|
/**
|
|
58
|
-
* a map holds all scroll info for each sheet
|
|
58
|
+
* a map holds all scroll info for each sheet(valid value)
|
|
59
59
|
*/
|
|
60
60
|
private readonly _scrollStateMap;
|
|
61
61
|
/**
|
|
@@ -80,27 +80,32 @@ export declare class SheetScrollManagerService implements IRenderModule {
|
|
|
80
80
|
private _searchParamForScroll;
|
|
81
81
|
constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService);
|
|
82
82
|
dispose(): void;
|
|
83
|
+
calcViewportScrollFromRowColOffset(scrollInfo: Nullable<IViewportScrollState>): {
|
|
84
|
+
viewportScrollX: number;
|
|
85
|
+
viewportScrollY: number;
|
|
86
|
+
};
|
|
83
87
|
setSearchParam(param: IScrollStateSearchParam): void;
|
|
84
|
-
|
|
85
|
-
getScrollStateByParam(param: IScrollStateSearchParam): Readonly<IScrollState>;
|
|
88
|
+
getScrollStateByParam(param: IScrollStateSearchParam): Readonly<Nullable<IScrollState>>;
|
|
86
89
|
getCurrentScrollState(): Readonly<IScrollState>;
|
|
90
|
+
setValidScrollState(param: IScrollStateWithSearchParam): void;
|
|
87
91
|
/**
|
|
88
|
-
*
|
|
92
|
+
* emit raw scrollInfo by SetScrollOperation, call by ScrollCommand.id.
|
|
93
|
+
* raw scrollInfo means not handled by limit scroll method.
|
|
89
94
|
* @param param
|
|
90
95
|
*/
|
|
91
|
-
|
|
96
|
+
emitRawScrollParam(param: IScrollStateWithSearchParam): void;
|
|
92
97
|
/**
|
|
93
|
-
* Set _scrollStateMap
|
|
98
|
+
* Set _scrollStateMap
|
|
94
99
|
* @param scroll
|
|
95
100
|
*/
|
|
96
|
-
|
|
101
|
+
setValidScrollStateToCurrSheet(scroll: IViewportScrollState): void;
|
|
97
102
|
clear(): void;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
103
|
+
/**
|
|
104
|
+
* scroll
|
|
105
|
+
* @param scrollInfo
|
|
106
|
+
*/
|
|
102
107
|
private _setScrollState;
|
|
103
108
|
private _clearByParamAndNotify;
|
|
104
109
|
private _getCurrentScroll;
|
|
105
|
-
private
|
|
110
|
+
private _emitRawScroll;
|
|
106
111
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IRange, IRangeWithCoord, Nullable, Workbook, Disposable, Injector } from '@univerjs/core';
|
|
2
2
|
import { IRender, IRenderContext, IRenderModule, SpreadsheetSkeleton } from '@univerjs/engine-render';
|
|
3
|
+
import { SheetSkeletonService } from '@univerjs/sheets';
|
|
3
4
|
export interface ISheetSkeletonManagerParam {
|
|
4
5
|
unitId: string;
|
|
5
6
|
sheetId: string;
|
|
@@ -12,20 +13,14 @@ export interface ISheetSkeletonManagerSearch {
|
|
|
12
13
|
commandId?: string;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* Each time there is a content change, it will trigger the viewModel of the render to recalculate.
|
|
18
|
-
*
|
|
19
|
-
* Each application and sub-table has its own viewModel (skeleton).
|
|
20
|
-
*
|
|
21
|
-
* The viewModel is also a temporary storage variable, which does not need to be persisted,
|
|
22
|
-
* so it is managed uniformly through the service.
|
|
16
|
+
* SheetSkeletonManagerService is registered in a render unit
|
|
23
17
|
*/
|
|
24
18
|
export declare class SheetSkeletonManagerService extends Disposable implements IRenderModule {
|
|
25
19
|
private readonly _context;
|
|
26
20
|
private readonly _injector;
|
|
27
|
-
private
|
|
28
|
-
private
|
|
21
|
+
private readonly _sheetSkService;
|
|
22
|
+
private _sheetId;
|
|
23
|
+
private _sheetSkeletonParamStore;
|
|
29
24
|
private readonly _currentSkeleton$;
|
|
30
25
|
readonly currentSkeleton$: import('rxjs').Observable<Nullable<ISheetSkeletonManagerParam>>;
|
|
31
26
|
/**
|
|
@@ -33,29 +28,53 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
|
|
|
33
28
|
*/
|
|
34
29
|
private readonly _currentSkeletonBefore$;
|
|
35
30
|
readonly currentSkeletonBefore$: import('rxjs').Observable<Nullable<ISheetSkeletonManagerParam>>;
|
|
36
|
-
constructor(_context: IRenderContext<Workbook>, _injector: Injector);
|
|
31
|
+
constructor(_context: IRenderContext<Workbook>, _injector: Injector, _sheetSkService: SheetSkeletonService);
|
|
37
32
|
private _initRemoveSheet;
|
|
38
33
|
getCurrentSkeleton(): Nullable<SpreadsheetSkeleton>;
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated use `getCurrentSkeleton` instead.
|
|
36
|
+
*/
|
|
39
37
|
getCurrent(): Nullable<ISheetSkeletonManagerParam>;
|
|
40
|
-
getWorksheetSkeleton(sheetId: string): Nullable<ISheetSkeletonManagerParam>;
|
|
41
38
|
/**
|
|
42
|
-
*
|
|
39
|
+
* get ISheetSkeletonManagerParam from _currentSkeletonSearchParam
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
getCurrentParam(): Nullable<ISheetSkeletonManagerParam>;
|
|
43
|
+
/**
|
|
44
|
+
* Get skeleton by sheetId
|
|
45
|
+
* @param sheetId
|
|
46
|
+
*/
|
|
47
|
+
getSkeleton(sheetId: string): Nullable<SpreadsheetSkeleton>;
|
|
48
|
+
/**
|
|
49
|
+
* Get SkeletonParam by sheetId
|
|
50
|
+
* @param sheetId
|
|
51
|
+
*/
|
|
52
|
+
getSkeletonParam(sheetId: string): Nullable<ISheetSkeletonManagerParam>;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated use `getSkeleton` instead.
|
|
43
55
|
*/
|
|
56
|
+
getWorksheetSkeleton(sheetId: string): Nullable<ISheetSkeletonManagerParam>;
|
|
44
57
|
getUnitSkeleton(unitId: string, sheetId: string): Nullable<ISheetSkeletonManagerParam>;
|
|
45
58
|
setCurrent(searchParam: ISheetSkeletonManagerSearch): Nullable<ISheetSkeletonManagerParam>;
|
|
59
|
+
setSkeletonParam(sheetId: string, skp: ISheetSkeletonManagerParam): void;
|
|
46
60
|
private _setCurrent;
|
|
47
|
-
reCalculate(): void;
|
|
48
|
-
private _reCalculate;
|
|
61
|
+
reCalculate(param?: Nullable<ISheetSkeletonManagerParam>): void;
|
|
49
62
|
/**
|
|
50
63
|
* Make param dirty, if param is dirty, then the skeleton will be makeDirty in _reCalculate()
|
|
51
64
|
* @param searchParm
|
|
52
65
|
* @param state
|
|
53
66
|
*/
|
|
54
67
|
makeDirty(searchParm: ISheetSkeletonManagerSearch, state?: boolean): void;
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated Use function `ensureSkeleton` instead.
|
|
70
|
+
* @param searchParam
|
|
71
|
+
*/
|
|
55
72
|
getOrCreateSkeleton(searchParam: ISheetSkeletonManagerSearch): SpreadsheetSkeleton | undefined;
|
|
56
|
-
|
|
73
|
+
ensureSkeleton(sheetId: string): SpreadsheetSkeleton | undefined;
|
|
74
|
+
disposeSkeleton(sheetId: string): void;
|
|
57
75
|
/** @deprecated Use function `attachRangeWithCoord` instead. */
|
|
58
76
|
attachRangeWithCoord(range: IRange): Nullable<IRangeWithCoord>;
|
|
77
|
+
private _getSkeletonParam;
|
|
59
78
|
private _getSkeleton;
|
|
60
79
|
private _buildSkeleton;
|
|
61
80
|
setColumnHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDisposable, IContextService, IUniverInstanceService, RxDisposable } from '@univerjs/core';
|
|
2
2
|
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
3
3
|
/**
|
|
4
|
-
* This controller is responsible for managing units of a specific kind (
|
|
4
|
+
* This controller is responsible for managing units of a specific kind (UniverSheet) to be rendered on the canvas.
|
|
5
5
|
*/
|
|
6
6
|
export declare class SheetsRenderService extends RxDisposable {
|
|
7
7
|
private readonly _contextService;
|
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/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/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.UniverDocs,f.UniverEngineRender,f.UniverSheets,f.UniverSheetsUi,f.UniverSheetsFacade,f.UniverUi,f.rxjs))})(this,function(f,d,F,S,R,a,I,C,m){"use strict";class V extends d.FUniver{_initSheetUIEvent(e){const t=e.get(d.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,c=e.get(a.IEditorBridgeService),u=e.get(d.IUniverInstanceService),b=r.params,{visible:v,keycode:g,eventType:E}=b,l=c.getEditLocation();if(v){const _={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,_),_.cancel)throw new d.CanceledError}else{const _={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1,value:d.RichTextValue.create(u.getUnit(d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,_),_.cancel)throw new d.CanceledError}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:r.params.zoomRatio,workbook:o,worksheet:s})}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,c=e.get(a.IEditorBridgeService),u=r.params,{visible:b,keycode:v,eventType:g}=u,E=c.getEditLocation();if(b){const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,l)}else{const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:v!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,l)}}if(r.id===F.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,c=e.get(a.IEditorBridgeService),u=e.get(d.IUniverInstanceService),b=r.params;if(!c.isVisible().visible)return;const{unitId:v}=b;if(v===d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:E}=c.getEditLocation(),l={workbook:o,worksheet:s,row:g,column:E,value:d.RichTextValue.create(u.getUnit(d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,l)}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}})),this._initObserverListener(e)}_initObserverListener(e){const r=e.get(d.IUniverInstanceService).getFocusedUnit(),i=r==null?void 0:r.getUnitId(),o=e.get(S.IRenderManagerService);if(i){const v=e.get(d.LifecycleService),g=new d.DisposableCollection;this.disposeWithMe(v.lifecycle$.subscribe(E=>{var P,H,p,w,k,T,B,L,x,W,A,O,U,$,j;if(E<d.LifecycleStages.Rendered)return;g.dispose();const l=e.get(a.HoverManagerService),_=e.get(a.DragManagerService);l&&(g.add((P=l.currentClickedCell$)==null?void 0:P.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.CellClicked,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((H=l.currentRichText$)==null?void 0:H.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellHover,{...h,...n,row:n.row,column:n.col})})),g.add((p=l.currentPointerDownCell$)==null?void 0:p.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerDown,{...h,...n,row:n.row,column:n.col})})),g.add((w=l.currentPointerUpCell$)==null?void 0:w.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerUp,{...h,...n,row:n.row,column:n.col})})),g.add((k=l.currentCellPosWithEvent$)==null?void 0:k.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerMove,{...h,...n,row:n.row,column:n.col})})),g.add((T=_.currentCell$)==null?void 0:T.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.DragOver,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((B=_.endCell$)==null?void 0:B.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.Drop,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((L=l.currentRowHeaderClick$)==null?void 0:L.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderClick,{...h,row:n.index})})),g.add((x=l.currentRowHeaderPointerDown$)==null?void 0:x.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerDown,{...h,row:n.index})})),g.add((W=l.currentRowHeaderPointerUp$)==null?void 0:W.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerUp,{...h,row:n.index})})),g.add((A=l.currentHoveredRowHeader$)==null?void 0:A.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderHover,{...h,row:n.index})})),g.add((O=l.currentColHeaderClick$)==null?void 0:O.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderClick,{...h,column:n.index})})),g.add((U=l.currentColHeaderPointerDown$)==null?void 0:U.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...h,column:n.index})})),g.add(($=l.currentColHeaderPointerUp$)==null?void 0:$.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...h,column:n.index})})),g.add((j=l.currentHoveredColHeader$)==null?void 0:j.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderHover,{...h,column:n.index})})))})),this.disposeWithMe(g)}const s=new Map;let c;const u=e.get(d.LifecycleService),b=m.combineLatest([o.created$,u.lifecycle$]);this.disposeWithMe(b.subscribe(([v,g])=>{var H;if(v.type===d.UniverInstanceType.UNIVER_SHEET&&(c=v),g<=d.LifecycleStages.Rendered)return;const E=new d.DisposableCollection;if(!c)return;const l=this.getWorkbook(c.unitId);if(!l)return;s.get(c.unitId)&&((H=s.get(c.unitId))==null||H.dispose()),s.set(c.unitId,E);const _=c.with(a.SheetScrollManagerService);E.add(_.validViewportScrollInfo$.subscribe(p=>{p&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:l,worksheet:l.getActiveSheet(),...p})}));const P=c.with(R.SheetsSelectionsService);E.add(P.selectionMoveStart$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(P.selectionMoving$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(P.selectionMoveEnd$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(P.selectionChanged$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),c=null,this.disposeWithMe(E)})),this.disposeWithMe(o.disposed$.subscribe(v=>{var g;(g=s.get(v))==null||g.dispose(),s.delete(v)})),this.disposeWithMe(()=>{s.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e);const t=e.get(d.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{switch(r.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break;case a.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(r.params);break}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(R.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(r.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;const o=R.getSkeletonChangedEffectedRange(r).map(s=>{var c,u;return(u=(c=this.getWorkbook(s.unitId))==null?void 0:c.getSheetBySheetId(s.subUnitId))==null?void 0:u.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:r,skeleton:i.worksheet.getSkeleton(),effectedRanges:o});return}switch(r.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break;case a.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(t.beforeCommandExecuted(async r=>{switch(r.id){case C.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),r=e==null?void 0:e.getActiveRange();if(!e||!t||!r)return;const o=this._injector.get(a.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!o)return;const{html:s,plain:c}=o;return{workbook:e,worksheet:t,text:c,html:s,fromSheet:t,fromRange:r}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.ClipboardChanged,e),e.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:t,textContent:r}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:r,html:t}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let s;if(o){const c=o.types,u=c.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",b=c.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";s={workbook:e,worksheet:t,text:u,html:b}}return s}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!C.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(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!C.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 b,v;const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId(),i=this._injector.get(S.IRenderManagerService),o=t.getActiveSheet(),s=o.getSheetId(),c=i.getRenderById(r);c&&((b=e.headerStyle)!=null&&b.size)&&(c.with(a.SheetSkeletonManagerService).setColumnHeaderSize(c,s,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.ROW),i=r.register(...t);return d.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.COLUMN),i=r.register(...t);return d.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.MAIN),i=r.register(...t);return d.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){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(t);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(I.FSheetHooks)}}d.FUniver.extend(V);class N extends I.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const r=this._injector.get(C.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}_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 t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentClickedCell$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r)}))}onCellHover(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentRichText$.pipe(m.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentCellPosWithEvent$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r,r.event)}))}onDragOver(e){const t=this._injector.get(a.DragManagerService);return d.toDisposable(t.currentCell$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r)}))}onDrop(e){const t=this._injector.get(a.DragManagerService);return d.toDisposable(t.endCell$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r)}))}startEditing(){return this._injector.get(d.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(d.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await d.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),i=this._injector.get(S.IRenderManagerService).getRenderById(t);return i?i.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).showSelection(),this}}I.FWorkbook.extend(N);class K extends I.FWorksheet{refreshCanvas(){const e=this._injector.get(S.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(a.SheetSkeletonManagerService).reCalculate();const i=r.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(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(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return i;const s=r.with(a.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const c=s==null?void 0:s.getVisibleRanges();if(!c)return i;i=s.getVisibleRangeByViewport(S.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[u,b]of c)S.sheetContentViewportKeys.indexOf(u)!==-1&&(i.startColumn=Math.min(i.startColumn,b.startColumn),i.startRow=Math.min(i.startRow,b.startRow),i.endColumn=Math.max(i.endColumn,b.endColumn),i.endRow=Math.max(i.endRow,b.endRow));return i}scrollToCell(e,t){const r=this._workbook.getUnitId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);return o&&(o==null?void 0:o.with(a.SheetsScrollRenderController)).scrollToCell(e,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(t);return o&&o.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:r})||e}onScroll(e){var o;const t=this._workbook.getUnitId(),i=(o=this._injector.get(S.IRenderManagerService).getRenderById(t))==null?void 0:o.with(a.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(c=>{e(c)});return d.toDisposable(s)}return d.toDisposable(()=>{})}getSkeleton(){var t,r;const e=(t=this._injector.get(S.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:t.with(a.SheetSkeletonManagerService);return(r=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:r.skeleton}setColumnAutoWidth(e,t){const r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetColAutoWidthCommand.id,{unitId:r,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var u,b;const t=this,r=this._fWorkbook.getId(),i=this._injector.get(S.IRenderManagerService),o=t.getSheetId(),s=i.getRenderById(r);s&&((u=e.headerStyle)!=null&&u.size)&&(s.with(a.SheetSkeletonManagerService).setColumnHeaderSize(s,o,(b=e.headerStyle)==null?void 0:b.size),t==null||t.refreshCanvas());const c=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN);c&&(c.setCustomHeader(e),t==null||t.refreshCanvas())}customizeRowHeader(e){const t=this._fWorkbook.getId();this._getSheetRenderComponent(t,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}setColumnHeaderHeight(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();return this._commandService.executeCommand(a.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:i,size:e}),t==null||t.refreshCanvas(),this}setRowHeaderWidth(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();this._commandService.executeCommand(a.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:i,size:e});const o=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW);return o&&o.setCustomHeader({headerStyle:{size:e}}),t==null||t.refreshCanvas(),this}_getSheetRenderComponent(e,t){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(t);if(!s)throw new Error("Render component not found");return s}}I.FWorksheet.extend(K);class z extends I.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}I.FPermission.extend(z);class Y extends I.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,t=d.InterceptorEffectEnum.Style,r=R.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(R.SheetInterceptorService).intercept(R.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(i,o,s)=>s({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(d.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(d.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}I.FSheetHooks.extend(Y);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class Z extends d.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return y.CellClicked}get CellHover(){return y.CellHover}get CellPointerDown(){return y.CellPointerDown}get CellPointerUp(){return y.CellPointerUp}get CellPointerMove(){return y.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}}d.FEventName.extend(Z);class q extends I.FRange{getCell(){var c;const e=this._injector.get(S.IRenderManagerService),t=this._injector.get(d.ILogService),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(r),s=(c=o==null?void 0:o.with(a.SheetSkeletonManagerService).getWorksheetSkeleton(i))==null?void 0:c.skeleton;if(!s)throw t.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:i}=this.getCell(),o={x:e,y:t,width:r-e,height:i-t,top:t,left:e,bottom:i,right:r};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const e=this._injector.get(a.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){var s,c,u;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(c=e.extraProps)!=null?c:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=D(e,this._injector.get(C.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(a.CellAlertManagerService),r={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:r}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var s,c,u;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(c=e.extraProps)!=null?c:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=D(e,this._injector.get(C.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}highlight(e,t){const r=this._injector.get(a.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:t});if(!i)throw new Error("Failed to highlight current range");return d.toDisposable(()=>{r.removeShape(i)})}}I.FRange.extend(q);function D(M,e){const{componentKey:t,isVue3:r}=M;let i;const o=new d.DisposableCollection;return typeof t=="string"?i=t:(i=`External_${d.generateRandomId(6)}`,o.add(e.register(i,t,{framework:r?"vue3":"react"}))),{key:i,disposableCollection:o}}f.transformComponentKey=D,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(f,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("@univerjs/core"),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/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.UniverDocs,f.UniverEngineRender,f.UniverSheets,f.UniverSheetsUi,f.UniverSheetsFacade,f.UniverUi,f.rxjs))})(this,function(f,d,F,S,R,a,I,C,m){"use strict";class V extends d.FUniver{_initSheetUIEvent(e){const t=e.get(d.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,c=e.get(a.IEditorBridgeService),u=e.get(d.IUniverInstanceService),b=r.params,{visible:v,keycode:g,eventType:E}=b,l=c.getEditLocation();if(v){const _={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,_),_.cancel)throw new d.CanceledError}else{const _={row:l.row,column:l.column,eventType:E,keycode:g,workbook:o,worksheet:s,isZenEditor:!1,value:d.RichTextValue.create(u.getUnit(d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,_),_.cancel)throw new d.CanceledError}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:r.params.zoomRatio,workbook:o,worksheet:s})}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(r.id===a.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,c=e.get(a.IEditorBridgeService),u=r.params,{visible:b,keycode:v,eventType:g}=u,E=c.getEditLocation();if(b){const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,l)}else{const l={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:v!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,l)}}if(r.id===F.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i,c=e.get(a.IEditorBridgeService),u=e.get(d.IUniverInstanceService),b=r.params;if(!c.isVisible().visible)return;const{unitId:v}=b;if(v===d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:E}=c.getEditLocation(),l={workbook:o,worksheet:s,row:g,column:E,value:d.RichTextValue.create(u.getUnit(d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,l)}}if(r.id===a.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}})),this._initObserverListener(e)}_initObserverListener(e){const r=e.get(d.IUniverInstanceService).getFocusedUnit(),i=r==null?void 0:r.getUnitId(),o=e.get(S.IRenderManagerService);if(i){const v=e.get(d.LifecycleService),g=new d.DisposableCollection;this.disposeWithMe(v.lifecycle$.subscribe(E=>{var P,H,p,w,k,T,B,L,x,W,A,O,U,$,j;if(E<d.LifecycleStages.Rendered)return;g.dispose();const l=e.get(a.HoverManagerService),_=e.get(a.DragManagerService);l&&(g.add((P=l.currentClickedCell$)==null?void 0:P.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.CellClicked,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((H=l.currentRichText$)==null?void 0:H.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellHover,{...h,...n,row:n.row,column:n.col})})),g.add((p=l.currentPointerDownCell$)==null?void 0:p.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerDown,{...h,...n,row:n.row,column:n.col})})),g.add((w=l.currentPointerUpCell$)==null?void 0:w.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerUp,{...h,...n,row:n.row,column:n.col})})),g.add((k=l.currentCellPosWithEvent$)==null?void 0:k.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.CellPointerMove,{...h,...n,row:n.row,column:n.col})})),g.add((T=_.currentCell$)==null?void 0:T.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.DragOver,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((B=_.endCell$)==null?void 0:B.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const h=this.getSheetTarget(n.location.unitId,n.location.subUnitId);h&&this.fireEvent(this.Event.Drop,{...h,...n,row:n.location.row,column:n.location.col})})),g.add((L=l.currentRowHeaderClick$)==null?void 0:L.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderClick,{...h,row:n.index})})),g.add((x=l.currentRowHeaderPointerDown$)==null?void 0:x.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerDown,{...h,row:n.index})})),g.add((W=l.currentRowHeaderPointerUp$)==null?void 0:W.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderPointerUp,{...h,row:n.index})})),g.add((A=l.currentHoveredRowHeader$)==null?void 0:A.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.RowHeaderHover,{...h,row:n.index})})),g.add((O=l.currentColHeaderClick$)==null?void 0:O.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderClick,{...h,column:n.index})})),g.add((U=l.currentColHeaderPointerDown$)==null?void 0:U.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...h,column:n.index})})),g.add(($=l.currentColHeaderPointerUp$)==null?void 0:$.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...h,column:n.index})})),g.add((j=l.currentHoveredColHeader$)==null?void 0:j.pipe(m.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const h=this.getSheetTarget(n.unitId,n.subUnitId);h&&this.fireEvent(this.Event.ColumnHeaderHover,{...h,column:n.index})})))})),this.disposeWithMe(g)}const s=new Map;let c;const u=e.get(d.LifecycleService),b=m.combineLatest([o.created$,u.lifecycle$]);this.disposeWithMe(b.subscribe(([v,g])=>{var H;if(v.type===d.UniverInstanceType.UNIVER_SHEET&&(c=v),g<=d.LifecycleStages.Rendered)return;const E=new d.DisposableCollection;if(!c)return;const l=this.getWorkbook(c.unitId);if(!l)return;s.get(c.unitId)&&((H=s.get(c.unitId))==null||H.dispose()),s.set(c.unitId,E);const _=c.with(a.SheetScrollManagerService);E.add(_.validViewportScrollInfo$.subscribe(p=>{p&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:l,worksheet:l.getActiveSheet(),...p})}));const P=c.with(R.SheetsSelectionsService);E.add(P.selectionMoveStart$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(P.selectionMoving$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(P.selectionMoveEnd$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(P.selectionChanged$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:l,worksheet:l.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),c=null,this.disposeWithMe(E)})),this.disposeWithMe(o.disposed$.subscribe(v=>{var g;(g=s.get(v))==null||g.dispose(),s.delete(v)})),this.disposeWithMe(()=>{s.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e);const t=e.get(d.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{switch(r.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break;case a.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(r.params);break}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(R.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(r.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;const o=R.getSkeletonChangedEffectedRange(r).map(s=>{var c,u;return(u=(c=this.getWorkbook(s.unitId))==null?void 0:c.getSheetBySheetId(s.subUnitId))==null?void 0:u.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:r,skeleton:i.worksheet.getSkeleton(),effectedRanges:o});return}switch(r.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break;case a.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(t.beforeCommandExecuted(async r=>{switch(r.id){case C.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),r=e==null?void 0:e.getActiveRange();if(!e||!t||!r)return;const o=this._injector.get(a.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!o)return;const{html:s,plain:c}=o;return{workbook:e,worksheet:t,text:c,html:s,fromSheet:t,fromRange:r}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.ClipboardChanged,e),e.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:t,textContent:r}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:r,html:t}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let s;if(o){const c=o.types,u=c.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",b=c.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";s={workbook:e,worksheet:t,text:u,html:b}}return s}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!C.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(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!C.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 b,v;const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId(),i=this._injector.get(S.IRenderManagerService),o=t.getActiveSheet(),s=o.getSheetId(),c=i.getRenderById(r);c&&((b=e.headerStyle)!=null&&b.size)&&(c.with(a.SheetSkeletonManagerService).setColumnHeaderSize(c,s,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.ROW),i=r.register(...t);return d.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.COLUMN),i=r.register(...t);return d.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.MAIN),i=r.register(...t);return d.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){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(t);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(I.FSheetHooks)}}d.FUniver.extend(V);class N extends I.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const r=this._injector.get(C.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}_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 t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentClickedCell$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r)}))}onCellHover(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentRichText$.pipe(m.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const t=this._injector.get(a.HoverManagerService);return d.toDisposable(t.currentCellPosWithEvent$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r,r.event)}))}onDragOver(e){const t=this._injector.get(a.DragManagerService);return d.toDisposable(t.currentCell$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r)}))}onDrop(e){const t=this._injector.get(a.DragManagerService);return d.toDisposable(t.endCell$.pipe(m.filter(r=>!!r)).subscribe(r=>{e(r)}))}startEditing(){return this._injector.get(d.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(d.ICommandService).syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:S.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await d.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),i=this._injector.get(S.IRenderManagerService).getRenderById(t);return i?i.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);return r&&r.with(a.ISheetSelectionRenderService).showSelection(),this}}I.FWorkbook.extend(N);class K extends I.FWorksheet{refreshCanvas(){const e=this._injector.get(S.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(a.SheetSkeletonManagerService).reCalculate();const i=r.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(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(),r=this._injector.get(S.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return i;const s=r.with(a.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const c=s==null?void 0:s.getVisibleRanges();if(!c)return i;i=s.getVisibleRangeByViewport(S.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[u,b]of c)S.sheetContentViewportKeys.indexOf(u)!==-1&&(i.startColumn=Math.min(i.startColumn,b.startColumn),i.startRow=Math.min(i.startRow,b.startRow),i.endColumn=Math.max(i.endColumn,b.endColumn),i.endRow=Math.max(i.endRow,b.endRow));return i}scrollToCell(e,t){const r=this._workbook.getUnitId(),o=this._injector.get(S.IRenderManagerService).getRenderById(r);return o&&(o==null?void 0:o.with(a.SheetsScrollRenderController)).scrollToCell(e,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=this._injector.get(S.IRenderManagerService).getRenderById(t);return o&&o.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:r})||e}onScroll(e){var o;const t=this._workbook.getUnitId(),i=(o=this._injector.get(S.IRenderManagerService).getRenderById(t))==null?void 0:o.with(a.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(c=>{e(c)});return d.toDisposable(s)}return d.toDisposable(()=>{})}getSkeleton(){var t,r;const e=(t=this._injector.get(S.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:t.with(a.SheetSkeletonManagerService);return(r=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:r.skeleton}setColumnAutoWidth(e,t){const r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetColAutoWidthCommand.id,{unitId:r,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var u,b;const t=this,r=this._fWorkbook.getId(),i=this._injector.get(S.IRenderManagerService),o=t.getSheetId(),s=i.getRenderById(r);s&&((u=e.headerStyle)!=null&&u.size)&&(s.with(a.SheetSkeletonManagerService).setColumnHeaderSize(s,o,(b=e.headerStyle)==null?void 0:b.size),t==null||t.refreshCanvas());const c=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN);c&&(c.setCustomHeader(e),t==null||t.refreshCanvas())}customizeRowHeader(e){const t=this._fWorkbook.getId();this._getSheetRenderComponent(t,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}setColumnHeaderHeight(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();return this._commandService.executeCommand(a.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:i,size:e}),t==null||t.refreshCanvas(),this}setRowHeaderWidth(e){const t=this,r=this._fWorkbook.getId(),i=t.getSheetId();this._commandService.executeCommand(a.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:i,size:e});const o=this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW);return o&&o.setCustomHeader({headerStyle:{size:e}}),t==null||t.refreshCanvas(),this}_getSheetRenderComponent(e,t){const i=this._injector.get(S.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(t);if(!s)throw new Error("Render component not found");return s}}I.FWorksheet.extend(K);class z extends I.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}I.FPermission.extend(z);class Y extends I.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,t=d.InterceptorEffectEnum.Style,r=R.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(R.SheetInterceptorService).intercept(R.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(i,o,s)=>s({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(d.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(d.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===a.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}I.FSheetHooks.extend(Y);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class Z extends d.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return y.CellClicked}get CellHover(){return y.CellHover}get CellPointerDown(){return y.CellPointerDown}get CellPointerUp(){return y.CellPointerUp}get CellPointerMove(){return y.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}}d.FEventName.extend(Z);class q extends I.FRange{getCell(){var c;const e=this._injector.get(S.IRenderManagerService),t=this._injector.get(d.ILogService),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(r),s=(c=o==null?void 0:o.with(a.SheetSkeletonManagerService).getSkeletonParam(i))==null?void 0:c.skeleton;if(!s)throw t.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:i}=this.getCell(),o={x:e,y:t,width:r-e,height:i-t,top:t,left:e,bottom:i,right:r};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const e=this._injector.get(a.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){var s,c,u;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(c=e.extraProps)!=null?c:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=D(e,this._injector.get(C.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(a.CellAlertManagerService),r={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:r}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var s,c,u;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(c=e.extraProps)!=null?c:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:t,disposableCollection:r}=D(e,this._injector.get(C.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(r.add(o),r):(r.dispose(),null)}highlight(e,t){const r=this._injector.get(a.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:t});if(!i)throw new Error("Failed to highlight current range");return d.toDisposable(()=>{r.removeShape(i)})}}I.FRange.extend(q);function D(M,e){const{componentKey:t,isVue3:r}=M;let i;const o=new d.DisposableCollection;return typeof t=="string"?i=t:(i=`External_${d.generateRandomId(6)}`,o.add(e.register(i,t,{framework:r?"vue3":"react"}))),{key:i,disposableCollection:o}}f.transformComponentKey=D,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|