@univerjs/sheets 0.5.1 → 0.5.2-nightly.202412281605

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.
Files changed (35) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +3 -3
  3. package/lib/es/facade.js +1962 -500
  4. package/lib/es/index.js +3640 -3263
  5. package/lib/types/basics/cell-position.d.ts +25 -0
  6. package/lib/types/basics/index.d.ts +1 -0
  7. package/lib/types/basics/selection.d.ts +1 -1
  8. package/lib/types/basics/split-range-text.d.ts +42 -0
  9. package/lib/types/commands/commands/__tests__/set-gridlines-command.spec.d.ts +16 -0
  10. package/lib/types/commands/commands/add-worksheet-merge.command.d.ts +1 -1
  11. package/lib/types/commands/commands/set-gridlines-color.command.d.ts +7 -0
  12. package/lib/types/commands/commands/set-worksheet-show.command.d.ts +0 -1
  13. package/lib/types/commands/commands/split-text-to-columns.command.d.ts +15 -0
  14. package/lib/types/commands/mutations/set-gridlines-color.mutation.d.ts +12 -0
  15. package/lib/types/controllers/defined-name-data.controller.d.ts +1 -0
  16. package/lib/types/facade/f-defined-name.d.ts +294 -0
  17. package/lib/types/facade/f-permission.d.ts +49 -1
  18. package/lib/types/facade/f-range.d.ts +99 -5
  19. package/lib/types/facade/f-selection.d.ts +71 -1
  20. package/lib/types/facade/f-univer.d.ts +17 -3
  21. package/lib/types/facade/f-workbook.d.ts +345 -7
  22. package/lib/types/facade/f-worksheet.d.ts +350 -11
  23. package/lib/types/index.d.ts +13 -2
  24. package/lib/types/services/__tests__/move-active-cell.spec.d.ts +16 -0
  25. package/lib/types/services/exclusive-range/exclusive-range-service.d.ts +12 -0
  26. package/lib/types/services/permission/permission-point/const.d.ts +82 -0
  27. package/lib/types/services/ref-range/util.d.ts +1 -1
  28. package/lib/types/services/selections/index.d.ts +1 -1
  29. package/lib/types/services/selections/move-active-cell-util.d.ts +10 -0
  30. package/lib/types/services/selections/selection-data-model.d.ts +5 -10
  31. package/lib/types/services/selections/selection.service.d.ts +21 -1
  32. package/lib/umd/facade.js +1 -1
  33. package/lib/umd/index.js +3 -3
  34. package/package.json +8 -8
  35. package/LICENSE +0 -176
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export interface ICellOverGridPosition {
17
+ column: number;
18
+ columnOffset: number;
19
+ row: number;
20
+ rowOffset: number;
21
+ }
22
+ export interface ISheetOverGridPosition {
23
+ from: ICellOverGridPosition;
24
+ to: ICellOverGridPosition;
25
+ }
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ export * from './cell-position';
16
17
  export * from './const/index';
17
18
  export * from './interfaces/index';
18
19
  export * from './selection';
@@ -120,7 +120,7 @@ export interface ISelectionWithStyle extends ISelection {
120
120
  * if primary is not defined, means not keep current primary cell.
121
121
  */
122
122
  primary: Nullable<ISelectionCell>;
123
- style: Nullable<Partial<ISelectionStyle>>;
123
+ style?: Nullable<Partial<ISelectionStyle>>;
124
124
  }
