@univerjs/sheets-ui 0.5.5-nightly.202501211606 → 0.5.5
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/LICENSE +176 -0
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +14 -14
- package/lib/es/facade.js +576 -596
- package/lib/es/index.js +16682 -17094
- package/lib/es/locale/en-US.js +2 -2
- package/lib/es/locale/fa-IR.js +2 -2
- package/lib/es/locale/fr-FR.js +2 -2
- package/lib/es/locale/ru-RU.js +2 -2
- package/lib/es/locale/vi-VN.js +2 -2
- package/lib/es/locale/zh-CN.js +2 -2
- package/lib/es/locale/zh-TW.js +2 -2
- package/lib/types/commands/commands/clipboard.command.d.ts +0 -1
- package/lib/types/controllers/clipboard/clipboard.controller.d.ts +0 -1
- package/lib/types/facade/f-event.d.ts +5 -20
- package/lib/types/facade/f-univer.d.ts +1 -4
- package/lib/types/services/clipboard/clipboard.service.d.ts +2 -5
- package/lib/types/services/clipboard/type.d.ts +1 -9
- package/lib/types/services/selection/base-selection-render.service.d.ts +0 -1
- package/lib/types/services/selection/selection-control.d.ts +2 -2
- package/lib/types/services/sheet-skeleton-manager.service.d.ts +1 -2
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +18 -18
- package/package.json +11 -11
package/lib/es/locale/en-US.js
CHANGED
package/lib/es/locale/fa-IR.js
CHANGED
package/lib/es/locale/fr-FR.js
CHANGED
package/lib/es/locale/ru-RU.js
CHANGED
package/lib/es/locale/vi-VN.js
CHANGED
package/lib/es/locale/zh-CN.js
CHANGED
package/lib/es/locale/zh-TW.js
CHANGED
|
@@ -7,7 +7,6 @@ export interface ISheetPasteParams {
|
|
|
7
7
|
export interface ISheetPasteByShortKeyParams {
|
|
8
8
|
htmlContent?: string;
|
|
9
9
|
textContent?: string;
|
|
10
|
-
files?: File[];
|
|
11
10
|
}
|
|
12
11
|
export declare const SheetPasteCommand: IMultiCommand;
|
|
13
12
|
export declare const SheetPasteShortKeyCommand: ICommand;
|
|
@@ -15,7 +15,6 @@ export declare class SheetClipboardController extends RxDisposable {
|
|
|
15
15
|
protected readonly _uiPartsService: IUIPartsService;
|
|
16
16
|
constructor(_injector: Injector, _currentUniverSheet: IUniverInstanceService, _renderManagerService: IRenderManagerService, _commandService: ICommandService, _contextService: IContextService, _configService: IConfigService, _sheetClipboardService: ISheetClipboardService, _messageService: IMessageService, _localService: LocaleService, _uiPartsService: IUIPartsService);
|
|
17
17
|
private _pasteWithDoc;
|
|
18
|
-
private _resolveClipboardFiles;
|
|
19
18
|
private _init;
|
|
20
19
|
private _initCopyingHooks;
|
|
21
20
|
private _initPastingHook;
|
|
@@ -236,10 +236,9 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
236
236
|
readonly SheetEditEnded: 'SheetEditEnded';
|
|
237
237
|
/**
|
|
238
238
|
* Event fired when a cell is clicked
|
|
239
|
-
* @see {@link ICellEventParam}
|
|
240
239
|
* @example
|
|
241
240
|
* ```ts
|
|
242
|
-
* univerAPI.addEvent(univerAPI.Event.CellClicked, (params)=> {
|
|
241
|
+
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellClicked, (params)=> {
|
|
243
242
|
* const { worksheet, workbook, row, column, value, isZenEditor } = params;
|
|
244
243
|
* });
|
|
245
244
|
* ```
|
|
@@ -247,10 +246,9 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
247
246
|
readonly CellClicked: 'CellClicked';
|
|
248
247
|
/**
|
|
249
248
|
* Event fired when a cell is pointer down
|
|
250
|
-
* @see {@link ICellEventParam}
|
|
251
249
|
* @example
|
|
252
250
|
* ```ts
|
|
253
|
-
* univerAPI.addEvent(univerAPI.Event.CellPointerDown, (params)=> {
|
|
251
|
+
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellPointerDown, (params)=> {
|
|
254
252
|
* const { worksheet, workbook, row, column } = params;
|
|
255
253
|
* });
|
|
256
254
|
* ```
|
|
@@ -258,10 +256,9 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
258
256
|
readonly CellPointerDown: 'CellPointerDown';
|
|
259
257
|
/**
|
|
260
258
|
* Event fired when a cell is pointer up
|
|
261
|
-
* @see {@link ICellEventParam}
|
|
262
259
|
* @example
|
|
263
260
|
* ```ts
|
|
264
|
-
* univerAPI.addEvent(univerAPI.Event.CellPointerUp, (params)=> {
|
|
261
|
+
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellPointerUp, (params)=> {
|
|
265
262
|
* const { worksheet, workbook, row, column } = params;
|
|
266
263
|
* });
|
|
267
264
|
* ```
|
|
@@ -269,10 +266,9 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
269
266
|
readonly CellPointerUp: 'CellPointerUp';
|
|
270
267
|
/**
|
|
271
268
|
* Event fired when a cell is hovered
|
|
272
|
-
* @see {@link ICellEventParam}
|
|
273
269
|
* @example
|
|
274
270
|
* ```ts
|
|
275
|
-
* univerAPI.addEvent(univerAPI.Event.CellHover, (params)=> {
|
|
271
|
+
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellHover, (params)=> {
|
|
276
272
|
* const { worksheet, workbook, row, column } = params;
|
|
277
273
|
* });
|
|
278
274
|
* ```
|
|
@@ -280,10 +276,9 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
280
276
|
readonly CellHover: 'CellHover';
|
|
281
277
|
/**
|
|
282
278
|
* Event fired when move on spreadsheet cells
|
|
283
|
-
* @see {@link ICellEventParam}
|
|
284
279
|
* @example
|
|
285
280
|
* ```ts
|
|
286
|
-
* univerAPI.addEvent(univerAPI.Event.CellPointerMove, (params)=> {
|
|
281
|
+
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellPointerMove, (params)=> {
|
|
287
282
|
* const { worksheet, workbook, row, column } = params;
|
|
288
283
|
* });
|
|
289
284
|
* ```
|
|
@@ -379,7 +374,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
379
374
|
readonly ColumnHeaderHover: 'ColumnHeaderHover';
|
|
380
375
|
/**
|
|
381
376
|
* Event fired when drag over spreadsheet cells
|
|
382
|
-
* @see {@link ICellEventParam}
|
|
383
377
|
* @example
|
|
384
378
|
* ```ts
|
|
385
379
|
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.DragOver, (params)=> {
|
|
@@ -390,7 +384,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
390
384
|
readonly DragOver: 'DragOver';
|
|
391
385
|
/**
|
|
392
386
|
* Event fired when drop on spreadsheet cells
|
|
393
|
-
* @see {@link ICellEventParam}
|
|
394
387
|
* @example
|
|
395
388
|
* ```ts
|
|
396
389
|
* univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.Drop, (params)=> {
|
|
@@ -401,7 +394,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
401
394
|
readonly Drop: 'Drop';
|
|
402
395
|
/**
|
|
403
396
|
* Event fired when scroll spreadsheet.
|
|
404
|
-
* @see {@link IScrollEventParam}
|
|
405
397
|
* @example
|
|
406
398
|
* ```ts
|
|
407
399
|
* univerAPI.addEvent(univerAPI.Event.Scroll, (params)=> {
|
|
@@ -412,7 +404,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
412
404
|
readonly Scroll: 'Scroll';
|
|
413
405
|
/**
|
|
414
406
|
* Event fired when selection changed.
|
|
415
|
-
* @see {@link ISelectionEventParam}
|
|
416
407
|
* @example
|
|
417
408
|
* ```ts
|
|
418
409
|
* univerAPI.addEvent(univerAPI.Event.SelectionChanged, (p)=> {
|
|
@@ -423,7 +414,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
423
414
|
readonly SelectionChanged: 'SelectionChanged';
|
|
424
415
|
/**
|
|
425
416
|
* Event fired when selection move start
|
|
426
|
-
* @see {@link ISelectionEventParam}
|
|
427
417
|
* @example
|
|
428
418
|
* ```ts
|
|
429
419
|
* univerAPI.addEvent(univerAPI.Event.SelectionMoveStart, (p)=> {
|
|
@@ -434,7 +424,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
434
424
|
readonly SelectionMoveStart: 'SelectionMoveStart';
|
|
435
425
|
/**
|
|
436
426
|
* Event fired when selection move end
|
|
437
|
-
* @see {@link ISelectionEventParam}
|
|
438
427
|
* @example
|
|
439
428
|
* ```ts
|
|
440
429
|
* univerAPI.addEvent(univerAPI.Event.SelectionMoving, (p)=> {
|
|
@@ -445,7 +434,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
445
434
|
readonly SelectionMoving: 'SelectionMoving';
|
|
446
435
|
/**
|
|
447
436
|
* Event fired when selection move end
|
|
448
|
-
* @see {@link ISelectionEventParam}
|
|
449
437
|
* @example
|
|
450
438
|
* ```ts
|
|
451
439
|
* univerAPI.addEvent(univerAPI.Event.SelectionMoveEnd, (p)=> {
|
|
@@ -456,7 +444,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
456
444
|
readonly SelectionMoveEnd: 'SelectionMoveEnd';
|
|
457
445
|
/**
|
|
458
446
|
* Event fired when zoom changed
|
|
459
|
-
* @see {@link ISheetZoomEvent}
|
|
460
447
|
* @example
|
|
461
448
|
* ```ts
|
|
462
449
|
* univerAPI.addEvent(univerAPI.Event.SheetZoomChanged, (p)=> {
|
|
@@ -467,7 +454,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
467
454
|
readonly SheetZoomChanged: 'SheetZoomChanged';
|
|
468
455
|
/**
|
|
469
456
|
* Event fired before zoom changed
|
|
470
|
-
* @see {@link ISheetZoomEvent}
|
|
471
457
|
* @example
|
|
472
458
|
* ```ts
|
|
473
459
|
* univerAPI.addEvent(univerAPI.Event.BeforeSheetZoomChange, (p)=> {
|
|
@@ -478,7 +464,6 @@ export interface IFSheetsUIEventNameMixin {
|
|
|
478
464
|
readonly BeforeSheetZoomChange: 'BeforeSheetZoomChange';
|
|
479
465
|
/**
|
|
480
466
|
* Event fired when sheet skeleton changed
|
|
481
|
-
* @see {@link ISheetSkeletonChangedEvent}
|
|
482
467
|
* @example
|
|
483
468
|
* ```ts
|
|
484
469
|
* univerAPI.addEvent(univerAPI.Event.SheetSkeletonChanged, (p)=> {
|
|
@@ -7,7 +7,7 @@ export interface IFUniverSheetsUIMixin {
|
|
|
7
7
|
* @param {IColumnsHeaderCfgParam} cfg The configuration of the column header.
|
|
8
8
|
* @example
|
|
9
9
|
* ```typescript
|
|
10
|
-
* univerAPI.customizeColumnHeader({ headerStyle: {
|
|
10
|
+
* univerAPI.customizeColumnHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
13
|
customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
|
|
@@ -49,9 +49,6 @@ export interface IFUniverSheetsUIMixin {
|
|
|
49
49
|
export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverSheetsUIMixin {
|
|
50
50
|
private _initSheetUIEvent;
|
|
51
51
|
_initObserverListener(injector: Injector): void;
|
|
52
|
-
/**
|
|
53
|
-
* @ignore
|
|
54
|
-
*/
|
|
55
52
|
_initialize(injector: Injector): void;
|
|
56
53
|
private _generateClipboardCopyParam;
|
|
57
54
|
private _beforeClipboardChange;
|
|
@@ -31,7 +31,7 @@ export interface ISheetClipboardService {
|
|
|
31
31
|
copy(): Promise<boolean>;
|
|
32
32
|
cut(): Promise<boolean>;
|
|
33
33
|
paste(item: ClipboardItem, pasteType?: string): Promise<boolean>;
|
|
34
|
-
legacyPaste(html?: string, text?: string
|
|
34
|
+
legacyPaste(html?: string, text?: string): Promise<boolean>;
|
|
35
35
|
rePasteWithPasteType(type: IPasteHookKeyType): boolean;
|
|
36
36
|
disposePasteOptionsCache(): void;
|
|
37
37
|
generateCopyContent(workbookId: string, worksheetId: string, range: IRange): Nullable<ICopyContent>;
|
|
@@ -74,17 +74,14 @@ export declare class SheetClipboardService extends Disposable implements ISheetC
|
|
|
74
74
|
copy(copyType?: COPY_TYPE): Promise<boolean>;
|
|
75
75
|
cut(): Promise<boolean>;
|
|
76
76
|
paste(item: ClipboardItem, pasteType?: "default-paste"): Promise<boolean>;
|
|
77
|
-
legacyPaste(html?: string, text?: string
|
|
77
|
+
legacyPaste(html?: string, text?: string): Promise<boolean>;
|
|
78
78
|
rePasteWithPasteType(type: IPasteHookKeyType): boolean;
|
|
79
79
|
updatePasteOptionsCache(cache: IPasteOptionCache | null): void;
|
|
80
80
|
addClipboardHook(hook: ISheetClipboardHook): IDisposable;
|
|
81
81
|
getClipboardHooks(): ISheetClipboardHook[];
|
|
82
82
|
private _generateCopyContent;
|
|
83
83
|
private _notifyClipboardHook;
|
|
84
|
-
private _executePaste;
|
|
85
|
-
private _pasteFiles;
|
|
86
84
|
private _pastePlainText;
|
|
87
|
-
private _pasteUnrecognized;
|
|
88
85
|
private _pasteHTML;
|
|
89
86
|
private _pasteExternal;
|
|
90
87
|
private _pasteInternal;
|
|
@@ -83,7 +83,7 @@ export interface ISheetClipboardHook {
|
|
|
83
83
|
* @param subUnitId
|
|
84
84
|
* @param range
|
|
85
85
|
*/
|
|
86
|
-
onBeforeCopy?(unitId: string, subUnitId: string, range: IRange
|
|
86
|
+
onBeforeCopy?(unitId: string, subUnitId: string, range: IRange): void;
|
|
87
87
|
/**
|
|
88
88
|
* Properties that would be appended to the td element.
|
|
89
89
|
*
|
|
@@ -177,14 +177,6 @@ export interface ISheetClipboardHook {
|
|
|
177
177
|
undos: IMutationInfo[];
|
|
178
178
|
redos: IMutationInfo[];
|
|
179
179
|
};
|
|
180
|
-
onPasteFiles?(pasteTo: ISheetDiscreteRangeLocation, files: File[], payload: ICopyPastePayload): {
|
|
181
|
-
undos: IMutationInfo[];
|
|
182
|
-
redos: IMutationInfo[];
|
|
183
|
-
};
|
|
184
|
-
onPasteUnrecognized?(pasteTo: ISheetDiscreteRangeLocation): {
|
|
185
|
-
undos: IMutationInfo[];
|
|
186
|
-
redos: IMutationInfo[];
|
|
187
|
-
};
|
|
188
180
|
/**
|
|
189
181
|
* Would be called after paste content has been written into Univer.
|
|
190
182
|
* Features could do some cleaning up jobs here.
|
|
@@ -39,7 +39,6 @@ export interface ISheetSelectionRenderService {
|
|
|
39
39
|
getCellWithCoordByOffset(x: number, y: number, skeleton?: SpreadsheetSkeleton): Nullable<ICellWithCoord>;
|
|
40
40
|
setSingleSelectionEnabled(enabled: boolean): void;
|
|
41
41
|
refreshSelectionMoveEnd(): void;
|
|
42
|
-
resetSelectionsByModelData(selectionsWithStyleList: readonly ISelectionWithStyle[]): void;
|
|
43
42
|
}
|
|
44
43
|
export declare const ISheetSelectionRenderService: import('@wendellhu/redi').IdentifierDecorator<ISheetSelectionRenderService>;
|
|
45
44
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ICellWithCoord, IRangeWithCoord, Nullable, ThemeService, Disposable, RANGE_TYPE } from '@univerjs/core';
|
|
2
|
-
import { Scene,
|
|
2
|
+
import { Scene, Group, Rect } from '@univerjs/engine-render';
|
|
3
3
|
import { ISelectionStyle, ISelectionWidgetConfig, ISelectionWithCoord } from '@univerjs/sheets';
|
|
4
4
|
import { ISelectionShapeExtensionOption, SelectionShapeExtension } from './selection-shape-extension';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
@@ -175,7 +175,7 @@ export declare class SelectionControl extends Disposable {
|
|
|
175
175
|
* Update range and primary range and style.
|
|
176
176
|
* @param selectionWthCoord
|
|
177
177
|
*/
|
|
178
|
-
updateRangeBySelectionWithCoord(selectionWthCoord: ISelectionWithCoord
|
|
178
|
+
updateRangeBySelectionWithCoord(selectionWthCoord: ISelectionWithCoord): void;
|
|
179
179
|
/**
|
|
180
180
|
* Update selection model with new range & primary cell(aka: highlight/current), also update row/col selection size & style.
|
|
181
181
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRange, IRangeWithCoord, Nullable, Workbook, Disposable, Injector } from '@univerjs/core';
|
|
2
|
-
import {
|
|
2
|
+
import { IRenderContext, IRenderModule, SpreadsheetSkeleton } from '@univerjs/engine-render';
|
|
3
3
|
export interface ISheetSkeletonManagerParam {
|
|
4
4
|
unitId: string;
|
|
5
5
|
sheetId: string;
|
|
@@ -58,5 +58,4 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
|
|
|
58
58
|
attachRangeWithCoord(range: IRange): Nullable<IRangeWithCoord>;
|
|
59
59
|
private _getSkeleton;
|
|
60
60
|
private _buildSkeleton;
|
|
61
|
-
setColumnHeaderSize(sheetId: string, render: IRender, size: number): void;
|
|
62
61
|
}
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(f,s){typeof exports=="object"&&typeof module<"u"?s(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"],s):(f=typeof globalThis<"u"?globalThis:f||self,s(f.UniverSheetsUiFacade={},f.UniverCore,f.UniverDocs,f.UniverEngineRender,f.UniverSheets,f.UniverSheetsUi,f.UniverSheetsFacade,f.UniverUi,f.rxjs))})(this,function(f,s,F,b,R,c,I,S,C){"use strict";class N extends s.FUniver{_initSheetUIEvent(e){const r=e.get(s.ICommandService);this.disposeWithMe(r.beforeCommandExecuted(t=>{if(t.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(c.IEditorBridgeService),u=e.get(s.IUniverInstanceService),m=t.params,{visible:v,keycode:g,eventType:E}=m,h=l.getEditLocation();if(v){const _={row:h.row,column:h.column,eventType:E,keycode:g,workbook:o,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,_),_.cancel)throw new s.CanceledError}else{const _={row:h.row,column:h.column,eventType:E,keycode:g,workbook:o,worksheet:a,isZenEditor:!1,value:s.RichTextValue.create(u.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==S.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,_),_.cancel)throw new s.CanceledError}}if(t.id===c.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:t.params.zoomRatio,workbook:o,worksheet:a})}})),this.disposeWithMe(r.onCommandExecuted(t=>{if(t.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(c.IEditorBridgeService),u=t.params,{visible:m,keycode:v,eventType:g}=u,E=l.getEditLocation();if(m){const h={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:a,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,h)}else{const h={row:E.row,column:E.column,eventType:g,keycode:v,workbook:o,worksheet:a,isZenEditor:!1,isConfirm:v!==S.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,h)}}if(t.id===F.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(c.IEditorBridgeService),u=e.get(s.IUniverInstanceService),m=t.params;if(!l.isVisible().visible)return;const{unitId:v}=m;if(v===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:E}=l.getEditLocation(),h={workbook:o,worksheet:a,row:g,column:E,value:s.RichTextValue.create(u.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,h)}}if(t.id===c.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:a.getZoom(),workbook:o,worksheet:a})}})),this._initObserverListener(e)}_initObserverListener(e){const t=e.get(s.IUniverInstanceService).getFocusedUnit(),i=t==null?void 0:t.getUnitId(),o=e.get(b.IRenderManagerService);if(i){const v=e.get(s.LifecycleService),g=new s.DisposableCollection;this.disposeWithMe(v.lifecycle$.subscribe(E=>{var M,D,p,w,k,T,B,L,x,A,O,U,W,$,j;if(E<s.LifecycleStages.Rendered)return;g.dispose();const h=e.get(c.HoverManagerService),_=e.get(c.DragManagerService);h&&(g.add((M=h.currentClickedCell$)==null?void 0:M.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.CellClicked,{...d,...n,row:n.location.row,column:n.location.col})})),g.add((D=h.currentRichText$)==null?void 0:D.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellHover,{...d,...n,row:n.row,column:n.col})})),g.add((p=h.currentPointerDownCell$)==null?void 0:p.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerDown,{...d,...n,row:n.row,column:n.col})})),g.add((w=h.currentPointerUpCell$)==null?void 0:w.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerUp,{...d,...n,row:n.row,column:n.col})})),g.add((k=h.currentCellPosWithEvent$)==null?void 0:k.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerMove,{...d,...n,row:n.row,column:n.col})})),g.add((T=_.currentCell$)==null?void 0:T.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.DragOver,{...d,...n,row:n.location.row,column:n.location.col})})),g.add((B=_.endCell$)==null?void 0:B.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.Drop,{...d,...n,row:n.location.row,column:n.location.col})})),g.add((L=h.currentRowHeaderClick$)==null?void 0:L.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderClick,{...d,row:n.index})})),g.add((x=h.currentRowHeaderPointerDown$)==null?void 0:x.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerDown,{...d,row:n.index})})),g.add((A=h.currentRowHeaderPointerUp$)==null?void 0:A.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerUp,{...d,row:n.index})})),g.add((O=h.currentHoveredRowHeader$)==null?void 0:O.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderHover,{...d,row:n.index})})),g.add((U=h.currentColHeaderClick$)==null?void 0:U.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderClick,{...d,column:n.index})})),g.add((W=h.currentColHeaderPointerDown$)==null?void 0:W.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...d,column:n.index})})),g.add(($=h.currentColHeaderPointerUp$)==null?void 0:$.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...d,column:n.index})})),g.add((j=h.currentHoveredColHeader$)==null?void 0:j.pipe(C.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderHover,{...d,column:n.index})})))})),this.disposeWithMe(g)}const a=new Map;let l;const u=e.get(s.LifecycleService),m=C.combineLatest([o.created$,u.lifecycle$]);this.disposeWithMe(m.subscribe(([v,g])=>{var D;if(v.type===s.UniverInstanceType.UNIVER_SHEET&&(l=v),g<=s.LifecycleStages.Rendered)return;const E=new s.DisposableCollection;if(!l)return;const h=this.getWorkbook(l.unitId);if(!h)return;a.get(l.unitId)&&((D=a.get(l.unitId))==null||D.dispose()),a.set(l.unitId,E);const _=l.with(c.SheetScrollManagerService);E.add(_.validViewportScrollInfo$.subscribe(p=>{p&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:h,worksheet:h.getActiveSheet(),...p})}));const M=l.with(R.SheetsSelectionsService);E.add(M.selectionMoveStart$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(M.selectionMoving$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(M.selectionMoveEnd$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),E.add(M.selectionChanged$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),l=null,this.disposeWithMe(E)})),this.disposeWithMe(o.disposed$.subscribe(v=>{var g;(g=a.get(v))==null||g.dispose(),a.delete(v)})),this.disposeWithMe(()=>{a.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e);const r=e.get(s.ICommandService);this.disposeWithMe(r.beforeCommandExecuted(t=>{switch(t.id){case S.CopyCommand.id:case S.CutCommand.id:this._beforeClipboardChange();break;case c.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break}})),this.disposeWithMe(r.onCommandExecuted(t=>{if(R.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;const o=R.getSkeletonChangedEffectedRange(t).map(a=>{var l,u;return(u=(l=this.getWorkbook(a.unitId))==null?void 0:l.getSheetBySheetId(a.subUnitId))==null?void 0:u.getRange(a.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});return}switch(t.id){case S.CopyCommand.id:case S.CutCommand.id:this._clipboardChanged();break;case c.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case S.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(r.beforeCommandExecuted(async t=>{switch(t.id){case S.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(c.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:a,plain:l}=o;return{workbook:e,worksheet:r,text:l,html:a,fromSheet:r,fromRange:t}}_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: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(S.IClipboardInterfaceService).read())[0];let a;if(o){const l=o.types,u=l.indexOf(S.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(S.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",m=l.indexOf(S.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(S.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";a={workbook:e,worksheet:r,text:u,html:m}}return a}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!S.supportClipboardAPI()){this._injector.get(s.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(!S.supportClipboardAPI()){this._injector.get(s.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 m,v;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(b.IRenderManagerService),o=r.getActiveSheet(),a=o.getSheetId(),l=i.getRenderById(t);l&&((m=e.headerStyle)!=null&&m.size)&&(l.with(c.SheetSkeletonManagerService).setColumnHeaderSize(a,l,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,c.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,c.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.ROW),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(b.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(I.FSheetHooks)}}s.FUniver.extend(N);class V extends I.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(S.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(S.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}_logDeprecation(e){this._injector.get(s.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(c.HoverManagerService);return s.toDisposable(r.currentClickedCell$.pipe(C.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentRichText$.pipe(C.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentCellPosWithEvent$.pipe(C.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(c.DragManagerService);return s.toDisposable(r.currentCell$.pipe(C.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(c.DragManagerService);return s.toDisposable(r.endCell$.pipe(C.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:b.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:b.DeviceInputEventType.Keyboard,keycode:e?S.KeyCode.ENTER:S.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await s.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(b.IRenderManagerService).getRenderById(r);return i?i.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(b.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(b.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(b.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(b.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).showSelection(),this}}I.FWorkbook.extend(V);class K extends I.FWorksheet{refreshCanvas(){const e=this._injector.get(b.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(c.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(b.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!t)return i;const a=t.with(c.SheetSkeletonManagerService).getCurrentSkeleton();if(!a)return i;const l=a==null?void 0:a.getVisibleRanges();if(!l)return i;i=a.getVisibleRangeByViewport(b.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[u,m]of l)b.sheetContentViewportKeys.indexOf(u)!==-1&&(i.startColumn=Math.min(i.startColumn,m.startColumn),i.startRow=Math.min(i.startRow,m.startRow),i.endColumn=Math.max(i.endColumn,m.endColumn),i.endRow=Math.max(i.endRow,m.endRow));return i}scrollToCell(e,r){const t=this._workbook.getUnitId(),o=this._injector.get(b.IRenderManagerService).getRenderById(t);return o&&(o==null?void 0:o.with(c.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(b.IRenderManagerService).getRenderById(r);return o&&o.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(b.IRenderManagerService).getRenderById(r))==null?void 0:o.with(c.SheetScrollManagerService);if(i){const a=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return s.toDisposable(a)}return s.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(b.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(c.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}setColumnAutoWidth(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(c.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}}I.FWorksheet.extend(K);class Y extends I.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}I.FPermission.extend(Y);class Z extends I.FSheetHooks{onCellPointerMove(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return s.toDisposable(this._injector.get(c.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return s.toDisposable(this._injector.get(c.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=s.InterceptorEffectEnum.Style,t=R.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(R.SheetInterceptorService).intercept(R.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,a)=>a({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:t})}onBeforeCellEdit(e){return this._injector.get(s.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===c.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(s.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===c.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}I.FSheetHooks.extend(Z);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class z extends s.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"}}s.FEventName.extend(z);class q extends I.FRange{getCell(){var l;const e=this._injector.get(b.IRenderManagerService),r=this._injector.get(s.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),a=(l=o==null?void 0:o.with(c.SheetSkeletonManagerService).getWorksheetSkeleton(i))==null?void 0:l.skeleton;if(!a)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 a.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 r;const e=this._injector.get(c.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(r=e==null?void 0:e.html)!=null?r:""}attachPopup(e){var a,l,u;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:r,disposableCollection:t}=H(e,this._injector.get(S.ComponentManager)),o=this._injector.get(c.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(c.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 a,l,u;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(u=e.offset)!=null?u:[0,0];const{key:r,disposableCollection:t}=H(e,this._injector.get(S.ComponentManager)),o=this._injector.get(c.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(c.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return s.toDisposable(()=>{t.removeShape(i)})}}I.FRange.extend(q);function H(P,e){const{componentKey:r,isVue3:t}=P;let i;const o=new s.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${s.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}f.transformComponentKey=H,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(f,s){typeof exports=="object"&&typeof module<"u"?s(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"],s):(f=typeof globalThis<"u"?globalThis:f||self,s(f.UniverSheetsUiFacade={},f.UniverCore,f.UniverDocs,f.UniverEngineRender,f.UniverSheets,f.UniverSheetsUi,f.UniverSheetsFacade,f.UniverUi,f.rxjs))})(this,function(f,s,F,E,R,c,I,u,S){"use strict";class N extends s.FUniver{_initSheetUIEvent(e){const r=e.get(s.ICommandService);this.disposeWithMe(r.beforeCommandExecuted(t=>{if(t.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(c.IEditorBridgeService),C=e.get(s.IUniverInstanceService),m=t.params,{visible:v,keycode:g,eventType:b}=m,h=l.getEditLocation();if(v){const _={row:h.row,column:h.column,eventType:b,keycode:g,workbook:o,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,_),_.cancel)throw new s.CanceledError}else{const _={row:h.row,column:h.column,eventType:b,keycode:g,workbook:o,worksheet:a,isZenEditor:!1,value:s.RichTextValue.create(C.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==u.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,_),_.cancel)throw new s.CanceledError}}if(t.id===c.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:t.params.zoomRatio,workbook:o,worksheet:a})}})),this.disposeWithMe(r.onCommandExecuted(t=>{if(t.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(c.IEditorBridgeService),C=t.params,{visible:m,keycode:v,eventType:g}=C,b=l.getEditLocation();if(m){const h={row:b.row,column:b.column,eventType:g,keycode:v,workbook:o,worksheet:a,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,h)}else{const h={row:b.row,column:b.column,eventType:g,keycode:v,workbook:o,worksheet:a,isZenEditor:!1,isConfirm:v!==u.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,h)}}if(t.id===F.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(c.IEditorBridgeService),C=e.get(s.IUniverInstanceService),m=t.params;if(!l.isVisible().visible)return;const{unitId:v}=m;if(v===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:b}=l.getEditLocation(),h={workbook:o,worksheet:a,row:g,column:b,value:s.RichTextValue.create(C.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,h)}}if(t.id===c.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:a.getZoom(),workbook:o,worksheet:a})}})),this._initObserverListener(e)}_initObserverListener(e){const t=e.get(s.IUniverInstanceService).getFocusedUnit(),i=t==null?void 0:t.getUnitId(),o=e.get(E.IRenderManagerService);if(i){const v=e.get(s.LifecycleService),g=new s.DisposableCollection;this.disposeWithMe(v.lifecycle$.subscribe(b=>{var M,D,p,w,k,T,L,B,x,A,O,U,W,$,j;if(b<s.LifecycleStages.Rendered)return;g.dispose();const h=e.get(c.HoverManagerService),_=e.get(c.DragManagerService);h&&(g.add((M=h.currentClickedCell$)==null?void 0:M.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.CellClicked,{...d,...n,row:n.location.row,column:n.location.col})})),g.add((D=h.currentRichText$)==null?void 0:D.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellHover,{...d,...n,row:n.row,column:n.col})})),g.add((p=h.currentPointerDownCell$)==null?void 0:p.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerDown,{...d,...n,row:n.row,column:n.col})})),g.add((w=h.currentPointerUpCell$)==null?void 0:w.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerUp,{...d,...n,row:n.row,column:n.col})})),g.add((k=h.currentCellPosWithEvent$)==null?void 0:k.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerMove,{...d,...n,row:n.row,column:n.col})})),g.add((T=_.currentCell$)==null?void 0:T.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.DragOver,{...d,...n,row:n.location.row,column:n.location.col})})),g.add((L=_.endCell$)==null?void 0:L.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.Drop,{...d,...n,row:n.location.row,column:n.location.col})})),g.add((B=h.currentRowHeaderClick$)==null?void 0:B.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderClick,{...d,row:n.index})})),g.add((x=h.currentRowHeaderPointerDown$)==null?void 0:x.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerDown,{...d,row:n.index})})),g.add((A=h.currentRowHeaderPointerUp$)==null?void 0:A.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerUp,{...d,row:n.index})})),g.add((O=h.currentHoveredRowHeader$)==null?void 0:O.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderHover,{...d,row:n.index})})),g.add((U=h.currentColHeaderClick$)==null?void 0:U.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderClick,{...d,column:n.index})})),g.add((W=h.currentColHeaderPointerDown$)==null?void 0:W.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...d,column:n.index})})),g.add(($=h.currentColHeaderPointerUp$)==null?void 0:$.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...d,column:n.index})})),g.add((j=h.currentHoveredColHeader$)==null?void 0:j.pipe(S.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderHover,{...d,column:n.index})})))})),this.disposeWithMe(g)}const a=new Map;let l;const C=e.get(s.LifecycleService),m=S.combineLatest([o.created$,C.lifecycle$]);this.disposeWithMe(m.subscribe(([v,g])=>{var D;if(v.type===s.UniverInstanceType.UNIVER_SHEET&&(l=v),g<=s.LifecycleStages.Rendered)return;const b=new s.DisposableCollection;if(!l)return;const h=this.getWorkbook(l.unitId);if(!h)return;a.get(l.unitId)&&((D=a.get(l.unitId))==null||D.dispose()),a.set(l.unitId,b);const _=l.with(c.SheetScrollManagerService);b.add(_.validViewportScrollInfo$.subscribe(p=>{p&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:h,worksheet:h.getActiveSheet(),...p})}));const M=l.with(R.SheetsSelectionsService);b.add(M.selectionMoveStart$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),b.add(M.selectionMoving$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),b.add(M.selectionMoveEnd$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),b.add(M.selectionChanged$.subscribe(p=>{var w;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:h,worksheet:h.getActiveSheet(),selections:(w=p==null?void 0:p.map(k=>k.range))!=null?w:[]})})),l=null,this.disposeWithMe(b)})),this.disposeWithMe(o.disposed$.subscribe(v=>{var g;(g=a.get(v))==null||g.dispose(),a.delete(v)})),this.disposeWithMe(()=>{a.forEach(v=>{v.dispose()})})}_initialize(e){this._initSheetUIEvent(e);const r=e.get(s.ICommandService);this.disposeWithMe(r.beforeCommandExecuted(t=>{switch(t.id){case u.CopyCommand.id:case u.CutCommand.id:this._beforeClipboardChange();break;case c.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break}})),this.disposeWithMe(r.onCommandExecuted(t=>{if(R.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;const o=R.getSkeletonChangedEffectedRange(t).map(a=>{var l,C;return(C=(l=this.getWorkbook(a.unitId))==null?void 0:l.getSheetBySheetId(a.subUnitId))==null?void 0:C.getRange(a.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});return}switch(t.id){case u.CopyCommand.id:case u.CutCommand.id:this._clipboardChanged();break;case c.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case u.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(r.beforeCommandExecuted(async t=>{switch(t.id){case u.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(c.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:a,plain:l}=o;return{workbook:e,worksheet:r,text:l,html:a,fromSheet:r,fromRange:t}}_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: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(u.IClipboardInterfaceService).read())[0];let a;if(o){const l=o.types,C=l.indexOf(u.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(u.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",m=l.indexOf(u.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(u.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";a={workbook:e,worksheet:r,text:C,html:m}}return a}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!u.supportClipboardAPI()){this._injector.get(s.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(!u.supportClipboardAPI()){this._injector.get(s.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){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,c.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}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,c.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.ROW),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(E.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(I.FSheetHooks)}}s.FUniver.extend(N);class V extends I.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(u.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(u.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}_logDeprecation(e){this._injector.get(s.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(c.HoverManagerService);return s.toDisposable(r.currentClickedCell$.pipe(S.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentRichText$.pipe(S.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentCellPosWithEvent$.pipe(S.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(c.DragManagerService);return s.toDisposable(r.currentCell$.pipe(S.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(c.DragManagerService);return s.toDisposable(r.endCell$.pipe(S.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:E.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:E.DeviceInputEventType.Keyboard,keycode:e?u.KeyCode.ENTER:u.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await s.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(E.IRenderManagerService).getRenderById(r);return i?i.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(E.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(E.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(E.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(E.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).showSelection(),this}}I.FWorkbook.extend(V);class K extends I.FWorksheet{refreshCanvas(){const e=this._injector.get(E.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(c.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(E.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!t)return i;const a=t.with(c.SheetSkeletonManagerService).getCurrentSkeleton();if(!a)return i;const l=a==null?void 0:a.getVisibleRanges();if(!l)return i;i=a.getVisibleRangeByViewport(E.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[C,m]of l)E.sheetContentViewportKeys.indexOf(C)!==-1&&(i.startColumn=Math.min(i.startColumn,m.startColumn),i.startRow=Math.min(i.startRow,m.startRow),i.endColumn=Math.max(i.endColumn,m.endColumn),i.endRow=Math.max(i.endRow,m.endRow));return i}scrollToCell(e,r){const t=this._workbook.getUnitId(),o=this._injector.get(E.IRenderManagerService).getRenderById(t);return o&&(o==null?void 0:o.with(c.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(E.IRenderManagerService).getRenderById(r);return o&&o.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(E.IRenderManagerService).getRenderById(r))==null?void 0:o.with(c.SheetScrollManagerService);if(i){const a=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return s.toDisposable(a)}return s.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(E.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(c.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}setColumnAutoWidth(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(c.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}}I.FWorksheet.extend(K);class Y extends I.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}I.FPermission.extend(Y);class Z extends I.FSheetHooks{onCellPointerMove(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return s.toDisposable(this._injector.get(c.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return s.toDisposable(this._injector.get(c.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=s.InterceptorEffectEnum.Style,t=R.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(R.SheetInterceptorService).intercept(R.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,a)=>a({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:t})}onBeforeCellEdit(e){return this._injector.get(s.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===c.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(s.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===c.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}I.FSheetHooks.extend(Z);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class z extends s.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"}}s.FEventName.extend(z);class q extends I.FRange{getCell(){var l;const e=this._injector.get(E.IRenderManagerService),r=this._injector.get(s.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),a=(l=o==null?void 0:o.with(c.SheetSkeletonManagerService).getWorksheetSkeleton(i))==null?void 0:l.skeleton;if(!a)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 a.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 r;const e=this._injector.get(c.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(r=e==null?void 0:e.html)!=null?r:""}attachPopup(e){var a,l,C;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(C=e.offset)!=null?C:[0,0];const{key:r,disposableCollection:t}=H(e,this._injector.get(u.ComponentManager)),o=this._injector.get(c.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(c.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 a,l,C;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(C=e.offset)!=null?C:[0,0];const{key:r,disposableCollection:t}=H(e,this._injector.get(u.ComponentManager)),o=this._injector.get(c.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(c.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return s.toDisposable(()=>{t.removeShape(i)})}}I.FRange.extend(q);function H(P,e){const{componentKey:r,isVue3:t}=P;let i;const o=new s.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${s.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}f.transformComponentKey=H,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|