@officesdk/editor-sdk-core 0.0.0-21 → 0.0.0-23

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 (259) hide show
  1. package/cjs/docs/sdk.js +1 -1
  2. package/cjs/docx/index.js +1 -1
  3. package/cjs/docx/menu.js +1 -1
  4. package/cjs/docx/outline.js +1 -1
  5. package/cjs/docx/pages.js +17 -1
  6. package/cjs/docx/paragraphs.js +3 -0
  7. package/cjs/docx/revisions.js +3 -0
  8. package/cjs/docx/sdk.js +1 -1
  9. package/cjs/docx/signature.js +3 -0
  10. package/cjs/docx/statistic.js +3 -0
  11. package/cjs/docx/theme.js +1 -1
  12. package/cjs/docx/ui.js +3 -0
  13. package/cjs/form/feature.js +3 -0
  14. package/cjs/form/index.js +21 -0
  15. package/cjs/form/link.js +3 -0
  16. package/cjs/form/publish.js +3 -0
  17. package/cjs/form/sdk.js +28 -0
  18. package/cjs/form/sheet.js +3 -0
  19. package/cjs/form/table.js +3 -0
  20. package/cjs/form/ui.js +3 -0
  21. package/cjs/pdf/pages.js +1 -1
  22. package/cjs/presentation/anonymous.js +3 -0
  23. package/cjs/presentation/assistant.js +3 -0
  24. package/cjs/presentation/chart.js +3 -0
  25. package/cjs/presentation/comments.js +3 -0
  26. package/cjs/presentation/diagram.js +3 -0
  27. package/cjs/presentation/event-subscription.js +3 -0
  28. package/cjs/presentation/export.js +1 -1
  29. package/cjs/presentation/fonts.js +1 -1
  30. package/cjs/presentation/index.js +1 -1
  31. package/cjs/presentation/presentation.js +3 -0
  32. package/cjs/presentation/remote-live.js +3 -0
  33. package/cjs/presentation/sdk.js +1 -1
  34. package/cjs/presentation/slides-pane.js +3 -0
  35. package/cjs/presentation/theme.js +3 -0
  36. package/cjs/shared/assets.js +1 -1
  37. package/cjs/shared/attachment.js +1 -1
  38. package/cjs/shared/brand.js +1 -1
  39. package/cjs/shared/collaborators.js +1 -1
  40. package/cjs/shared/comments.js +1 -1
  41. package/cjs/shared/copy.js +3 -0
  42. package/cjs/shared/device.js +3 -0
  43. package/cjs/shared/download.js +1 -2
  44. package/cjs/shared/drag-n-drop.js +6 -0
  45. package/cjs/shared/duplicate.js +6 -0
  46. package/cjs/shared/edit.js +2 -0
  47. package/cjs/shared/editor.js +1 -1
  48. package/cjs/shared/export.js +1 -1
  49. package/cjs/shared/feature.js +1 -1
  50. package/cjs/shared/file.js +1 -1
  51. package/cjs/shared/follow-mode.js +1 -1
  52. package/cjs/shared/fonts.js +1 -1
  53. package/cjs/shared/guides.js +3 -0
  54. package/cjs/shared/history.js +1 -1
  55. package/cjs/shared/import.js +1 -1
  56. package/cjs/shared/index.js +1 -1
  57. package/cjs/shared/link.js +1 -1
  58. package/cjs/shared/logs.js +3 -0
  59. package/cjs/shared/mention.js +1 -1
  60. package/cjs/shared/menu.js +1 -1
  61. package/cjs/shared/mode.js +1 -1
  62. package/cjs/shared/outline.js +1 -1
  63. package/cjs/shared/paste.js +3 -0
  64. package/cjs/shared/presentation.js +3 -0
  65. package/cjs/shared/render.js +3 -0
  66. package/cjs/shared/share.js +3 -0
  67. package/cjs/shared/shortcut.js +3 -0
  68. package/cjs/shared/socket.js +3 -0
  69. package/cjs/shared/toolbar.js +1 -1
  70. package/cjs/shared/ui.js +1 -1
  71. package/cjs/shared/uploader.js +1 -1
  72. package/cjs/shared/version.js +1 -1
  73. package/cjs/shared/watermark.js +1 -1
  74. package/cjs/sheet/combine-sheets.js +1 -1
  75. package/cjs/sheet/date-mention.js +3 -0
  76. package/cjs/sheet/event-subscription.js +3 -0
  77. package/cjs/sheet/export.js +1 -1
  78. package/cjs/sheet/follow-selection.js +3 -0
  79. package/cjs/sheet/form.js +1 -1
  80. package/cjs/sheet/formula.js +1 -1
  81. package/cjs/sheet/import-range.js +1 -1
  82. package/cjs/sheet/import.js +3 -0
  83. package/cjs/sheet/independent-viewport.js +3 -0
  84. package/cjs/sheet/index.js +1 -1
  85. package/cjs/sheet/lock.js +1 -1
  86. package/cjs/sheet/ole.js +3 -0
  87. package/cjs/sheet/paste.js +3 -0
  88. package/cjs/sheet/render.js +1 -1
  89. package/cjs/sheet/sdk.js +1 -1
  90. package/cjs/sheet/sheet-tab.js +3 -0
  91. package/cjs/sheet/ui.js +3 -0
  92. package/cjs/sheet/worksheet.js +1 -1
  93. package/cjs/table/combine-tables.js +3 -0
  94. package/cjs/table/copy.js +3 -0
  95. package/cjs/table/dashboard.js +3 -0
  96. package/cjs/table/explain-page.js +3 -0
  97. package/cjs/table/export.js +3 -0
  98. package/cjs/table/field.js +3 -0
  99. package/cjs/table/form.js +3 -0
  100. package/cjs/table/formula.js +3 -0
  101. package/cjs/table/history.js +3 -0
  102. package/cjs/table/import.js +3 -0
  103. package/cjs/table/index.js +6 -2
  104. package/cjs/table/list-bar-context-menu.js +3 -0
  105. package/cjs/table/mention.js +3 -0
  106. package/cjs/table/motable.js +16 -0
  107. package/cjs/table/paste.js +3 -0
  108. package/cjs/table/render.js +3 -0
  109. package/cjs/table/resource.js +1 -1
  110. package/cjs/table/sdk.js +1 -1
  111. package/cjs/table/shortcuts.js +3 -0
  112. package/cjs/table/snapshot.js +3 -0
  113. package/cjs/table/subscription.js +25 -0
  114. package/cjs/table/table.js +1 -1
  115. package/cjs/table/template.js +3 -0
  116. package/cjs/table/toolbar.js +1 -1
  117. package/cjs/table/toolbox.js +3 -0
  118. package/cjs/table/ui.js +3 -0
  119. package/cjs/table/version.js +3 -0
  120. package/cjs/table/view.js +26 -0
  121. package/cjs/table/window.js +3 -0
  122. package/esm/docs/sdk.js +1 -1
  123. package/esm/docx/index.js +1 -1
  124. package/esm/docx/menu.js +1 -1
  125. package/esm/docx/outline.js +1 -1
  126. package/esm/docx/pages.js +15 -2
  127. package/esm/docx/paragraphs.js +2 -0
  128. package/esm/docx/revisions.js +2 -0
  129. package/esm/docx/sdk.js +1 -1
  130. package/esm/docx/signature.js +2 -0
  131. package/esm/docx/statistic.js +2 -0
  132. package/esm/docx/theme.js +1 -1
  133. package/esm/docx/ui.js +2 -0
  134. package/esm/form/feature.js +2 -0
  135. package/esm/form/index.js +3 -0
  136. package/esm/form/link.js +2 -0
  137. package/esm/form/publish.js +2 -0
  138. package/esm/form/sdk.js +25 -0
  139. package/esm/form/sheet.js +2 -0
  140. package/esm/form/table.js +2 -0
  141. package/esm/form/ui.js +2 -0
  142. package/esm/pdf/pages.js +1 -1
  143. package/esm/presentation/anonymous.js +2 -0
  144. package/esm/presentation/assistant.js +2 -0
  145. package/esm/presentation/chart.js +2 -0
  146. package/esm/presentation/comments.js +2 -0
  147. package/esm/presentation/diagram.js +2 -0
  148. package/esm/presentation/event-subscription.js +2 -0
  149. package/esm/presentation/export.js +1 -1
  150. package/esm/presentation/fonts.js +1 -1
  151. package/esm/presentation/index.js +1 -1
  152. package/esm/presentation/presentation.js +2 -0
  153. package/esm/presentation/remote-live.js +2 -0
  154. package/esm/presentation/sdk.js +1 -1
  155. package/esm/presentation/slides-pane.js +2 -0
  156. package/esm/presentation/theme.js +2 -0
  157. package/esm/shared/assets.js +1 -1
  158. package/esm/shared/attachment.js +1 -1
  159. package/esm/shared/brand.js +1 -1
  160. package/esm/shared/collaborators.js +1 -1
  161. package/esm/shared/comments.js +1 -1
  162. package/esm/shared/copy.js +2 -0
  163. package/esm/shared/device.js +2 -0
  164. package/esm/shared/download.js +2 -2
  165. package/esm/shared/drag-n-drop.js +5 -0
  166. package/esm/shared/duplicate.js +5 -0
  167. package/esm/shared/edit.js +2 -0
  168. package/esm/shared/editor.js +1 -1
  169. package/esm/shared/export.js +1 -1
  170. package/esm/shared/feature.js +1 -1
  171. package/esm/shared/file.js +1 -1
  172. package/esm/shared/follow-mode.js +1 -1
  173. package/esm/shared/fonts.js +1 -1
  174. package/esm/shared/guides.js +2 -0
  175. package/esm/shared/history.js +1 -1
  176. package/esm/shared/import.js +1 -1
  177. package/esm/shared/index.js +1 -1
  178. package/esm/shared/link.js +1 -1
  179. package/esm/shared/logs.js +2 -0
  180. package/esm/shared/mention.js +1 -1
  181. package/esm/shared/menu.js +1 -1
  182. package/esm/shared/mode.js +1 -1
  183. package/esm/shared/outline.js +1 -1
  184. package/esm/shared/paste.js +2 -0
  185. package/esm/shared/presentation.js +2 -0
  186. package/esm/shared/render.js +2 -0
  187. package/esm/shared/share.js +2 -0
  188. package/esm/shared/shortcut.js +2 -0
  189. package/esm/shared/socket.js +2 -0
  190. package/esm/shared/toolbar.js +1 -1
  191. package/esm/shared/ui.js +1 -1
  192. package/esm/shared/uploader.js +1 -1
  193. package/esm/shared/version.js +1 -1
  194. package/esm/shared/watermark.js +1 -1
  195. package/esm/sheet/combine-sheets.js +1 -1
  196. package/esm/sheet/date-mention.js +2 -0
  197. package/esm/sheet/event-subscription.js +2 -0
  198. package/esm/sheet/export.js +1 -1
  199. package/esm/sheet/follow-selection.js +2 -0
  200. package/esm/sheet/form.js +1 -1
  201. package/esm/sheet/formula.js +1 -1
  202. package/esm/sheet/import-range.js +1 -1
  203. package/esm/sheet/import.js +2 -0
  204. package/esm/sheet/independent-viewport.js +2 -0
  205. package/esm/sheet/index.js +1 -1
  206. package/esm/sheet/lock.js +1 -1
  207. package/esm/sheet/ole.js +2 -0
  208. package/esm/sheet/paste.js +2 -0
  209. package/esm/sheet/render.js +1 -1
  210. package/esm/sheet/sdk.js +1 -1
  211. package/esm/sheet/sheet-tab.js +2 -0
  212. package/esm/sheet/ui.js +2 -0
  213. package/esm/sheet/worksheet.js +1 -1
  214. package/esm/table/combine-tables.js +2 -0
  215. package/esm/table/copy.js +2 -0
  216. package/esm/table/dashboard.js +2 -0
  217. package/esm/table/explain-page.js +2 -0
  218. package/esm/table/export.js +2 -0
  219. package/esm/table/field.js +2 -0
  220. package/esm/table/form.js +2 -0
  221. package/esm/table/formula.js +2 -0
  222. package/esm/table/history.js +2 -0
  223. package/esm/table/import.js +2 -0
  224. package/esm/table/index.js +3 -1
  225. package/esm/table/list-bar-context-menu.js +2 -0
  226. package/esm/table/mention.js +2 -0
  227. package/esm/table/motable.js +13 -0
  228. package/esm/table/paste.js +2 -0
  229. package/esm/table/render.js +2 -0
  230. package/esm/table/resource.js +1 -1
  231. package/esm/table/sdk.js +1 -1
  232. package/esm/table/shortcuts.js +2 -0
  233. package/esm/table/snapshot.js +2 -0
  234. package/esm/table/subscription.js +22 -0
  235. package/esm/table/table.js +1 -1
  236. package/esm/table/template.js +2 -0
  237. package/esm/table/toolbar.js +1 -1
  238. package/esm/table/toolbox.js +2 -0
  239. package/esm/table/ui.js +2 -0
  240. package/esm/table/version.js +2 -0
  241. package/esm/table/view.js +23 -0
  242. package/esm/table/window.js +2 -0
  243. package/package.json +6 -1
  244. package/types/combine.d.ts +2985 -265
  245. package/types/diagram.d.ts +823 -115
  246. package/types/docs.d.ts +850 -115
  247. package/types/docx.d.ts +1096 -119
  248. package/types/form.d.ts +3027 -0
  249. package/types/pdf.d.ts +829 -115
  250. package/types/presentation.d.ts +1088 -129
  251. package/types/shared.d.ts +823 -115
  252. package/types/sheet.d.ts +1112 -161
  253. package/types/table.d.ts +2097 -173
  254. package/cjs/shared/checkpoints.js +0 -19
  255. package/cjs/sheet/comments.js +0 -3
  256. package/cjs/sheet/font.js +0 -3
  257. package/esm/shared/checkpoints.js +0 -16
  258. package/esm/sheet/comments.js +0 -2
  259. package/esm/sheet/font.js +0 -2
package/types/table.d.ts CHANGED
@@ -21,7 +21,7 @@ export declare abstract class AbstractedEditorFileUploader {
21
21
  abstract resume(taskIds?: string[]): void;
22
22
  }
23
23
 