125
125
  export interface ISheetRangeLocation {
126
126
  range: IRange;
@@ -0,0 +1,42 @@
1
+ import { IRange, Worksheet } from '@univerjs/core';
2
+ /**
3
+ * The default delimiter to split the text.
4
+ */
5
+ export declare enum SplitDelimiterEnum {
6
+ /**
7
+ * The tab character
8
+ */
9
+ Tab = 1,
10
+ /**
11
+ * The comma character
12
+ */
13
+ Comma = 2,
14
+ /**
15
+ * The semicolon character
16
+ */
17
+ Semicolon = 4,
18
+ /**
19
+ * The space character
20
+ */
21
+ Space = 8,
22
+ /**
23
+ * The custom delimiter
24
+ */
25
+ Custom = 16
26
+ }
27
+ interface ISplitRangeTextResult {
28
+ rs: (string[] | undefined)[];
29
+ maxLength: number;
30
+ lastRow: number;
31
+ }
32
+ /**
33
+ * Split the text in the range into a two-dimensional array.
34
+ * @param {Worksheet} sheet The worksheet which range belongs to.
35
+ * @param {IRange} range The range to split.
36
+ * @param {SplitDelimiterEnum} [delimiter] The delimiter to split the text.
37
+ * @param {string} [customDelimiter] The custom delimiter to split the text. An error will be thrown if customDelimiter is not a character.
38
+ * @param {boolean} [treatMultipleDelimitersAsOne] split multiple delimiters as one.
39
+ * @returns {ISplitRangeTextResult} The two-dimensional array of the split text and max column length.
40
+ */
41
+ export declare function splitRangeText(sheet: Worksheet, range: IRange, delimiter?: SplitDelimiterEnum, customDelimiter?: string, treatMultipleDelimitersAsOne?: boolean): ISplitRangeTextResult;
42
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -9,4 +9,4 @@ export declare const AddWorksheetMergeCommand: ICommand;
9
9
  export declare const AddWorksheetMergeAllCommand: ICommand;
10
10
  export declare const AddWorksheetMergeVerticalCommand: ICommand;
11
11
  export declare const AddWorksheetMergeHorizontalCommand: ICommand;
12
- export declare function addMergeCellsUtil(injector: Injector, unitId: string, subUnitId: string, ranges: IRange[]): Promise<void>;
12
+ export declare function addMergeCellsUtil(injector: Injector, unitId: string, subUnitId: string, ranges: IRange[], defaultMerge: boolean): Promise<void>;
@@ -0,0 +1,7 @@
1
+ import { ICommand } from '@univerjs/core';
2
+ export interface ISetGridlinesColorCommandParams {
3
+ color: string | undefined;
4
+ unitId?: string;
5
+ subUnitId?: string;
6
+ }
7
+ export declare const SetGridlinesColorCommand: ICommand;
@@ -2,6 +2,5 @@ import { ICommand } from '@univerjs/core';
2
2
  export interface ISetWorksheetShowCommandParams {
3
3
  unitId: string;
4
4
  subUnitId: string;
5
- value?: string;
6
5
  }
7
6
  export declare const SetWorksheetShowCommand: ICommand;
@@ -0,0 +1,15 @@
1
+ import { IAccessor, IRange, CommandType } from '@univerjs/core';
2
+ import { SplitDelimiterEnum } from '../../basics/split-range-text';
3
+ export interface ISplitTextToColumnsCommandParams {
4
+ unitId: string;
5
+ subUnitId: string;
6
+ range: IRange;
7
+ delimiter?: SplitDelimiterEnum;
8
+ customDelimiter?: string;
9
+ treatMultipleDelimitersAsOne?: boolean;
10
+ }
11
+ export declare const SplitTextToColumnsCommand: {
12
+ type: CommandType;
13
+ id: string;
14
+ handler: (accessor: IAccessor, params: ISplitTextToColumnsCommandParams) => Promise<boolean>;
15
+ };
@@ -0,0 +1,12 @@
1
+ import { IAccessor, IMutation } from '@univerjs/core';
2
+ export interface ISetGridlinesColorMutationParams {
3
+ color: string | undefined;
4
+ unitId: string;
5
+ subUnitId: string;
6
+ }
7
+ export declare const SetGridlinesColorUndoMutationFactory: (accessor: IAccessor, params: ISetGridlinesColorMutationParams) => {
8
+ unitId: string;
9
+ subUnitId: string;
10
+ color: string | undefined;
11
+ };
12
+ export declare const SetGridlinesColorMutation: IMutation<ISetGridlinesColorMutationParams>;
@@ -1,5 +1,6 @@
1
1
  import { Disposable, IResourceManagerService } from '@univerjs/core';
2
2
  import { IDefinedNamesService } from '@univerjs/engine-formula';
3
+ export declare const SCOPE_WORKBOOK_VALUE_DEFINED_NAME = "AllDefaultWorkbook";
3
4
  export declare class DefinedNameDataController extends Disposable {
4
5
  private readonly _definedNamesService;
5
6
  private _resourceManagerService;
@@ -0,0 +1,294 @@
1
+ import { FWorksheet } from './f-worksheet';
2
+ import { FBase, IAuthzIoService, ICommandService, Injector, IPermissionService, LocaleService } from '@univerjs/core';
3
+ import { IDefinedNamesService, ISetDefinedNameMutationParam } from '@univerjs/engine-formula';
4
+ import { RangeProtectionRuleModel, WorksheetProtectionPointModel, WorksheetProtectionRuleModel } from '@univerjs/sheets';
5
+ export declare class FDefinedNameBuilder {
6
+ private _definedNameParam;
7
+ constructor();
8
+ /**
9
+ * Sets the name of the defined name builder.
10
+ * @param name The name of the defined name.
11
+ * @returns The defined name builder.
12
+ * @example
13
+ * ```ts
14
+ * const workbook = UniverAPI.getActiveWorkbook();
15
+ * const definedNameBuilder = UniverAPI.newDefinedName()
16
+ * .setName('MyDefinedName')
17
+ * .build();
18
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
19
+ * ```
20
+ */
21
+ setName(name: string): FDefinedNameBuilder;
22
+ /**
23
+ * Sets the formula of the defined name builder.
24
+ * @param formula The formula of the defined name.
25
+ * @returns The defined name builder.
26
+ * @example
27
+ * ```ts
28
+ * const workbook = UniverAPI.getActiveWorkbook();
29
+ * const definedNameBuilder = UniverAPI.newDefinedName()
30
+ * .setFormula('SUM(Sheet1!$A$1)')
31
+ * .setName('MyDefinedName')
32
+ * .build();
33
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
34
+ * ```
35
+ */
36
+ setFormula(formula: string): FDefinedNameBuilder;
37
+ /**
38
+ * Sets the reference of the defined name builder.
39
+ * @param refString The reference of the defined name.
40
+ * @returns The defined name builder.
41
+ * @example
42
+ * ```ts
43
+ * const workbook = UniverAPI.getActiveWorkbook();
44
+ * const definedNameBuilder = UniverAPI.newDefinedName()
45
+ * .setRef('Sheet1!$A$1')
46
+ * .build();
47
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
48
+ * ```
49
+ */
50
+ setRef(a1Notation: string): FDefinedNameBuilder;
51
+ /**
52
+ * Sets the reference of the defined name builder by range .
53
+ * @param row The start row of the range.
54
+ * @param column The start column of the range.
55
+ * @param numRows The number of rows in the range.
56
+ * @param numColumns The number of columns in the range.
57
+ * @returns The defined name builder.
58
+ * @example
59
+ * ```ts
60
+ * const workbook = UniverAPI.getActiveWorkbook();
61
+ * const definedNameBuilder = UniverAPI.newDefinedName()
62
+ * .setRefByRange(1, 3, 2, 5)
63
+ * .build();
64
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
65
+ * ```
66
+ */
67
+ setRefByRange(row: number, column: number, numRows: number, numColumns: number): FDefinedNameBuilder;
68
+ /**
69
+ * Sets the comment of the defined name builder.
70
+ * @param comment The comment of the defined name.
71
+ * @returns The defined name builder.
72
+ * @example
73
+ * ```ts
74
+ * const workbook = UniverAPI.getActiveWorkbook();
75
+ * const definedNameBuilder = UniverAPI.newDefinedName()
76
+ * .setComment('This is a comment')
77
+ * .build();
78
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
79
+ * ```
80
+ */
81
+ setComment(comment: string): FDefinedNameBuilder;
82
+ /**
83
+ * Sets the hidden status of the defined name builder.
84
+ * @param hidden The hidden status of the defined name.
85
+ * @returns The defined name builder.
86
+ * @example
87
+ * ```ts
88
+ * const workbook = UniverAPI.getActiveWorkbook();
89
+ * const definedNameBuilder = UniverAPI.newDefinedName()
90
+ * .setHidden(true)
91
+ * .build();
92
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
93
+ * ```
94
+ */
95
+ setHidden(hidden: boolean): FDefinedNameBuilder;
96
+ /**
97
+ * Builds the defined name.
98
+ * @returns The defined name mutation parameter.
99
+ * @example
100
+ * ```ts
101
+ * const workbook = UniverAPI.getActiveWorkbook();
102
+ * const definedNameBuilder = UniverAPI.newDefinedName()
103
+ * .setRef('Sheet1!$A$1')
104
+ * .setName('MyDefinedName')
105
+ * .build();
106
+ * workbook.insertDefinedNameBuilder(definedNameBuilder);
107
+ * ```
108
+ */
109
+ build(): ISetDefinedNameMutationParam;
110
+ load(param: ISetDefinedNameMutationParam): FDefinedNameBuilder;
111
+ }
112
+ export declare class FDefinedName extends FBase {
113
+ protected _definedNameParam: ISetDefinedNameMutationParam;
114
+ protected readonly _injector: Injector;
115
+ protected readonly _commandService: ICommandService;
116
+ protected readonly _permissionService: IPermissionService;
117
+ protected readonly _worksheetProtectionRuleModel: WorksheetProtectionRuleModel;
118
+ protected readonly _rangeProtectionRuleModel: RangeProtectionRuleModel;
119
+ protected readonly _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel;
120
+ protected readonly _authzIoService: IAuthzIoService;
121
+ protected readonly _localeService: LocaleService;
122
+ protected readonly _definedNamesService: IDefinedNamesService;
123
+ constructor(_definedNameParam: ISetDefinedNameMutationParam, _injector: Injector, _commandService: ICommandService, _permissionService: IPermissionService, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel, _authzIoService: IAuthzIoService, _localeService: LocaleService, _definedNamesService: IDefinedNamesService);
124
+ private _apply;
125
+ /**
126
+ * Gets the name of the defined name.
127
+ * @returns The name of the defined name.
128
+ * @example
129
+ * ```ts
130
+ * const workbook = UniverAPI.getActiveWorkbook();
131
+ * const definedName = workbook.getDefinedNames[0];
132
+ * console.log(definedName.getName());
133
+ * ```
134
+ */
135
+ getName(): string;
136
+ /**
137
+ * Sets the name of the defined name.
138
+ * @param name The name of the defined name.
139
+ * @example
140
+ * ```ts
141
+ * const workbook = UniverAPI.getActiveWorkbook();
142
+ * const definedName = workbook.getDefinedName('MyDefinedName');
143
+ * definedName.setName('NewDefinedName');
144
+ * ```
145
+ */
146
+ setName(name: string): void;
147
+ /**
148
+ * Sets the formula of the defined name.
149
+ * @param formula The formula of the defined name.
150
+ * @example
151
+ * ```ts
152
+ * const workbook = UniverAPI.getActiveWorkbook();
153
+ * const definedName = workbook.getDefinedName('MyDefinedName');
154
+ * definedName.setFormula('SUM(Sheet1!$A$1)');
155
+ * ```
156
+ */
157
+ setFormula(formula: string): void;
158
+ /**
159
+ * Sets the reference of the defined name.
160
+ * @param refString The reference of the defined name.
161
+ * @example
162
+ * ```ts
163
+ * const workbook = UniverAPI.getActiveWorkbook();
164
+ * const definedName = workbook.getDefinedNames[0];
165
+ * definedName.setRef('Sheet1!$A$1');
166
+ * ```
167
+ */
168
+ setRef(refString: string): void;
169
+ /**
170
+ * Gets the reference of the defined name.
171
+ * @returns The reference of the defined name.
172
+ * @example
173
+ * ```ts
174
+ * const workbook = UniverAPI.getActiveWorkbook();
175
+ * const definedName = workbook.getDefinedNames[0];
176
+ * console.log(definedName.getFormulaOrRefString());
177
+ * ```
178
+ */
179
+ getFormulaOrRefString(): string;
180
+ /**
181
+ * Sets the reference of the defined name by range.
182
+ * @param row The start row of the range.
183
+ * @param column The start column of the range.
184
+ * @param numRows The number of rows in the range.
185
+ * @param numColumns The number of columns in the range.
186
+ * @example
187
+ * ```ts
188
+ * const workbook = UniverAPI.getActiveWorkbook();
189
+ * const definedName = workbook.getDefinedNames[0];
190
+ * definedName.setRefByRange(1, 3, 2, 5);
191
+ * ```
192
+ */
193
+ setRefByRange(row: number, column: number, numRows: number, numColumns: number): void;
194
+ /**
195
+ * Gets the comment of the defined name.
196
+ * @returns The comment of the defined name.
197
+ * @example
198
+ * ```ts
199
+ * const workbook = UniverAPI.getActiveWorkbook();
200
+ * const definedName = workbook.getDefinedNames[0];
201
+ * console.log(definedName.getComment());
202
+ * ```
203
+ */
204
+ getComment(): string | undefined;
205
+ /**
206
+ * Sets the comment of the defined name.
207
+ * @param comment The comment of the defined name.
208
+ * @example
209
+ * ```ts
210
+ * const workbook = UniverAPI.getActiveWorkbook();
211
+ * const definedName = workbook.getDefinedNames[0];
212
+ * definedName.setComment('This is a comment');
213
+ * ```
214
+ */
215
+ setComment(comment: string): void;
216
+ /**
217
+ * Sets the scope of the defined name to the worksheet.
218
+ * @param worksheet The worksheet to set the scope to.
219
+ * @example
220
+ * ```ts
221
+ * const workbook = UniverAPI.getActiveWorkbook();
222
+ * const worksheet = workbook.getWorksheets[0];
223
+ * const definedName = workbook.getDefinedNames[0];
224
+ * definedName.setScopeToWorksheet(worksheet);
225
+ * ```
226
+ */
227
+ setScopeToWorksheet(worksheet: FWorksheet): void;
228
+ /**
229
+ * Sets the scope of the defined name to the workbook.
230
+ * @example
231
+ * ```ts
232
+ * const workbook = UniverAPI.getActiveWorkbook();
233
+ * const definedName = workbook.getDefinedNames[0];
234
+ * definedName.setScopeToWorkbook();
235
+ * ```
236
+ */
237
+ setScopeToWorkbook(): void;
238
+ /**
239
+ * Sets the hidden status of the defined name.
240
+ * @param hidden The hidden status of the defined name.
241
+ * @example
242
+ * ```ts
243
+ * const workbook = UniverAPI.getActiveWorkbook();
244
+ * const definedName = workbook.getDefinedNames[0];
245
+ * definedName.setHidden(true);
246
+ * ```
247
+ */
248
+ setHidden(hidden: boolean): void;
249
+ /**
250
+ * Deletes the defined name.
251
+ * @example
252
+ * ```ts
253
+ * const workbook = UniverAPI.getActiveWorkbook();
254
+ * const definedName = workbook.getDefinedNames[0];
255
+ * definedName.delete();
256
+ * ```
257
+ */
258
+ delete(): void;
259
+ /**
260
+ * Gets the local sheet id of the defined name.
261
+ * @returns The local sheet id of the defined name.
262
+ * @example
263
+ * ```ts
264
+ * const workbook = UniverAPI.getActiveWorkbook();
265
+ * const definedName = workbook.getDefinedNames[0];
266
+ * console.log(definedName.getLocalSheetId());
267
+ * ```
268
+ */
269
+ getLocalSheetId(): string | undefined;
270
+ /**
271
+ * Checks if the defined name is in the workbook scope.
272
+ * @returns True if the defined name is in the workbook scope, false otherwise.
273
+ * @example
274
+ * ```ts
275
+ * const workbook = UniverAPI.getActiveWorkbook();
276
+ * const definedName = workbook.getDefinedNames[0];
277
+ * console.log(definedName.isWorkbookScope());
278
+ * ```
279
+ */
280
+ isWorkbookScope(): boolean;
281
+ /**
282
+ * Converts the defined name to a defined name builder.
283
+ * @returns The defined name builder.
284
+ * @example
285
+ * ```ts
286
+ * const workbook = UniverAPI.getActiveWorkbook();
287
+ * const definedName = workbook.getDefinedNames[0];
288
+ * const definedNameBuilder = definedName.toBuilder();
289
+ * const param definedNameBuilder.setName('NewDefinedName').setFormula('SUM(Sheet1!$A$1)').build();
290
+ * workbook.updateDefinedNameBuilder(param);
291
+ * ```
292
+ */
293
+ toBuilder(): FDefinedNameBuilder;
294
+ }
@@ -1,5 +1,5 @@
1
1
  import { IRange, RangePermissionPointConstructor, WorkbookPermissionPointConstructor, WorkSheetPermissionPointConstructor, FBase, IAuthzIoService, ICommandService, Injector, IPermissionService } from '@univerjs/core';
2
- import { RangeProtectionRuleModel, WorksheetProtectionPointModel, WorksheetProtectionRuleModel } from '@univerjs/sheets';
2
+ import { RangeProtectionRuleModel, WorkbookEditablePermission, WorksheetEditPermission, WorksheetProtectionPointModel, WorksheetProtectionRuleModel, WorksheetViewPermission } from '@univerjs/sheets';
3
3
  export declare class FPermission extends FBase {
4
4
  protected readonly _injector: Injector;
5
5
  protected readonly _commandService: ICommandService;
@@ -8,6 +8,48 @@ export declare class FPermission extends FBase {
8
8
  protected readonly _rangeProtectionRuleModel: RangeProtectionRuleModel;
9
9
  protected readonly _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel;
10
10
  protected readonly _authzIoService: IAuthzIoService;
11
+ permissionPointsDefinition: {
12
+ WorkbookCommentPermission: typeof import('@univerjs/sheets').WorkbookCommentPermission;
13
+ WorkbookCopyPermission: typeof import('@univerjs/sheets').WorkbookCopyPermission;
14
+ WorkbookCreateProtectPermission: typeof import('@univerjs/sheets').WorkbookCreateProtectPermission;
15
+ WorkbookCreateSheetPermission: typeof import('@univerjs/sheets').WorkbookCreateSheetPermission;
16
+ WorkbookDeleteSheetPermission: typeof import('@univerjs/sheets').WorkbookDeleteSheetPermission;
17
+ WorkbookDuplicatePermission: typeof import('@univerjs/sheets').WorkbookDuplicatePermission;
18
+ WorkbookEditablePermission: typeof WorkbookEditablePermission;
19
+ WorkbookExportPermission: typeof import('@univerjs/sheets').WorkbookExportPermission;
20
+ WorkbookHideSheetPermission: typeof import('@univerjs/sheets').WorkbookHideSheetPermission;
21
+ WorkbookHistoryPermission: typeof import('@univerjs/sheets').WorkbookHistoryPermission;
22
+ WorkbookManageCollaboratorPermission: typeof import('@univerjs/sheets').WorkbookManageCollaboratorPermission;
23
+ WorkbookMoveSheetPermission: typeof import('@univerjs/sheets').WorkbookMoveSheetPermission;
24
+ WorkbookPrintPermission: typeof import('@univerjs/sheets').WorkbookPrintPermission;
25
+ WorkbookRecoverHistoryPermission: typeof import('@univerjs/sheets').WorkbookRecoverHistoryPermission;
26
+ WorkbookRenameSheetPermission: typeof import('@univerjs/sheets').WorkbookRenameSheetPermission;
27
+ WorkbookSharePermission: typeof import('@univerjs/sheets').WorkbookSharePermission;
28
+ WorkbookViewHistoryPermission: typeof import('@univerjs/sheets').WorkbookViewHistoryPermission;
29
+ WorkbookViewPermission: typeof import('@univerjs/sheets').WorkbookViewPermission;
30
+ WorksheetCopyPermission: typeof import('@univerjs/sheets').WorksheetCopyPermission;
31
+ WorksheetDeleteColumnPermission: typeof import('@univerjs/sheets').WorksheetDeleteColumnPermission;
32
+ WorksheetDeleteProtectionPermission: typeof import('@univerjs/sheets').WorksheetDeleteProtectionPermission;
33
+ WorksheetDeleteRowPermission: typeof import('@univerjs/sheets').WorksheetDeleteRowPermission;
34
+ WorksheetEditExtraObjectPermission: typeof import('@univerjs/sheets').WorksheetEditExtraObjectPermission;
35
+ WorksheetEditPermission: typeof WorksheetEditPermission;
36
+ WorksheetFilterPermission: typeof import('@univerjs/sheets').WorksheetFilterPermission;
37
+ WorksheetInsertColumnPermission: typeof import('@univerjs/sheets').WorksheetInsertColumnPermission;
38
+ WorksheetInsertHyperlinkPermission: typeof import('@univerjs/sheets').WorksheetInsertHyperlinkPermission;
39
+ WorksheetInsertRowPermission: typeof import('@univerjs/sheets').WorksheetInsertRowPermission;
40
+ WorksheetManageCollaboratorPermission: typeof import('@univerjs/sheets').WorksheetManageCollaboratorPermission;
41
+ WorksheetPivotTablePermission: typeof import('@univerjs/sheets').WorksheetPivotTablePermission;
42
+ WorksheetSelectProtectedCellsPermission: typeof import('@univerjs/sheets').WorksheetSelectProtectedCellsPermission;
43
+ WorksheetSelectUnProtectedCellsPermission: typeof import('@univerjs/sheets').WorksheetSelectUnProtectedCellsPermission;
44
+ WorksheetSetCellStylePermission: typeof import('@univerjs/sheets').WorksheetSetCellStylePermission;
45
+ WorksheetSetCellValuePermission: typeof import('@univerjs/sheets').WorksheetSetCellValuePermission;
46
+ WorksheetSetColumnStylePermission: typeof import('@univerjs/sheets').WorksheetSetColumnStylePermission;
47
+ WorksheetSetRowStylePermission: typeof import('@univerjs/sheets').WorksheetSetRowStylePermission;
48
+ WorksheetSortPermission: typeof import('@univerjs/sheets').WorksheetSortPermission;
49
+ WorksheetViewPermission: typeof WorksheetViewPermission;
50
+ RangeProtectionPermissionEditPoint: typeof import('@univerjs/sheets').RangeProtectionPermissionEditPoint;
51
+ RangeProtectionPermissionViewPoint: typeof import('@univerjs/sheets').RangeProtectionPermissionViewPoint;
52
+ };
11
53
  constructor(_injector: Injector, _commandService: ICommandService, _permissionService: IPermissionService, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel, _authzIoService: IAuthzIoService);
12
54
  /**
13
55
  * Configures a specific permission point for a workbook.
@@ -103,4 +145,10 @@ export declare class FPermission extends FBase {
103
145
  * @param {IRange[]} ranges - The array of new ranges to be set for the range protection rule.
104
146
  */
105
147
  setRangeProtectionRanges(unitId: string, subUnitId: string, ruleId: string, ranges: IRange[]): void;
148
+ /**
149
+ * Set visibility of unauthorized pop-up window
150
+ *
151
+ * @param {boolean} visible
152
+ */
153
+ setPermissionDialogVisible(visible: boolean): void;
106
154
  }
@@ -1,4 +1,5 @@
1
1
  import { CellValue, ICellData, IObjectMatrixPrimitiveType, IRange, IStyleData, Nullable, Workbook, Worksheet, FBase, ICommandService, Injector, WrapStrategy } from '@univerjs/core';
2
+ import { SplitDelimiterEnum } from '@univerjs/sheets';
2
3
  import { FHorizontalAlignment, FVerticalAlignment } from './utils';
3
4
  import { FormulaDataModel } from '@univerjs/engine-formula';
4
5
  export type FontLine = 'none' | 'underline' | 'line-through';
@@ -94,7 +95,24 @@ export declare class FRange extends FBase {
94
95
  getWrapStrategy(): WrapStrategy;
95
96
  getHorizontalAlignment(): string;
96
97
  getVerticalAlignment(): string;
98
+ /**
99
+ * Set background color for current range.
100
+ * @param color {string}
101
+ * @example
102
+ * ```
103
+ * univerAPI.getActiveWorkbook().getActiveSheet().getActiveRange().setBackgroundColor('red')
104
+ * ```
105
+ */
97
106
  setBackgroundColor(color: string): Promise<boolean>;
107
+ /**
108
+ * Set background color for current range.
109
+ * @example
110
+ * ```
111
+ * univerAPI.getActiveWorkbook().getActiveSheet().getActiveRange().setBackground('red')
112
+ * ```
113
+ * @param color {string}
114
+ */
115
+ setBackground(color: string): Promise<boolean>;
98
116
  /**
99
117
  * The value can be a number, string, boolean, or standard cell format. If it begins with `=`, it is interpreted as a formula. The value is tiled to all cells in the range.
100
118
  * @param value
@@ -162,32 +180,108 @@ export declare class FRange extends FBase {
162
180
  setFontColor(color: string | null): this;
163
181
  /**
164
182
  * Merge cells in a range into one merged cell
183
+ *
184
+ * @param [defaultMerge] - If true, only the value in the upper left cell is retained.
185
+ *
165
186
  * @returns This range, for chaining
166
187
  */
167
- merge(): Promise<FRange>;
188
+ merge(defaultMerge?: boolean): Promise<FRange>;
168
189
  /**
169
190
  * Merges cells in a range horizontally.
191
+ *
192
+ * @param [defaultMerge] - If true, only the value in the upper left cell is retained.
193
+ *
170
194
  * @returns This range, for chaining
171
195
  */
172
- mergeAcross(): Promise<FRange>;
196
+ mergeAcross(defaultMerge?: boolean): Promise<FRange>;
173
197
  /**
174
198
  * Merges cells in a range vertically.
199
+ *
200
+ * @param [defaultMerge] - If true, only the value in the upper left cell is retained.
201
+ *
175
202
  * @returns This range, for chaining
176
203
  */
177
- mergeVertically(): Promise<FRange>;
204
+ mergeVertically(defaultMerge?: boolean): Promise<FRange>;
178
205
  /**
179
206
  * Returns true if cells in the current range overlap a merged cell.
180
207
  * @returns {boolean} is overlap with a merged cell
181
208
  */
182
209
  isPartOfMerge(): boolean;
183
210
  /**
184
- * Unmerge cells in the range
211
+ * Break all horizontally- or vertically-merged cells contained within the range list into individual cells again.
185
212
  * @returns This range, for chaining
186
213
  */
187
214
  breakApart(): FRange;
188
215
  /**
189
216
  * Iterate cells in this range. Merged cells will be respected.
190
- * @param callback
217
+ * @param callback the callback function to be called for each cell in the range
218
+ * @param {number} callback.row the row number of the cell
219
+ * @param {number} callback.col the column number of the cell
220
+ * @param {ICellData} callback.cell the cell data
221
+ * ```ts
222
+ * const fWorkbook = univerAPI.getActiveWorkbook();
223
+ * const fWorksheet = fWorkbook.getActiveSheet();
224
+ * const fRange = fWorksheet.getRange('A1:B2');
225
+ * fRange.forEach((row, col, cell) => {
226
+ * console.log(row, col, cell);
227
+ * });
228
+ * ```
191
229
  */
192
230
  forEach(callback: (row: number, col: number, cell: ICellData) => void): void;
231
+ /**
232
+ * Returns a string description of the range, in A1 notation.
233
+ * @returns {string} The A1 notation of the range.
234
+ * ```ts
235
+ * const fWorkbook = univerAPI.getActiveWorkbook();
236
+ * const fWorksheet = fWorkbook.getActiveSheet();
237
+ * const fRange = fWorksheet.getRange('A1:B2');
238
+ * console.log(fRange.getA1Notation()); // A1:B2
239
+ * ```
240
+ */
241
+ getA1Notation(withSheet?: boolean): string;
242
+ /**
243
+ * Sets the specified range as the active range, with the top left cell in the range as the current cell.
244
+ * @returns {FRange} This range, for chaining.
245
+ * @example
246
+ * ```ts
247
+ * const fWorkbook = univerAPI.getActiveWorkbook();
248
+ * const fWorksheet = fWorkbook.getActiveSheet();
249
+ * const fRange = fWorksheet.getRange('A1:B2');
250
+ * fRange.activate(); // the active cell will be A1
251
+ * ```
252
+ */
253
+ activate(): FRange;
254
+ /**
255
+ * Sets the specified cell as the current cell.
256
+ * If the specified cell is present in an existing range, then that range becomes the active range with the cell as the current cell.
257
+ * If the specified cell is not part of an existing range, then a new range is created with the cell as the active range and the current cell.
258
+ * @returns {FRange} This range, for chaining.
259
+ * @description If the range is not a single cell, an error will be thrown.
260
+ */
261
+ activateAsCurrentCell(): FRange;
262
+ /**
263
+ * Splits a column of text into multiple columns based on an auto-detected delimiter.
264
+ * @param {boolean} [treatMultipleDelimitersAsOne] Whether to treat multiple continuous delimiters as one. The default value is false.
265
+ * @example
266
+ * // A1:A3 has following values:
267
+ * // A | B | C
268
+ * // 1,2,3 | |
269
+ * // 4,,5,6 | |
270
+ * // After calling splitTextToColumns(true), the range will be:
271
+ * // A | B | C
272
+ * // 1 | 2 | 3
273
+ * // 4 | 5 | 6
274
+ * // After calling splitTextToColumns(false), the range will be:
275
+ * // A | B | C | D
276
+ * // 1 | 2 | 3 |
277
+ * // 4 | | 5 | 6
278
+ */
279
+ splitTextToColumns(treatMultipleDelimitersAsOne?: boolean): void;
280
+ /**
281
+ * Splits a column of text into multiple columns based on a specified delimiter.
282
+ * @param {boolean} [treatMultipleDelimitersAsOne] Whether to treat multiple continuous delimiters as one. The default value is false.
283
+ * @param {SplitDelimiterEnum} [delimiter] The delimiter to use to split the text. The default delimiter is Tab(1)、Comma(2)、Semicolon(4)、Space(8)、Custom(16).A delimiter like 6 (SplitDelimiterEnum.Comma|SplitDelimiterEnum.Semicolon) means using Comma and Semicolon to split the text.
284
+ * @returns {void}
285
+ */
286
+ splitTextToColumns(treatMultipleDelimitersAsOne?: boolean, delimiter?: SplitDelimiterEnum): void;
193
287
  }