@univerjs/sheets-ui 0.5.2 → 0.5.3-experimental.20250106-4af1f4e
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 +32 -30
- package/lib/es/facade.js +261 -102
- package/lib/es/index.js +9612 -10128
- package/lib/index.css +1 -1
- package/lib/types/commands/commands/set-scroll.command.d.ts +10 -0
- package/lib/types/controllers/permission/sheet-permission-check-ui.controller.d.ts +24 -0
- package/lib/types/controllers/permission/sheet-permission-interceptor-canvas-render.controller.d.ts +0 -1
- package/lib/types/controllers/permission/sheet-permission-interceptor-clipboard.controller.d.ts +3 -4
- package/lib/types/controllers/permission/sheet-permission-interceptor-formula-render.controller.d.ts +0 -1
- package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +7 -4
- package/lib/types/facade/f-event.d.ts +121 -0
- package/lib/types/facade/f-permission.d.ts +4 -1
- package/lib/types/facade/f-range.d.ts +48 -5
- package/lib/types/facade/f-sheet-hooks.d.ts +50 -12
- package/lib/types/facade/f-univer.d.ts +18 -15
- package/lib/types/facade/f-workbook.d.ts +37 -24
- package/lib/types/facade/f-worksheet.d.ts +26 -13
- package/lib/types/facade/index.d.ts +1 -0
- package/lib/types/index.d.ts +13 -13
- package/lib/types/services/scroll-manager.service.d.ts +12 -4
- package/lib/types/views/cell-alert/CellAlertPopup.d.ts +1 -1
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +30 -28
- package/package.json +15 -39
- package/LICENSE +0 -176
- package/lib/types/controllers/permission/sheet-permission-init.controller.d.ts +0 -26
- package/lib/types/controllers/permission/sheet-permission-interceptor-base.controller.d.ts +0 -36
- package/lib/types/controllers/permission/sheet-permission-view-model.controller.d.ts +0 -11
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import { IDisposable, FUniver } from '@univerjs/core';
|
|
1
|
+
import { IDisposable, Injector, FUniver } from '@univerjs/core';
|
|
2
2
|
import { IColumnsHeaderCfgParam, IRowsHeaderCfgParam, SheetExtension } from '@univerjs/engine-render';
|
|
3
3
|
import { FSheetHooks } from '@univerjs/sheets/facade';
|
|
4
4
|
export interface IFUniverSheetsUIMixin {
|
|
5
5
|
/**
|
|
6
6
|
* Customize the column header of the spreadsheet.
|
|
7
|
-
*
|
|
8
7
|
* @param {IColumnsHeaderCfgParam} cfg The configuration of the column header.
|
|
9
|
-
*
|
|
10
8
|
* @example
|
|
11
9
|
* ```typescript
|
|
12
|
-
* customizeColumnHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
|
|
10
|
+
* univerAPI.customizeColumnHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
|
|
13
11
|
* ```
|
|
14
12
|
*/
|
|
15
13
|
customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
|
|
16
14
|
/**
|
|
17
15
|
* Customize the row header of the spreadsheet.
|
|
18
|
-
*
|
|
19
16
|
* @param {IRowsHeaderCfgParam} cfg The configuration of the row header.
|
|
20
|
-
*
|
|
21
17
|
* @example
|
|
22
18
|
* ```typescript
|
|
23
|
-
* customizeRowHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, rowsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
|
|
19
|
+
* univerAPI.customizeRowHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, rowsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
|
|
24
20
|
* ```
|
|
25
21
|
*/
|
|
26
22
|
customizeRowHeader(cfg: IRowsHeaderCfgParam): void;
|
|
27
23
|
/**
|
|
28
24
|
* Register sheet row header render extensions.
|
|
29
|
-
*
|
|
30
25
|
* @param {string} unitId The unit id of the spreadsheet.
|
|
31
26
|
* @param {SheetExtension[]} extensions The extensions to register.
|
|
32
27
|
* @returns {IDisposable} The disposable instance.
|
|
@@ -34,7 +29,6 @@ export interface IFUniverSheetsUIMixin {
|
|
|
34
29
|
registerSheetRowHeaderExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable;
|
|
35
30
|
/**
|
|
36
31
|
* Register sheet column header render extensions.
|
|
37
|
-
*
|
|
38
32
|
* @param {string} unitId The unit id of the spreadsheet.
|
|
39
33
|
* @param {SheetExtension[]} extensions The extensions to register.
|
|
40
34
|
* @returns {IDisposable} The disposable instance.
|
|
@@ -42,7 +36,6 @@ export interface IFUniverSheetsUIMixin {
|
|
|
42
36
|
registerSheetColumnHeaderExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable;
|
|
43
37
|
/**
|
|
44
38
|
* Register sheet main render extensions.
|
|
45
|
-
*
|
|
46
39
|
* @param {string} unitId The unit id of the spreadsheet.
|
|
47
40
|
* @param {SheetExtension[]} extensions The extensions to register.
|
|
48
41
|
* @returns {IDisposable} The disposable instance.
|
|
@@ -50,12 +43,25 @@ export interface IFUniverSheetsUIMixin {
|
|
|
50
43
|
registerSheetMainExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable;
|
|
51
44
|
/**
|
|
52
45
|
* Get sheet hooks.
|
|
53
|
-
*
|
|
54
|
-
* @
|
|
46
|
+
* @returns {FSheetHooks} FSheetHooks instance.
|
|
47
|
+
* @example
|
|
48
|
+
* ``` ts
|
|
49
|
+
* univerAPI.getSheetHooks();
|
|
50
|
+
* ```
|
|
55
51
|
*/
|
|
56
52
|
getSheetHooks(): FSheetHooks;
|
|
57
53
|
}
|
|
58
54
|
export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverSheetsUIMixin {
|
|
55
|
+
_initialize(injector: Injector): void;
|
|
56
|
+
private _generateClipboardCopyParam;
|
|
57
|
+
private _beforeClipboardChange;
|
|
58
|
+
private _clipboardChanged;
|
|
59
|
+
private _generateClipboardPasteParam;
|
|
60
|
+
private _generateClipboardPasteParamAsync;
|
|
61
|
+
private _beforeClipboardPaste;
|
|
62
|
+
private _clipboardPaste;
|
|
63
|
+
private _beforeClipboardPasteAsync;
|
|
64
|
+
private _clipboardPasteAsync;
|
|
59
65
|
customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
|
|
60
66
|
customizeRowHeader(cfg: IRowsHeaderCfgParam): void;
|
|
61
67
|
registerSheetRowHeaderExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable;
|
|
@@ -63,9 +69,7 @@ export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverShe
|
|
|
63
69
|
registerSheetMainExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable;
|
|
64
70
|
/**
|
|
65
71
|
* Get sheet render component from render by unitId and view key.
|
|
66
|
-
*
|
|
67
72
|
* @private
|
|
68
|
-
*
|
|
69
73
|
* @param {string} unitId The unit id of the spreadsheet.
|
|
70
74
|
* @param {SHEET_VIEW_KEY} viewKey The view key of the spreadsheet.
|
|
71
75
|
* @returns {Nullable<RenderComponentType>} The render component.
|
|
@@ -73,7 +77,6 @@ export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverShe
|
|
|
73
77
|
private _getSheetRenderComponent;
|
|
74
78
|
/**
|
|
75
79
|
* Get sheet hooks.
|
|
76
|
-
*
|
|
77
80
|
* @returns {FSheetHooks} FSheetHooks instance
|
|
78
81
|
*/
|
|
79
82
|
getSheetHooks(): FSheetHooks;
|
|
@@ -5,32 +5,26 @@ import { IDialogPartMethodOptions, ISidebarMethodOptions } from '@univerjs/ui';
|
|
|
5
5
|
export interface IFWorkbookSheetsUIMixin {
|
|
6
6
|
/**
|
|
7
7
|
* Open a sidebar.
|
|
8
|
-
*
|
|
9
8
|
* @deprecated
|
|
10
|
-
*
|
|
11
9
|
* @param params the sidebar options
|
|
12
10
|
* @returns the disposable object
|
|
13
11
|
*/
|
|
14
12
|
openSiderbar(params: ISidebarMethodOptions): IDisposable;
|
|
15
13
|
/**
|
|
16
14
|
* Open a dialog.
|
|
17
|
-
*
|
|
18
15
|
* @deprecated
|
|
19
|
-
*
|
|
20
16
|
* @param dialog the dialog options
|
|
21
17
|
* @returns the disposable object
|
|
22
18
|
*/
|
|
23
19
|
openDialog(dialog: IDialogPartMethodOptions): IDisposable;
|
|
24
20
|
/**
|
|
25
21
|
* Subscribe to cell click events
|
|
26
|
-
*
|
|
27
22
|
* @param callback - The callback function to be called when a cell is clicked
|
|
28
23
|
* @returns A disposable object that can be used to unsubscribe from the event
|
|
29
24
|
*/
|
|
30
25
|
onCellClick(callback: (cell: IHoverRichTextInfo) => void): IDisposable;
|
|
31
26
|
/**
|
|
32
27
|
* Subscribe cell hover events
|
|
33
|
-
*
|
|
34
28
|
* @param callback - The callback function to be called when a cell is hovered
|
|
35
29
|
* @returns A disposable object that can be used to unsubscribe from the event
|
|
36
30
|
*/
|
|
@@ -53,56 +47,65 @@ export interface IFWorkbookSheetsUIMixin {
|
|
|
53
47
|
/**
|
|
54
48
|
* Start the editing process
|
|
55
49
|
* @returns A boolean value
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* univerAPI.getActiveWorkbook().startEditing();
|
|
53
|
+
* ```
|
|
56
54
|
*/
|
|
57
55
|
startEditing(): boolean;
|
|
58
56
|
/**
|
|
57
|
+
* Use endEditingAsync as instead
|
|
58
|
+
* @deprecated
|
|
59
59
|
* End the editing process
|
|
60
60
|
* @async
|
|
61
61
|
* @param save - Whether to save the changes
|
|
62
62
|
* @returns A promise that resolves to a boolean value
|
|
63
|
-
*/
|
|
64
|
-
endEditing(save?: boolean): Promise<boolean>;
|
|
65
|
-
/**
|
|
66
|
-
* Get scroll state of specified sheet.
|
|
67
|
-
* @returns {IScrollState} scroll state
|
|
68
63
|
* @example
|
|
69
64
|
* ``` ts
|
|
70
|
-
* univerAPI.getActiveWorkbook().
|
|
65
|
+
* univerAPI.getActiveWorkbook().endEditing(true);
|
|
71
66
|
* ```
|
|
72
67
|
*/
|
|
68
|
+
endEditing(save?: boolean): Promise<boolean>;
|
|
69
|
+
/**
|
|
70
|
+
* @async
|
|
71
|
+
* @param {boolean} save - Whether to save the changes, default is true
|
|
72
|
+
* @returns {Promise<boolean>} A promise that resolves to a boolean value
|
|
73
|
+
*/
|
|
74
|
+
endEditingAsync(save?: boolean): Promise<boolean>;
|
|
73
75
|
getScrollStateBySheetId(sheetId: string): Nullable<IScrollState>;
|
|
74
76
|
/**
|
|
75
77
|
* Disable selection. After disabled, there would be no response for selection.
|
|
78
|
+
* @returns {FWorkbook} FWorkbook instance
|
|
76
79
|
* @example
|
|
77
|
-
* ```
|
|
80
|
+
* ```ts
|
|
78
81
|
* univerAPI.getActiveWorkbook().disableSelection();
|
|
79
82
|
* ```
|
|
80
83
|
*/
|
|
81
|
-
disableSelection():
|
|
84
|
+
disableSelection(): FWorkbook;
|
|
82
85
|
/**
|
|
83
86
|
* Enable selection. After this you can select range.
|
|
84
87
|
* @example
|
|
85
|
-
* ```
|
|
88
|
+
* ```ts
|
|
86
89
|
* univerAPI.getActiveWorkbook().enableSelection();
|
|
87
90
|
* ```
|
|
88
91
|
*/
|
|
89
|
-
enableSelection():
|
|
92
|
+
enableSelection(): FWorkbook;
|
|
90
93
|
/**
|
|
91
94
|
* Set selection invisible, Unlike disableSelection, selection still works, you just can not see them.
|
|
92
95
|
* @example
|
|
93
|
-
* ```
|
|
96
|
+
* ```ts
|
|
94
97
|
* univerAPI.getActiveWorkbook().transparentSelection();
|
|
95
98
|
* ```
|
|
96
99
|
*/
|
|
97
|
-
transparentSelection():
|
|
100
|
+
transparentSelection(): FWorkbook;
|
|
98
101
|
/**
|
|
99
102
|
* Set selection visible.
|
|
100
103
|
* @example
|
|
101
|
-
* ```
|
|
104
|
+
* ```ts
|
|
102
105
|
* univerAPI.getActiveWorkbook().showSelection();
|
|
103
106
|
* ```
|
|
104
107
|
*/
|
|
105
|
-
showSelection():
|
|
108
|
+
showSelection(): FWorkbook;
|
|
106
109
|
}
|
|
107
110
|
export declare class FWorkbookSheetsUIMixin extends FWorkbook implements IFWorkbookSheetsUIMixin {
|
|
108
111
|
openSiderbar(params: ISidebarMethodOptions): IDisposable;
|
|
@@ -115,11 +118,21 @@ export declare class FWorkbookSheetsUIMixin extends FWorkbook implements IFWorkb
|
|
|
115
118
|
onPointerMove(callback: (cell: Nullable<ICellPosWithEvent>, buttons: number) => void): IDisposable;
|
|
116
119
|
startEditing(): boolean;
|
|
117
120
|
endEditing(save?: boolean): Promise<boolean>;
|
|
121
|
+
endEditingAsync(save?: boolean): Promise<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* Get scroll state of specified sheet.
|
|
124
|
+
* @param {string} sheetId - sheet id
|
|
125
|
+
* @returns {IScrollState} scroll state
|
|
126
|
+
* @example
|
|
127
|
+
* ``` ts
|
|
128
|
+
* univerAPI.getActiveWorkbook().getScrollStateBySheetId($sheetId)
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
118
131
|
getScrollStateBySheetId(sheetId: string): Nullable<IScrollState>;
|
|
119
|
-
disableSelection():
|
|
120
|
-
enableSelection():
|
|
121
|
-
transparentSelection():
|
|
122
|
-
showSelection():
|
|
132
|
+
disableSelection(): FWorkbook;
|
|
133
|
+
enableSelection(): FWorkbook;
|
|
134
|
+
transparentSelection(): FWorkbook;
|
|
135
|
+
showSelection(): FWorkbook;
|
|
123
136
|
}
|
|
124
137
|
declare module '@univerjs/sheets/facade' {
|
|
125
138
|
interface FWorkbook extends IFWorkbookSheetsUIMixin {
|
|
@@ -5,7 +5,7 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
5
5
|
/**
|
|
6
6
|
* Refresh the canvas.
|
|
7
7
|
*/
|
|
8
|
-
refreshCanvas():
|
|
8
|
+
refreshCanvas(): FWorksheet;
|
|
9
9
|
/**
|
|
10
10
|
* Set zoom ratio of the worksheet.
|
|
11
11
|
* @param {number} zoomRatio The zoom ratio to set.It should be in the range of 10 to 400.
|
|
@@ -19,7 +19,7 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
19
19
|
* console.log(zoomRatio); // 200
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
zoom(zoomRatio: number):
|
|
22
|
+
zoom(zoomRatio: number): FWorksheet;
|
|
23
23
|
/**
|
|
24
24
|
* Get the zoom ratio of the worksheet.
|
|
25
25
|
* @returns The zoom ratio of the worksheet.
|
|
@@ -34,15 +34,27 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
34
34
|
getZoom(): number;
|
|
35
35
|
/**
|
|
36
36
|
* Return visible range, sum view range of 4 viewports.
|
|
37
|
-
* @returns IRange
|
|
37
|
+
* @returns {IRange} - visible range
|
|
38
|
+
* @example
|
|
39
|
+
* ``` ts
|
|
40
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
41
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
42
|
+
* const visibleRange = fWorksheet.getVisibleRange();
|
|
43
|
+
* ```
|
|
38
44
|
*/
|
|
39
45
|
getVisibleRange(): IRange;
|
|
40
46
|
/**
|
|
41
|
-
* Scroll spreadsheet to cell position.
|
|
42
|
-
*
|
|
43
|
-
* @param
|
|
47
|
+
* Scroll spreadsheet(viewMain) to cell position. Make the cell at topleft of current viewport.
|
|
48
|
+
* Based on the limitations of viewport and the number of rows and columns, you can only scroll to the maximum scrollable range.
|
|
49
|
+
* @param {number} row - Cell row index
|
|
50
|
+
* @param {number} column - Cell column index
|
|
51
|
+
* @returns {FWorksheet} - Current worksheet
|
|
52
|
+
* @example
|
|
53
|
+
* ``` ts
|
|
54
|
+
* univerAPI.getActiveWorkbook().getActiveSheet().scrollToCell(1, 1);
|
|
55
|
+
* ```
|
|
44
56
|
*/
|
|
45
|
-
scrollToCell(row: number, column: number):
|
|
57
|
+
scrollToCell(row: number, column: number): FWorksheet;
|
|
46
58
|
/**
|
|
47
59
|
* Get scroll state of current sheet.
|
|
48
60
|
* @returns {IScrollState} curr scroll state
|
|
@@ -51,10 +63,11 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
51
63
|
* univerAPI.getActiveWorkbook().getActiveSheet().getScrollState()
|
|
52
64
|
* ```
|
|
53
65
|
*/
|
|
54
|
-
getScrollState():
|
|
66
|
+
getScrollState(): IScrollState;
|
|
55
67
|
/**
|
|
56
68
|
* Invoked when scrolling the sheet.
|
|
57
|
-
* @param {function(
|
|
69
|
+
* @param {function(Nullable<IViewportScrollState>): void} callback The scrolling callback function.
|
|
70
|
+
* @returns {IDisposable} The disposable object to remove the event listener.
|
|
58
71
|
* @example
|
|
59
72
|
* ``` ts
|
|
60
73
|
* univerAPI.getActiveWorkbook().getActiveSheet().onScroll((params) => {...})
|
|
@@ -63,12 +76,12 @@ export interface IFWorksheetSkeletonMixin {
|
|
|
63
76
|
onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
|
|
64
77
|
}
|
|
65
78
|
export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWorksheetSkeletonMixin {
|
|
66
|
-
refreshCanvas():
|
|
67
|
-
zoom(zoomRatio: number):
|
|
79
|
+
refreshCanvas(): FWorksheet;
|
|
80
|
+
zoom(zoomRatio: number): FWorksheet;
|
|
68
81
|
getZoom(): number;
|
|
69
82
|
getVisibleRange(): IRange;
|
|
70
|
-
scrollToCell(row: number, column: number):
|
|
71
|
-
getScrollState():
|
|
83
|
+
scrollToCell(row: number, column: number): FWorksheet;
|
|
84
|
+
getScrollState(): IScrollState;
|
|
72
85
|
onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
|
|
73
86
|
}
|
|
74
87
|
declare module '@univerjs/sheets/facade' {
|
|
@@ -18,6 +18,7 @@ import './f-workbook';
|
|
|
18
18
|
import './f-worksheet';
|
|
19
19
|
import './f-permission';
|
|
20
20
|
import './f-sheet-hooks';
|
|
21
|
+
import './f-event';
|
|
21
22
|
export { type IFComponentKey, transformComponentKey } from './f-range';
|
|
22
23
|
export type * from './f-permission';
|
|
23
24
|
export type * from './f-sheet-hooks';
|
package/lib/types/index.d.ts
CHANGED
|
@@ -15,23 +15,14 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import './global.css';
|
|
17
17
|
export { getEditorObject } from './basics/editor/get-editor-object';
|
|
18
|
-
export { EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY, RANGE_SELECTOR_COMPONENT_KEY, SHEET_VIEW_KEY } from './common/keys';
|
|
19
18
|
export { useActiveWorkbook, useActiveWorksheet, useWorkbooks } from './components/hook';
|
|
20
19
|
export { SHEET_UI_PLUGIN_NAME } from './consts/plugin-name';
|
|
21
20
|
export { SheetsUIPart } from './consts/ui-name';
|
|
22
21
|
export { AutoFillController } from './controllers/auto-fill.controller';
|
|
23
|
-
export { AFFECT_LAYOUT_STYLES, AutoHeightController } from './controllers/auto-height.controller';
|
|
24
|
-
export { AutoWidthController } from './controllers/auto-width.controller';
|
|
25
22
|
export { CellCustomRenderController } from './controllers/cell-custom-render.controller';
|
|
26
|
-
export { type IUniverSheetsUIConfig } from './controllers/config.schema';
|
|
27
|
-
export { DragRenderController } from './controllers/drag-render.controller';
|
|
28
23
|
export { EditingRenderController } from './controllers/editor/editing.render-controller';
|
|
29
|
-
export { FormulaEditorController } from './controllers/editor/formula-editor.controller';
|
|
30
|
-
export { HoverRenderController } from './controllers/hover-render.controller';
|
|
31
24
|
export { PASTE_SPECIAL_MENU_ID, SheetMenuPosition } from './controllers/menu/menu';
|
|
32
25
|
export { deriveStateFromActiveSheet$, getCurrentExclusiveRangeInterest$, getCurrentRangeDisable$, getObservableWithExclusiveRange$ } from './controllers/menu/menu-util';
|
|
33
|
-
export { SheetPermissionInitController } from './controllers/permission/sheet-permission-init.controller';
|
|
34
|
-
export { SheetPermissionInterceptorBaseController } from './controllers/permission/sheet-permission-interceptor-base.controller';
|
|
35
26
|
export { HeaderFreezeRenderController } from './controllers/render-controllers/freeze.render-controller';
|
|
36
27
|
export { HeaderMoveRenderController } from './controllers/render-controllers/header-move.render-controller';
|
|
37
28
|
export { HeaderResizeRenderController } from './controllers/render-controllers/header-resize.render-controller';
|
|
@@ -39,10 +30,7 @@ export { SheetsScrollRenderController } from './controllers/render-controllers/s
|
|
|
39
30
|
export { SheetRenderController } from './controllers/render-controllers/sheet.render-controller';
|
|
40
31
|
export { SheetUIController } from './controllers/sheet-ui.controller';
|
|
41
32
|
export { whenFormulaEditorActivated, whenSheetEditorFocused } from './controllers/shortcuts/utils';
|
|
42
|
-
export { StatusBarController } from './controllers/status-bar.controller';
|
|
43
33
|
export { getCoordByCell, getCoordByOffset, getSheetObject, getTransformCoord, } from './controllers/utils/component-tools';
|
|
44
|
-
export { discreteRangeToRange, rangeToDiscreteRange, virtualizeDiscreteRanges } from './controllers/utils/range-tools';
|
|
45
|
-
export type { IDiscreteRange } from './controllers/utils/range-tools';
|
|
46
34
|
export { matchedSelectionByRowColIndex as checkInHeaderRanges } from './controllers/utils/selections-tools';
|
|
47
35
|
export { useHighlightRange } from './hooks/useHighlightRange';
|
|
48
36
|
export { UniverSheetsMobileUIPlugin } from './mobile-plugin';
|
|
@@ -65,6 +53,16 @@ export { IFormulaEditorManagerService } from './services/editor/formula-editor-m
|
|
|
65
53
|
export { HoverManagerService } from './services/hover-manager.service';
|
|
66
54
|
export type { ICellPosWithEvent, IHoverCellPosition, IHoverRichTextInfo, IHoverRichTextPosition } from './services/hover-manager.service';
|
|
67
55
|
export { IMarkSelectionService, MarkSelectionService } from './services/mark-selection/mark-selection.service';
|
|
56
|
+
export { HoverRenderController } from './controllers/hover-render.controller';
|
|
57
|
+
export { DragRenderController } from './controllers/drag-render.controller';
|
|
58
|
+
export { EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY, RANGE_SELECTOR_COMPONENT_KEY, SHEET_VIEW_KEY } from './common/keys';
|
|
59
|
+
export type { IDiscreteRange } from './controllers/utils/range-tools';
|
|
60
|
+
export { discreteRangeToRange, rangeToDiscreteRange, virtualizeDiscreteRanges } from './controllers/utils/range-tools';
|
|
61
|
+
export { AFFECT_LAYOUT_STYLES, AutoHeightController } from './controllers/auto-height.controller';
|
|
62
|
+
export { AutoWidthController } from './controllers/auto-width.controller';
|
|
63
|
+
export { FormulaEditorController } from './controllers/editor/formula-editor.controller';
|
|
64
|
+
export { StatusBarController } from './controllers/status-bar.controller';
|
|
65
|
+
export { SheetPermissionCheckUIController } from './controllers/permission/sheet-permission-check-ui.controller';
|
|
68
66
|
export { SheetPermissionUserManagerService } from './services/permission/sheet-permission-user-list.service';
|
|
69
67
|
export { SheetPrintInterceptorService } from './services/print-interceptor.service';
|
|
70
68
|
export { SheetScrollManagerService } from './services/scroll-manager.service';
|
|
@@ -82,6 +80,8 @@ export { MobileSheetBar } from './views/mobile/sheet-bar/MobileSheetBar';
|
|
|
82
80
|
export type { IRangeProtectionRenderCellData } from './views/permission/extensions/range-protection.render';
|
|
83
81
|
export { SheetBar } from './views/sheet-bar/SheetBar';
|
|
84
82
|
export { RenderSheetContent, RenderSheetFooter, RenderSheetHeader } from './views/sheet-container/SheetContainer';
|
|
83
|
+
export { SheetPermissionInitController } from '@univerjs/sheets/controllers/permission/sheet-permission-init.controller.js';
|
|
84
|
+
export { type IUniverSheetsUIConfig } from './controllers/config.schema';
|
|
85
85
|
export { getCellRealRange } from './common/utils';
|
|
86
86
|
export { FONT_FAMILY_COMPONENT, FONT_FAMILY_ITEM_COMPONENT } from './components/font-family/interface';
|
|
87
87
|
export { FONT_SIZE_COMPONENT } from './components/font-size/interface';
|
|
@@ -94,7 +94,7 @@ export type { IFormatPainterBeforeApplyHookParams, IFormatPainterHook } from './
|
|
|
94
94
|
export { SELECTION_SHAPE_DEPTH } from './services/selection/const';
|
|
95
95
|
export { type IBaseSheetBarProps } from './views/sheet-bar/sheet-bar-tabs/SheetBarItem';
|
|
96
96
|
export { AutoClearContentCommand, AutoFillCommand } from './commands/commands/auto-fill.command';
|
|
97
|
-
export { type ISheetPasteParams, SheetCopyCommand, SheetCutCommand, SheetPasteBesidesBorderCommand, SheetPasteColWidthCommand, SheetPasteCommand, SheetPasteFormatCommand, SheetPasteShortKeyCommand, SheetPasteValueCommand, } from './commands/commands/clipboard.command';
|
|
97
|
+
export { type ISheetPasteByShortKeyParams, type ISheetPasteParams, SheetCopyCommand, SheetCutCommand, SheetPasteBesidesBorderCommand, SheetPasteColWidthCommand, SheetPasteCommand, SheetPasteFormatCommand, SheetPasteShortKeyCommand, SheetPasteValueCommand, } from './commands/commands/clipboard.command';
|
|
98
98
|
export { DeleteRangeMoveLeftConfirmCommand } from './commands/commands/delete-range-move-left-confirm.command';
|
|
99
99
|
export { DeleteRangeMoveUpConfirmCommand } from './commands/commands/delete-range-move-up-confirm.command';
|
|
100
100
|
export { HideColConfirmCommand, HideRowConfirmCommand } from './commands/commands/hide-row-col-confirm.command';
|
|
@@ -12,11 +12,19 @@ export interface IScrollState {
|
|
|
12
12
|
*/
|
|
13
13
|
offsetY: number;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Current start row in viewportMain in canvas, NOT the first row of visible area of current viewport after freeze.
|
|
16
|
+
* e.g. If no freeze, it's the same as startRow in current viewport.
|
|
17
|
+
* If freeze, this value is smaller than the first row of visible area. Just pretend that viewMainTop does not exist.
|
|
18
|
+
*
|
|
19
|
+
* e.g. If row 1 ~ 2 is frozen, the first row if viewMain is 3, but sheetViewStartRow still 0.
|
|
16
20
|
*/
|
|
17
21
|
sheetViewStartRow: number;
|
|
18
22
|
/**
|
|
19
|
-
*
|
|
23
|
+
* Current start column in viewportMain in canvas, NOT the first column of visible area of current viewport after freeze.
|
|
24
|
+
* e.g. If no freeze, it's the same as startColumn in current viewport.
|
|
25
|
+
* If freeze, this value is smaller than the first column of visible area. Just pretend that viewMainLeft does not exist.
|
|
26
|
+
*
|
|
27
|
+
* e.g. If column A ~ C is frozen, the first column of viewMain is D, but sheetViewStartColumn still 0.
|
|
20
28
|
*/
|
|
21
29
|
sheetViewStartColumn: number;
|
|
22
30
|
}
|
|
@@ -74,8 +82,8 @@ export declare class SheetScrollManagerService implements IRenderModule {
|
|
|
74
82
|
dispose(): void;
|
|
75
83
|
setSearchParam(param: IScrollStateSearchParam): void;
|
|
76
84
|
setSearchParamAndRefresh(param: IScrollStateSearchParam): void;
|
|
77
|
-
getScrollStateByParam(param: IScrollStateSearchParam): Readonly<
|
|
78
|
-
getCurrentScrollState(): Readonly<
|
|
85
|
+
getScrollStateByParam(param: IScrollStateSearchParam): Readonly<IScrollState>;
|
|
86
|
+
getCurrentScrollState(): Readonly<IScrollState>;
|
|
79
87
|
/**
|
|
80
88
|
* Set scrollInfo by SetScrollOperation, call by ScrollCommand.id.
|
|
81
89
|
* @param param
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(a,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/sheets-ui"),require("@univerjs/sheets/facade"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs","@univerjs/sheets"],i):(a=typeof globalThis<"u"?globalThis:a||self,i(a.UniverSheetsUiFacade={},a.UniverCore,a.UniverEngineRender,a.UniverSheetsUi,a.UniverSheetsFacade,a.UniverUi,a.rxjs,a.UniverSheets))})(this,function(a,i,c,o,l,S,v,m){"use strict";class I extends i.FUniver{customizeColumnHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}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,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){const n=this._injector.get(c.IRenderManagerService).getRenderById(e);if(!n)throw new Error(`Render Unit with unitId ${e} not found`);const{components:s}=n,d=s.get(t);if(!d)throw new Error("Render component not found");return d}getSheetHooks(){return this._injector.createInstance(l.FSheetHooks)}}i.FUniver.extend(I);class C extends l.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(S.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const r=this._injector.get(S.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}_logDeprecation(e){this._injector.get(i.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}onCellClick(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentClickedCell$.pipe(v.filter(r=>!!r)).subscribe(e))}onCellHover(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentRichText$.pipe(v.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentPointerUpCell$.subscribe(e))}onPointerMove(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentCellPosWithEvent$.pipe(v.filter(r=>!!r)).subscribe(r=>{e(r,r.event.buttons)}))}startEditing(){return this._injector.get(i.ICommandService).syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:c.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(i.ICommandService).syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:c.DeviceInputEventType.Keyboard,keycode:e?S.KeyCode.ENTER:S.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await i.awaitTime(0),!0}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),n=this._injector.get(c.IRenderManagerService).getRenderById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).disableSelection()}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).enableSelection()}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).transparentSelection()}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).showSelection()}}l.FWorkbook.extend(C);class _ extends l.FWorksheet{refreshCanvas(){const e=this._injector.get(c.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(o.SheetSkeletonManagerService).reCalculate();const n=r.mainComponent;if(!n)throw new Error("Main component not found");n.makeDirty()}zoom(e){return this._injector.get(i.ICommandService).executeCommand(o.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e})}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);let n={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return n;const d=r.with(o.SheetSkeletonManagerService).getCurrentSkeleton();if(!d)return n;const h=d==null?void 0:d.getVisibleRanges();if(!h)return n;n=d.getVisibleRangeByViewport(c.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[w,u]of h)c.sheetContentViewportKeys.indexOf(w)!==-1&&(n.startColumn=Math.min(n.startColumn,u.startColumn),n.startRow=Math.min(n.startRow,u.startRow),n.endColumn=Math.max(n.endColumn,u.endColumn),n.endRow=Math.max(n.endRow,u.endRow));return n}scrollToCell(e,t){const r=this._workbook.getUnitId(),s=this._injector.get(c.IRenderManagerService).getRenderById(r);s&&(s==null?void 0:s.with(o.SheetsScrollRenderController)).scrollToCell(e,t)}getScrollState(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(c.IRenderManagerService).getRenderById(e);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:e,sheetId:t}):null}onScroll(e){var s;const t=this._workbook.getUnitId(),n=(s=this._injector.get(c.IRenderManagerService).getRenderById(t))==null?void 0:s.with(o.SheetScrollManagerService);if(n){const d=n.validViewportScrollInfo$.subscribe(h=>{e(h)});return i.toDisposable(d)}return i.toDisposable(()=>{})}}l.FWorksheet.extend(_);class k extends l.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}l.FPermission.extend(k);class b extends l.FSheetHooks{onCellPointerMove(e){return i.toDisposable(this._injector.get(o.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return i.toDisposable(this._injector.get(o.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return i.toDisposable(this._injector.get(o.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return i.toDisposable(this._injector.get(o.DragManagerService).endCell$.subscribe(e))}onCellRender(e,t=i.InterceptorEffectEnum.Style,r=m.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(m.SheetInterceptorService).intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(n,s,d)=>d({...n,customRender:[...(n==null?void 0:n.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(i.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===o.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(i.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===o.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}l.FSheetHooks.extend(b);class M extends l.FRange{getCell(){const e=this._injector.get(c.IRenderManagerService),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return e.getRenderById(t).with(o.SheetSkeletonManagerService).getWorksheetSkeleton(r).skeleton.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:n}=this.getCell(),s={x:e,y:t,width:r-e,height:n-t,top:t,left:e,bottom:n,right:r};return{...s,toJSON:()=>JSON.stringify(s)}}generateHTML(){var t;const e=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){const{key:t,disposableCollection:r}=p(e,this._injector.get(S.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return s?(r.add(s),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(o.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)}}}highlight(e,t){const r=this._injector.get(o.IMarkSelectionService),n=r.addShape({range:this._range,style:e,primary:t});if(!n)throw new Error("Failed to highlight current range");return i.toDisposable(()=>{r.removeShape(n)})}}l.FRange.extend(M);function p(g,e){const{componentKey:t,isVue3:r}=g;let n;const s=new i.DisposableCollection;return typeof t=="string"?n=t:(n=`External_${i.generateRandomId(6)}`,s.add(e.register(n,t,{framework:r?"vue3":"react"}))),{key:n,disposableCollection:s}}a.transformComponentKey=p,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(l,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/sheets-ui"),require("@univerjs/sheets/facade"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs","@univerjs/sheets"],i):(l=typeof globalThis<"u"?globalThis:l||self,i(l.UniverSheetsUiFacade={},l.UniverCore,l.UniverEngineRender,l.UniverSheetsUi,l.UniverSheetsFacade,l.UniverUi,l.rxjs,l.UniverSheets))})(this,function(l,i,d,o,g,c,p,m){"use strict";class I extends i.FUniver{_initialize(e){const t=e.get(i.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{switch(r.id){case c.CopyCommand.id:case c.CutCommand.id:this._beforeClipboardChange();break;case o.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(r.params);break}})),this.disposeWithMe(t.onCommandExecuted(r=>{switch(r.id){case c.CopyCommand.id:case c.CutCommand.id:this._clipboardChanged();break;case o.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.getActiveUniverSheet(),t=e==null?void 0:e.getActiveSheet(),r=e==null?void 0:e.getActiveRange();if(!e||!t||!r)return;const s=this._injector.get(o.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!s)return;const{html:a,plain:h}=s;return{workbook:e,worksheet:t,text:h,html:a,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,n=this.getActiveUniverSheet(),s=n==null?void 0:n.getActiveSheet();return!n||!s?void 0:{workbook:n,worksheet:s,text:r,html:t}}async _generateClipboardPasteParamAsync(){const e=this.getActiveUniverSheet(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;const s=(await this._injector.get(c.IClipboardInterfaceService).read())[0];let a;if(s){const h=s.types,v=h.indexOf(c.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await s.getType(c.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(C=>C&&C.text()):"",u=h.indexOf(c.HTML_CLIPBOARD_MIME_TYPE)!==-1?await s.getType(c.HTML_CLIPBOARD_MIME_TYPE).then(C=>C&&C.text()):"";a={workbook:e,worksheet:t,text:v,html:u}}return a}_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(i.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(i.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 t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}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,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){const n=this._injector.get(d.IRenderManagerService).getRenderById(e);if(!n)throw new Error(`Render Unit with unitId ${e} not found`);const{components:s}=n,a=s.get(t);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(g.FSheetHooks)}}i.FUniver.extend(I);class _ extends g.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(i.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}onCellClick(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentClickedCell$.pipe(p.filter(r=>!!r)).subscribe(e))}onCellHover(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentRichText$.pipe(p.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentPointerUpCell$.subscribe(e))}onPointerMove(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentCellPosWithEvent$.pipe(p.filter(r=>!!r)).subscribe(r=>{e(r,r.event.buttons)}))}startEditing(){return this._injector.get(i.ICommandService).syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:d.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(i.ICommandService).syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:d.DeviceInputEventType.Keyboard,keycode:e?c.KeyCode.ENTER:c.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await i.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),n=this._injector.get(d.IRenderManagerService).getRenderById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(d.IRenderManagerService).getRenderById(e);return r&&r.with(o.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(d.IRenderManagerService).getRenderById(e);return r&&r.with(o.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(d.IRenderManagerService).getRenderById(e);return r&&r.with(o.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(d.IRenderManagerService).getRenderById(e);return r&&r.with(o.ISheetSelectionRenderService).showSelection(),this}}g.FWorkbook.extend(_);class f extends g.FWorksheet{refreshCanvas(){const e=this._injector.get(d.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(o.SheetSkeletonManagerService).reCalculate();const n=r.mainComponent;if(!n)throw new Error("Main component not found");return n.makeDirty(),this}zoom(e){return this._injector.get(i.ICommandService).syncExecuteCommand(o.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(d.IRenderManagerService).getRenderById(e);let n={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return n;const a=r.with(o.SheetSkeletonManagerService).getCurrentSkeleton();if(!a)return n;const h=a==null?void 0:a.getVisibleRanges();if(!h)return n;n=a.getVisibleRangeByViewport(d.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[v,u]of h)d.sheetContentViewportKeys.indexOf(v)!==-1&&(n.startColumn=Math.min(n.startColumn,u.startColumn),n.startRow=Math.min(n.startRow,u.startRow),n.endColumn=Math.max(n.endColumn,u.endColumn),n.endRow=Math.max(n.endRow,u.endRow));return n}scrollToCell(e,t){const r=this._workbook.getUnitId(),s=this._injector.get(d.IRenderManagerService).getRenderById(r);return s&&(s==null?void 0:s.with(o.SheetsScrollRenderController)).scrollToCell(e,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=this._injector.get(d.IRenderManagerService).getRenderById(t);return s&&s.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:r})||e}onScroll(e){var s;const t=this._workbook.getUnitId(),n=(s=this._injector.get(d.IRenderManagerService).getRenderById(t))==null?void 0:s.with(o.SheetScrollManagerService);if(n){const a=n.validViewportScrollInfo$.subscribe(h=>{e(h)});return i.toDisposable(a)}return i.toDisposable(()=>{})}}g.FWorksheet.extend(f);class E extends g.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}g.FPermission.extend(E);class w extends g.FSheetHooks{onCellPointerMove(e){return i.toDisposable(this._injector.get(o.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return i.toDisposable(this._injector.get(o.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return i.toDisposable(this._injector.get(o.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return i.toDisposable(this._injector.get(o.DragManagerService).endCell$.subscribe(e))}onCellRender(e,t=i.InterceptorEffectEnum.Style,r=m.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(m.SheetInterceptorService).intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(n,s,a)=>a({...n,customRender:[...(n==null?void 0:n.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(i.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===o.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(i.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===o.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}g.FSheetHooks.extend(w);class k extends i.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}}i.FEventName.extend(k);class M extends g.FRange{getCell(){const e=this._injector.get(d.IRenderManagerService),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return e.getRenderById(t).with(o.SheetSkeletonManagerService).getWorksheetSkeleton(r).skeleton.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:n}=this.getCell(),s={x:e,y:t,width:r-e,height:n-t,top:t,left:e,bottom:n,right:r};return{...s,toJSON:()=>JSON.stringify(s)}}generateHTML(){var t;const e=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){var a,h,v;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(h=e.extraProps)!=null?h:{},e.offset=(v=e.offset)!=null?v:[0,0];const{key:t,disposableCollection:r}=b(e,this._injector.get(c.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return s?(r.add(s),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(o.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)}}}highlight(e,t){const r=this._injector.get(o.IMarkSelectionService),n=r.addShape({range:this._range,style:e,primary:t});if(!n)throw new Error("Failed to highlight current range");return i.toDisposable(()=>{r.removeShape(n)})}}g.FRange.extend(M);function b(S,e){const{componentKey:t,isVue3:r}=S;let n;const s=new i.DisposableCollection;return typeof t=="string"?n=t:(n=`External_${i.generateRandomId(6)}`,s.add(e.register(n,t,{framework:r?"vue3":"react"}))),{key:n,disposableCollection:s}}l.transformComponentKey=b,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
|