24
- export declare abstract class AbstractedTableSDK implements Omit<EditorSDK, 'content'> {
24
+ export declare abstract class AbstractedTableSDK implements Omit<EditorSDK, 'content' | 'menu' | 'presentation'> {
25
25
  protected options: TableEditorOptions;
26
26
  constructor(options: TableEditorOptions);
27
27
  /**
@@ -66,6 +66,10 @@ export declare abstract class AbstractedTableSDK implements Omit<EditorSDK, 'con
66
66
  * 编辑器历史相关接口
67
67
  */
68
68
  abstract get history(): EditorHistory;
69
+ /**
70
+ * 编辑器协作相关
71
+ */
72
+ abstract get collaboration(): EditorCollaborationOptions;
69
73
  /**
70
74
  * 编辑器协作者相关接口
71
75
  */
@@ -74,6 +78,23 @@ export declare abstract class AbstractedTableSDK implements Omit<EditorSDK, 'con
74
78
  * 编辑器版本相关接口
75
79
  */
76
80
  abstract get version(): EditorVersion;
81
+ /**
82
+ * 视图相关接口
83
+ */
84
+ abstract get view(): TableView;
85
+ /**
86
+ * 窗口相关接口
87
+ */
88
+ abstract get window(): TableWindow;
89
+ /**
90
+ * 订阅事件
91
+ */
92
+ abstract get subscription(): TableSubscription;
93
+ /**
94
+ * 导出表格文件
95
+ * @param type 导出类型,'sheets'(转化为石墨表格)或 'excel'(下载为 Excel 格式)
96
+ */
97
+ abstract export(type: 'sheets' | 'excel'): Promise<void>;
77
98
  }
78
99
 
79
100
  /**
@@ -102,16 +123,6 @@ export declare type CalendarMenuItemName =
102
123
  /** 删除记录 */
103
124
  | 'remove';
104
125
 
105
- export declare type CheckLimitationResult = {
106
- status: 'limited';
107
- /**
108
- * 被限制原因
109
- */
110
- reason?: string;
111
- } | {
112
- status: 'unlimited';
113
- };
114
-
115
126
  /**
116
127
  * 协作者信息接口
117
128
  */
@@ -139,12 +150,22 @@ export declare interface ConfirmButtonConfig {
139
150
  onClick?: () => void;
140
151
  }
141
152
 
153
+ /**
154
+ * 表格数据对象接口
155
+ */
142
156
  export declare interface DBTable {
143
157
  /**
144
- * 获取当前表格的选区
145
- * @returns
158
+ * 获取当前表格选区
146
159
  */
147
160
  get selection(): TableSelection | null;
161
+ /**
162
+ * 撤销
163
+ */
164
+ undo: () => void;
165
+ /**
166
+ * 重做
167
+ */
168
+ redo: () => void;
148
169
  }
149
170
 
150
171
  /**
@@ -195,7 +216,7 @@ export declare interface EditorAssetsOssImageProcessing {
195
216
  quality?: number;
196
217
  maxWidth?: number;
197
218
  maxHeight?: number;
198
- }) => Promise<string>;
219
+ }) => string;
199
220
  /**
200
221
  * 裁切图片的方法
201
222
  * @param imageUrl 图片的 URL
@@ -203,12 +224,12 @@ export declare interface EditorAssetsOssImageProcessing {
203
224
  * @returns 裁切后的图片 URL
204
225
  */
205
226
  crop: (imageUrl: string, cropOptions: {
206
- x?: number;
207
- y?: number;
227
+ x: number;
228
+ y: number;
208
229
  w: number;
209
230
  h: number;
210
- g?: EditorImageCropPoint;
211
- }) => Promise<string>;
231
+ g: EditorImageCropPoint;
232
+ }) => string;
212
233
  }
213
234
 
214
235
  export declare interface EditorAssetsResolver {
@@ -217,13 +238,13 @@ export declare interface EditorAssetsResolver {
217
238
  * @param assetId 资源文件 ID
218
239
  * @returns 转换后的资源 URL ,如果无法转换则返回 null
219
240
  */
220
- resolveUrl: (assetId: string) => Promise<string | null>;
241
+ resolveUrl: (assetId: string) => string | null;
221
242
  /**
222
243
  * 从 URL 中解析资源文件 ID 的方法
223
244
  * @param url 资源 URL
224
245
  * @returns 解析出的资源文件 ID
225
246
  */
226
- parseId: (url: string) => Promise<string | null>;
247
+ parseId: (url: string) => string | null;
227
248
  /**
228
249
  * 检查资源文件 ID 对应的文件是否准备就绪,
229
250
  * 在部分环境中,资源文件需要异步导入,在编辑器加载的时候可能还未准备就绪
@@ -233,6 +254,28 @@ export declare interface EditorAssetsResolver {
233
254
  checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
234
255
  }
235
256
 
257
+ /**
258
+ * 编辑器附件下载配置
259
+ */
260
+ export declare interface EditorAttachmentDownloadOptions {
261
+ /**
262
+ * 是否禁用下载
263
+ */
264
+ disabled?: boolean;
265
+ /**
266
+ * 是否跳过验证
267
+ */
268
+ skipValidate?: boolean;
269
+ /**
270
+ * 下载附件
271
+ */
272
+ download?: (url: string) => void;
273
+ /**
274
+ * 获取附件下载地址
275
+ */
276
+ getDownloadUrl?: (url: string) => Promise<string>;
277
+ }
278
+
236
279
  /**
237
280
  * 编辑器附件限制配置,sdk中会使用在不同的场景下使用不同的限制规则组合
238
281
  */
@@ -242,9 +285,9 @@ export declare interface EditorAttachmentLimitationOptions {
242
285
  * @param file
243
286
  * @returns
244
287
  */
245
- checkFile: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
288
+ checkFile?: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
246
289
  limited: true;
247
- message: string;
290
+ message?: string;
248
291
  } | {
249
292
  limited: false;
250
293
  }>;
@@ -293,9 +336,24 @@ export declare interface EditorAttachmentMaxSizeOptions {
293
336
  * 编辑器附件信息
294
337
  */
295
338
  export declare interface EditorAttachmentOptions {
339
+ /**
340
+ * 附件选择器
341
+ */
296
342
  picker?: EditorFilePicker;
343
+ /**
344
+ * 附件上传器
345
+ */
297
346
  uploader?: AbstractedEditorFileUploader;
347
+ /**
348
+ * 下载
349
+ * @deprecated, 使用不同类型附件的download配置
350
+ */
298
351
  download?: (url: string) => void;
352
+ /**
353
+ * 预览
354
+ * @deprecated, 使用不同类型附件的preview配置
355
+ */
356
+ preview?: (url: string) => void;
299
357
  /**
300
358
  * 图片附件相关配置
301
359
  */
@@ -313,9 +371,27 @@ export declare interface EditorAttachmentOptions {
313
371
  * 图片附件的限制配置
314
372
  */
315
373
  limitations?: EditorAttachmentLimitationOptions;
374
+ /**
375
+ * 禁止预览
376
+ * @deprecated 使用preview.disabled代替
377
+ */
378
+ disablePreview?: boolean;
379
+ /**
380
+ * 预览
381
+ */
382
+ preview?: EditorAttachmentPreviewOptions;
383
+ /**
384
+ * 下载
385
+ */
386
+ download?: EditorAttachmentDownloadOptions;
387
+ /**
388
+ * 是否禁用缩略图
389
+ * 桌面客户端/极速sdk需要禁用
390
+ */
391
+ disableThumbnail?: boolean;
316
392
  };
317
393
  /**
318
- * 其他附件相关配置
394
+ * 附件相关配置
319
395
  */
320
396
  attachment?: {
321
397
  /**
@@ -331,9 +407,94 @@ export declare interface EditorAttachmentOptions {
331
407
  * 附件的限制配置
332
408
  */
333
409
  limitations?: EditorAttachmentLimitationOptions;
410
+ /**
411
+ * 禁止预览
412
+ * @deprecated 使用preview.disabled代替
413
+ */
414
+ disablePreview?: boolean;
415
+ /**
416
+ * 预览
417
+ */
418
+ preview?: EditorAttachmentPreviewOptions;
419
+ /**
420
+ * 下载
421
+ */
422
+ download?: EditorAttachmentDownloadOptions;
423
+ };
424
+ /**
425
+ * 视频相关配置
426
+ */
427
+ video?: {
428
+ /**
429
+ * 支持的视频格式
430
+ */
431
+ supportTypes?: string[];
432
+ /**
433
+ * 视频的限制配置
434
+ */
435
+ limitations?: EditorAttachmentLimitationOptions;
436
+ /**
437
+ * 预览
438
+ */
439
+ preview?: EditorAttachmentPreviewOptions;
440
+ /**
441
+ * 下载
442
+ */
443
+ download?: EditorAttachmentDownloadOptions;
444
+ };
445
+ /**
446
+ * 音频相关配置
447
+ */
448
+ audio?: {
449
+ /**
450
+ * 支持的音频
451
+ */
452
+ supportTypes?: string[];
453
+ /**
454
+ * 音频的限制配置
455
+ */
456
+ limitations?: EditorAttachmentLimitationOptions;
457
+ /**
458
+ * 预览
459
+ */
460
+ preview?: EditorAttachmentPreviewOptions;
461
+ /**
462
+ * 下载
463
+ */
464
+ download?: EditorAttachmentDownloadOptions;
465
+ };
466
+ /**
467
+ * 云文件附件相关配置
468
+ */
469
+ cloudFile?: {
470
+ /**
471
+ * 是否禁用云文件
472
+ */
473
+ disabled?: boolean;
334
474
  };
335
475
  }
336
476
 
477
+ /**
478
+ * 编辑器附件预览配置
479
+ */
480
+ export declare interface EditorAttachmentPreviewOptions {
481
+ /**
482
+ * 预览附件
483
+ * app, 桌面客户端需提供
484
+ */
485
+ preview?: (url: string) => void;
486
+ /**
487
+ * 获取附件预览url,saas、sdk、极速sdk需要提供
488
+ * @param id 文件url
489
+ * @returns 预览url
490
+ */
491
+ getPreviewUrl?: (url: string) => Promise<string>;
492
+ /**
493
+ * 是否禁用预览
494
+ */
495
+ disabled?: boolean;
496
+ }
497
+
337
498
  /**
338
499
  * 基础文件属性
339
500
  */
@@ -344,11 +505,19 @@ export declare interface EditorBaseUploadableFile {
344
505
  fileGuid: string;
345
506
  }
346
507
 
508
+ /**
509
+ * 品牌设置
510
+ */
511
+ export declare interface EditorBrandOptions {
512
+ enable: boolean;
513
+ getSettings: () => Promise<EditorBrandSetting | null>;
514
+ }
515
+
347
516
  /**
348
517
  * 品牌相关设置,
349
518
  * 用于在套件中展示品牌外露信息
350
519
  */
351
- export declare interface EditorBrandOptions {
520
+ export declare interface EditorBrandSetting {
352
521
  /**
353
522
  * 需要显示在品牌展示位的内容,按数组顺序显示
354
523
  */
@@ -369,24 +538,6 @@ export declare interface EditorBrandOptions {
369
538
  };
370
539
  }
371
540
 
372
- export declare interface EditorCheckpointsOptions {
373
- /**
374
- * 获取功能卡点限制
375
- * undefined代表无限制
376
- */
377
- getFeatureLimitation?: (key: string) => Limitation | undefined;
378
- /**
379
- * 检查是否超限
380
- * @param key 功能卡点key
381
- * @param value 功能卡点检查值,如文件大小/行列数量等
382
- */
383
- checkFeatureLimitation?: (key: string, value: number) => CheckLimitationResult;
384
- /**
385
- * 获取功能卡点状态,如某功能入口是否开启
386
- */
387
- getFeatureStatus?: (key: string) => FeatureStatus;
388
- }
389
-
390
541
  export declare interface EditorCollaborationOptions {
391
542
  /**
392
543
  * 是否允许离线编辑
@@ -428,23 +579,36 @@ export declare interface EditorCollaborators {
428
579
  * 停止监听协作者状态变化
429
580
  * 调用此方法后,将不再接收协作者进入/离开的事件
430
581
  */
431
- stop: () => void;
582
+ quit: () => void;
583
+ /**
584
+ * 监听事件
585
+ */
586
+ on: (event: string, callback: (...args: unknown[]) => void) => unknown;
587
+ /**
588
+ * 监听事件, 只监听一次
589
+ */
590
+ once: (event: string, callback: (...args: unknown[]) => void) => unknown;
591
+ /**
592
+ * 移除事件
593
+ */
594
+ off: (event: string, callback: (...args: unknown[]) => void) => unknown;
595
+ /**
596
+ * 发送事件
597
+ */
598
+ emit: (event: string, ...args: unknown[]) => unknown;
599
+ }
600
+
601
+ export declare interface EditorCollaboratorsOptions {
432
602
  /**
433
- * 添加协作者进入事件监听器
434
- * @param listener - 监听器回调函数,参数如下:
435
- * - allUsers: 当前所有协作者列表
436
- * - enteredUsers: 新进入的协作者列表
437
- * @returns 返回一个函数,调用该函数可以移除监听器
603
+ * 是否禁用
438
604
  */
439
- addUserEnterListener: (listener: (allUsers: CollaboratorInfo[], enteredUsers: CollaboratorInfo[]) => void) => () => void;
605
+ disabled?: boolean;
440
606
  /**
441
- * 添加协作者离开事件监听器
442
- * @param listener - 监听器回调函数
443
- * - allUsers: 当前所有协作者列表
444
- * - leftUsers: 离开的协作者列表
445
- * @returns 返回一个函数,调用该函数可以移除监听器
607
+ * 推送协作者socket 对象
608
+ * 实际类型为socketIO.client
609
+ * TODO: 抽象为接口
446
610
  */
447
- addUserLeaveListener: (listener: (allUsers: CollaboratorInfo[], leftUsers: CollaboratorInfo[]) => void) => () => void;
611
+ socket?: EditorSocket;
448
612
  }
449
613
 
450
614
  /**
@@ -508,6 +672,14 @@ export declare interface EditorComments {
508
672
  * 删除单条评论
509
673
  */
510
674
  deleteOne: (commentId: string) => Promise<boolean>;
675
+ /**
676
+ * 显示评论(侧边栏或其他形式)
677
+ */
678
+ show?: () => void;
679
+ /**
680
+ * 隐藏评论(侧边栏或其他形式)
681
+ */
682
+ hide?: () => void;
511
683
  }
512
684
 
513
685
  /**
@@ -543,11 +715,22 @@ export declare interface EditorCommentsOptions extends EditorFeatureConfig {
543
715
  mode: 'none' | 'card';
544
716
  };
545
717
  /**
546
- * 评论变化监听
547
- * @param listener
548
- * @returns 返回一个函数,调用该函数可以移除监听器
718
+ * 推送评论的 socket 对象
719
+ */
720
+ socket?: EditorSocket;
721
+ /**
722
+ * 评论相关功能配置
549
723
  */
550
- addChangedListener?: (listener: (type: 'create' | 'update' | 'close', data: EditorCommentItem) => void) => () => void;
724
+ features?: {
725
+ /**
726
+ * 添加评论
727
+ */
728
+ addComment?: EditorFeatureConfig;
729
+ /**
730
+ * 评论列表
731
+ */
732
+ commentList?: EditorFeatureConfig;
733
+ };
551
734
  }
552
735
 
553
736
  export declare interface EditorContent<Delta = EditorDelta> {
@@ -573,6 +756,11 @@ export declare interface EditorContent<Delta = EditorDelta> {
573
756
  */
574
757
  export declare type EditorContextMenuOptions<TName extends string> = EditorMenuOptions<TName>;
575
758
 
759
+ /**
760
+ * 粘贴相关设置
761
+ */
762
+ export declare type EditorCopyOptions = EditorLogicFeatureConfig;
763
+
576
764
  /**
577
765
  * 编辑器解密选项接口
578
766
  * 用于配置编辑器中需要解密的内容的相关选项
@@ -593,6 +781,28 @@ export declare interface EditorDelta {
593
781
  length: number;
594
782
  }
595
783
 
784
+ export declare type EditorDeviceMode = 'desktop' | 'mobile' | 'tablet';
785
+
786
+ /**
787
+ * 编辑器设备相关设置
788
+ */
789
+ export declare interface EditorDeviceOptions {
790
+ /**
791
+ * 设备模式
792
+ */
793
+ mode?: EditorDeviceMode;
794
+ }
795
+
796
+ /**
797
+ * 编辑器拖放配置
798
+ */
799
+ export declare type EditorDragNDropOptions = EditorFeatureConfig;
800
+
801
+ /**
802
+ * 编辑器创建副本配置
803
+ */
804
+ export declare type EditorDuplicateOptions = EditorFeatureConfig;
805
+
596
806
  /**
597
807
  * 编辑器嵌入对象
598
808
  */
@@ -642,15 +852,20 @@ export declare interface EditorEmbeddedObjectOptions {
642
852
  };
643
853
  }
644
854
 
645
- export declare interface EditorExportOptions {
855
+ export declare interface EditorExportOptions extends EditorFeatureConfig {
856
+ /**
857
+ * 可导出类型, undefined 表示对可导出类型无限制
858
+ * 导出由接口 + 本地实现
859
+ */
860
+ types?: string[];
646
861
  /**
647
- * 可导出类型
862
+ * 接口支持的导出类型
648
863
  */
649
864
  supportedTypes?: string[];
650
865
  /**
651
- * 导出文件
866
+ * 导出文件,调用接口实现
652
867
  */
653
- exportFile: (type: string) => Promise<void>;
868
+ exportFile?: (type: string) => Promise<void>;
654
869
  }
655
870
 
656
871
  export declare interface EditorFeatureConfig {
@@ -664,6 +879,28 @@ export declare interface EditorFeatureConfig {
664
879
  hidden?: boolean;
665
880
  }
666
881
 
882
+ export declare interface EditorFeaturesOptions {
883
+ /**
884
+ * 禁用特性入口
885
+ */
886
+ disabled?: boolean;
887
+ /**
888
+ * 对应/features接口,返回所有功能key
889
+ */
890
+ getFeatures?: () => Promise<string[]>;
891
+ }
892
+
893
+ /**
894
+ * 文件限制
895
+ */
896
+ export declare interface EditorFileLimitationOptions {
897
+ /**
898
+ * 获取最大文件大小,单位为MB
899
+ * 超过该上限后禁止编辑
900
+ */
901
+ getMaxFileSize?: () => number | undefined;
902
+ }
903
+
667
904
  export declare interface EditorFileOptions {
668
905
  /**
669
906
  * 文件guid
@@ -673,6 +910,18 @@ export declare interface EditorFileOptions {
673
910
  * 文件名
674
911
  */
675
912
  name?: string;
913
+ /**
914
+ * 创建者,以id标识
915
+ */
916
+ creator?: number;
917
+ /**
918
+ * 创建时间, 毫秒级时间戳
919
+ */
920
+ createdAt?: number;
921
+ /**
922
+ * 文件限制
923
+ */
924
+ limitations?: EditorFileLimitationOptions;
676
925
  }
677
926
 
678
927
  export declare interface EditorFilePicker {
@@ -702,7 +951,7 @@ export declare interface EditorFollowMode {
702
951
  * 获取当前演讲者信息
703
952
  * @returns 返回包含演讲者ID、姓名和头像信息的对象
704
953
  */
705
- getSpeaker: () => Speaker;
954
+ getSpeaker: () => Speaker | undefined;
706
955
  /**
707
956
  * 添加跟随状态变化的监听器
708
957
  * @param listener 状态变化时的回调函数
@@ -717,7 +966,7 @@ export declare interface EditorFollowModeOptions extends EditorFeatureConfig {
717
966
  * 实际类型为socketIO.client
718
967
  * TODO: 抽象为接口
719
968
  */
720
- socket?: unknown;
969
+ socket?: EditorSocket;
721
970
  }
722
971
 
723
972
  export declare interface EditorFontFace {
@@ -796,17 +1045,35 @@ export declare interface EditorFontsOptions {
796
1045
  * 并提供可用于字体的加载 URL 和字体元数据。
797
1046
  */
798
1047
  list: EditorFontsList;
1048
+ /**
1049
+ * 是否只使用本地字体,如果为 true,则不会从服务器获取字体列表。
1050
+ */
1051
+ useLocalFontsOnly?: boolean;
1052
+ }
1053
+
1054
+ /**
1055
+ * 功能引导设置
1056
+ */
1057
+ export declare interface EditorGuidesOptions {
1058
+ /**
1059
+ * 是否禁用
1060
+ */
1061
+ disabled?: boolean;
1062
+ /**
1063
+ * 获取引导数据
1064
+ */
1065
+ data?: <T = GuideData>() => Promise<T>;
799
1066
  }
800
1067
 
801
1068
  export declare interface EditorHistory {
802
1069
  /**
803
- * 显示历史记录侧边栏
1070
+ * 显示历史记录(侧边栏或其他形式)
804
1071
  */
805
- showSidebar: () => void;
1072
+ show: () => void;
806
1073
  /**
807
- * 隐藏历史记录侧边栏
1074
+ * 隐藏历史记录(侧边栏或其他形式)
808
1075
  */
809
- hideSidebar: () => void;
1076
+ hide: () => void;
810
1077
  }
811
1078
 
812
1079
  export declare type EditorHistoryOptions = EditorFeatureConfig;
@@ -829,7 +1096,12 @@ export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'cen
829
1096
 
830
1097
  export declare interface EditorImportOptions {
831
1098
  /**
832
- * 获取导入状态,没有contentUrl时需要显示导入进度
1099
+ * 当前文件是否正在导入中
1100
+ * 用于初始化时判断是否需要显示导入进度
1101
+ */
1102
+ isImporting?: boolean;
1103
+ /**
1104
+ * 获取当前文件导入状态,没有contentUrl时需要显示导入进度
833
1105
  * 待导入完成后再渲染
834
1106
  */
835
1107
  getImportStatus?: () => Promise<{
@@ -846,15 +1118,19 @@ export declare interface EditorImportOptions {
846
1118
  * 导入完成
847
1119
  */
848
1120
  status: 'completed';
1121
+ /**
1122
+ * 导入完成后的内容URL
1123
+ */
1124
+ contentUrl: string;
849
1125
  } | {
850
1126
  /**
851
1127
  * 导入失败
852
1128
  */
853
1129
  status: 'failed';
854
1130
  /**
855
- * 导入失败错误信息
1131
+ * 导入失败报错
856
1132
  */
857
- errorMessage?: string;
1133
+ error?: unknown;
858
1134
  }>;
859
1135
  }
860
1136
 
@@ -907,6 +1183,74 @@ export declare interface EditorLocalUploadableFile extends EditorBaseUploadableF
907
1183
  raw: File;
908
1184
  }
909
1185
 
1186
+ /**
1187
+ * 纯逻辑功能配置。
1188
+ * 不包含 UI 相关配置,仅用于逻辑判断。
1189
+ * 如:权限判断、功能开关等。
1190
+ * 所以不需要hidden,只使用disabled来判断
1191
+ */
1192
+ export declare type EditorLogicFeatureConfig = Omit<EditorFeatureConfig, 'hidden'>;
1193
+
1194
+ export declare interface EditorLogsOptions {
1195
+ /**
1196
+ * 是否禁用审计日志
1197
+ * sdk2.0需要禁用
1198
+ */
1199
+ isAuditLogDisabled?: boolean;
1200
+ /**
1201
+ * 是否禁用日志
1202
+ */
1203
+ disabled?: boolean;
1204
+ }
1205
+
1206
+ export declare interface EditorMentionOptions extends EditorFeatureConfig {
1207
+ /**
1208
+ * mention api url前缀
1209
+ * @shimo/mention-suggestion 需要用到
1210
+ * 对应环境变量 SDK_V2_PATH_PREFIX
1211
+ */
1212
+ apiUrlPrefix?: string;
1213
+ /**
1214
+ * mention文件卡片禁用设置
1215
+ */
1216
+ disableFileCard?: boolean;
1217
+ /**
1218
+ * mention日期卡片禁用设置
1219
+ */
1220
+ disableDateCard?: boolean;
1221
+ /**
1222
+ * mention用户卡片禁用设置
1223
+ */
1224
+ disableUserCard?: boolean;
1225
+ /**
1226
+ * mention点击回调
1227
+ */
1228
+ onMentionClick?: (payload: MentionEventPayload) => void;
1229
+ /**
1230
+ * mention文件选择弹窗支持的tab类型
1231
+ */
1232
+ mentionFilePanelTabs?: ('mine' | 'recent' | 'space')[];
1233
+ /**
1234
+ * mention弹窗底部支持的tab类型
1235
+ */
1236
+ mentionPopoverTabs?: ('contacts' | 'file' | 'calendar')[];
1237
+ /**
1238
+ * 是否禁止检查组织架构成员可见性
1239
+ * 该属性需要各套件对接最新版本@shimo/mention-suggestion(没用到的话可忽略)
1240
+ */
1241
+ disableCheckStaffVisibility?: boolean;
1242
+ }
1243
+
1244
+ /**
1245
+ * 编辑器菜单api
1246
+ */
1247
+ export declare interface EditorMenu {
1248
+ /**
1249
+ * 菜单功能api
1250
+ */
1251
+ features: EditorMenuFeatures;
1252
+ }
1253
+
910
1254
  /**
911
1255
  * 基础菜单项配置,所有菜单项类型都包含这些属性
912
1256
  */
@@ -1007,6 +1351,38 @@ export declare interface EditorMenuFeatureConfig extends EditorFeatureConfig {
1007
1351
  index?: number;
1008
1352
  }
1009
1353
 
1354
+ /**
1355
+ * 编辑器菜单功能api
1356
+ *
1357
+ * 提供对菜单项的显示、隐藏、启用和禁用等操作
1358
+ */
1359
+ export declare interface EditorMenuFeatures {
1360
+ /**
1361
+ * 显示菜单项
1362
+ * @param name 菜单项名称
1363
+ */
1364
+ showFeature: (name: string) => void;
1365
+ /**
1366
+ * 隐藏菜单项
1367
+ * @param name 菜单项名称
1368
+ */
1369
+ hideFeature: (name: string) => void;
1370
+ /**
1371
+ * 启用菜单项
1372
+ * @param name 菜单项名称
1373
+ */
1374
+ enableFeature: (name: string) => void;
1375
+ /**
1376
+ * 禁用菜单项
1377
+ * @param name 菜单项名称
1378
+ */
1379
+ disableFeature: (name: string) => void;
1380
+ /**
1381
+ * 恢复菜单项到默认状态,即根据配置项确定如何渲染菜单项。
1382
+ */
1383
+ resetFeature: (name: string) => void;
1384
+ }
1385
+
1010
1386
  /**
1011
1387
  * 隐藏菜单项配置
1012
1388
  */
@@ -1073,7 +1449,7 @@ export declare interface EditorMenuOptions<TName extends EditorMenuName> {
1073
1449
  * 更加间接的配置项
1074
1450
  * 仅在 TName 为字符串类型时有效
1075
1451
  */
1076
- features?: TName extends string ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
1452
+ features?: [TName] extends [string] ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
1077
1453
  /**
1078
1454
  * 自定义按钮配置
1079
1455
  */
@@ -1109,9 +1485,25 @@ export declare type EditorModeOptions = {
1109
1485
  */
1110
1486
  role?: EditorStandardRole;
1111
1487
  } | {
1488
+ /**
1489
+ * 预览模式
1490
+ */
1112
1491
  type: 'preview';
1113
1492
  } | {
1493
+ /**
1494
+ * 演示模式
1495
+ */
1114
1496
  type: 'presentation';
1497
+ } | {
1498
+ /**
1499
+ * 历史模式
1500
+ */
1501
+ type: 'history';
1502
+ } | {
1503
+ /**
1504
+ * 嵌入模式
1505
+ */
1506
+ type: 'embedded';
1115
1507
  };
1116
1508
 
1117
1509
  /**
@@ -1119,8 +1511,9 @@ export declare type EditorModeOptions = {
1119
1511
  * - `standard` 标准模式,会根据用户权限配置不同的功能
1120
1512
  * - `preview` 预览模式,只能查看内容
1121
1513
  * - `presentation` 演示模式,用作演示场景,演示模式下部分套件可以进行一些简单的编辑操作
1514
+ * - `history` 历史模式,用作查看历史版本场景
1122
1515
  */
1123
- export declare type EditorModeType = 'standard' | 'preview' | 'presentation';
1516
+ export declare type EditorModeType = 'standard' | 'preview' | 'presentation' | 'history' | 'embedded';
1124
1517
 
1125
1518
  /**
1126
1519
  * 编辑器初始化通用参数
@@ -1144,7 +1537,7 @@ export declare interface EditorOptions {
1144
1537
  */
1145
1538
  anonymous?: EditorAnonymousOptions;
1146
1539
  /**
1147
- * 当前文件信息
1540
+ * 当前文件信息 & 配置
1148
1541
  */
1149
1542
  file?: EditorFileOptions;
1150
1543
  /**
@@ -1154,7 +1547,7 @@ export declare interface EditorOptions {
1154
1547
  /**
1155
1548
  * 品牌相关设置
1156
1549
  */
1157
- brand?: MaybePromiseValue<EditorBrandOptions>;
1550
+ brand?: EditorBrandOptions;
1158
1551
  /**
1159
1552
  * 编辑器内部资源请求配置
1160
1553
  */
@@ -1203,10 +1596,6 @@ export declare interface EditorOptions {
1203
1596
  * 编辑器 UI 相关
1204
1597
  */
1205
1598
  ui?: EditorUiOptions;
1206
- /**
1207
- * 编辑器卡点限制
1208
- */
1209
- checkpoints?: EditorCheckpointsOptions;
1210
1599
  /**
1211
1600
  * 编辑器工具箱设置
1212
1601
  */
@@ -1219,7 +1608,55 @@ export declare interface EditorOptions {
1219
1608
  * 编辑器协作相关
1220
1609
  */
1221
1610
  collaboration?: EditorCollaborationOptions;
1222
- }
1611
+ /**
1612
+ * 编辑器功能相关设置
1613
+ */
1614
+ features?: EditorFeaturesOptions;
1615
+ /**
1616
+ * 编辑器版本相关设置
1617
+ */
1618
+ version?: EditorVersionOptions;
1619
+ /**
1620
+ * 编辑器日志相关设置
1621
+ */
1622
+ logs?: EditorLogsOptions;
1623
+ /**
1624
+ * 编辑器快捷键相关设置
1625
+ */
1626
+ shortcuts?: EditorShortcutOptions;
1627
+ /**
1628
+ * 提及相关设置
1629
+ */
1630
+ mention?: EditorMentionOptions;
1631
+ /**
1632
+ * 编辑器拖放相关配置
1633
+ */
1634
+ dragNDrop?: EditorDragNDropOptions;
1635
+ /**
1636
+ * 编辑器引导相关设置
1637
+ */
1638
+ guides?: EditorGuidesOptions;
1639
+ /**
1640
+ * 编辑器复制相关设置
1641
+ */
1642
+ copy?: EditorCopyOptions;
1643
+ /**
1644
+ * 编辑器粘贴相关设置
1645
+ */
1646
+ paste?: EditorPasteOptions;
1647
+ /**
1648
+ * 编辑器设备信息相关设置
1649
+ */
1650
+ device?: EditorDeviceOptions;
1651
+ /**
1652
+ * 编辑器副本相关配置
1653
+ */
1654
+ duplicate?: EditorDuplicateOptions;
1655
+ /**
1656
+ * 分享相关接口
1657
+ */
1658
+ share?: EditorShareOptions;
1659
+ }
1223
1660
 
1224
1661
  /**
1225
1662
  * 大纲目录接口
@@ -1271,7 +1708,7 @@ export declare interface EditorOutlineItem<Content = unknown> {
1271
1708
  * 大纲目录初始化参数,
1272
1709
  * 用于配置大纲目录的行为和外观。
1273
1710
  */
1274
- export declare interface EditorOutlineOptions {
1711
+ export declare interface EditorOutlineOptions extends EditorLogicFeatureConfig {
1275
1712
  /**
1276
1713
  * 初始化编辑器时是否显示大纲目录,
1277
1714
  * 默认为 false。
@@ -1279,6 +1716,50 @@ export declare interface EditorOutlineOptions {
1279
1716
  visible?: boolean;
1280
1717
  }
1281
1718
 
1719
+ export declare interface EditorPasteLimitationOptions {
1720
+ /**
1721
+ * 检查粘贴内容的规则
1722
+ * @param content
1723
+ * @returns
1724
+ */
1725
+ checkContent?: (params: EditorPasteLimitationOptionsCheckFunctionParams) => Promise<{
1726
+ limited: true;
1727
+ message: string;
1728
+ } | {
1729
+ limited: false;
1730
+ }>;
1731
+ /**
1732
+ * 获取最大粘贴数据大小,单位为MB
1733
+ */
1734
+ getMaxDataSize?: () => Promise<number | undefined>;
1735
+ }
1736
+
1737
+ export declare interface EditorPasteLimitationOptionsCheckFunctionParams {
1738
+ content: string;
1739
+ }
1740
+
1741
+ /**
1742
+ * 粘贴相关设置
1743
+ */
1744
+ export declare interface EditorPasteOptions extends EditorFeatureConfig {
1745
+ /**
1746
+ * 是否禁用远程图片粘贴, turbo暂时不支持远程图片粘贴
1747
+ */
1748
+ isRemoteImgDisabled?: boolean;
1749
+ /**
1750
+ * 粘贴内容限制规则
1751
+ */
1752
+ limitations?: EditorPasteLimitationOptions;
1753
+ }
1754
+
1755
+ export declare interface EditorPerformanceOptions {
1756
+ /**
1757
+ * 记录性能指标
1758
+ * @param mark 性能指标名称
1759
+ */
1760
+ record?: (mark: 'first_page' | 'first_editable_page') => void;
1761
+ }
1762
+
1282
1763
  export declare interface EditorPickedFile {
1283
1764
  /**
1284
1765
  * 文件大小
@@ -1302,6 +1783,17 @@ export declare interface EditorPickedFile {
1302
1783
  raw: File;
1303
1784
  }
1304
1785
 
1786
+ export declare interface EditorPresentation {
1787
+ /**
1788
+ * 进入演示模式
1789
+ */
1790
+ start: () => Promise<void>;
1791
+ /**
1792
+ * 退出演示模式
1793
+ */
1794
+ quit: () => Promise<void>;
1795
+ }
1796
+
1305
1797
  /**
1306
1798
  * 编辑器打印设置
1307
1799
  */
@@ -1326,6 +1818,13 @@ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadable
1326
1818
  raw?: never;
1327
1819
  }
1328
1820
 
1821
+ export declare interface EditorRenderOptions {
1822
+ /**
1823
+ * 用于定位的锚点
1824
+ */
1825
+ hash?: string;
1826
+ }
1827
+
1329
1828
  /**
1330
1829
  * 编辑器通用接口
1331
1830
  */
@@ -1378,6 +1877,62 @@ export declare abstract class EditorSDK {
1378
1877
  * 部分环境不存在,如离线客户端
1379
1878
  */
1380
1879
  abstract get version(): EditorVersion | undefined;
1880
+ /**
1881
+ * 编辑器菜单栏相关接口
1882
+ */
1883
+ abstract get menu(): EditorMenu | undefined;
1884
+ /**
1885
+ * 编辑器演示模式相关接口
1886
+ */
1887
+ abstract get presentation(): EditorPresentation | undefined;
1888
+ }
1889
+
1890
+ export declare interface EditorShareOptions extends EditorLogicFeatureConfig {
1891
+ /**
1892
+ * 当前文件是否为共享文件
1893
+ */
1894
+ isShared?: boolean;
1895
+ }
1896
+
1897
+ export declare interface EditorShortcutOptions {
1898
+ /**
1899
+ * 自定义快捷键
1900
+ */
1901
+ customShortcuts?: ShortcutConfig[];
1902
+ /**
1903
+ * 禁用的快捷键
1904
+ * 桌面客户端需要禁用ctrl+s,ctrl+shift+s
1905
+ * 极速sdk需要禁用ctrl+s
1906
+ * sdk2.0需要禁用ctrl+shift+e
1907
+ */
1908
+ disabledShortcuts?: string[];
1909
+ }
1910
+
1911
+ /**
1912
+ * 编辑器 socket 接口, 用于评论、跟随模式、远程演示等场景
1913
+ * 实际类型为 socketIO.client
1914
+ */
1915
+ export declare interface EditorSocket {
1916
+ /**
1917
+ * 监听事件
1918
+ */
1919
+ on: (event: string, callback: (...args: unknown[]) => void) => unknown;
1920
+ /**
1921
+ * 监听事件, 只监听一次
1922
+ */
1923
+ once: (event: string, callback: (...args: unknown[]) => void) => unknown;
1924
+ /**
1925
+ * 移除事件
1926
+ */
1927
+ off: (event: string, callback: (...args: unknown[]) => void) => unknown;
1928
+ /**
1929
+ * 发送事件
1930
+ */
1931
+ emit: (event: string, ...args: unknown[]) => unknown;
1932
+ /**
1933
+ * 断开连接
1934
+ */
1935
+ disconnect: () => unknown;
1381
1936
  }
1382
1937
 
1383
1938
  /**
@@ -1567,6 +2122,12 @@ export declare interface EditorToolbarOptions<TName extends string> {
1567
2122
  * 自定义按钮
1568
2123
  */
1569
2124
  custom?: EditorToolbarFeatureButtonConfig<string>;
2125
+ /**
2126
+ * 工具栏挂载的容器dom,配置后则挂载到指定的容器上
2127
+ *
2128
+ * 如果不配置则按照套件的默认方式挂载。
2129
+ */
2130
+ container?: HTMLElement;
1570
2131
  }
1571
2132
 
1572
2133
  /**
@@ -1604,13 +2165,17 @@ export declare interface EditorUiOptions {
1604
2165
  /**
1605
2166
  * 显示升级弹窗
1606
2167
  */
1607
- showModal?: (options: ShowUpgradeModalProps) => Promise<ShowUpgradeModalResponse>;
2168
+ showModal?: (options: ShowUpgradeModalProps) => Promise<ShowUpgradeModalResponse | undefined>;
1608
2169
  };
1609
2170
  notification?: {
1610
2171
  /**
1611
2172
  * 渲染通知条
1612
2173
  */
1613
2174
  render?: (params: RenderNotificationProps) => void;
2175
+ /**
2176
+ * 是否禁用通知条
2177
+ */
2178
+ disabled?: boolean;
1614
2179
  };
1615
2180
  /**
1616
2181
  * 用户名片
@@ -1624,6 +2189,20 @@ export declare interface EditorUiOptions {
1624
2189
  * 渲染用户卡片
1625
2190
  */
1626
2191
  render?: (params: RenderUserCardProps) => RenderUserCardResult;
2192
+ /**
2193
+ * 是否禁用用户卡片
2194
+ * jd需要禁用
2195
+ */
2196
+ disabled?: boolean;
2197
+ };
2198
+ /**
2199
+ * 登录提示
2200
+ */
2201
+ loginNotice?: {
2202
+ /**
2203
+ * 显示登录提示
2204
+ */
2205
+ show?: () => void;
1627
2206
  };
1628
2207
  /**
1629
2208
  * toast
@@ -1637,6 +2216,10 @@ export declare interface EditorUiOptions {
1637
2216
  * 是否禁用toast
1638
2217
  */
1639
2218
  disabled?: boolean;
2219
+ /**
2220
+ * 自定义toast提示文本配置
2221
+ */
2222
+ tips?: ToastTipsConfig;
1640
2223
  };
1641
2224
  /**
1642
2225
  * confirm
@@ -1651,9 +2234,48 @@ export declare interface EditorUiOptions {
1651
2234
  */
1652
2235
  disabled?: boolean;
1653
2236
  };
2237
+ /**
2238
+ * 全屏配置
2239
+ */
2240
+ fullscreen?: EditorFeatureConfig;
2241
+ /**
2242
+ * 演示模式配置
2243
+ */
2244
+ presentation?: EditorFeatureConfig;
2245
+ /**
2246
+ * 帮助中心配置
2247
+ */
2248
+ helpCenter?: EditorFeatureConfig;
2249
+ /**
2250
+ * 新功能提醒相关配置
2251
+ */
2252
+ newFeature?: {
2253
+ /**
2254
+ * 是否不展示新功能提醒(包括任何形式的)
2255
+ */
2256
+ hidden?: boolean;
2257
+ };
2258
+ /**
2259
+ * 图片查看器配置
2260
+ */
2261
+ imageViewer?: {
2262
+ /**
2263
+ * 右键菜单配置
2264
+ */
2265
+ contextMenu?: EditorMenuOptions<'copy' | 'download'>;
2266
+ /**
2267
+ * 操作配置
2268
+ */
2269
+ operations?: {
2270
+ /**
2271
+ * 下载图片
2272
+ */
2273
+ download: EditorFeatureConfig;
2274
+ };
2275
+ };
1654
2276
  }
1655
2277
 
1656
- export declare type EditorUploadableFile = EditorLocalUploadableFile;
2278
+ export declare type EditorUploadableFile = EditorLocalUploadableFile | EditorRemoteUploadableFile;
1657
2279
 
1658
2280
  /**
1659
2281
  * 文件开始上传入参
@@ -1719,10 +2341,23 @@ export declare interface EditorUserOptions {
1719
2341
  export declare interface EditorVersion {
1720
2342
  /**
1721
2343
  * 保存版本
2344
+ * @param name 版本名称
1722
2345
  */
1723
- createRevision: () => void;
2346
+ createRevision: (name?: string) => void;
2347
+ /**
2348
+ * 显示版本(侧边栏或其他形式)
2349
+ * 区别于历史侧边栏,在应用表格里表现为打开历史侧边栏切换到版本 tab
2350
+ */
2351
+ show?: () => void;
2352
+ /**
2353
+ * 隐藏版本(侧边栏或其他形式)
2354
+ * 区别于历史侧边栏,在应用表格里表现为打开历史侧边栏切换到版本 tab
2355
+ */
2356
+ hide?: () => void;
1724
2357
  }
1725
2358
 
2359
+ export declare type EditorVersionOptions = EditorFeatureConfig;
2360
+
1726
2361
  /**
1727
2362
  * 编辑器外部水印信息
1728
2363
  */
@@ -1730,7 +2365,12 @@ export declare interface EditorWatermarkOptions {
1730
2365
  /**
1731
2366
  * 获取用作初始化使用的默认水印
1732
2367
  */
1733
- getWatermark: () => MaybePromiseValue<EditorWatermarkResource | null>;
2368
+ getWatermark?: () => MaybePromiseValue<EditorWatermarkResource | null>;
2369
+ /**
2370
+ * 获取文件导出水印
2371
+ * @param exportType 导出类型 图片/pdf/纯图pdf
2372
+ */
2373
+ getExportWatermark?: (exportType: 'image' | 'pdf' | 'image_pdf') => Promise<string[] | undefined>;
1734
2374
  /**
1735
2375
  * 是否必须,如果为 true,编辑器将在初始化时强制渲染水印,
1736
2376
  * 水印配置信息加载失败将导致编辑器初始化失败
@@ -1746,19 +2386,17 @@ export declare type EditorWatermarkResource = {
1746
2386
  url: string;
1747
2387
  };
1748
2388
 
1749
- export declare enum FeatureStatus {
1750
- /**
1751
- * 隐藏
1752
- */
1753
- Hidden = 0,
1754
- /**
1755
- * 正常
1756
- */
1757
- Normal = 1,
1758
- /**
1759
- * 禁用
1760
- */
1761
- Disabled = 2
2389
+ /**
2390
+ * 错误信息接口
2391
+ * 定义了表格组件中可能发生的错误信息结构
2392
+ */
2393
+ export declare interface EventError {
2394
+ /** 错误代码,用于标识错误类型 */
2395
+ code: string;
2396
+ /** 错误消息,提供错误的详细描述 */
2397
+ data: {
2398
+ message: string;
2399
+ };
1762
2400
  }
1763
2401
 
1764
2402
  export declare interface FileLinkParams {
@@ -1767,7 +2405,7 @@ export declare interface FileLinkParams {
1767
2405
  */
1768
2406
  fileGuid: string;
1769
2407
  /**
1770
- * 文件类型,如docs,sheets
2408
+ * 文件类型
1771
2409
  */
1772
2410
  type: string;
1773
2411
  /**
@@ -1868,6 +2506,24 @@ export declare type GridMenuItemName = BaseMenuItemName
1868
2506
  /** 展开父任务 */
1869
2507
  | 'parentRecord';
1870
2508
 
2509
+ /**
2510
+ * 引导数据
2511
+ */
2512
+ export declare interface GuideData {
2513
+ type: number;
2514
+ id: number;
2515
+ }
2516
+
2517
+ /**
2518
+ * 高亮单元格结构
2519
+ */
2520
+ export declare interface HighLight {
2521
+ /** 记录ID */
2522
+ recordGuid: string;
2523
+ /** 字段ID */
2524
+ fieldGuid: string;
2525
+ }
2526
+
1871
2527
  /**
1872
2528
  * 请求、响应头
1873
2529
  */
@@ -1984,27 +2640,6 @@ export declare type KanbanMenuItemName = BaseMenuItemName
1984
2640
  /** 移除分组 */
1985
2641
  | 'removeGroup';
1986
2642
 
1987
- export declare interface Limitation {
1988
- /**
1989
- * 限制原因(错误码)
1990
- */
1991
- code?: number;
1992
- /**
1993
- * 单位(不参与计算,仅作显示)
1994
- * minutes、MB
1995
- */
1996
- unit?: string;
1997
- /**
1998
- * 描述
1999
- */
2000
- desc?: string;
2001
- /**
2002
- * min/max int64 默认表示 MB/个/分钟/行
2003
- */
2004
- max?: number;
2005
- min?: number;
2006
- }
2007
-
2008
2643
  /**
2009
2644
  * 列表视图菜单项
2010
2645
  */
@@ -2022,11 +2657,77 @@ export declare type ListMenuItemName = BaseMenuItemName
2022
2657
 
2023
2658
  export declare type MaybePromiseValue<T> = T | Promise<T>;
2024
2659
 
2660
+ export declare interface MentionEventPayload {
2661
+ /**
2662
+ * 距离页面左边的距离
2663
+ */
2664
+ x: number;
2665
+ /**
2666
+ * 距离页面顶部的距离
2667
+ */
2668
+ y: number;
2669
+ /**
2670
+ * mention信息
2671
+ */
2672
+ mentionInfo: MentionInfo;
2673
+ }
2674
+
2675
+ export declare interface MentionInfo {
2676
+ /** 用户 Id */
2677
+ userId?: number;
2678
+ /** 文件 Id */
2679
+ fileId?: string;
2680
+ /**
2681
+ * mention区域宽度
2682
+ */
2683
+ width?: number;
2684
+ /**
2685
+ * mention区域高度
2686
+ */
2687
+ height?: number;
2688
+ /**
2689
+ * mention区域左上角距离页面左边的距离
2690
+ */
2691
+ left?: number;
2692
+ /**
2693
+ * mention区域左上角距离页面顶部的距离
2694
+ */
2695
+ top?: number;
2696
+ }
2697
+
2025
2698
  /**
2026
2699
  * 升级弹窗类型
2027
2700
  * 个人版或企业版
2028
2701
  */
2029
- export declare type OpenType = 'personal' | 'enterprise';
2702
+ export declare type OpenType = 'personal' | 'enterprise' | 'pendingOrder';
2703
+
2704
+ export declare interface OperationToastConfig {
2705
+ /**
2706
+ * 成功提示文本
2707
+ */
2708
+ success?: string;
2709
+ /**
2710
+ * 失败提示文本
2711
+ */
2712
+ failed?: string;
2713
+ /**
2714
+ * 权限不足提示文本
2715
+ * 桌面客户端安全模式下需要提供【当前账号未获得此项能力授权。】
2716
+ */
2717
+ noPermission?: string;
2718
+ }
2719
+
2720
+ /**
2721
+ * 数据源读取来源枚举
2722
+ */
2723
+ export declare enum ReadFrom {
2724
+ /** 未知来源 */
2725
+ UNKNOWN = 0,
2726
+ /** 远程来源,适用于SAAS */
2727
+ REMOTE = 1,
2728
+ /** 本地来源,适用于极速SDK */
2729
+ LOCAL = 2
2730
+ }
2030
2731
 
2031
2732
  export declare interface RenderNotificationProps {
2032
2733
  /**
@@ -2048,91 +2749,80 @@ export declare interface RenderUserCardProps {
2048
2749
  height: number;
2049
2750
  hasReducedHeaderHeight?: boolean;
2050
2751
  };
2051
- position?: 'top' | 'left' | 'right' | 'bottom' | 'left_top' | 'left_bottom' | 'right_top' | 'bottom_top' | 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';
2052
- trigger: 'hover' | 'click';
2752
+ position?: 'top' | 'left' | 'right' | 'bottom' | 'left_top' | 'left_bottom' | 'right_top' | 'right_bottom' | 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';
2753
+ trigger?: 'hover' | 'click';
2053
2754
  }
2054
2755
 
2055
2756
  export declare interface RenderUserCardResult {
2056
2757
  /**
2057
2758
  * 关闭用户卡片
2058
2759
  */
2059
- close: (force?: boolean) => void;
2760
+ close?: (force?: boolean) => void;
2060
2761
  }
2061
2762
 
2062
2763
  /**
2063
- * 表示资源API接口的基本结构
2764
+ * 资源API接口基础结构
2064
2765
  */
2065
2766
  export declare interface ResourceApi {
2066
2767
  /**
2067
2768
  * 获取请求URL
2068
- * @returns 返回API请求URL字符串
2769
+ * @returns 接口请求URL
2069
2770
  */
2070
2771
  getUrl: () => string;
2071
- /**
2072
- * 请求方法
2073
- */
2772
+ /** 请求方法 */
2074
2773
  method?: HTTPMethod;
2075
- /**
2076
- * 请求头信息
2077
- */
2774
+ /** 请求头信息 */
2078
2775
  headers?: HTTPHeaders;
2079
2776
  }
2080
2777
 
2081
2778
  /**
2082
2779
  * 表格资源相关API接口集合
2083
- * 定义了表格应用中所需的各种网络请求接口
2084
2780
  */
2085
2781
  export declare interface ResourceApis {
2086
2782
  /**
2087
- * 获取表格基础文件数据的接口
2783
+ * 获取表格基础文件数据
2088
2784
  */
2089
2785
  fetchBase: Omit<ResourceApi, 'getUrl'> & {
2090
2786
  /**
2091
- * 构造获取表格数据的URL函数
2092
- * @param fileId - 文件ID
2093
- * @returns 返回API请求URL
2787
+ * @param fileId 文件ID
2788
+ * @returns 请求URL
2094
2789
  */
2095
2790
  getUrl: (fileId: string) => string;
2096
2791
  };
2097
2792
  /**
2098
- * 获取表格Motable文件URL的接口
2099
- * 主要在切换视图时需要调用
2793
+ * 获取表格Motable文件URL
2794
+ * 主要在切换视图时调用
2100
2795
  */
2101
2796
  fetchMotableUrls: Omit<ResourceApi, 'getUrl'> & {
2102
2797
  /**
2103
- * 构造获取Motable数据的URL函数
2104
- * @param fileId - 文件ID
2105
- * @param sheetId - 工作表ID
2106
- * @returns 返回API请求URL
2798
+ * @param fileId 文件ID
2799
+ * @param sheetId 工作表ID
2800
+ * @returns 请求URL
2107
2801
  */
2108
2802
  getUrl: (fileId: string, sheetId: string) => string;
2109
2803
  };
2110
2804
  /**
2111
- * 获取仪表盘数据的接口
2805
+ * 获取仪表盘数据
2112
2806
  */
2113
2807
  fetchDashboard: Omit<ResourceApi, 'getUrl'> & {
2114
2808
  /**
2115
- * 构造获取仪表盘数据的URL函数
2116
- * @param fileId - 文件ID
2117
- * @param dashboardId - 仪表盘ID
2118
- * @returns 返回API请求URL
2809
+ * @param fileId 文件ID
2810
+ * @param dashboardId 仪表盘ID
2811
+ * @returns 请求URL
2119
2812
  */
2120
2813
  getUrl: (fileId: string, dashboardId: string) => string;
2121
2814
  };
2122
2815
  /**
2123
- * 获取节假日信息的接口
2124
- * 用于获取日历中的节假日信息
2816
+ * 获取节假日信息
2125
2817
  */
2126
2818
  fetchYearHolidays: ResourceApi;
2127
2819
  /**
2128
- * 保存表格更改的接口
2129
- * 用于保存表格的所有更改
2820
+ * 保存表格更改
2130
2821
  */
2131
2822
  saveChanges: Omit<ResourceApi, 'getUrl'> & {
2132
2823
  /**
2133
- * 构造保存数据的URL函数
2134
- * @param fileId - 文件ID
2135
- * @returns 返回API请求URL
2824
+ * @param fileId 文件ID
2825
+ * @returns 请求URL
2136
2826
  */
2137
2827
  getUrl: (fileId: string) => string;
2138
2828
  };
@@ -2191,6 +2881,18 @@ export declare interface SaveStatusDelegation {
2191
2881
  */
2192
2882
  export declare type Scene = 'history' | 'version' | 'public' | 'search' | 'attachments';
2193
2883
 
2884
+ export declare interface ShortcutConfig {
2885
+ /**
2886
+ * 快捷键,例如保存快捷键windows为ctrl+s, mac系统则为meta+s
2887
+ * 如果不想区分系统则为mod+s
2888
+ */
2889
+ key: string;
2890
+ /**
2891
+ * 快捷键回调
2892
+ */
2893
+ callback: () => void;
2894
+ }
2895
+
2194
2896
  export declare interface ShowConfirmOptions {
2195
2897
  /**
2196
2898
  * 确认框标题
@@ -2210,6 +2912,10 @@ export declare interface ShowConfirmOptions {
2210
2912
  cancelButton?: ConfirmButtonConfig;
2211
2913
  }
2212
2914
 
2915
+ export declare interface ShowTemplateModalProps {
2916
+ applyTemplate: (options: TemplateProps) => void;
2917
+ }
2918
+
2213
2919
  export declare interface ShowToastOptions {
2214
2920
  /**
2215
2921
  * toast标题
@@ -2268,6 +2974,27 @@ export declare interface Speaker {
2268
2974
  avatar: string;
2269
2975
  }
2270
2976
 
2977
+ /**
2978
+ * 表格编辑器状态枚举
2979
+ * 定义了表格编辑器可能处于的各种状态
2980
+ */
2981
+ export declare enum Status {
2982
+ /** 离线模式 - 无法连接服务器 */
2983
+ Offline = "offline",
2984
+ /** 在线模式 - 已连接服务器 */
2985
+ Online = "online",
2986
+ /** 保存中 - 正在将更改提交到服务器 */
2987
+ OnlineSaving = "onlineSaving",
2988
+ /** 保存成功 - 更改已成功保存到服务器 */
2989
+ OnlineSaved = "onlineSaved",
2990
+ /** 保存失败 - 向服务器提交更改时发生错误 */
2991
+ OnlineSaveFailed = "onlineSaveFailed",
2992
+ /** 已应用其他用户的改动 - 本地已合并远程更改 */
2993
+ ServerChangeApplied = "serverChangeApplied",
2994
+ /** 禁止离线编辑 - 需等待网络恢复后才能继续编辑 */
2995
+ OfflineDisabled = "offlineDisabled"
2996
+ }
2997
+
2271
2998
  export declare interface SyncContext {
2272
2999
  clientId: string;
2273
3000
  timestamp: number;
@@ -2290,6 +3017,54 @@ export declare interface SyncStatusDelegation {
2290
3017
  onError: (error: unknown, context: SyncContext) => void;
2291
3018
  }
2292
3019
 
3020
+ export declare interface TableCombineTablesOptions {
3021
+ /**
3022
+ * 是否禁用
3023
+ * @default false
3024
+ */
3025
+ disabled?: boolean;
3026
+ /**
3027
+ * 隐藏了解更多提示
3028
+ */
3029
+ hideMoreInfoTip?: boolean;
3030
+ limitations?: {
3031
+ /**
3032
+ * 获取每个文件支持合并的最大表格数量
3033
+ * @returns 最大表格数量
3034
+ */
3035
+ getPerFileMaxTableCount?: () => number | undefined;
3036
+ /**
3037
+ * 获取每个表格支持合并的最大表格数量
3038
+ * @returns 最大表格数量
3039
+ */
3040
+ getPerTableMaxTableCount?: () => number | undefined;
3041
+ };
3042
+ /**
3043
+ * 是否需要改变关联引用表的链接 origin
3044
+ * @default false
3045
+ * 在 sdk 环境中需要匹配对文件应真实的 url 地址
3046
+ */
3047
+ changeRefLinkOrigin?: boolean;
3048
+ }
3049
+
3050
+ /**
3051
+ * 复制功能配置
3052
+ *
3053
+ * 控制表格中复制功能的行为
3054
+ */
3055
+ export declare type TableCopyOptions = EditorCopyOptions;
3056
+
3057
+ /**
3058
+ * 表格仪表盘配置选项
3059
+ */
3060
+ export declare interface TableDashboardOptions {
3061
+ /**
3062
+ * 是否禁用仪表盘功能
3063
+ * @default false
3064
+ */
3065
+ disabled?: boolean;
3066
+ }
3067
+
2293
3068
  export declare interface TableEditorContent {
2294
3069
  /**
2295
3070
  * 保存当前活文件的所有修改
@@ -2318,21 +3093,105 @@ export declare type TableEditorDeltaActionName = 'CreateTable' | 'UpdateTableNam
2318
3093
  /**
2319
3094
  * 表格编辑器选项
2320
3095
  */
2321
- export declare type TableEditorOptions = Omit<EditorOptions, 'content'>;
2322
-
2323
- export declare type TableFieldContextMenuEntryConfig = EditorMenuEntryConfig<TableFieldContextMenuFeatureButtonName>;
3096
+ export declare type TableEditorOptions = Omit<EditorOptions, 'content' | 'fonts' | 'collaboration'>;
2324
3097
 
2325
- export declare type TableFieldContextMenuFeatureButtonConfig = EditorMenuEntryConfig<TableFieldContextMenuFeatureButtonName>;
3098
+ export declare interface TableExplainPageOptions {
3099
+ /**
3100
+ * 是否禁用
3101
+ * @default false
3102
+ */
3103
+ disabled?: boolean;
3104
+ /**
3105
+ * 样式
3106
+ */
3107
+ style: {
3108
+ /**
3109
+ * 顶部位置
3110
+ */
3111
+ topPosition?: number;
3112
+ };
3113
+ }
2326
3114
 
2327
- export declare type TableFieldContextMenuFeatureButtonName =
2328
- /** 更新字段 */
2329
- 'updateField'
2330
- /** 添加字段描述 */
2331
- | 'addFieldDesc'
2332
- /** 在左侧插入 */
2333
- | 'insertLeft'
2334
- /** 在右侧插入 */
2335
- | 'insertRight'
3115
+ /**
3116
+ * 表格导出回调接口
3117
+ * 定义了导出过程中各个阶段的回调函数
3118
+ */
3119
+ export declare interface TableExportCallbacks {
3120
+ /**
3121
+ * 导出开始时的回调函数
3122
+ */
3123
+ onStart?: () => void;
3124
+ /**
3125
+ * 导出进度更新时的回调函数
3126
+ * @param progress - 当前导出进度百分比(0-100)
3127
+ */
3128
+ onProgress?: (progress: number) => void;
3129
+ /**
3130
+ * 导出成功时的回调函数
3131
+ * @param downloadUrl - 导出文件的下载链接
3132
+ * @param message - 成功提示信息
3133
+ */
3134
+ onSuccess: (downloadUrl: string, message?: string) => void;
3135
+ /**
3136
+ * 导出失败时的回调函数
3137
+ * @param error - 错误信息
3138
+ */
3139
+ onError: (error?: unknown) => void;
3140
+ }
3141
+
3142
+ /**
3143
+ * 表格导出配置选项
3144
+ * 扩展自EditorExportOptions基础导出配置
3145
+ */
3146
+ export declare interface TableExportOptions extends EditorExportOptions {
3147
+ /**
3148
+ * 是否禁用导出功能
3149
+ * @default false
3150
+ */
3151
+ disabled?: boolean;
3152
+ /**
3153
+ * 导出为石墨表格文件配置
3154
+ */
3155
+ exportSheets?: {
3156
+ /**
3157
+ * 是否禁用表格导出功能
3158
+ * @default false
3159
+ */
3160
+ disabled?: boolean;
3161
+ };
3162
+ /**
3163
+ * 导出为Excel文件配置
3164
+ */
3165
+ exportExcel?: {
3166
+ /**
3167
+ * 是否禁用Excel导出功能
3168
+ * @default false
3169
+ */
3170
+ disabled?: boolean;
3171
+ /**
3172
+ * 导出Excel文件方法
3173
+ * @param fileGuid - 文件唯一标识符,用于标记导出的文件
3174
+ * @param callbacks - 导出过程回调函数集合
3175
+ * @param inMotable - 是否使用motable数据结构导出
3176
+ * @returns Promise对象
3177
+ */
3178
+ export?: (fileGuid: string, inMotable: boolean, callbacks: TableExportCallbacks) => Promise<void>;
3179
+ };
3180
+ }
3181
+
3182
+ export declare type TableFieldContextMenuEntryConfig = EditorMenuEntryConfig<TableFieldContextMenuFeatureButtonName>;
3183
+
3184
+ export declare type TableFieldContextMenuFeatureButtonConfig = EditorMenuEntryConfig<TableFieldContextMenuFeatureButtonName>;
3185
+
3186
+ export declare type TableFieldContextMenuFeatureButtonName =
3187
+ /** 更新字段 */
3188
+ 'updateField'
3189
+ /** 添加字段描述 */
3190
+ | 'addFieldDesc'
3191
+ /** 在左侧插入 */
3192
+ | 'insertLeft'
3193
+ /** 在右侧插入 */
3194
+ | 'insertRight'
2336
3195
  /** 复制字段 */
2337
3196
  | 'copyField'
2338
3197
  /** 升序排序 */
@@ -2350,8 +3209,278 @@ export declare type TableFieldContextMenuFeatureButtonName =
2350
3209
 
2351
3210
  export declare type TableFieldContextMenuOptions = EditorMenuOptions<TableFieldContextMenuFeatureButtonName>;
2352
3211
 
3212
+ /**
3213
+ * 表格字段配置选项
3214
+ */
3215
+ export declare interface TableFieldOptions {
3216
+ /**
3217
+ * 群组字段配置
3218
+ */
3219
+ group?: {
3220
+ /**
3221
+ * 是否启用群组字段
3222
+ * @default false
3223
+ */
3224
+ enabled?: boolean;
3225
+ /**
3226
+ * IM应用唤起配置
3227
+ */
3228
+ imProps?: {
3229
+ /**
3230
+ * 是否禁用唤起
3231
+ * @default false
3232
+ */
3233
+ disabled?: boolean;
3234
+ /**
3235
+ * 应用唤起参数
3236
+ */
3237
+ startOptions: {
3238
+ /** 应用名称(唯一键值) */
3239
+ name: string;
3240
+ /** 应用协议方案(如"myapp://") */
3241
+ scheme: string;
3242
+ /** 应用内部路径 */
3243
+ path: string;
3244
+ /** 默认参数 */
3245
+ defaultParams: Record<string, string>;
3246
+ };
3247
+ /**
3248
+ * 是否禁用静默唤起
3249
+ * @default false
3250
+ */
3251
+ noSilent?: boolean;
3252
+ };
3253
+ };
3254
+ /**
3255
+ * 关联引用记录配置
3256
+ */
3257
+ referenceRecord?: {
3258
+ /**
3259
+ * 是否禁用引用记录
3260
+ * @default false
3261
+ */
3262
+ disabled?: boolean;
3263
+ /**
3264
+ * 禁用他表引入
3265
+ * @default false
3266
+ */
3267
+ disableExternalRefTable?: boolean;
3268
+ };
3269
+ /**
3270
+ * 关联引用公式配置
3271
+ */
3272
+ refRecordRollUp?: {
3273
+ /**
3274
+ * 是否禁用引用记录聚合
3275
+ * @default false
3276
+ */
3277
+ disabled?: boolean;
3278
+ };
3279
+ /**
3280
+ * 最后修改人配置
3281
+ */
3282
+ lastModifiedBy?: {
3283
+ /**
3284
+ * 是否禁用最后修改人
3285
+ * @default false
3286
+ */
3287
+ disabled?: boolean;
3288
+ };
3289
+ /**
3290
+ * 首次修改人配置
3291
+ */
3292
+ firstModifiedBy?: {
3293
+ /**
3294
+ * 是否禁用首次修改人
3295
+ * @default false
3296
+ */
3297
+ disabled?: boolean;
3298
+ };
3299
+ /**
3300
+ * 协作人配置
3301
+ */
3302
+ collaborator?: {
3303
+ /**
3304
+ * 是否禁用协作人
3305
+ * @default false
3306
+ */
3307
+ disabled?: boolean;
3308
+ };
3309
+ /**
3310
+ * 日期提醒
3311
+ */
3312
+ dateMention?: {
3313
+ /**
3314
+ * 是否禁用日期提醒
3315
+ * @default false
3316
+ */
3317
+ disabled?: boolean;
3318
+ };
3319
+ /**
3320
+ * 自动编号
3321
+ */
3322
+ autoNumber?: {
3323
+ /**
3324
+ * 是否禁用自动编号
3325
+ * @default false
3326
+ */
3327
+ disabled?: boolean;
3328
+ };
3329
+ }
3330
+
3331
+ export declare interface TableFormOptions {
3332
+ /**
3333
+ * 是否禁用表单功能
3334
+ * @default false
3335
+ */
3336
+ disabled?: boolean;
3337
+ /**
3338
+ * 仅企业用户可以填写
3339
+ */
3340
+ onlyEnterpriseUser?: boolean;
3341
+ /**
3342
+ * 创建表单文件
3343
+ * 有guid的是sdk2.0的接口,没有guid的是sass的接口
3344
+ */
3345
+ createFile?: (params: {
3346
+ content: string;
3347
+ name: string;
3348
+ guid: string;
3349
+ folder?: string;
3350
+ }) => Promise<{
3351
+ guid: string;
3352
+ id: number;
3353
+ }>;
3354
+ /**
3355
+ * 获取表单文件的父级文件
3356
+ * sass需要提供
3357
+ */
3358
+ getFileAncestors?: (fileGuid: string) => Promise<EditorFileOptions[]>;
3359
+ }
3360
+
3361
+ /**
3362
+ * 表格公式配置选项
3363
+ */
3364
+ export declare interface TableFormulaOptions {
3365
+ /**
3366
+ * 是否禁用
3367
+ * @default false
3368
+ */
3369
+ disabled?: boolean;
3370
+ /**
3371
+ * 前端本地的公式计算配置
3372
+ */
3373
+ localCalculation?: {
3374
+ /**
3375
+ * 是否启用
3376
+ * @default false
3377
+ */
3378
+ enabled?: boolean;
3379
+ };
3380
+ }
3381
+
3382
+ /**
3383
+ * 表格历史记录配置选项
3384
+ */
3385
+ export declare interface TableHistoryOptions extends EditorHistoryOptions {
3386
+ /**
3387
+ * 单元格历史记录配置
3388
+ */
3389
+ cellHistory?: {
3390
+ /**
3391
+ * 是否禁用单元格历史
3392
+ * @default false
3393
+ */
3394
+ disabled?: boolean;
3395
+ };
3396
+ }
3397
+
3398
+ /**
3399
+ * 表格导入回调接口
3400
+ * 定义了导入过程中各个阶段的回调函数
3401
+ */
3402
+ export declare interface TableImportCallbacks {
3403
+ /**
3404
+ * 导入开始时的回调函数
3405
+ */
3406
+ onStart?: () => void;
3407
+ /**
3408
+ * 导入进度更新时的回调函数
3409
+ * @param progress - 当前导入进度百分比(0-100)
3410
+ */
3411
+ onProgress?: (progress: number) => void;
3412
+ /**
3413
+ * 导入成功时的回调函数
3414
+ * @param message - 成功提示信息
3415
+ */
3416
+ onSuccess: (message?: string) => void;
3417
+ /**
3418
+ * 导入失败时的回调函数
3419
+ * @param error - 错误信息
3420
+ */
3421
+ onError: (error?: unknown) => void;
3422
+ }
3423
+
3424
+ /**
3425
+ * 表格导入配置选项
3426
+ * 扩展自EditorImportOptions基础导入配置
3427
+ */
3428
+ export declare interface TableImportOptions extends EditorImportOptions {
3429
+ /**
3430
+ * 是否禁用导入功能
3431
+ * @default false
3432
+ */
3433
+ disabled?: boolean;
3434
+ /**
3435
+ * 是否启用motable数据结构导入
3436
+ * @default false
3437
+ */
3438
+ enableMotableImport?: Boolean;
3439
+ /**
3440
+ * 导入Excel文件
3441
+ * @param file - 要导入的Excel文件
3442
+ * @param fileGuid - 文件唯一标识符
3443
+ * @param fileUrl - 文件URL地址
3444
+ * @param callbacks - 导入过程回调函数集合
3445
+ * @returns Promise对象
3446
+ */
3447
+ importExcel?: (file: File, fileGuid: string, fileUrl: string, callbacks: TableImportCallbacks) => Promise<void>;
3448
+ }
3449
+
2353
3450
  export declare type TableListBarButtonName = 'tableMenu' | 'addTable' | 'tabLeft' | 'tabRight' | 'exportToExcel';
2354
3451
 
3452
+ export declare type TableListBarContextMenuEntryConfig = EditorMenuEntryConfig<TableListBarContextMenuFeatureButtonName>;
3453
+
3454
+ export declare type TableListBarContextMenuFeatureButtonConfig = EditorMenuEntryConfig<TableListBarContextMenuFeatureButtonName>;
3455
+
3456
+ export declare type TableListBarContextMenuFeatureButtonName =
3457
+ /**
3458
+ * 重命名
3459
+ */
3460
+ 'rename'
3461
+ /**
3462
+ * 删除
3463
+ */
3464
+ | 'delete'
3465
+ /**
3466
+ * 添加描述
3467
+ */
3468
+ | 'addDescription'
3469
+ /**
3470
+ * 复制
3471
+ */
3472
+ | 'copy'
3473
+ /**
3474
+ * 管理引用表
3475
+ */
3476
+ | 'manageCombineTable'
3477
+ /**
3478
+ * 更新引用表
3479
+ */
3480
+ | 'updateCombineTable';
3481
+
3482
+ export declare type TableListBarContextMenuOptions = EditorContextMenuOptions<TableListBarContextMenuFeatureButtonName>;
3483
+
2355
3484
  export declare type TableListBarCustomButtonConfig = Record<string, Omit<EditorToolbarFeatureButton<string>, 'label' | 'icon' | 'tooltip'> & {
2356
3485
  icon: string;
2357
3486
  tooltip: string;
@@ -2363,11 +3492,75 @@ export declare type TableListBarOptions = Omit<EditorToolbarOptions<TableListBar
2363
3492
  custom?: TableListBarCustomButtonConfig;
2364
3493
  };
2365
3494
 
2366
- export declare interface TableSDKOptions extends TableEditorOptions {
3495
+ /**
3496
+ * 表格提及功能配置选项
3497
+ */
3498
+ export declare interface TableMentionOptions extends EditorMentionOptions {
3499
+ /**
3500
+ * 支持的文件类型
3501
+ * @default ['table', 'folder', 'space']
3502
+ */
3503
+ mentionAcceptFileTypes?: ('table' | 'folder' | 'space')[];
3504
+ /**
3505
+ * 输入框占位文本
3506
+ */
3507
+ inputPlaceholder?: string;
3508
+ }
3509
+
3510
+ /**
3511
+ * Motable配置选项
3512
+ */
3513
+ export declare interface TableMotableOptions {
2367
3514
  /**
2368
- * 字体配置
3515
+ * 是否启用
3516
+ * @default false
2369
3517
  */
2370
- fonts?: EditorFontsOptions;
3518
+ enabled?: boolean;
3519
+ /**
3520
+ * 读取来源
3521
+ * @default ReadFrom.UNKNOWN
3522
+ */
3523
+ readFrom?: ReadFrom;
3524
+ /**
3525
+ * 是否禁用Motable文件校验
3526
+ * @default false
3527
+ */
3528
+ disableCheckIsMotableFile?: boolean;
3529
+ /**
3530
+ * 是否启用升级弹窗
3531
+ * @default false
3532
+ */
3533
+ enableUpgradeModal?: boolean;
3534
+ }
3535
+
3536
+ export declare interface TablePasteLimitationOptions extends EditorPasteLimitationOptions {
3537
+ /**
3538
+ * 获取表格能支持的最大行数
3539
+ * @returns 最大行数
3540
+ */
3541
+ getMaxRowCount?: () => number | undefined;
3542
+ }
3543
+
3544
+ export declare interface TablePasteOptions extends EditorPasteOptions {
3545
+ limitations?: TablePasteLimitationOptions;
3546
+ }
3547
+
3548
+ export declare interface TableRenderOptions {
3549
+ /** 当前 table Guid */
3550
+ table?: string;
3551
+ /** 渲染类型,固定为 'table' */
3552
+ type?: string;
3553
+ /** 当前视图的唯一标识符 */
3554
+ view?: string;
3555
+ /** 视图分享模式的唯一标识符 */
3556
+ shareViewGuid?: string;
3557
+ /** 哈希值,从中获取渲激活的区域相关配置 */
3558
+ hash?: string;
3559
+ /** 初始化后需要开始编辑的记录行标识符 */
3560
+ recordGuid?: string;
3561
+ }
3562
+
3563
+ export declare interface TableSDKOptions extends TableEditorOptions {
2371
3564
  /**
2372
3565
  * 接口资源配置
2373
3566
  */
@@ -2380,6 +3573,10 @@ export declare interface TableSDKOptions extends TableEditorOptions {
2380
3573
  * 列表栏相关配置
2381
3574
  */
2382
3575
  listBar?: TableListBarOptions;
3576
+ /**
3577
+ * 列表栏右键菜单相关配置
3578
+ */
3579
+ listBarContextMenu?: TableListBarContextMenuOptions;
2383
3580
  /**
2384
3581
  * 字段上下文菜单相关配置
2385
3582
  */
@@ -2388,6 +3585,102 @@ export declare interface TableSDKOptions extends TableEditorOptions {
2388
3585
  * 表格上下文菜单相关配置
2389
3586
  */
2390
3587
  viewContextMenu?: TableViewContextMenuOptions;
3588
+ /**
3589
+ * 协作者设置
3590
+ */
3591
+ collaborators?: EditorCollaboratorsOptions;
3592
+ /**
3593
+ * 协作设置
3594
+ */
3595
+ collaboration?: Omit<EditorCollaborationOptions, 'rev'>;
3596
+ /**
3597
+ * @override
3598
+ * 表格UI相关设置
3599
+ */
3600
+ ui?: TableUiOptions;
3601
+ /**
3602
+ * 公式
3603
+ */
3604
+ formula?: TableFormulaOptions;
3605
+ /**
3606
+ * 视图
3607
+ */
3608
+ view?: TableViewOptions;
3609
+ /**
3610
+ * 仪表盘
3611
+ */
3612
+ dashboard?: TableDashboardOptions;
3613
+ /**
3614
+ * 模板
3615
+ */
3616
+ template?: TableTemplateOptions;
3617
+ /**
3618
+ * 字段
3619
+ */
3620
+ field?: TableFieldOptions;
3621
+ /**
3622
+ * 新数据储存文件
3623
+ */
3624
+ motable?: TableMotableOptions;
3625
+ /**
3626
+ * @override
3627
+ * 工具箱
3628
+ */
3629
+ toolbox?: TableToolboxOptions;
3630
+ /**
3631
+ * 复制
3632
+ */
3633
+ copy?: TableCopyOptions;
3634
+ /**
3635
+ * 粘贴
3636
+ */
3637
+ paste?: TablePasteOptions;
3638
+ /**
3639
+ * 引用数据表
3640
+ */
3641
+ combineTables?: TableCombineTablesOptions;
3642
+ /**
3643
+ * 快捷键
3644
+ */
3645
+ shortcuts?: TableShortcutsOptions;
3646
+ /**
3647
+ * @override
3648
+ * 导入设置
3649
+ */
3650
+ import?: TableImportOptions;
3651
+ /**
3652
+ * @override
3653
+ * 导出设置
3654
+ */
3655
+ export?: TableExportOptions;
3656
+ /**
3657
+ * 历史
3658
+ */
3659
+ history?: TableHistoryOptions;
3660
+ /**
3661
+ * 版本
3662
+ */
3663
+ version?: TableVersionOptions;
3664
+ /**
3665
+ * 提及
3666
+ */
3667
+ mention?: TableMentionOptions;
3668
+ /**
3669
+ * 表单配置
3670
+ */
3671
+ form?: TableFormOptions;
3672
+ /**
3673
+ * 说明页
3674
+ */
3675
+ explainPage?: TableExplainPageOptions;
3676
+ /**
3677
+ * 快照配置
3678
+ */
3679
+ snapshot?: TableSnapshotOptions;
3680
+ /**
3681
+ * 初始化页面渲染的时候需要的配置
3682
+ */
3683
+ render?: TableRenderOptions;
2391
3684
  }
2392
3685
 
2393
3686
  export declare interface TableSelection {
@@ -2512,6 +3805,94 @@ export declare type TableSelectionValue = {
2512
3805
  columnCount: number;
2513
3806
  };
2514
3807
 
3808
+ /**
3809
+ * 表格快捷键功能类型
3810
+ */
3811
+ export declare type TableShortcutsFeatureType =
3812
+ /** 内容搜索 */
3813
+ 'contentSearch';
3814
+
3815
+ /**
3816
+ * 表格快捷键配置选项
3817
+ */
3818
+ export declare interface TableShortcutsOptions extends EditorShortcutOptions {
3819
+ /**
3820
+ * 禁用的快捷键
3821
+ * 桌面客户端/极速SDK通常需要禁用ctrl+s
3822
+ */
3823
+ disabledShortcuts?: TableShortcutsFeatureType[];
3824
+ }
3825
+
3826
+ /**
3827
+ * 表格快照配置
3828
+ * 应用表格在预览指定版本时会显示 Header 用于显示创建时间等信息,预览模式时需要隐藏
3829
+ */
3830
+ export declare interface TableSnapshotOptions {
3831
+ /**
3832
+ * 快照id
3833
+ */
3834
+ snapshotId?: string;
3835
+ /**
3836
+ * 是否禁用快照头部
3837
+ */
3838
+ disableSnapshotHeader?: boolean;
3839
+ }
3840
+
3841
+ /**
3842
+ * 表格订阅接口
3843
+ * 提供了一系列方法用于监听表格组件中的各种事件
3844
+ */
3845
+ export declare interface TableSubscription {
3846
+ /**
3847
+ * 添加URL变化监听器
3848
+ * @param listener 监听器函数,接收包含fileGuid, table, view和hash的参数
3849
+ * @returns 解绑函数,调用后移除该监听器
3850
+ */
3851
+ addUrlChangedListener?: (listener: (params: UrlParams) => void) => () => void;
3852
+ /**
3853
+ * 添加协作跟踪事件监听器
3854
+ * @param listener 监听器函数,接收包含事件type和message的对象
3855
+ * @returns 解绑函数,调用后移除该监听器
3856
+ */
3857
+ addCollaborationTrackListener?: (listener: (track: {
3858
+ type: string;
3859
+ message: string;
3860
+ }) => void) => () => void;
3861
+ /**
3862
+ * 添加保存状态变化监听器
3863
+ * @param listener 监听器函数,接收当前状态和保存操作令牌
3864
+ * @returns 解绑函数,调用后移除该监听器
3865
+ */
3866
+ addSaveStatusChangedListener?: (listener: (status: Status, token: string) => void) => () => void;
3867
+ /**
3868
+ * 添加错误事件监听器
3869
+ * @param listener 监听器函数,接收包含code和message的错误对象
3870
+ * @returns 解绑函数,调用后移除该监听器
3871
+ */
3872
+ addErrorListener?: (listener: (error: EventError) => void) => () => void;
3873
+ /**
3874
+ * 添加历史记录侧边栏状态变化监听器
3875
+ * @param listener 监听器函数,接收当前状态
3876
+ * @returns 解绑函数,调用后移除该监听器
3877
+ */
3878
+ addHistorySidebarStatusChangedListener?: (listener: (open: boolean) => void) => () => void;
3879
+ /**
3880
+ * 添加内容变化监听器
3881
+ * @param listener 监听器函数,接收内容变化事件
3882
+ * @returns 解绑函数,调用后移除该监听器
3883
+ */
3884
+ addContentChangedListener?: (listener: (isUndo: boolean) => void) => () => void;
3885
+ }
3886
+
3887
+ export declare interface TableTemplateOptions extends EditorFeatureConfig {
3888
+ /**
3889
+ * 打开弹窗模板
3890
+ * @param options
3891
+ * @returns
3892
+ */
3893
+ showModal?: (options: ShowTemplateModalProps) => void;
3894
+ }
3895
+
2515
3896
  export declare type TableToolbarCalendarButtonName = 'calendarSettings' | 'calendarPendingItems';
2516
3897
 
2517
3898
  export declare type TableToolbarCommonButtonName =
@@ -2542,7 +3923,9 @@ export declare type TableToolbarCommonButtonName =
2542
3923
  /** 全屏 */
2543
3924
  | 'fullscreen'
2544
3925
  /** 表单 */
2545
- | 'form';
3926
+ | 'form'
3927
+ /** 分享视图 */
3928
+ | 'shareView';
2546
3929
 
2547
3930
  export declare type TableToolbarFeatureButtonConfig = EditorToolbarFeatureButtonConfig<TableToolbarFeatureButtonName>;
2548
3931
 
@@ -2558,6 +3941,302 @@ export declare type TableToolbarOptions = Omit<EditorToolbarOptions<TableToolbar
2558
3941
 
2559
3942
  export declare type TableToolbarTimelineButtonName = 'timelineSettings';
2560
3943
 
3944
+ /**
3945
+ * 表格工具箱配置选项
3946
+ */
3947
+ export declare interface TableToolboxOptions extends EditorToolboxOptions {
3948
+ /**
3949
+ * 是否禁用下载功能
3950
+ * @default false
3951
+ */
3952
+ disableDownload?: boolean;
3953
+ }
3954
+
3955
+ export declare interface TableUiOptions extends EditorUiOptions {
3956
+ /**
3957
+ * 表格统计条
3958
+ */
3959
+ gridSummaryBar?: {
3960
+ /**
3961
+ * 是否禁用
3962
+ * @default false
3963
+ */
3964
+ disabled?: boolean;
3965
+ };
3966
+ /**
3967
+ * 菜单栏
3968
+ */
3969
+ menu?: {
3970
+ /**
3971
+ * 当滚动的时候自动隐藏
3972
+ * @default false
3973
+ */
3974
+ autoHide?: boolean;
3975
+ };
3976
+ /**
3977
+ * 全局样式
3978
+ */
3979
+ globalStyle?: {
3980
+ /**
3981
+ * 禁用 vendor 前缀
3982
+ * styleComponent StyleSheetManager 禁用自动前缀。渲染出来的 CSS 就不会再自动加前缀了。
3983
+ * @default false
3984
+ */
3985
+ disableVendorPrefixes?: boolean;
3986
+ /**
3987
+ * 禁用 body 滚动(默认开启)
3988
+ */
3989
+ enableBodyScroll?: boolean;
3990
+ };
3991
+ /**
3992
+ * 侧边栏样式
3993
+ */
3994
+ sidebar?: {
3995
+ /**
3996
+ * 样式
3997
+ */
3998
+ style?: {
3999
+ /**
4000
+ * 宽度
4001
+ * @default 320
4002
+ */
4003
+ width?: number;
4004
+ /**
4005
+ * 是否不固定
4006
+ * @default false
4007
+ */
4008
+ notFixed?: boolean;
4009
+ /**
4010
+ * 禁用动画
4011
+ * @default false
4012
+ */
4013
+ disableAnimation?: boolean;
4014
+ /**
4015
+ * 移除容器右上角 padding
4016
+ */
4017
+ containerRemovePaddingRightTop?: boolean;
4018
+ };
4019
+ /**
4020
+ * 打开使用指南/快捷键侧边栏
4021
+ * @deprecated 类型兼容性写法,使用 history 替代
4022
+ */
4023
+ open?: (activeKey: 'userGuide' | 'shortcut') => void;
4024
+ /**
4025
+ * 版本信息栏样式
4026
+ */
4027
+ versionInfo?: {
4028
+ /**
4029
+ * 高度
4030
+ * @default 51
4031
+ */
4032
+ height?: number;
4033
+ };
4034
+ /**
4035
+ * 当历史版本出现时,应用表格渲染的外层容器(即整个应用表格,不包含外部的壳)app container 的样式
4036
+ */
4037
+ appContainerStyle?: {
4038
+ /**
4039
+ * 右侧 padding
4040
+ * @default 同侧边栏宽度一致
4041
+ */
4042
+ paddingRight?: string;
4043
+ /**
4044
+ * 顶部 padding
4045
+ * @default 同版本信息栏高度
4046
+ */
4047
+ paddingTop?: string;
4048
+ /**
4049
+ * 宽度
4050
+ * @default 容器宽度减去侧边栏宽度
4051
+ */
4052
+ width?: string;
4053
+ };
4054
+ };
4055
+ /**
4056
+ * 内联工具栏
4057
+ */
4058
+ inlineToolbar?: {
4059
+ /**
4060
+ * 容器背景颜色
4061
+ */
4062
+ containerBackgroundColor?: string;
4063
+ /**
4064
+ * 是否启用添加视图下拉遮罩
4065
+ */
4066
+ enableAddViewDropdownMask?: boolean;
4067
+ /**
4068
+ * 禁用视图权限
4069
+ * TODO: 这个地方需要二次确定一下,是否可以跟 view 权限合并
4070
+ */
4071
+ disableViewPermission?: boolean;
4072
+ /**
4073
+ * 禁用工具栏搜索
4074
+ */
4075
+ disableToolbarSearch?: boolean;
4076
+ };
4077
+ /**
4078
+ * 工具栏下拉菜单
4079
+ */
4080
+ toolbarDropdown?: {
4081
+ /**
4082
+ * 对齐方式
4083
+ */
4084
+ popupAlignRight?: boolean;
4085
+ };
4086
+ /**
4087
+ * 分组右键菜单
4088
+ * TODO: 暂未实现
4089
+ */
4090
+ groupContextMenu?: EditorFeatureConfig;
4091
+ /**
4092
+ * 字段统计菜单
4093
+ * TODO: 暂未实现
4094
+ */
4095
+ fieldStatisticsMenu?: EditorFeatureConfig;
4096
+ /**
4097
+ * 侧边栏编辑器,包含评论与动态
4098
+ */
4099
+ sidebarEditor?: {
4100
+ /**
4101
+ * 禁用生成记录链接
4102
+ * @default false
4103
+ */
4104
+ disableGenerateRecordLink?: boolean;
4105
+ };
4106
+ }
4107
+
4108
+ export declare interface TableVersionOptions extends EditorVersionOptions {
4109
+ /**
4110
+ * 禁止创建副本
4111
+ */
4112
+ disableCreateCopy?: boolean;
4113
+ }
4114
+
4115
+ /**
4116
+ * 表格视图操作接口
4117
+ */
4118
+ export declare interface TableView {
4119
+ /**
4120
+ * 展开或关闭搜索面板
4121
+ */
4122
+ toggleSearch: () => void;
4123
+ /**
4124
+ * 执行内容搜索
4125
+ * @param params - 搜索参数对象
4126
+ * @param params.searchText - 搜索文本内容
4127
+ */
4128
+ search: (params: {
4129
+ searchText: string;
4130
+ }) => void;
4131
+ /**
4132
+ * 获取所有视图列表
4133
+ * @returns 当前表格的所有视图对象数组
4134
+ */
4135
+ getViews: () => TableView[];
4136
+ /**
4137
+ * 获取当前激活的视图ID
4138
+ * @returns 当前激活视图的唯一标识符
4139
+ */
4140
+ getActiveViewId: () => string;
4141
+ /**
4142
+ * 插入新视图
4143
+ * @param params - 视图类型或包含视图类型的参数对象
4144
+ * @param params.viewType - 要插入的视图类型
4145
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4146
+ * @returns 新创建的视图对象
4147
+ */
4148
+ insertView: (params: {
4149
+ viewType: ViewType;
4150
+ tableGuid?: string;
4151
+ } | ViewType) => TableView;
4152
+ /**
4153
+ * 删除视图
4154
+ * @param params - 可选的删除参数
4155
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4156
+ * @param params.viewGuids - 可选,要删除的视图ID数组,不传则删除当前视图
4157
+ */
4158
+ deleteView: (params?: {
4159
+ tableGuid?: string;
4160
+ viewGuids?: string[];
4161
+ }) => void;
4162
+ /**
4163
+ * 复制视图
4164
+ * @param params - 复制参数
4165
+ * @param params.viewGuid - 要复制的视图ID
4166
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4167
+ */
4168
+ duplicateView: (params: {
4169
+ viewGuid: string;
4170
+ tableGuid?: string;
4171
+ }) => void;
4172
+ /**
4173
+ * 更新视图名称
4174
+ * @param params - 更新参数
4175
+ * @param params.name - 新的视图名称
4176
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4177
+ * @param params.viewGuid - 可选,目标视图ID,不传则使用当前视图
4178
+ */
4179
+ updateViewName: (params: {
4180
+ name: string;
4181
+ tableGuid?: string;
4182
+ viewGuid?: string;
4183
+ }) => void;
4184
+ /**
4185
+ * 更新视图类型
4186
+ * @param params - 更新参数
4187
+ * @param params.viewType - 新的视图类型
4188
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4189
+ * @param params.viewGuid - 可选,目标视图ID,不传则使用当前视图
4190
+ */
4191
+ updateViewType: (params: {
4192
+ viewType: ViewType;
4193
+ tableGuid?: string;
4194
+ viewGuid?: string;
4195
+ }) => void;
4196
+ /**
4197
+ * 更新视图描述
4198
+ * @param params - 更新参数
4199
+ * @param params.description - 新的视图描述
4200
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4201
+ * @param params.viewGuid - 可选,目标视图ID,不传则使用当前视图
4202
+ */
4203
+ updateViewDescription: (params: {
4204
+ description: string;
4205
+ tableGuid?: string;
4206
+ viewGuid?: string;
4207
+ }) => void;
4208
+ /**
4209
+ * 更新视图排序
4210
+ * @param params - 更新参数
4211
+ * @param params.sort - 新的排序值
4212
+ * @param params.tableGuid - 可选,目标表格ID,不传则使用当前表格
4213
+ * @param params.viewGuid - 可选,目标视图ID,不传则使用当前视图
4214
+ */
4215
+ updateViewSort: (params: {
4216
+ sort: number;
4217
+ tableGuid?: string;
4218
+ viewGuid?: string;
4219
+ }) => void;
4220
+ /**
4221
+ * 批量设置高亮单元格
4222
+ * @param params - 高亮参数
4223
+ * @param params.highLights - 要高亮的单元格数组
4224
+ */
4225
+ setHighLights: (params: {
4226
+ highLights: HighLight[];
4227
+ }) => void;
4228
+ /**
4229
+ * 设置当前激活的高亮单元格
4230
+ * @param params - 高亮参数
4231
+ * @param params.highLight - 要高亮的单元格
4232
+ * @param params.scrollIntoView - 可选,是否将高亮单元格滚动到可视区域,默认为true
4233
+ */
4234
+ setActiveHighLight: (params: {
4235
+ highLight: HighLight;
4236
+ scrollIntoView?: boolean;
4237
+ }) => void;
4238
+ }
4239
+
2561
4240
  export declare type TableViewContextMenuEntryConfig = EditorMenuEntryConfig<TableViewContextMenuFeatureButtonName>;
2562
4241
 
2563
4242
  export declare type TableViewContextMenuFeatureButtonConfig = EditorMenuEntryConfig<TableViewContextMenuFeatureButtonName>;
@@ -2570,6 +4249,214 @@ export declare type TableViewContextMenuFeatureButtonName = GridMenuItemName | K
2570
4249
 
2571
4250
  export declare type TableViewContextMenuOptions = EditorMenuOptions<TableViewContextMenuFeatureButtonName>;
2572
4251
 
4252
+ /**
4253
+ * 表格视图配置选项
4254
+ */
4255
+ export declare interface TableViewOptions {
4256
+ /**
4257
+ * 视图侧边栏配置
4258
+ */
4259
+ viewSideBar?: {
4260
+ /**
4261
+ * 是否禁用视图权限
4262
+ * @default false
4263
+ */
4264
+ disableViewPermission?: boolean;
4265
+ /**
4266
+ * 是否隐藏创建人信息
4267
+ * @default false
4268
+ */
4269
+ hideViewCreator?: boolean;
4270
+ /**
4271
+ * 是否隐藏设置按钮
4272
+ * @default false
4273
+ */
4274
+ hideViewSettingButton?: boolean;
4275
+ /**
4276
+ * 关注视图配置
4277
+ */
4278
+ focus?: {
4279
+ /**
4280
+ * 是否禁用
4281
+ * @default false
4282
+ */
4283
+ disabled?: boolean;
4284
+ };
4285
+ /**
4286
+ * 分享视图配置
4287
+ */
4288
+ share?: {
4289
+ /**
4290
+ * 是否启用
4291
+ * @default false
4292
+ */
4293
+ enabled?: boolean;
4294
+ /**
4295
+ * 互联网公开
4296
+ * @default false
4297
+ */
4298
+ disablePublicShare?: boolean;
4299
+ /**
4300
+ * 组织架构 tab 可见
4301
+ * @default false
4302
+ */
4303
+ disableOrgnizationPanelTab?: boolean;
4304
+ };
4305
+ /**
4306
+ * 个人视图配置
4307
+ */
4308
+ personalSetting?: {
4309
+ /**
4310
+ * 是否禁用
4311
+ * @default false
4312
+ */
4313
+ disabled?: boolean;
4314
+ };
4315
+ /**
4316
+ * 复制视图配置
4317
+ */
4318
+ copy?: {
4319
+ /**
4320
+ * 是否禁用
4321
+ * @default false
4322
+ */
4323
+ disabled?: boolean;
4324
+ };
4325
+ /**
4326
+ * 删除视图配置
4327
+ */
4328
+ delete?: {
4329
+ /**
4330
+ * 是否禁用
4331
+ * @default false
4332
+ */
4333
+ disabled?: boolean;
4334
+ };
4335
+ };
4336
+ /**
4337
+ * 视图特性配置
4338
+ */
4339
+ viewConfig?: {
4340
+ /**
4341
+ * 画廊视图配置
4342
+ */
4343
+ gallery?: {
4344
+ /**
4345
+ * 是否禁用布局配置
4346
+ * @default false
4347
+ */
4348
+ disableLayoutConfig?: boolean;
4349
+ };
4350
+ };
4351
+ }
4352
+
4353
+ export declare interface TableWindow {
4354
+ /**
4355
+ * 维持编辑器焦点
4356
+ *
4357
+ * 防止点击iframe外部时编辑弹窗意外关闭
4358
+ * @returns {boolean} 是否成功
4359
+ */
4360
+ keepFocus: () => boolean;
4361
+ /**
4362
+ * 触发外部点击事件
4363
+ *
4364
+ * 解决iframe外部点击无法响应问题,确保内容正确保存
4365
+ */
4366
+ clickOutside: () => void;
4367
+ }
4368
+
4369
+ export declare interface TemplateProps {
4370
+ /**
4371
+ * 模板信息
4372
+ */
4373
+ template: {
4374
+ /**
4375
+ * 模板 guid
4376
+ */
4377
+ guid?: string;
4378
+ /**
4379
+ * 模板名称
4380
+ */
4381
+ name: string;
4382
+ /**
4383
+ * 是否是自定义模板
4384
+ */
4385
+ isCustom?: boolean;
4386
+ /**
4387
+ * 是否是空白模板
4388
+ */
4389
+ isBlank?: boolean;
4390
+ /**
4391
+ * 模板额外信息
4392
+ */
4393
+ extra?: {
4394
+ extraObject: any;
4395
+ };
4396
+ };
4397
+ }
4398
+
4399
+ /**
4400
+ * Toast提示文本配置接口
4401
+ */
4402
+ export declare interface ToastTipsConfig {
4403
+ /**
4404
+ * 复制相关提示文本
4405
+ */
4406
+ copy?: OperationToastConfig;
4407
+ /**
4408
+ * 粘贴相关提示文本
4409
+ */
4410
+ paste?: OperationToastConfig;
4411
+ /**
4412
+ * 剪切相关提示文本
4413
+ */
4414
+ cut?: OperationToastConfig;
4415
+ /**
4416
+ * 打印相关提示文本
4417
+ */
4418
+ print?: OperationToastConfig;
4419
+ /**
4420
+ * 导出相关提示文本
4421
+ */
4422
+ export?: OperationToastConfig;
4423
+ /**
4424
+ * 编辑相关提示文本
4425
+ */
4426
+ edit?: OperationToastConfig;
4427
+ /**
4428
+ * 下载相关提示文本
4429
+ */
4430
+ download?: {
4431
+ /**
4432
+ * 图片下载提示文本
4433
+ */
4434
+ image?: OperationToastConfig;
4435
+ /**
4436
+ * 附件下载提示文本
4437
+ */
4438
+ attachment?: OperationToastConfig;
4439
+ };
4440
+ /**
4441
+ * 预览相关提示文本
4442
+ */
4443
+ preview?: {
4444
+ /**
4445
+ * 图片预览提示文本
4446
+ */
4447
+ image?: OperationToastConfig;
4448
+ /**
4449
+ * 附件预览提示文本
4450
+ */
4451
+ attachment?: OperationToastConfig;
4452
+ };
4453
+ /**
4454
+ * 创建版本相关提示文本
4455
+ * sdk2.0需要提供
4456
+ */
4457
+ createVersion?: OperationToastConfig;
4458
+ }
4459
+
2573
4460
  /**
2574
4461
  * 工具箱工具项接口
2575
4462
  */
@@ -2629,4 +4516,41 @@ export declare enum ToolTypes {
2629
4516
  STT = "audioToText"
2630
4517
  }
2631
4518
 
4519
+ /**
4520
+ * URL参数接口
4521
+ * 定义了表格组件URL中包含的关键参数
4522
+ */
4523
+ export declare interface UrlParams {
4524
+ /** 文件ID,用于唯一标识一个文档 */
4525
+ fileGuid: string;
4526
+ /** 表格ID,用于标识文档中的特定表格 */
4527
+ table: string;
4528
+ /** 视图ID,用于标识表格的特定视图 */
4529
+ view: string;
4530
+ /** URL哈希值,可包含额外导航信息 */
4531
+ hash: string;
4532
+ }
4533
+
4534
+ /**
4535
+ * 视图类型枚举
4536
+ */
4537
+ export declare enum ViewType {
4538
+ /** 网格视图 */
4539
+ Grid = "Grid",
4540
+ /** 表单视图 */
4541
+ Form = "Form",
4542
+ /** 看板视图 */
4543
+ Kanban = "Kanban",
4544
+ /** 画廊视图 */
4545
+ Gallery = "Gallery",
4546
+ /** 日历视图 */
4547
+ Calendar = "Calendar",
4548
+ /** 甘特图视图 */
4549
+ Gantt = "Gantt",
4550
+ /** 任务视图 */
4551
+ Task = "Task",
4552
+ /** 列表视图 */
4553
+ List = "List"
4554
+ }
4555
+
2632
4556
  export { }