@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.
- package/cjs/docs/sdk.js +1 -1
- package/cjs/docx/index.js +1 -1
- package/cjs/docx/menu.js +1 -1
- package/cjs/docx/outline.js +1 -1
- package/cjs/docx/pages.js +17 -1
- package/cjs/docx/paragraphs.js +3 -0
- package/cjs/docx/revisions.js +3 -0
- package/cjs/docx/sdk.js +1 -1
- package/cjs/docx/signature.js +3 -0
- package/cjs/docx/statistic.js +3 -0
- package/cjs/docx/theme.js +1 -1
- package/cjs/docx/ui.js +3 -0
- package/cjs/form/feature.js +3 -0
- package/cjs/form/index.js +21 -0
- package/cjs/form/link.js +3 -0
- package/cjs/form/publish.js +3 -0
- package/cjs/form/sdk.js +28 -0
- package/cjs/form/sheet.js +3 -0
- package/cjs/form/table.js +3 -0
- package/cjs/form/ui.js +3 -0
- package/cjs/pdf/pages.js +1 -1
- package/cjs/presentation/anonymous.js +3 -0
- package/cjs/presentation/assistant.js +3 -0
- package/cjs/presentation/chart.js +3 -0
- package/cjs/presentation/comments.js +3 -0
- package/cjs/presentation/diagram.js +3 -0
- package/cjs/presentation/event-subscription.js +3 -0
- package/cjs/presentation/export.js +1 -1
- package/cjs/presentation/fonts.js +1 -1
- package/cjs/presentation/index.js +1 -1
- package/cjs/presentation/presentation.js +3 -0
- package/cjs/presentation/remote-live.js +3 -0
- package/cjs/presentation/sdk.js +1 -1
- package/cjs/presentation/slides-pane.js +3 -0
- package/cjs/presentation/theme.js +3 -0
- package/cjs/shared/assets.js +1 -1
- package/cjs/shared/attachment.js +1 -1
- package/cjs/shared/brand.js +1 -1
- package/cjs/shared/collaborators.js +1 -1
- package/cjs/shared/comments.js +1 -1
- package/cjs/shared/copy.js +3 -0
- package/cjs/shared/device.js +3 -0
- package/cjs/shared/download.js +1 -2
- package/cjs/shared/drag-n-drop.js +6 -0
- package/cjs/shared/duplicate.js +6 -0
- package/cjs/shared/edit.js +2 -0
- package/cjs/shared/editor.js +1 -1
- package/cjs/shared/export.js +1 -1
- package/cjs/shared/feature.js +1 -1
- package/cjs/shared/file.js +1 -1
- package/cjs/shared/follow-mode.js +1 -1
- package/cjs/shared/fonts.js +1 -1
- package/cjs/shared/guides.js +3 -0
- package/cjs/shared/history.js +1 -1
- package/cjs/shared/import.js +1 -1
- package/cjs/shared/index.js +1 -1
- package/cjs/shared/link.js +1 -1
- package/cjs/shared/logs.js +3 -0
- package/cjs/shared/mention.js +1 -1
- package/cjs/shared/menu.js +1 -1
- package/cjs/shared/mode.js +1 -1
- package/cjs/shared/outline.js +1 -1
- package/cjs/shared/paste.js +3 -0
- package/cjs/shared/presentation.js +3 -0
- package/cjs/shared/render.js +3 -0
- package/cjs/shared/share.js +3 -0
- package/cjs/shared/shortcut.js +3 -0
- package/cjs/shared/socket.js +3 -0
- package/cjs/shared/toolbar.js +1 -1
- package/cjs/shared/ui.js +1 -1
- package/cjs/shared/uploader.js +1 -1
- package/cjs/shared/version.js +1 -1
- package/cjs/shared/watermark.js +1 -1
- package/cjs/sheet/combine-sheets.js +1 -1
- package/cjs/sheet/date-mention.js +3 -0
- package/cjs/sheet/event-subscription.js +3 -0
- package/cjs/sheet/export.js +1 -1
- package/cjs/sheet/follow-selection.js +3 -0
- package/cjs/sheet/form.js +1 -1
- package/cjs/sheet/formula.js +1 -1
- package/cjs/sheet/import-range.js +1 -1
- package/cjs/sheet/import.js +3 -0
- package/cjs/sheet/independent-viewport.js +3 -0
- package/cjs/sheet/index.js +1 -1
- package/cjs/sheet/lock.js +1 -1
- package/cjs/sheet/ole.js +3 -0
- package/cjs/sheet/paste.js +3 -0
- package/cjs/sheet/render.js +1 -1
- package/cjs/sheet/sdk.js +1 -1
- package/cjs/sheet/sheet-tab.js +3 -0
- package/cjs/sheet/ui.js +3 -0
- package/cjs/sheet/worksheet.js +1 -1
- package/cjs/table/combine-tables.js +3 -0
- package/cjs/table/copy.js +3 -0
- package/cjs/table/dashboard.js +3 -0
- package/cjs/table/explain-page.js +3 -0
- package/cjs/table/export.js +3 -0
- package/cjs/table/field.js +3 -0
- package/cjs/table/form.js +3 -0
- package/cjs/table/formula.js +3 -0
- package/cjs/table/history.js +3 -0
- package/cjs/table/import.js +3 -0
- package/cjs/table/index.js +6 -2
- package/cjs/table/list-bar-context-menu.js +3 -0
- package/cjs/table/mention.js +3 -0
- package/cjs/table/motable.js +16 -0
- package/cjs/table/paste.js +3 -0
- package/cjs/table/render.js +3 -0
- package/cjs/table/resource.js +1 -1
- package/cjs/table/sdk.js +1 -1
- package/cjs/table/shortcuts.js +3 -0
- package/cjs/table/snapshot.js +3 -0
- package/cjs/table/subscription.js +25 -0
- package/cjs/table/table.js +1 -1
- package/cjs/table/template.js +3 -0
- package/cjs/table/toolbar.js +1 -1
- package/cjs/table/toolbox.js +3 -0
- package/cjs/table/ui.js +3 -0
- package/cjs/table/version.js +3 -0
- package/cjs/table/view.js +26 -0
- package/cjs/table/window.js +3 -0
- package/esm/docs/sdk.js +1 -1
- package/esm/docx/index.js +1 -1
- package/esm/docx/menu.js +1 -1
- package/esm/docx/outline.js +1 -1
- package/esm/docx/pages.js +15 -2
- package/esm/docx/paragraphs.js +2 -0
- package/esm/docx/revisions.js +2 -0
- package/esm/docx/sdk.js +1 -1
- package/esm/docx/signature.js +2 -0
- package/esm/docx/statistic.js +2 -0
- package/esm/docx/theme.js +1 -1
- package/esm/docx/ui.js +2 -0
- package/esm/form/feature.js +2 -0
- package/esm/form/index.js +3 -0
- package/esm/form/link.js +2 -0
- package/esm/form/publish.js +2 -0
- package/esm/form/sdk.js +25 -0
- package/esm/form/sheet.js +2 -0
- package/esm/form/table.js +2 -0
- package/esm/form/ui.js +2 -0
- package/esm/pdf/pages.js +1 -1
- package/esm/presentation/anonymous.js +2 -0
- package/esm/presentation/assistant.js +2 -0
- package/esm/presentation/chart.js +2 -0
- package/esm/presentation/comments.js +2 -0
- package/esm/presentation/diagram.js +2 -0
- package/esm/presentation/event-subscription.js +2 -0
- package/esm/presentation/export.js +1 -1
- package/esm/presentation/fonts.js +1 -1
- package/esm/presentation/index.js +1 -1
- package/esm/presentation/presentation.js +2 -0
- package/esm/presentation/remote-live.js +2 -0
- package/esm/presentation/sdk.js +1 -1
- package/esm/presentation/slides-pane.js +2 -0
- package/esm/presentation/theme.js +2 -0
- package/esm/shared/assets.js +1 -1
- package/esm/shared/attachment.js +1 -1
- package/esm/shared/brand.js +1 -1
- package/esm/shared/collaborators.js +1 -1
- package/esm/shared/comments.js +1 -1
- package/esm/shared/copy.js +2 -0
- package/esm/shared/device.js +2 -0
- package/esm/shared/download.js +2 -2
- package/esm/shared/drag-n-drop.js +5 -0
- package/esm/shared/duplicate.js +5 -0
- package/esm/shared/edit.js +2 -0
- package/esm/shared/editor.js +1 -1
- package/esm/shared/export.js +1 -1
- package/esm/shared/feature.js +1 -1
- package/esm/shared/file.js +1 -1
- package/esm/shared/follow-mode.js +1 -1
- package/esm/shared/fonts.js +1 -1
- package/esm/shared/guides.js +2 -0
- package/esm/shared/history.js +1 -1
- package/esm/shared/import.js +1 -1
- package/esm/shared/index.js +1 -1
- package/esm/shared/link.js +1 -1
- package/esm/shared/logs.js +2 -0
- package/esm/shared/mention.js +1 -1
- package/esm/shared/menu.js +1 -1
- package/esm/shared/mode.js +1 -1
- package/esm/shared/outline.js +1 -1
- package/esm/shared/paste.js +2 -0
- package/esm/shared/presentation.js +2 -0
- package/esm/shared/render.js +2 -0
- package/esm/shared/share.js +2 -0
- package/esm/shared/shortcut.js +2 -0
- package/esm/shared/socket.js +2 -0
- package/esm/shared/toolbar.js +1 -1
- package/esm/shared/ui.js +1 -1
- package/esm/shared/uploader.js +1 -1
- package/esm/shared/version.js +1 -1
- package/esm/shared/watermark.js +1 -1
- package/esm/sheet/combine-sheets.js +1 -1
- package/esm/sheet/date-mention.js +2 -0
- package/esm/sheet/event-subscription.js +2 -0
- package/esm/sheet/export.js +1 -1
- package/esm/sheet/follow-selection.js +2 -0
- package/esm/sheet/form.js +1 -1
- package/esm/sheet/formula.js +1 -1
- package/esm/sheet/import-range.js +1 -1
- package/esm/sheet/import.js +2 -0
- package/esm/sheet/independent-viewport.js +2 -0
- package/esm/sheet/index.js +1 -1
- package/esm/sheet/lock.js +1 -1
- package/esm/sheet/ole.js +2 -0
- package/esm/sheet/paste.js +2 -0
- package/esm/sheet/render.js +1 -1
- package/esm/sheet/sdk.js +1 -1
- package/esm/sheet/sheet-tab.js +2 -0
- package/esm/sheet/ui.js +2 -0
- package/esm/sheet/worksheet.js +1 -1
- package/esm/table/combine-tables.js +2 -0
- package/esm/table/copy.js +2 -0
- package/esm/table/dashboard.js +2 -0
- package/esm/table/explain-page.js +2 -0
- package/esm/table/export.js +2 -0
- package/esm/table/field.js +2 -0
- package/esm/table/form.js +2 -0
- package/esm/table/formula.js +2 -0
- package/esm/table/history.js +2 -0
- package/esm/table/import.js +2 -0
- package/esm/table/index.js +3 -1
- package/esm/table/list-bar-context-menu.js +2 -0
- package/esm/table/mention.js +2 -0
- package/esm/table/motable.js +13 -0
- package/esm/table/paste.js +2 -0
- package/esm/table/render.js +2 -0
- package/esm/table/resource.js +1 -1
- package/esm/table/sdk.js +1 -1
- package/esm/table/shortcuts.js +2 -0
- package/esm/table/snapshot.js +2 -0
- package/esm/table/subscription.js +22 -0
- package/esm/table/table.js +1 -1
- package/esm/table/template.js +2 -0
- package/esm/table/toolbar.js +1 -1
- package/esm/table/toolbox.js +2 -0
- package/esm/table/ui.js +2 -0
- package/esm/table/version.js +2 -0
- package/esm/table/view.js +23 -0
- package/esm/table/window.js +2 -0
- package/package.json +6 -1
- package/types/combine.d.ts +2985 -265
- package/types/diagram.d.ts +823 -115
- package/types/docs.d.ts +850 -115
- package/types/docx.d.ts +1096 -119
- package/types/form.d.ts +3027 -0
- package/types/pdf.d.ts +829 -115
- package/types/presentation.d.ts +1088 -129
- package/types/shared.d.ts +823 -115
- package/types/sheet.d.ts +1112 -161
- package/types/table.d.ts +2097 -173
- package/cjs/shared/checkpoints.js +0 -19
- package/cjs/sheet/comments.js +0 -3
- package/cjs/sheet/font.js +0 -3
- package/esm/shared/checkpoints.js +0 -16
- package/esm/sheet/comments.js +0 -2
- package/esm/sheet/font.js +0 -2
package/types/form.d.ts
ADDED
|
@@ -0,0 +1,3027 @@
|
|
|
1
|
+
export declare abstract class AbstractedEditorFileUploader {
|
|
2
|
+
/**
|
|
3
|
+
* 开始上传
|
|
4
|
+
* @param options
|
|
5
|
+
*/
|
|
6
|
+
abstract start(options: EditorUploadStartOptions): EditorUploadTaskInfo[];
|
|
7
|
+
/**
|
|
8
|
+
* 暂停上传,不传参数则取消所有上传任务
|
|
9
|
+
* @param taskIds
|
|
10
|
+
*/
|
|
11
|
+
abstract pause(taskIds?: string[]): void;
|
|
12
|
+
/**
|
|
13
|
+
* 暂停上传,不传参数则暂停所有上传任务
|
|
14
|
+
* @param taskIds
|
|
15
|
+
*/
|
|
16
|
+
abstract abort(taskIds?: string[]): void;
|
|
17
|
+
/**
|
|
18
|
+
* 恢复上传,不传参数则恢复所有上传任务
|
|
19
|
+
* @param taskIds
|
|
20
|
+
*/
|
|
21
|
+
abstract resume(taskIds?: string[]): void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export declare abstract class AbstractedFormSDK extends EditorSDK {
|
|
25
|
+
/**
|
|
26
|
+
* 监听表单标题的变化
|
|
27
|
+
* @param listener 在表单内部标题被修改时触发 listener 回调
|
|
28
|
+
* @returns 返回一个取消监听的函数
|
|
29
|
+
*/
|
|
30
|
+
abstract addTitleChangeListener(listener: (newTitle: string) => void): () => void;
|
|
31
|
+
/**
|
|
32
|
+
* 主动修改表单的标题
|
|
33
|
+
* @param title title 不能为空字符串或者全部由空格或空白字符组成
|
|
34
|
+
*/
|
|
35
|
+
abstract setTitle(title: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* 打印表单
|
|
38
|
+
*/
|
|
39
|
+
abstract print(): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* 更新表单的权限,目前只需要用到是否可编辑
|
|
42
|
+
* @param options
|
|
43
|
+
*/
|
|
44
|
+
abstract updatePermissions(options: {
|
|
45
|
+
editable: boolean;
|
|
46
|
+
}): void;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 协作者信息接口
|
|
51
|
+
*/
|
|
52
|
+
export declare interface CollaboratorInfo {
|
|
53
|
+
/** 协作者唯一标识 */
|
|
54
|
+
id: number;
|
|
55
|
+
/** 协作者名称 */
|
|
56
|
+
name: string;
|
|
57
|
+
/** 协作者头像URL */
|
|
58
|
+
avatar: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export declare interface ConfirmButtonConfig {
|
|
62
|
+
/**
|
|
63
|
+
* 按钮文本
|
|
64
|
+
*/
|
|
65
|
+
label?: string;
|
|
66
|
+
/**
|
|
67
|
+
* 是否隐藏
|
|
68
|
+
*/
|
|
69
|
+
hidden?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* 按钮点击回调
|
|
72
|
+
*/
|
|
73
|
+
onClick?: () => void;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* 匿名用户信息
|
|
78
|
+
* 当前用户信息未知时的缺省值
|
|
79
|
+
*/
|
|
80
|
+
export declare interface EditorAnonymousOptions {
|
|
81
|
+
/**
|
|
82
|
+
* 匿名用户默认显示名称
|
|
83
|
+
*/
|
|
84
|
+
name: string;
|
|
85
|
+
/**
|
|
86
|
+
* 匿名用户默认头像
|
|
87
|
+
*/
|
|
88
|
+
avatar: string;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* 编辑器内部资源请求配置
|
|
93
|
+
*/
|
|
94
|
+
export declare interface EditorAssetsOptions {
|
|
95
|
+
/**
|
|
96
|
+
* 通用资源请求代理配置,
|
|
97
|
+
* 用于套件内部资源请求时代理请求
|
|
98
|
+
*/
|
|
99
|
+
proxy: HTTPProxy;
|
|
100
|
+
/**
|
|
101
|
+
* 资源文件 URL 转换和解析
|
|
102
|
+
*/
|
|
103
|
+
resolver: EditorAssetsResolver;
|
|
104
|
+
/**
|
|
105
|
+
* 图片处理器
|
|
106
|
+
*/
|
|
107
|
+
imageProcessing: EditorAssetsOssImageProcessing;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* 基于对象存储的图片处理抽象
|
|
112
|
+
*/
|
|
113
|
+
export declare interface EditorAssetsOssImageProcessing {
|
|
114
|
+
/**
|
|
115
|
+
* 压缩图片的方法
|
|
116
|
+
* @param imageUrl 图片的 URL
|
|
117
|
+
* @param compressOptions 压缩配置,例如质量、最大宽度和最大高度
|
|
118
|
+
* @returns 压缩后的图片 URL
|
|
119
|
+
*/
|
|
120
|
+
compress: (imageUrl: string, compressOptions?: {
|
|
121
|
+
quality?: number;
|
|
122
|
+
maxWidth?: number;
|
|
123
|
+
maxHeight?: number;
|
|
124
|
+
}) => string;
|
|
125
|
+
/**
|
|
126
|
+
* 裁切图片的方法
|
|
127
|
+
* @param imageUrl 图片的 URL
|
|
128
|
+
* @param cropOptions 裁切配置,例如宽度、高度和起始点
|
|
129
|
+
* @returns 裁切后的图片 URL
|
|
130
|
+
*/
|
|
131
|
+
crop: (imageUrl: string, cropOptions: {
|
|
132
|
+
x: number;
|
|
133
|
+
y: number;
|
|
134
|
+
w: number;
|
|
135
|
+
h: number;
|
|
136
|
+
g: EditorImageCropPoint;
|
|
137
|
+
}) => string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export declare interface EditorAssetsResolver {
|
|
141
|
+
/**
|
|
142
|
+
* 将资源文件 ID 转换为 URL 的方法
|
|
143
|
+
* @param assetId 资源文件 ID
|
|
144
|
+
* @returns 转换后的资源 URL ,如果无法转换则返回 null
|
|
145
|
+
*/
|
|
146
|
+
resolveUrl: (assetId: string) => string | null;
|
|
147
|
+
/**
|
|
148
|
+
* 从 URL 中解析资源文件 ID 的方法
|
|
149
|
+
* @param url 资源 URL
|
|
150
|
+
* @returns 解析出的资源文件 ID
|
|
151
|
+
*/
|
|
152
|
+
parseId: (url: string) => string | null;
|
|
153
|
+
/**
|
|
154
|
+
* 检查资源文件 ID 对应的文件是否准备就绪,
|
|
155
|
+
* 在部分环境中,资源文件需要异步导入,在编辑器加载的时候可能还未准备就绪
|
|
156
|
+
* @param assetId 资源文件 ID
|
|
157
|
+
* @returns
|
|
158
|
+
*/
|
|
159
|
+
checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* 编辑器附件下载配置
|
|
164
|
+
*/
|
|
165
|
+
export declare interface EditorAttachmentDownloadOptions {
|
|
166
|
+
/**
|
|
167
|
+
* 是否禁用下载
|
|
168
|
+
*/
|
|
169
|
+
disabled?: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* 是否跳过验证
|
|
172
|
+
*/
|
|
173
|
+
skipValidate?: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* 下载附件
|
|
176
|
+
*/
|
|
177
|
+
download?: (url: string) => void;
|
|
178
|
+
/**
|
|
179
|
+
* 获取附件下载地址
|
|
180
|
+
*/
|
|
181
|
+
getDownloadUrl?: (url: string) => Promise<string>;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* 编辑器附件限制配置,sdk中会使用在不同的场景下使用不同的限制规则组合
|
|
186
|
+
*/
|
|
187
|
+
export declare interface EditorAttachmentLimitationOptions {
|
|
188
|
+
/**
|
|
189
|
+
* 检查附件大小的规则
|
|
190
|
+
* @param file
|
|
191
|
+
* @returns
|
|
192
|
+
*/
|
|
193
|
+
checkFile?: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
|
|
194
|
+
limited: true;
|
|
195
|
+
message?: string;
|
|
196
|
+
} | {
|
|
197
|
+
limited: false;
|
|
198
|
+
}>;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* 编辑器附件限制配置检查函数参数
|
|
203
|
+
*/
|
|
204
|
+
export declare interface EditorAttachmentLimitationOptionsCheckFunctionParams {
|
|
205
|
+
/**
|
|
206
|
+
* 文件名称,带后缀名
|
|
207
|
+
*/
|
|
208
|
+
name: string;
|
|
209
|
+
/**
|
|
210
|
+
* 文件大小,单位为Byte
|
|
211
|
+
*/
|
|
212
|
+
size: number;
|
|
213
|
+
/**
|
|
214
|
+
* 文件的mime类型,例如image/jpeg、application/vnd.ms-excel等
|
|
215
|
+
*/
|
|
216
|
+
mime?: string;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* 编辑器附件限制配置
|
|
221
|
+
* @deprecated 使用limitations代替
|
|
222
|
+
*/
|
|
223
|
+
export declare interface EditorAttachmentMaxSizeOptions {
|
|
224
|
+
/**
|
|
225
|
+
* 图片大小上限值,单位为Byte
|
|
226
|
+
* 设置为Infinity时表示不限制图片大小
|
|
227
|
+
*/
|
|
228
|
+
value?: number;
|
|
229
|
+
/**
|
|
230
|
+
* 超限警告相关配置
|
|
231
|
+
*/
|
|
232
|
+
warning?: {
|
|
233
|
+
/**
|
|
234
|
+
* 超限警告文本
|
|
235
|
+
*/
|
|
236
|
+
text?: string;
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* 编辑器附件信息
|
|
242
|
+
*/
|
|
243
|
+
export declare interface EditorAttachmentOptions {
|
|
244
|
+
/**
|
|
245
|
+
* 附件选择器
|
|
246
|
+
*/
|
|
247
|
+
picker?: EditorFilePicker;
|
|
248
|
+
/**
|
|
249
|
+
* 附件上传器
|
|
250
|
+
*/
|
|
251
|
+
uploader?: AbstractedEditorFileUploader;
|
|
252
|
+
/**
|
|
253
|
+
* 下载
|
|
254
|
+
* @deprecated, 使用不同类型附件的download配置
|
|
255
|
+
*/
|
|
256
|
+
download?: (url: string) => void;
|
|
257
|
+
/**
|
|
258
|
+
* 预览
|
|
259
|
+
* @deprecated, 使用不同类型附件的preview配置
|
|
260
|
+
*/
|
|
261
|
+
preview?: (url: string) => void;
|
|
262
|
+
/**
|
|
263
|
+
* 图片附件相关配置
|
|
264
|
+
*/
|
|
265
|
+
image?: {
|
|
266
|
+
/**
|
|
267
|
+
* 图片大小上限相关配置
|
|
268
|
+
* @deprecated 使用limitations代替
|
|
269
|
+
*/
|
|
270
|
+
maxSize?: EditorAttachmentMaxSizeOptions;
|
|
271
|
+
/**
|
|
272
|
+
* 支持的图片格式列表,例如jpg,png等
|
|
273
|
+
*/
|
|
274
|
+
supportTypes?: string[];
|
|
275
|
+
/**
|
|
276
|
+
* 图片附件的限制配置
|
|
277
|
+
*/
|
|
278
|
+
limitations?: EditorAttachmentLimitationOptions;
|
|
279
|
+
/**
|
|
280
|
+
* 禁止预览
|
|
281
|
+
* @deprecated 使用preview.disabled代替
|
|
282
|
+
*/
|
|
283
|
+
disablePreview?: boolean;
|
|
284
|
+
/**
|
|
285
|
+
* 预览
|
|
286
|
+
*/
|
|
287
|
+
preview?: EditorAttachmentPreviewOptions;
|
|
288
|
+
/**
|
|
289
|
+
* 下载
|
|
290
|
+
*/
|
|
291
|
+
download?: EditorAttachmentDownloadOptions;
|
|
292
|
+
/**
|
|
293
|
+
* 是否禁用缩略图
|
|
294
|
+
* 桌面客户端/极速sdk需要禁用
|
|
295
|
+
*/
|
|
296
|
+
disableThumbnail?: boolean;
|
|
297
|
+
};
|
|
298
|
+
/**
|
|
299
|
+
* 附件相关配置
|
|
300
|
+
*/
|
|
301
|
+
attachment?: {
|
|
302
|
+
/**
|
|
303
|
+
* 图片大小上限相关配置
|
|
304
|
+
* @deprecated 使用limitations代替
|
|
305
|
+
*/
|
|
306
|
+
maxSize?: EditorAttachmentMaxSizeOptions;
|
|
307
|
+
/**
|
|
308
|
+
* 支持的附件格式列表,例如doc,docx等
|
|
309
|
+
*/
|
|
310
|
+
supportTypes?: string[];
|
|
311
|
+
/**
|
|
312
|
+
* 附件的限制配置
|
|
313
|
+
*/
|
|
314
|
+
limitations?: EditorAttachmentLimitationOptions;
|
|
315
|
+
/**
|
|
316
|
+
* 禁止预览
|
|
317
|
+
* @deprecated 使用preview.disabled代替
|
|
318
|
+
*/
|
|
319
|
+
disablePreview?: boolean;
|
|
320
|
+
/**
|
|
321
|
+
* 预览
|
|
322
|
+
*/
|
|
323
|
+
preview?: EditorAttachmentPreviewOptions;
|
|
324
|
+
/**
|
|
325
|
+
* 下载
|
|
326
|
+
*/
|
|
327
|
+
download?: EditorAttachmentDownloadOptions;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* 视频相关配置
|
|
331
|
+
*/
|
|
332
|
+
video?: {
|
|
333
|
+
/**
|
|
334
|
+
* 支持的视频格式
|
|
335
|
+
*/
|
|
336
|
+
supportTypes?: string[];
|
|
337
|
+
/**
|
|
338
|
+
* 视频的限制配置
|
|
339
|
+
*/
|
|
340
|
+
limitations?: EditorAttachmentLimitationOptions;
|
|
341
|
+
/**
|
|
342
|
+
* 预览
|
|
343
|
+
*/
|
|
344
|
+
preview?: EditorAttachmentPreviewOptions;
|
|
345
|
+
/**
|
|
346
|
+
* 下载
|
|
347
|
+
*/
|
|
348
|
+
download?: EditorAttachmentDownloadOptions;
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* 音频相关配置
|
|
352
|
+
*/
|
|
353
|
+
audio?: {
|
|
354
|
+
/**
|
|
355
|
+
* 支持的音频
|
|
356
|
+
*/
|
|
357
|
+
supportTypes?: string[];
|
|
358
|
+
/**
|
|
359
|
+
* 音频的限制配置
|
|
360
|
+
*/
|
|
361
|
+
limitations?: EditorAttachmentLimitationOptions;
|
|
362
|
+
/**
|
|
363
|
+
* 预览
|
|
364
|
+
*/
|
|
365
|
+
preview?: EditorAttachmentPreviewOptions;
|
|
366
|
+
/**
|
|
367
|
+
* 下载
|
|
368
|
+
*/
|
|
369
|
+
download?: EditorAttachmentDownloadOptions;
|
|
370
|
+
};
|
|
371
|
+
/**
|
|
372
|
+
* 云文件附件相关配置
|
|
373
|
+
*/
|
|
374
|
+
cloudFile?: {
|
|
375
|
+
/**
|
|
376
|
+
* 是否禁用云文件
|
|
377
|
+
*/
|
|
378
|
+
disabled?: boolean;
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* 编辑器附件预览配置
|
|
384
|
+
*/
|
|
385
|
+
export declare interface EditorAttachmentPreviewOptions {
|
|
386
|
+
/**
|
|
387
|
+
* 预览附件
|
|
388
|
+
* app, 桌面客户端需提供
|
|
389
|
+
*/
|
|
390
|
+
preview?: (url: string) => void;
|
|
391
|
+
/**
|
|
392
|
+
* 获取附件预览url,saas、sdk、极速sdk需要提供
|
|
393
|
+
* @param id 文件url
|
|
394
|
+
* @returns 预览url
|
|
395
|
+
*/
|
|
396
|
+
getPreviewUrl?: (url: string) => Promise<string>;
|
|
397
|
+
/**
|
|
398
|
+
* 是否禁用预览
|
|
399
|
+
*/
|
|
400
|
+
disabled?: boolean;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* 基础文件属性
|
|
405
|
+
*/
|
|
406
|
+
export declare interface EditorBaseUploadableFile {
|
|
407
|
+
secretly?: boolean;
|
|
408
|
+
bucket: 'images' | 'attachments';
|
|
409
|
+
encrypt: string;
|
|
410
|
+
fileGuid: string;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* 品牌设置
|
|
415
|
+
*/
|
|
416
|
+
export declare interface EditorBrandOptions {
|
|
417
|
+
enable: boolean;
|
|
418
|
+
getSettings: () => Promise<EditorBrandSetting | null>;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* 品牌相关设置,
|
|
423
|
+
* 用于在套件中展示品牌外露信息
|
|
424
|
+
*/
|
|
425
|
+
export declare interface EditorBrandSetting {
|
|
426
|
+
/**
|
|
427
|
+
* 需要显示在品牌展示位的内容,按数组顺序显示
|
|
428
|
+
*/
|
|
429
|
+
content: Array<{
|
|
430
|
+
type: 'image';
|
|
431
|
+
src: string;
|
|
432
|
+
} | {
|
|
433
|
+
type: 'text';
|
|
434
|
+
content: string;
|
|
435
|
+
color?: string;
|
|
436
|
+
}>;
|
|
437
|
+
/**
|
|
438
|
+
* 品牌展示位的布局信息
|
|
439
|
+
*/
|
|
440
|
+
layout: {
|
|
441
|
+
width: string;
|
|
442
|
+
height: string;
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
export declare interface EditorCollaborationOptions {
|
|
447
|
+
/**
|
|
448
|
+
* 是否允许离线编辑
|
|
449
|
+
*/
|
|
450
|
+
offlineEditable: boolean;
|
|
451
|
+
/**
|
|
452
|
+
* 保存状态外部接口委托
|
|
453
|
+
*/
|
|
454
|
+
saveStatus: SaveStatusDelegation;
|
|
455
|
+
/**
|
|
456
|
+
* 同步状态外部接口委托(部分套件不支持离线编辑)
|
|
457
|
+
*/
|
|
458
|
+
syncStatus?: SyncStatusDelegation;
|
|
459
|
+
/**
|
|
460
|
+
* 是否使用严格的长度校验规则,默认关闭,在开启后如果出现长度校验失败会立刻禁止编辑器继续编写,并将保存状态设置为错误状态
|
|
461
|
+
*/
|
|
462
|
+
strictCLC?: boolean;
|
|
463
|
+
/**
|
|
464
|
+
* 版本号, 需通过内容接口response header获取
|
|
465
|
+
*/
|
|
466
|
+
rev: MaybePromiseValue<number>;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* 编辑器协作者管理接口
|
|
471
|
+
*/
|
|
472
|
+
export declare interface EditorCollaborators {
|
|
473
|
+
/**
|
|
474
|
+
* 获取当前所有协作者列表
|
|
475
|
+
* @returns 返回所有协作者信息数组
|
|
476
|
+
*/
|
|
477
|
+
getCollaborators: () => CollaboratorInfo[];
|
|
478
|
+
/**
|
|
479
|
+
* 开始监听协作者状态变化
|
|
480
|
+
* 调用此方法后,将开始接收协作者进入/离开的事件
|
|
481
|
+
*/
|
|
482
|
+
start: () => void;
|
|
483
|
+
/**
|
|
484
|
+
* 停止监听协作者状态变化
|
|
485
|
+
* 调用此方法后,将不再接收协作者进入/离开的事件
|
|
486
|
+
*/
|
|
487
|
+
quit: () => void;
|
|
488
|
+
/**
|
|
489
|
+
* 监听事件
|
|
490
|
+
*/
|
|
491
|
+
on: (event: string, callback: (...args: unknown[]) => void) => unknown;
|
|
492
|
+
/**
|
|
493
|
+
* 监听事件, 只监听一次
|
|
494
|
+
*/
|
|
495
|
+
once: (event: string, callback: (...args: unknown[]) => void) => unknown;
|
|
496
|
+
/**
|
|
497
|
+
* 移除事件
|
|
498
|
+
*/
|
|
499
|
+
off: (event: string, callback: (...args: unknown[]) => void) => unknown;
|
|
500
|
+
/**
|
|
501
|
+
* 发送事件
|
|
502
|
+
*/
|
|
503
|
+
emit: (event: string, ...args: unknown[]) => unknown;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
export declare interface EditorCollaboratorsOptions {
|
|
507
|
+
/**
|
|
508
|
+
* 是否禁用
|
|
509
|
+
*/
|
|
510
|
+
disabled?: boolean;
|
|
511
|
+
/**
|
|
512
|
+
* 推送协作者socket 对象
|
|
513
|
+
* 实际类型为socketIO.client
|
|
514
|
+
* TODO: 抽象为接口
|
|
515
|
+
*/
|
|
516
|
+
socket?: EditorSocket;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* 单条评论数据
|
|
521
|
+
*/
|
|
522
|
+
export declare interface EditorCommentItem {
|
|
523
|
+
/**
|
|
524
|
+
* 评论 ID
|
|
525
|
+
*/
|
|
526
|
+
id: string;
|
|
527
|
+
/**
|
|
528
|
+
* 评论用户信息
|
|
529
|
+
*/
|
|
530
|
+
user: {
|
|
531
|
+
id: string;
|
|
532
|
+
name: string;
|
|
533
|
+
};
|
|
534
|
+
content: {
|
|
535
|
+
text: string;
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export declare interface EditorComments {
|
|
540
|
+
/**
|
|
541
|
+
* 检查是否有评论
|
|
542
|
+
* @returns
|
|
543
|
+
*/
|
|
544
|
+
hasAny: () => Promise<boolean>;
|
|
545
|
+
/**
|
|
546
|
+
* 获取评论列表
|
|
547
|
+
* @returns
|
|
548
|
+
*/
|
|
549
|
+
getAll: () => Promise<EditorCommentItem[]>;
|
|
550
|
+
/**
|
|
551
|
+
* 获取单个评论
|
|
552
|
+
* @param commentId
|
|
553
|
+
* @returns
|
|
554
|
+
*/
|
|
555
|
+
getOne: (commentId: string) => Promise<EditorCommentItem | null>;
|
|
556
|
+
/**
|
|
557
|
+
* 添加内容
|
|
558
|
+
* @param options
|
|
559
|
+
* @returns
|
|
560
|
+
*/
|
|
561
|
+
add: (options: {
|
|
562
|
+
/**
|
|
563
|
+
* 评论内容
|
|
564
|
+
*/
|
|
565
|
+
text: string;
|
|
566
|
+
/**
|
|
567
|
+
* 默认评论是添加到当前选区上,也可以指定一个区域
|
|
568
|
+
*/
|
|
569
|
+
range?: string;
|
|
570
|
+
}) => Promise<string | null>;
|
|
571
|
+
/**
|
|
572
|
+
* 删除所有评论
|
|
573
|
+
* @returns
|
|
574
|
+
*/
|
|
575
|
+
deleteAll: () => Promise<boolean>;
|
|
576
|
+
/**
|
|
577
|
+
* 删除单条评论
|
|
578
|
+
*/
|
|
579
|
+
deleteOne: (commentId: string) => Promise<boolean>;
|
|
580
|
+
/**
|
|
581
|
+
* 显示评论(侧边栏或其他形式)
|
|
582
|
+
*/
|
|
583
|
+
show?: () => void;
|
|
584
|
+
/**
|
|
585
|
+
* 隐藏评论(侧边栏或其他形式)
|
|
586
|
+
*/
|
|
587
|
+
hide?: () => void;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* 编辑器评论初始化配置
|
|
592
|
+
*/
|
|
593
|
+
export declare interface EditorCommentsOptions extends EditorFeatureConfig {
|
|
594
|
+
/**
|
|
595
|
+
* 评论作者信息,如果这里的信息为空,将会使用 user 信息
|
|
596
|
+
*/
|
|
597
|
+
author?: {
|
|
598
|
+
/**
|
|
599
|
+
* 评论作者 ID
|
|
600
|
+
*/
|
|
601
|
+
id: string;
|
|
602
|
+
/**
|
|
603
|
+
* 评论作者信息
|
|
604
|
+
*/
|
|
605
|
+
name: string;
|
|
606
|
+
/**
|
|
607
|
+
* 评论作者头像
|
|
608
|
+
*/
|
|
609
|
+
avatar?: string;
|
|
610
|
+
};
|
|
611
|
+
/**
|
|
612
|
+
* 显示的视图配置
|
|
613
|
+
*/
|
|
614
|
+
view?: {
|
|
615
|
+
/**
|
|
616
|
+
* 评论显示模式,
|
|
617
|
+
* none: 不显示评论,默认值。
|
|
618
|
+
* card: 评论以卡片形式显示。
|
|
619
|
+
*/
|
|
620
|
+
mode: 'none' | 'card';
|
|
621
|
+
};
|
|
622
|
+
/**
|
|
623
|
+
* 推送评论的 socket 对象
|
|
624
|
+
*/
|
|
625
|
+
socket?: EditorSocket;
|
|
626
|
+
/**
|
|
627
|
+
* 评论相关功能配置
|
|
628
|
+
*/
|
|
629
|
+
features?: {
|
|
630
|
+
/**
|
|
631
|
+
* 添加评论
|
|
632
|
+
*/
|
|
633
|
+
addComment?: EditorFeatureConfig;
|
|
634
|
+
/**
|
|
635
|
+
* 评论列表
|
|
636
|
+
*/
|
|
637
|
+
commentList?: EditorFeatureConfig;
|
|
638
|
+
};
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
export declare interface EditorContent<Delta = EditorDelta> {
|
|
642
|
+
/**
|
|
643
|
+
* 设置编辑器内容
|
|
644
|
+
* @param content
|
|
645
|
+
*/
|
|
646
|
+
setContent: (content: string | ArrayBuffer) => Promise<void>;
|
|
647
|
+
/**
|
|
648
|
+
* 获取编辑器内容
|
|
649
|
+
*/
|
|
650
|
+
getContent: () => Promise<Delta>;
|
|
651
|
+
/**
|
|
652
|
+
* 添加监听,当内容发生变化时触发监听,传入 Delta
|
|
653
|
+
* @param listener
|
|
654
|
+
*/
|
|
655
|
+
addChangeListener: (listener: (change: Delta) => void) => () => void;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* 右键菜单栏相关配置
|
|
660
|
+
* 右键菜单栏是指的编辑器中点击右键弹出的菜单栏。目前等于菜单栏配置,可扩展
|
|
661
|
+
*/
|
|
662
|
+
export declare type EditorContextMenuOptions<TName extends string> = EditorMenuOptions<TName>;
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* 粘贴相关设置
|
|
666
|
+
*/
|
|
667
|
+
export declare type EditorCopyOptions = EditorLogicFeatureConfig;
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* 编辑器解密选项接口
|
|
671
|
+
* 用于配置编辑器中需要解密的内容的相关选项
|
|
672
|
+
*/
|
|
673
|
+
export declare interface EditorDecryptionOptions {
|
|
674
|
+
/**
|
|
675
|
+
* 图片附件解密函数
|
|
676
|
+
* @param buffer - 需要解密的二进制数据
|
|
677
|
+
* @returns 解密后的二进制数据
|
|
678
|
+
*/
|
|
679
|
+
decryptFile?: (buffer: ArrayBuffer) => ArrayBuffer;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
export declare interface EditorDelta {
|
|
683
|
+
compose: (other: EditorDelta, isDocument?: boolean) => EditorDelta;
|
|
684
|
+
transform: (other: EditorDelta, priority?: boolean) => EditorDelta;
|
|
685
|
+
stringify: () => string;
|
|
686
|
+
length: number;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
export declare type EditorDeviceMode = 'desktop' | 'mobile' | 'tablet';
|
|
690
|
+
|
|
691
|
+
/**
|
|
692
|
+
* 编辑器设备相关设置
|
|
693
|
+
*/
|
|
694
|
+
export declare interface EditorDeviceOptions {
|
|
695
|
+
/**
|
|
696
|
+
* 设备模式
|
|
697
|
+
*/
|
|
698
|
+
mode?: EditorDeviceMode;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* 编辑器拖放配置
|
|
703
|
+
*/
|
|
704
|
+
export declare type EditorDragNDropOptions = EditorFeatureConfig;
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
* 编辑器创建副本配置
|
|
708
|
+
*/
|
|
709
|
+
export declare type EditorDuplicateOptions = EditorFeatureConfig;
|
|
710
|
+
|
|
711
|
+
/**
|
|
712
|
+
* 编辑器嵌入对象
|
|
713
|
+
*/
|
|
714
|
+
export declare interface EditorEmbeddedObject {
|
|
715
|
+
/**
|
|
716
|
+
* 嵌入的对象 url
|
|
717
|
+
*/
|
|
718
|
+
url: string;
|
|
719
|
+
/**
|
|
720
|
+
* 嵌入对象的类型描述
|
|
721
|
+
*/
|
|
722
|
+
type?: string;
|
|
723
|
+
/**
|
|
724
|
+
* 嵌入对象的名
|
|
725
|
+
*/
|
|
726
|
+
name?: string;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
/**
|
|
730
|
+
* 编辑器嵌入对象抽象类
|
|
731
|
+
*/
|
|
732
|
+
export declare interface EditorEmbeddedObjectOptions {
|
|
733
|
+
/**
|
|
734
|
+
* 执行打开嵌入对象操作,
|
|
735
|
+
* 如果已经处理了打开操作,返回 true,否则返回 false,
|
|
736
|
+
* 如果返回 false,编辑器会继续后续默认的打开操作。
|
|
737
|
+
* @param object
|
|
738
|
+
* @returns
|
|
739
|
+
*/
|
|
740
|
+
open: (object: EditorEmbeddedObject) => Promise<boolean>;
|
|
741
|
+
/**
|
|
742
|
+
* 嵌入对象的页面功能
|
|
743
|
+
*/
|
|
744
|
+
ui?: {
|
|
745
|
+
/**
|
|
746
|
+
* 预览功能
|
|
747
|
+
*/
|
|
748
|
+
preview?: {
|
|
749
|
+
disabled?: boolean;
|
|
750
|
+
};
|
|
751
|
+
/**
|
|
752
|
+
* 下载功能
|
|
753
|
+
*/
|
|
754
|
+
download?: {
|
|
755
|
+
disabled?: boolean;
|
|
756
|
+
};
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
export declare interface EditorExportOptions extends EditorFeatureConfig {
|
|
761
|
+
/**
|
|
762
|
+
* 可导出类型, undefined 表示对可导出类型无限制
|
|
763
|
+
* 导出由接口 + 本地实现
|
|
764
|
+
*/
|
|
765
|
+
types?: string[];
|
|
766
|
+
/**
|
|
767
|
+
* 接口支持的导出类型
|
|
768
|
+
*/
|
|
769
|
+
supportedTypes?: string[];
|
|
770
|
+
/**
|
|
771
|
+
* 导出文件,调用接口实现
|
|
772
|
+
*/
|
|
773
|
+
exportFile?: (type: string) => Promise<void>;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
export declare interface EditorFeatureConfig {
|
|
777
|
+
/**
|
|
778
|
+
* 功能是否被禁用(入口还在)
|
|
779
|
+
*/
|
|
780
|
+
disabled?: boolean;
|
|
781
|
+
/**
|
|
782
|
+
* 功能入口是否被隐藏
|
|
783
|
+
*/
|
|
784
|
+
hidden?: boolean;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
export declare interface EditorFeaturesOptions {
|
|
788
|
+
/**
|
|
789
|
+
* 禁用特性入口
|
|
790
|
+
*/
|
|
791
|
+
disabled?: boolean;
|
|
792
|
+
/**
|
|
793
|
+
* 对应/features接口,返回所有功能key
|
|
794
|
+
*/
|
|
795
|
+
getFeatures?: () => Promise<string[]>;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
/**
|
|
799
|
+
* 文件限制
|
|
800
|
+
*/
|
|
801
|
+
export declare interface EditorFileLimitationOptions {
|
|
802
|
+
/**
|
|
803
|
+
* 获取最大文件大小,单位为MB
|
|
804
|
+
* 超过该上限后禁止编辑
|
|
805
|
+
*/
|
|
806
|
+
getMaxFileSize?: () => number | undefined;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
export declare interface EditorFileOptions {
|
|
810
|
+
/**
|
|
811
|
+
* 文件guid
|
|
812
|
+
*/
|
|
813
|
+
guid: string;
|
|
814
|
+
/**
|
|
815
|
+
* 文件名
|
|
816
|
+
*/
|
|
817
|
+
name?: string;
|
|
818
|
+
/**
|
|
819
|
+
* 创建者,以id标识
|
|
820
|
+
*/
|
|
821
|
+
creator?: number;
|
|
822
|
+
/**
|
|
823
|
+
* 创建时间, 毫秒级时间戳
|
|
824
|
+
*/
|
|
825
|
+
createdAt?: number;
|
|
826
|
+
/**
|
|
827
|
+
* 文件限制
|
|
828
|
+
*/
|
|
829
|
+
limitations?: EditorFileLimitationOptions;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
export declare interface EditorFilePicker {
|
|
833
|
+
open: (option: EditorFilePickerOpenOptions) => Promise<EditorPickedFile[]>;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
export declare interface EditorFilePickerOpenOptions {
|
|
837
|
+
mimeTypes?: string[];
|
|
838
|
+
maxSize?: number;
|
|
839
|
+
extensions?: string[];
|
|
840
|
+
multiple?: boolean;
|
|
841
|
+
directory?: boolean;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
export declare interface EditorFollowMode {
|
|
845
|
+
/**
|
|
846
|
+
* 演讲者/跟随者进入跟随模式
|
|
847
|
+
* 当演讲者调用此方法时,其他用户将可以开始跟随该演讲者
|
|
848
|
+
*/
|
|
849
|
+
enter: () => void;
|
|
850
|
+
/**
|
|
851
|
+
* 当前是否处于跟随模式
|
|
852
|
+
* @returns 返回布尔值,true表示正在跟随,false表示未在跟随
|
|
853
|
+
*/
|
|
854
|
+
isFollowModeActive: () => boolean;
|
|
855
|
+
/**
|
|
856
|
+
* 获取当前演讲者信息
|
|
857
|
+
* @returns 返回包含演讲者ID、姓名和头像信息的对象
|
|
858
|
+
*/
|
|
859
|
+
getSpeaker: () => Speaker | undefined;
|
|
860
|
+
/**
|
|
861
|
+
* 添加跟随状态变化的监听器
|
|
862
|
+
* @param listener 状态变化时的回调函数
|
|
863
|
+
* @returns 返回一个用于移除监听器的函数
|
|
864
|
+
*/
|
|
865
|
+
addChangedListener: (listener: () => void) => () => void;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
export declare interface EditorFollowModeOptions extends EditorFeatureConfig {
|
|
869
|
+
/**
|
|
870
|
+
* 推送跟随消息的 socket 对象
|
|
871
|
+
* 实际类型为socketIO.client
|
|
872
|
+
* TODO: 抽象为接口
|
|
873
|
+
*/
|
|
874
|
+
socket?: EditorSocket;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
export declare interface EditorFontFace {
|
|
878
|
+
/**
|
|
879
|
+
* 字体的名称,用于在用户界面上显示的名称
|
|
880
|
+
*/
|
|
881
|
+
name: string;
|
|
882
|
+
/**
|
|
883
|
+
* 字体族
|
|
884
|
+
*/
|
|
885
|
+
family: string;
|
|
886
|
+
/**
|
|
887
|
+
* 用于加载字体的 URL
|
|
888
|
+
*/
|
|
889
|
+
url?: string;
|
|
890
|
+
/**
|
|
891
|
+
* 是否为受版权保护的字体,如果是在用户界面上会有所标识。
|
|
892
|
+
*/
|
|
893
|
+
isCopyrightProtected: boolean;
|
|
894
|
+
/**
|
|
895
|
+
* 字体元数据
|
|
896
|
+
*/
|
|
897
|
+
meta: EditorFontMeta;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* 字体元数据
|
|
902
|
+
*/
|
|
903
|
+
export declare interface EditorFontMeta {
|
|
904
|
+
head: {
|
|
905
|
+
unitsPerEm: number;
|
|
906
|
+
};
|
|
907
|
+
hhea: {
|
|
908
|
+
ascender: number;
|
|
909
|
+
descender: number;
|
|
910
|
+
lineGap: number;
|
|
911
|
+
};
|
|
912
|
+
vhea?: {
|
|
913
|
+
ascender: number;
|
|
914
|
+
descender: number;
|
|
915
|
+
lineGap: number;
|
|
916
|
+
};
|
|
917
|
+
os2: {
|
|
918
|
+
usWeightClass?: number;
|
|
919
|
+
usWidthClass?: number;
|
|
920
|
+
italic?: boolean;
|
|
921
|
+
isSymbol?: boolean;
|
|
922
|
+
ulCodePageRange: [number, number];
|
|
923
|
+
};
|
|
924
|
+
/**
|
|
925
|
+
* opentype中没有强制要求必须有en条目,只能确定name下的value的类型是对象
|
|
926
|
+
*/
|
|
927
|
+
name: {
|
|
928
|
+
preferredFamily?: Record<string, string>;
|
|
929
|
+
preferredSubfamily?: Record<string, string>;
|
|
930
|
+
fontFamily?: Record<string, string>;
|
|
931
|
+
fontSubfamily?: Record<string, string>;
|
|
932
|
+
fullName?: Record<string, string>;
|
|
933
|
+
postScriptName?: Record<string, string>;
|
|
934
|
+
};
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
/**
|
|
938
|
+
* 字体列表
|
|
939
|
+
*/
|
|
940
|
+
export declare interface EditorFontsList {
|
|
941
|
+
/**
|
|
942
|
+
* 返回解析为字体的列表的 Promise。
|
|
943
|
+
*/
|
|
944
|
+
getAll: () => Promise<EditorFontFace[]>;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
export declare interface EditorFontsOptions {
|
|
948
|
+
/**
|
|
949
|
+
* 服务器字体列表,用于获取服务器端配置的字体列表,
|
|
950
|
+
* 并提供可用于字体的加载 URL 和字体元数据。
|
|
951
|
+
*/
|
|
952
|
+
list: EditorFontsList;
|
|
953
|
+
/**
|
|
954
|
+
* 是否只使用本地字体,如果为 true,则不会从服务器获取字体列表。
|
|
955
|
+
*/
|
|
956
|
+
useLocalFontsOnly?: boolean;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
/**
|
|
960
|
+
* 功能引导设置
|
|
961
|
+
*/
|
|
962
|
+
export declare interface EditorGuidesOptions {
|
|
963
|
+
/**
|
|
964
|
+
* 是否禁用
|
|
965
|
+
*/
|
|
966
|
+
disabled?: boolean;
|
|
967
|
+
/**
|
|
968
|
+
* 获取引导数据
|
|
969
|
+
*/
|
|
970
|
+
data?: <T = GuideData>() => Promise<T>;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
export declare interface EditorHistory {
|
|
974
|
+
/**
|
|
975
|
+
* 显示历史记录(侧边栏或其他形式)
|
|
976
|
+
*/
|
|
977
|
+
show: () => void;
|
|
978
|
+
/**
|
|
979
|
+
* 隐藏历史记录(侧边栏或其他形式)
|
|
980
|
+
*/
|
|
981
|
+
hide: () => void;
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
export declare type EditorHistoryOptions = EditorFeatureConfig;
|
|
985
|
+
|
|
986
|
+
/**
|
|
987
|
+
* i18n 相关设置
|
|
988
|
+
*/
|
|
989
|
+
export declare interface EditorI18nOptions {
|
|
990
|
+
/**
|
|
991
|
+
* 语言,默认使用浏览器当前环境中的语言
|
|
992
|
+
*/
|
|
993
|
+
language?: string;
|
|
994
|
+
/**
|
|
995
|
+
* 文本方向,默认根据语言自动适配
|
|
996
|
+
*/
|
|
997
|
+
direction?: 'ltr' | 'rtl';
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
|
|
1001
|
+
|
|
1002
|
+
export declare interface EditorImportOptions {
|
|
1003
|
+
/**
|
|
1004
|
+
* 当前文件是否正在导入中
|
|
1005
|
+
* 用于初始化时判断是否需要显示导入进度
|
|
1006
|
+
*/
|
|
1007
|
+
isImporting?: boolean;
|
|
1008
|
+
/**
|
|
1009
|
+
* 获取当前文件导入状态,没有contentUrl时需要显示导入进度
|
|
1010
|
+
* 待导入完成后再渲染
|
|
1011
|
+
*/
|
|
1012
|
+
getImportStatus?: () => Promise<{
|
|
1013
|
+
/**
|
|
1014
|
+
* 导入进度
|
|
1015
|
+
*/
|
|
1016
|
+
progress: number;
|
|
1017
|
+
/**
|
|
1018
|
+
* 导入中
|
|
1019
|
+
*/
|
|
1020
|
+
status: 'importing';
|
|
1021
|
+
} | {
|
|
1022
|
+
/**
|
|
1023
|
+
* 导入完成
|
|
1024
|
+
*/
|
|
1025
|
+
status: 'completed';
|
|
1026
|
+
/**
|
|
1027
|
+
* 导入完成后的内容URL
|
|
1028
|
+
*/
|
|
1029
|
+
contentUrl: string;
|
|
1030
|
+
} | {
|
|
1031
|
+
/**
|
|
1032
|
+
* 导入失败
|
|
1033
|
+
*/
|
|
1034
|
+
status: 'failed';
|
|
1035
|
+
/**
|
|
1036
|
+
* 导入失败报错
|
|
1037
|
+
*/
|
|
1038
|
+
error?: unknown;
|
|
1039
|
+
}>;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
/**
|
|
1043
|
+
* 链接配置,抽象打开链接等操作
|
|
1044
|
+
*/
|
|
1045
|
+
export declare interface EditorLinkOptions {
|
|
1046
|
+
/**
|
|
1047
|
+
* 链接识别配置
|
|
1048
|
+
*/
|
|
1049
|
+
detection?: {
|
|
1050
|
+
/**
|
|
1051
|
+
* 支持识别的链接格式
|
|
1052
|
+
*/
|
|
1053
|
+
pattern?: string | RegExp | (string | RegExp)[];
|
|
1054
|
+
/**
|
|
1055
|
+
* 是否启用链接识别,默认关闭
|
|
1056
|
+
*/
|
|
1057
|
+
enabled?: boolean;
|
|
1058
|
+
};
|
|
1059
|
+
/**
|
|
1060
|
+
* 打开链接,如果取消了打开链接操作,返回 false
|
|
1061
|
+
* @param url
|
|
1062
|
+
* @param target
|
|
1063
|
+
* @returns
|
|
1064
|
+
*/
|
|
1065
|
+
open?: (url: string, target: string) => Promise<boolean>;
|
|
1066
|
+
/**
|
|
1067
|
+
* 根据文件guid以及其他参数生成链接
|
|
1068
|
+
*/
|
|
1069
|
+
generate?: (params: FileLinkParams) => Promise<string>;
|
|
1070
|
+
/**
|
|
1071
|
+
* 从文档链接中解析得到文件guid等参数
|
|
1072
|
+
*/
|
|
1073
|
+
parse?: (url: string) => Promise<FileLinkParams | undefined>;
|
|
1074
|
+
/**
|
|
1075
|
+
* 生成sdk2.0内部链接
|
|
1076
|
+
* 使用场景:专业表格跨表格引用
|
|
1077
|
+
*/
|
|
1078
|
+
generateInternal?: (params: FileLinkParams) => Promise<string>;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
/**
|
|
1082
|
+
* 可上传文件
|
|
1083
|
+
*/
|
|
1084
|
+
export declare interface EditorLocalUploadableFile extends EditorBaseUploadableFile {
|
|
1085
|
+
name: string;
|
|
1086
|
+
size: number;
|
|
1087
|
+
mime: string;
|
|
1088
|
+
raw: File;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
/**
|
|
1092
|
+
* 纯逻辑功能配置。
|
|
1093
|
+
* 不包含 UI 相关配置,仅用于逻辑判断。
|
|
1094
|
+
* 如:权限判断、功能开关等。
|
|
1095
|
+
* 所以不需要hidden,只使用disabled来判断
|
|
1096
|
+
*/
|
|
1097
|
+
export declare type EditorLogicFeatureConfig = Omit<EditorFeatureConfig, 'hidden'>;
|
|
1098
|
+
|
|
1099
|
+
export declare interface EditorLogsOptions {
|
|
1100
|
+
/**
|
|
1101
|
+
* 是否禁用审计日志
|
|
1102
|
+
* sdk2.0需要禁用
|
|
1103
|
+
*/
|
|
1104
|
+
isAuditLogDisabled?: boolean;
|
|
1105
|
+
/**
|
|
1106
|
+
* 是否禁用日志
|
|
1107
|
+
*/
|
|
1108
|
+
disabled?: boolean;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
export declare interface EditorMentionOptions extends EditorFeatureConfig {
|
|
1112
|
+
/**
|
|
1113
|
+
* mention api url前缀
|
|
1114
|
+
* @shimo/mention-suggestion 需要用到
|
|
1115
|
+
* 对应环境变量 SDK_V2_PATH_PREFIX
|
|
1116
|
+
*/
|
|
1117
|
+
apiUrlPrefix?: string;
|
|
1118
|
+
/**
|
|
1119
|
+
* mention文件卡片禁用设置
|
|
1120
|
+
*/
|
|
1121
|
+
disableFileCard?: boolean;
|
|
1122
|
+
/**
|
|
1123
|
+
* mention日期卡片禁用设置
|
|
1124
|
+
*/
|
|
1125
|
+
disableDateCard?: boolean;
|
|
1126
|
+
/**
|
|
1127
|
+
* mention用户卡片禁用设置
|
|
1128
|
+
*/
|
|
1129
|
+
disableUserCard?: boolean;
|
|
1130
|
+
/**
|
|
1131
|
+
* mention点击回调
|
|
1132
|
+
*/
|
|
1133
|
+
onMentionClick?: (payload: MentionEventPayload) => void;
|
|
1134
|
+
/**
|
|
1135
|
+
* mention文件选择弹窗支持的tab类型
|
|
1136
|
+
*/
|
|
1137
|
+
mentionFilePanelTabs?: ('mine' | 'recent' | 'space')[];
|
|
1138
|
+
/**
|
|
1139
|
+
* mention弹窗底部支持的tab类型
|
|
1140
|
+
*/
|
|
1141
|
+
mentionPopoverTabs?: ('contacts' | 'file' | 'calendar')[];
|
|
1142
|
+
/**
|
|
1143
|
+
* 是否禁止检查组织架构成员可见性
|
|
1144
|
+
* 该属性需要各套件对接最新版本@shimo/mention-suggestion(没用到的话可忽略)
|
|
1145
|
+
*/
|
|
1146
|
+
disableCheckStaffVisibility?: boolean;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
/**
|
|
1150
|
+
* 编辑器菜单api
|
|
1151
|
+
*/
|
|
1152
|
+
export declare interface EditorMenu {
|
|
1153
|
+
/**
|
|
1154
|
+
* 菜单功能api
|
|
1155
|
+
*/
|
|
1156
|
+
features: EditorMenuFeatures;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
/**
|
|
1160
|
+
* 基础菜单项配置,所有菜单项类型都包含这些属性
|
|
1161
|
+
*/
|
|
1162
|
+
export declare interface EditorMenuBaseMenuItemConfig<TName extends string> {
|
|
1163
|
+
/**
|
|
1164
|
+
* 菜单项的唯一标识,用以确定配置的是哪个菜单
|
|
1165
|
+
*/
|
|
1166
|
+
name: TName;
|
|
1167
|
+
/**
|
|
1168
|
+
* 菜单项类型
|
|
1169
|
+
*/
|
|
1170
|
+
type: EditorMenuItemType;
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
/**
|
|
1174
|
+
* 按钮菜单项配置
|
|
1175
|
+
*/
|
|
1176
|
+
export declare interface EditorMenuButtonMenuItemConfig<TName extends string> extends EditorMenuBaseMenuItemConfig<TName> {
|
|
1177
|
+
type: 'button';
|
|
1178
|
+
/**
|
|
1179
|
+
* 是否禁用菜单项,禁用后菜单项依旧显示不过变为灰色,不可点击
|
|
1180
|
+
*/
|
|
1181
|
+
disabled?: boolean;
|
|
1182
|
+
/**
|
|
1183
|
+
* 菜单项显示文本,修改该值可以替换此菜单项默认显示文案
|
|
1184
|
+
*/
|
|
1185
|
+
label?: string;
|
|
1186
|
+
/**
|
|
1187
|
+
* 菜单项图标,可以是 base64 的图片信息,也可以是图片 url
|
|
1188
|
+
* 配置为空字符串则可以隐藏菜单项默认的图标
|
|
1189
|
+
*/
|
|
1190
|
+
icon?: string;
|
|
1191
|
+
/**
|
|
1192
|
+
* 菜单项点击事件,接受一个函数,可以自定义点击事件
|
|
1193
|
+
*/
|
|
1194
|
+
callback?: () => void;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
/**
|
|
1198
|
+
* 编辑器菜单配置类型
|
|
1199
|
+
* 根据 TName 类型的不同返回不同的菜单配置类型:
|
|
1200
|
+
* 1. 当 TName 是对象类型时(如 {pasteMenu: [...]}),会自动提取对象的键作为菜单名称
|
|
1201
|
+
* 2. 当 TName 是字符串时,返回普通菜单项配置
|
|
1202
|
+
*/
|
|
1203
|
+
export declare type EditorMenuEntryConfig<TName extends EditorMenuName> = TName extends Record<string, EditorMenuName[]> ? EditorMenuEntryMenuItemConfig<string & keyof TName, TName[keyof TName]> : TName extends string ? EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName, never> : never;
|
|
1204
|
+
|
|
1205
|
+
/**
|
|
1206
|
+
* 子菜单入口配置
|
|
1207
|
+
* TName: 菜单项名称(字符串类型)
|
|
1208
|
+
* TChildName: 子菜单项名称数组类型,用于配置下一级菜单项
|
|
1209
|
+
*/
|
|
1210
|
+
export declare interface EditorMenuEntryMenuItemConfig<TName extends string, TChildName extends EditorMenuName[]> extends EditorMenuBaseMenuItemConfig<TName> {
|
|
1211
|
+
type: 'entry';
|
|
1212
|
+
/**
|
|
1213
|
+
* 是否禁用菜单项,禁用后菜单项依旧显示不过变为灰色,不可点击
|
|
1214
|
+
*/
|
|
1215
|
+
disabled?: boolean;
|
|
1216
|
+
/**
|
|
1217
|
+
* 菜单项显示文本,修改该值可以替换此菜单项默认显示文案
|
|
1218
|
+
*/
|
|
1219
|
+
label?: string;
|
|
1220
|
+
/**
|
|
1221
|
+
* 菜单项图标,可以是 base64 的图片信息,也可以是图片 url
|
|
1222
|
+
* 配置为空字符串则可以隐藏菜单项默认的图标
|
|
1223
|
+
*/
|
|
1224
|
+
icon?: string;
|
|
1225
|
+
/**
|
|
1226
|
+
* 下一级菜单配置,下一级菜单配置项和上一级相同
|
|
1227
|
+
* 如果下一级仍然是 entry 类型,可以无限向下扩展
|
|
1228
|
+
* 只有当 TName 是对象类型时才应有子菜单
|
|
1229
|
+
*/
|
|
1230
|
+
children?: TChildName extends EditorMenuName[] ? EditorMenuEntryConfig<TChildName[number]>[] : never;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
/**
|
|
1234
|
+
* 菜单功能按钮配置
|
|
1235
|
+
*/
|
|
1236
|
+
export declare interface EditorMenuFeatureConfig extends EditorFeatureConfig {
|
|
1237
|
+
/**
|
|
1238
|
+
* 按钮标签(显示文本)一般工具栏上的按钮不会显示文本,如果需要显示文本,配置此项。
|
|
1239
|
+
*/
|
|
1240
|
+
label?: string;
|
|
1241
|
+
/**
|
|
1242
|
+
* 按钮图标,可以是 base64 的图片信息,也可以是图片 url
|
|
1243
|
+
*/
|
|
1244
|
+
icon?: string;
|
|
1245
|
+
/**
|
|
1246
|
+
* 按钮点击事件.接受一个函数,可以自定义点击事件。
|
|
1247
|
+
*/
|
|
1248
|
+
callback?: () => void;
|
|
1249
|
+
/**
|
|
1250
|
+
* 按钮提示文本,鼠标悬浮到按钮上时显示的tooltip文字
|
|
1251
|
+
*/
|
|
1252
|
+
tooltip?: string;
|
|
1253
|
+
/**
|
|
1254
|
+
* 按钮在工具栏中位置,不设置则按照默认位置
|
|
1255
|
+
*/
|
|
1256
|
+
index?: number;
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
/**
|
|
1260
|
+
* 编辑器菜单功能api
|
|
1261
|
+
*
|
|
1262
|
+
* 提供对菜单项的显示、隐藏、启用和禁用等操作
|
|
1263
|
+
*/
|
|
1264
|
+
export declare interface EditorMenuFeatures {
|
|
1265
|
+
/**
|
|
1266
|
+
* 显示菜单项
|
|
1267
|
+
* @param name 菜单项名称
|
|
1268
|
+
*/
|
|
1269
|
+
showFeature: (name: string) => void;
|
|
1270
|
+
/**
|
|
1271
|
+
* 隐藏菜单项
|
|
1272
|
+
* @param name 菜单项名称
|
|
1273
|
+
*/
|
|
1274
|
+
hideFeature: (name: string) => void;
|
|
1275
|
+
/**
|
|
1276
|
+
* 启用菜单项
|
|
1277
|
+
* @param name 菜单项名称
|
|
1278
|
+
*/
|
|
1279
|
+
enableFeature: (name: string) => void;
|
|
1280
|
+
/**
|
|
1281
|
+
* 禁用菜单项
|
|
1282
|
+
* @param name 菜单项名称
|
|
1283
|
+
*/
|
|
1284
|
+
disableFeature: (name: string) => void;
|
|
1285
|
+
/**
|
|
1286
|
+
* 恢复菜单项到默认状态,即根据配置项确定如何渲染菜单项。
|
|
1287
|
+
*/
|
|
1288
|
+
resetFeature: (name: string) => void;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
/**
|
|
1292
|
+
* 隐藏菜单项配置
|
|
1293
|
+
*/
|
|
1294
|
+
export declare interface EditorMenuHiddenMenuItemConfig<TName extends string> extends EditorMenuBaseMenuItemConfig<TName> {
|
|
1295
|
+
type: 'hidden';
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
/**
|
|
1299
|
+
* 菜单项类型
|
|
1300
|
+
*/
|
|
1301
|
+
export declare type EditorMenuItemType = 'hidden' | 'button' | 'link' | 'entry';
|
|
1302
|
+
|
|
1303
|
+
/**
|
|
1304
|
+
* 链接菜单项配置
|
|
1305
|
+
*/
|
|
1306
|
+
export declare interface EditorMenuLinkMenuItemConfig<TName extends string> extends EditorMenuBaseMenuItemConfig<TName> {
|
|
1307
|
+
type: 'link';
|
|
1308
|
+
/**
|
|
1309
|
+
* 是否禁用菜单项,禁用后菜单项依旧显示不过变为灰色,不可点击
|
|
1310
|
+
*/
|
|
1311
|
+
disabled?: boolean;
|
|
1312
|
+
/**
|
|
1313
|
+
* 菜单项显示文本,修改该值可以替换此菜单项默认显示文案
|
|
1314
|
+
*/
|
|
1315
|
+
text?: string;
|
|
1316
|
+
/**
|
|
1317
|
+
* 菜单项图标,可以是 base64 的图片信息,也可以是图片 url
|
|
1318
|
+
* 配置为空字符串则可以隐藏菜单项默认的图标
|
|
1319
|
+
*/
|
|
1320
|
+
icon?: string;
|
|
1321
|
+
/**
|
|
1322
|
+
* 跳转链接地址
|
|
1323
|
+
*/
|
|
1324
|
+
url?: string;
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
/**
|
|
1328
|
+
* 菜单项名称类型
|
|
1329
|
+
* 可以是字符串或包含子菜单数组的对象
|
|
1330
|
+
* 如: 'copy' 或 { pasteMenu: ['pasteAll', 'pasteHead', 'pasteValueOnly'] }
|
|
1331
|
+
*/
|
|
1332
|
+
export declare type EditorMenuName = string | Record<string, EditorMenuName[]>;
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* 菜单栏相关配置,目前菜单栏不是所有套件都支持,
|
|
1336
|
+
* 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
|
|
1337
|
+
*/
|
|
1338
|
+
export declare interface EditorMenuOptions<TName extends EditorMenuName> {
|
|
1339
|
+
/**
|
|
1340
|
+
* 菜单栏是否隐藏,设置为true, 则整个菜单栏不显示
|
|
1341
|
+
*/
|
|
1342
|
+
hidden?: boolean;
|
|
1343
|
+
/**
|
|
1344
|
+
* 是否禁用菜单栏所有功能。设置为true,菜单栏依旧显示,但所有菜单项为灰色不可点击
|
|
1345
|
+
*/
|
|
1346
|
+
disabled?: boolean;
|
|
1347
|
+
/**
|
|
1348
|
+
* 菜单栏一级菜单配置,指显示在菜单栏上的菜单项。
|
|
1349
|
+
* 支持普通菜单项和嵌套菜单项
|
|
1350
|
+
*/
|
|
1351
|
+
entries?: EditorMenuEntryConfig<TName>[];
|
|
1352
|
+
/**
|
|
1353
|
+
* 菜单栏功能按钮配置
|
|
1354
|
+
* 更加间接的配置项
|
|
1355
|
+
* 仅在 TName 为字符串类型时有效
|
|
1356
|
+
*/
|
|
1357
|
+
features?: [TName] extends [string] ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
|
|
1358
|
+
/**
|
|
1359
|
+
* 自定义按钮配置
|
|
1360
|
+
*/
|
|
1361
|
+
custom?: (EditorMenuButtonMenuItemConfig<string> | EditorMenuLinkMenuItemConfig<string>)[];
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
/**
|
|
1365
|
+
* 编辑器基础模式接口
|
|
1366
|
+
*/
|
|
1367
|
+
export declare interface EditorMode {
|
|
1368
|
+
/**
|
|
1369
|
+
* 获取当前编辑器模式
|
|
1370
|
+
*/
|
|
1371
|
+
getModeType: () => EditorModeType;
|
|
1372
|
+
/**
|
|
1373
|
+
* 设置编辑器权限模式,仅在 `standard` 模式下有效
|
|
1374
|
+
* @param permission
|
|
1375
|
+
*/
|
|
1376
|
+
setStandardRole: (standardRole: EditorStandardRole) => Promise<void>;
|
|
1377
|
+
/**
|
|
1378
|
+
* 获取当前编辑器权限模式,仅在 `standard` 模式下有效
|
|
1379
|
+
*/
|
|
1380
|
+
getStandardRole: () => EditorStandardRole;
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
/**
|
|
1384
|
+
* 编辑器初始化的时相关的模式配置
|
|
1385
|
+
*/
|
|
1386
|
+
export declare type EditorModeOptions = {
|
|
1387
|
+
type: 'standard';
|
|
1388
|
+
/**
|
|
1389
|
+
* 当 mode 为 `standard` 时,可以设置当前编辑器的权限模式
|
|
1390
|
+
*/
|
|
1391
|
+
role?: EditorStandardRole;
|
|
1392
|
+
} | {
|
|
1393
|
+
/**
|
|
1394
|
+
* 预览模式
|
|
1395
|
+
*/
|
|
1396
|
+
type: 'preview';
|
|
1397
|
+
} | {
|
|
1398
|
+
/**
|
|
1399
|
+
* 演示模式
|
|
1400
|
+
*/
|
|
1401
|
+
type: 'presentation';
|
|
1402
|
+
} | {
|
|
1403
|
+
/**
|
|
1404
|
+
* 历史模式
|
|
1405
|
+
*/
|
|
1406
|
+
type: 'history';
|
|
1407
|
+
} | {
|
|
1408
|
+
/**
|
|
1409
|
+
* 嵌入模式
|
|
1410
|
+
*/
|
|
1411
|
+
type: 'embedded';
|
|
1412
|
+
};
|
|
1413
|
+
|
|
1414
|
+
/**
|
|
1415
|
+
* 编辑器模式
|
|
1416
|
+
* - `standard` 标准模式,会根据用户权限配置不同的功能
|
|
1417
|
+
* - `preview` 预览模式,只能查看内容
|
|
1418
|
+
* - `presentation` 演示模式,用作演示场景,演示模式下部分套件可以进行一些简单的编辑操作
|
|
1419
|
+
* - `history` 历史模式,用作查看历史版本场景
|
|
1420
|
+
*/
|
|
1421
|
+
export declare type EditorModeType = 'standard' | 'preview' | 'presentation' | 'history' | 'embedded';
|
|
1422
|
+
|
|
1423
|
+
/**
|
|
1424
|
+
* 编辑器初始化通用参数
|
|
1425
|
+
*/
|
|
1426
|
+
export declare interface EditorOptions {
|
|
1427
|
+
/**
|
|
1428
|
+
* 编辑器初始化内容,可以是 string 或者 ArrayBuffer,
|
|
1429
|
+
* 也可以通过异步 Promise 加载
|
|
1430
|
+
*/
|
|
1431
|
+
content: MaybePromiseValue<string | ArrayBuffer>;
|
|
1432
|
+
/**
|
|
1433
|
+
* 初始化时的编辑模式,默认为 `preview`
|
|
1434
|
+
*/
|
|
1435
|
+
mode?: EditorModeOptions;
|
|
1436
|
+
/**
|
|
1437
|
+
* 当前操作编辑器的用户信息
|
|
1438
|
+
*/
|
|
1439
|
+
user?: EditorUserOptions;
|
|
1440
|
+
/**
|
|
1441
|
+
* 匿名用户的缺省信息
|
|
1442
|
+
*/
|
|
1443
|
+
anonymous?: EditorAnonymousOptions;
|
|
1444
|
+
/**
|
|
1445
|
+
* 当前文件信息 & 配置
|
|
1446
|
+
*/
|
|
1447
|
+
file?: EditorFileOptions;
|
|
1448
|
+
/**
|
|
1449
|
+
* i18n 相关设置
|
|
1450
|
+
*/
|
|
1451
|
+
i18n?: EditorI18nOptions;
|
|
1452
|
+
/**
|
|
1453
|
+
* 品牌相关设置
|
|
1454
|
+
*/
|
|
1455
|
+
brand?: EditorBrandOptions;
|
|
1456
|
+
/**
|
|
1457
|
+
* 编辑器内部资源请求配置
|
|
1458
|
+
*/
|
|
1459
|
+
assets?: EditorAssetsOptions;
|
|
1460
|
+
/**
|
|
1461
|
+
* 编辑器链接相关配置
|
|
1462
|
+
*/
|
|
1463
|
+
link?: EditorLinkOptions;
|
|
1464
|
+
/**
|
|
1465
|
+
* 嵌入对象相关配置
|
|
1466
|
+
*/
|
|
1467
|
+
embeddedObject?: EditorEmbeddedObjectOptions;
|
|
1468
|
+
/**
|
|
1469
|
+
* 初始化水印配置
|
|
1470
|
+
*/
|
|
1471
|
+
watermark?: EditorWatermarkOptions;
|
|
1472
|
+
/**
|
|
1473
|
+
* 编辑器打印设置
|
|
1474
|
+
*/
|
|
1475
|
+
print?: EditorPrintOptions;
|
|
1476
|
+
/**
|
|
1477
|
+
* 编辑器评论设置
|
|
1478
|
+
*/
|
|
1479
|
+
comments?: EditorCommentsOptions;
|
|
1480
|
+
/**
|
|
1481
|
+
* 附件设置
|
|
1482
|
+
*/
|
|
1483
|
+
attachment?: EditorAttachmentOptions;
|
|
1484
|
+
/**
|
|
1485
|
+
* 导出设置
|
|
1486
|
+
*/
|
|
1487
|
+
export?: EditorExportOptions;
|
|
1488
|
+
/**
|
|
1489
|
+
* 导入相关设置
|
|
1490
|
+
*/
|
|
1491
|
+
import?: EditorImportOptions;
|
|
1492
|
+
/**
|
|
1493
|
+
* 解密设置
|
|
1494
|
+
*/
|
|
1495
|
+
decryption?: EditorDecryptionOptions;
|
|
1496
|
+
/**
|
|
1497
|
+
* 网络请求设置
|
|
1498
|
+
*/
|
|
1499
|
+
http?: HTTPProxy;
|
|
1500
|
+
/**
|
|
1501
|
+
* 编辑器 UI 相关
|
|
1502
|
+
*/
|
|
1503
|
+
ui?: EditorUiOptions;
|
|
1504
|
+
/**
|
|
1505
|
+
* 编辑器工具箱设置
|
|
1506
|
+
*/
|
|
1507
|
+
toolbox?: EditorToolboxOptions;
|
|
1508
|
+
/**
|
|
1509
|
+
* 编辑器历史设置
|
|
1510
|
+
*/
|
|
1511
|
+
history?: EditorHistoryOptions;
|
|
1512
|
+
/**
|
|
1513
|
+
* 编辑器协作相关
|
|
1514
|
+
*/
|
|
1515
|
+
collaboration?: EditorCollaborationOptions;
|
|
1516
|
+
/**
|
|
1517
|
+
* 编辑器功能相关设置
|
|
1518
|
+
*/
|
|
1519
|
+
features?: EditorFeaturesOptions;
|
|
1520
|
+
/**
|
|
1521
|
+
* 编辑器版本相关设置
|
|
1522
|
+
*/
|
|
1523
|
+
version?: EditorVersionOptions;
|
|
1524
|
+
/**
|
|
1525
|
+
* 编辑器日志相关设置
|
|
1526
|
+
*/
|
|
1527
|
+
logs?: EditorLogsOptions;
|
|
1528
|
+
/**
|
|
1529
|
+
* 编辑器快捷键相关设置
|
|
1530
|
+
*/
|
|
1531
|
+
shortcuts?: EditorShortcutOptions;
|
|
1532
|
+
/**
|
|
1533
|
+
* 提及相关设置
|
|
1534
|
+
*/
|
|
1535
|
+
mention?: EditorMentionOptions;
|
|
1536
|
+
/**
|
|
1537
|
+
* 编辑器拖放相关配置
|
|
1538
|
+
*/
|
|
1539
|
+
dragNDrop?: EditorDragNDropOptions;
|
|
1540
|
+
/**
|
|
1541
|
+
* 编辑器引导相关设置
|
|
1542
|
+
*/
|
|
1543
|
+
guides?: EditorGuidesOptions;
|
|
1544
|
+
/**
|
|
1545
|
+
* 编辑器复制相关设置
|
|
1546
|
+
*/
|
|
1547
|
+
copy?: EditorCopyOptions;
|
|
1548
|
+
/**
|
|
1549
|
+
* 编辑器粘贴相关设置
|
|
1550
|
+
*/
|
|
1551
|
+
paste?: EditorPasteOptions;
|
|
1552
|
+
/**
|
|
1553
|
+
* 编辑器设备信息相关设置
|
|
1554
|
+
*/
|
|
1555
|
+
device?: EditorDeviceOptions;
|
|
1556
|
+
/**
|
|
1557
|
+
* 编辑器副本相关配置
|
|
1558
|
+
*/
|
|
1559
|
+
duplicate?: EditorDuplicateOptions;
|
|
1560
|
+
/**
|
|
1561
|
+
* 分享相关接口
|
|
1562
|
+
*/
|
|
1563
|
+
share?: EditorShareOptions;
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
/**
|
|
1567
|
+
* 大纲目录接口
|
|
1568
|
+
*/
|
|
1569
|
+
export declare interface EditorOutline<Content = unknown> {
|
|
1570
|
+
/**
|
|
1571
|
+
* 设置大纲目录是否可见
|
|
1572
|
+
* @param visible 是否可见
|
|
1573
|
+
*/
|
|
1574
|
+
setVisible: (visible: boolean) => void;
|
|
1575
|
+
/**
|
|
1576
|
+
* 获取目录信息
|
|
1577
|
+
* @returns 目录信息
|
|
1578
|
+
*/
|
|
1579
|
+
getContent: () => Promise<EditorOutlineItem<Content>[]>;
|
|
1580
|
+
/**
|
|
1581
|
+
* 添加目录信息改变时的监听器
|
|
1582
|
+
* @param listener 监听器
|
|
1583
|
+
* @returns 取消监听器的函数
|
|
1584
|
+
*/
|
|
1585
|
+
addChangedListener: (listener: (content: EditorOutlineItem<Content>[]) => void) => () => void;
|
|
1586
|
+
/**
|
|
1587
|
+
* 跳转到指定条目对应的正文位置
|
|
1588
|
+
* @param id 条目id
|
|
1589
|
+
* @returns 跳转是否成功
|
|
1590
|
+
*/
|
|
1591
|
+
goto: (id: string) => Promise<boolean>;
|
|
1592
|
+
}
|
|
1593
|
+
|
|
1594
|
+
/**
|
|
1595
|
+
* 大纲目录项条目
|
|
1596
|
+
*/
|
|
1597
|
+
export declare interface EditorOutlineItem<Content = unknown> {
|
|
1598
|
+
/**
|
|
1599
|
+
* 目录项 ID
|
|
1600
|
+
*/
|
|
1601
|
+
id: string;
|
|
1602
|
+
/**
|
|
1603
|
+
* 目录项层级
|
|
1604
|
+
*/
|
|
1605
|
+
level: number;
|
|
1606
|
+
/**
|
|
1607
|
+
* 目录项内容
|
|
1608
|
+
*/
|
|
1609
|
+
content: Content;
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
/**
|
|
1613
|
+
* 大纲目录初始化参数,
|
|
1614
|
+
* 用于配置大纲目录的行为和外观。
|
|
1615
|
+
*/
|
|
1616
|
+
export declare interface EditorOutlineOptions extends EditorLogicFeatureConfig {
|
|
1617
|
+
/**
|
|
1618
|
+
* 初始化编辑器时是否显示大纲目录,
|
|
1619
|
+
* 默认为 false。
|
|
1620
|
+
*/
|
|
1621
|
+
visible?: boolean;
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
export declare interface EditorPasteLimitationOptions {
|
|
1625
|
+
/**
|
|
1626
|
+
* 检查粘贴内容的规则
|
|
1627
|
+
* @param content
|
|
1628
|
+
* @returns
|
|
1629
|
+
*/
|
|
1630
|
+
checkContent?: (params: EditorPasteLimitationOptionsCheckFunctionParams) => Promise<{
|
|
1631
|
+
limited: true;
|
|
1632
|
+
message: string;
|
|
1633
|
+
} | {
|
|
1634
|
+
limited: false;
|
|
1635
|
+
}>;
|
|
1636
|
+
/**
|
|
1637
|
+
* 获取最大粘贴数据大小,单位为MB
|
|
1638
|
+
*/
|
|
1639
|
+
getMaxDataSize?: () => Promise<number | undefined>;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
export declare interface EditorPasteLimitationOptionsCheckFunctionParams {
|
|
1643
|
+
content: string;
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
/**
|
|
1647
|
+
* 粘贴相关设置
|
|
1648
|
+
*/
|
|
1649
|
+
export declare interface EditorPasteOptions extends EditorFeatureConfig {
|
|
1650
|
+
/**
|
|
1651
|
+
* 是否禁用远程图片粘贴, turbo暂时不支持远程图片粘贴
|
|
1652
|
+
*/
|
|
1653
|
+
isRemoteImgDisabled?: boolean;
|
|
1654
|
+
/**
|
|
1655
|
+
* 粘贴内容限制规则
|
|
1656
|
+
*/
|
|
1657
|
+
limitations?: EditorPasteLimitationOptions;
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
export declare interface EditorPerformanceOptions {
|
|
1661
|
+
/**
|
|
1662
|
+
* 记录性能指标
|
|
1663
|
+
* @param mark 性能指标名称
|
|
1664
|
+
*/
|
|
1665
|
+
record?: (mark: 'first_page' | 'first_editable_page') => void;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
export declare interface EditorPickedFile {
|
|
1669
|
+
/**
|
|
1670
|
+
* 文件大小
|
|
1671
|
+
*/
|
|
1672
|
+
size: number;
|
|
1673
|
+
/**
|
|
1674
|
+
* 文件名
|
|
1675
|
+
*/
|
|
1676
|
+
name: string;
|
|
1677
|
+
/**
|
|
1678
|
+
* 文件路径,仅显示有意义的相对路径,可用在上传文件夹和识别文件使用
|
|
1679
|
+
*/
|
|
1680
|
+
path?: string;
|
|
1681
|
+
/**
|
|
1682
|
+
* 文件类型,mime-type
|
|
1683
|
+
*/
|
|
1684
|
+
type: string;
|
|
1685
|
+
/**
|
|
1686
|
+
* 文件原始数据,用于给上传控件使用
|
|
1687
|
+
*/
|
|
1688
|
+
raw: File;
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
export declare interface EditorPresentation {
|
|
1692
|
+
/**
|
|
1693
|
+
* 进入演示模式
|
|
1694
|
+
*/
|
|
1695
|
+
start: () => Promise<void>;
|
|
1696
|
+
/**
|
|
1697
|
+
* 退出演示模式
|
|
1698
|
+
*/
|
|
1699
|
+
quit: () => Promise<void>;
|
|
1700
|
+
}
|
|
1701
|
+
|
|
1702
|
+
/**
|
|
1703
|
+
* 编辑器打印设置
|
|
1704
|
+
*/
|
|
1705
|
+
export declare interface EditorPrintOptions extends EditorFeatureConfig {
|
|
1706
|
+
/**
|
|
1707
|
+
* 部分套件如果绕过了编辑器预设的打印接口,直接通过拉起了浏览器的打印页面,这时打印页面无法获取到编辑器的内容,
|
|
1708
|
+
* 这种情况下就会 fallback 到这个 options 上,显示一个提示信息。
|
|
1709
|
+
*/
|
|
1710
|
+
fallback?: {
|
|
1711
|
+
message: string;
|
|
1712
|
+
};
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
/**
|
|
1716
|
+
* 远程文件上传
|
|
1717
|
+
*/
|
|
1718
|
+
export declare interface EditorRemoteUploadableFile extends EditorBaseUploadableFile {
|
|
1719
|
+
src: string;
|
|
1720
|
+
name?: never;
|
|
1721
|
+
size?: never;
|
|
1722
|
+
mime?: never;
|
|
1723
|
+
raw?: never;
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
export declare interface EditorRenderOptions {
|
|
1727
|
+
/**
|
|
1728
|
+
* 用于定位的锚点
|
|
1729
|
+
*/
|
|
1730
|
+
hash?: string;
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
/**
|
|
1734
|
+
* 编辑器通用接口
|
|
1735
|
+
*/
|
|
1736
|
+
export declare abstract class EditorSDK {
|
|
1737
|
+
protected options: EditorOptions;
|
|
1738
|
+
constructor(options: EditorOptions);
|
|
1739
|
+
/**
|
|
1740
|
+
* 初始化编辑器、加载插件等操作。
|
|
1741
|
+
*/
|
|
1742
|
+
abstract init(): Promise<void>;
|
|
1743
|
+
/**
|
|
1744
|
+
* 销毁编辑器
|
|
1745
|
+
*/
|
|
1746
|
+
abstract destroy(): Promise<void>;
|
|
1747
|
+
/**
|
|
1748
|
+
* 将编辑器挂载到指定的根节点上,并渲染,
|
|
1749
|
+
* mount 应该在 init 之后调用。
|
|
1750
|
+
* @param root
|
|
1751
|
+
*/
|
|
1752
|
+
abstract mount(root: HTMLElement): Promise<void>;
|
|
1753
|
+
/**
|
|
1754
|
+
* 从根节点卸载编辑器,对应 `mount` 操作
|
|
1755
|
+
*/
|
|
1756
|
+
abstract unmount(): Promise<void>;
|
|
1757
|
+
/**
|
|
1758
|
+
* 编辑器内容相关接口
|
|
1759
|
+
*/
|
|
1760
|
+
abstract get content(): EditorContent;
|
|
1761
|
+
/**
|
|
1762
|
+
* 编辑器模式相关接口
|
|
1763
|
+
*/
|
|
1764
|
+
abstract get mode(): EditorMode;
|
|
1765
|
+
/**
|
|
1766
|
+
* 编辑器评论相关接口
|
|
1767
|
+
* 部分环境不存在,如离线客户端
|
|
1768
|
+
*/
|
|
1769
|
+
abstract get comments(): EditorComments | undefined;
|
|
1770
|
+
/**
|
|
1771
|
+
* 编辑器协作者相关接口
|
|
1772
|
+
* 部分环境不存在,如离线客户端
|
|
1773
|
+
*/
|
|
1774
|
+
abstract get collaborators(): EditorCollaborators | undefined;
|
|
1775
|
+
/**
|
|
1776
|
+
* 编辑器历史相关接口
|
|
1777
|
+
* 部分环境不存在,如离线客户端
|
|
1778
|
+
*/
|
|
1779
|
+
abstract get history(): EditorHistory | undefined;
|
|
1780
|
+
/**
|
|
1781
|
+
* 编辑器版本相关接口
|
|
1782
|
+
* 部分环境不存在,如离线客户端
|
|
1783
|
+
*/
|
|
1784
|
+
abstract get version(): EditorVersion | undefined;
|
|
1785
|
+
/**
|
|
1786
|
+
* 编辑器菜单栏相关接口
|
|
1787
|
+
*/
|
|
1788
|
+
abstract get menu(): EditorMenu | undefined;
|
|
1789
|
+
/**
|
|
1790
|
+
* 编辑器演示模式相关接口
|
|
1791
|
+
*/
|
|
1792
|
+
abstract get presentation(): EditorPresentation | undefined;
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
export declare interface EditorShareOptions extends EditorLogicFeatureConfig {
|
|
1796
|
+
/**
|
|
1797
|
+
* 当前文件是否为共享文件
|
|
1798
|
+
*/
|
|
1799
|
+
isShared?: boolean;
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
export declare interface EditorShortcutOptions {
|
|
1803
|
+
/**
|
|
1804
|
+
* 自定义快捷键
|
|
1805
|
+
*/
|
|
1806
|
+
customShortcuts?: ShortcutConfig[];
|
|
1807
|
+
/**
|
|
1808
|
+
* 禁用的快捷键
|
|
1809
|
+
* 桌面客户端需要禁用ctrl+s,ctrl+shift+s
|
|
1810
|
+
* 极速sdk需要禁用ctrl+s
|
|
1811
|
+
* sdk2.0需要禁用ctrl+shift+e
|
|
1812
|
+
*/
|
|
1813
|
+
disabledShortcuts?: string[];
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
/**
|
|
1817
|
+
* 编辑器 socket 接口, 用于评论、跟随模式、远程演示等场景
|
|
1818
|
+
* 实际类型为 socketIO.client
|
|
1819
|
+
*/
|
|
1820
|
+
export declare interface EditorSocket {
|
|
1821
|
+
/**
|
|
1822
|
+
* 监听事件
|
|
1823
|
+
*/
|
|
1824
|
+
on: (event: string, callback: (...args: unknown[]) => void) => unknown;
|
|
1825
|
+
/**
|
|
1826
|
+
* 监听事件, 只监听一次
|
|
1827
|
+
*/
|
|
1828
|
+
once: (event: string, callback: (...args: unknown[]) => void) => unknown;
|
|
1829
|
+
/**
|
|
1830
|
+
* 移除事件
|
|
1831
|
+
*/
|
|
1832
|
+
off: (event: string, callback: (...args: unknown[]) => void) => unknown;
|
|
1833
|
+
/**
|
|
1834
|
+
* 发送事件
|
|
1835
|
+
*/
|
|
1836
|
+
emit: (event: string, ...args: unknown[]) => unknown;
|
|
1837
|
+
/**
|
|
1838
|
+
* 断开连接
|
|
1839
|
+
*/
|
|
1840
|
+
disconnect: () => unknown;
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
/**
|
|
1844
|
+
* 编辑器在 `standard` 模式下的权限模式
|
|
1845
|
+
* - `editor` 编辑模式
|
|
1846
|
+
* - `viewer` 阅读模式
|
|
1847
|
+
* - `reviewer` 评论模式
|
|
1848
|
+
*/
|
|
1849
|
+
export declare type EditorStandardRole = 'editor' | 'viewer' | 'reviewer';
|
|
1850
|
+
|
|
1851
|
+
/**
|
|
1852
|
+
* 上传任务回调
|
|
1853
|
+
*/
|
|
1854
|
+
export declare interface EditorTaskCallbacks {
|
|
1855
|
+
/**
|
|
1856
|
+
* 上传进度回调
|
|
1857
|
+
* @param taskId
|
|
1858
|
+
* @param loaded
|
|
1859
|
+
* @param total
|
|
1860
|
+
* @param progress
|
|
1861
|
+
* @param data
|
|
1862
|
+
* @returns
|
|
1863
|
+
*/
|
|
1864
|
+
onProgress?: (taskId: string, loaded: number, total: number, progress: number, data?: unknown) => void;
|
|
1865
|
+
/**
|
|
1866
|
+
* 上传错误回调
|
|
1867
|
+
* @param taskId
|
|
1868
|
+
* @param error
|
|
1869
|
+
* @returns
|
|
1870
|
+
*/
|
|
1871
|
+
onError?: (taskId: string, error: Error) => void;
|
|
1872
|
+
/**
|
|
1873
|
+
* 上传暂停回调
|
|
1874
|
+
* @param taskId
|
|
1875
|
+
* @returns
|
|
1876
|
+
*/
|
|
1877
|
+
onPause?: (taskId: string) => void;
|
|
1878
|
+
/**
|
|
1879
|
+
* 上传取消
|
|
1880
|
+
* @param taskId
|
|
1881
|
+
* @returns
|
|
1882
|
+
*/
|
|
1883
|
+
onAbort?: (taskId: string) => void;
|
|
1884
|
+
/**
|
|
1885
|
+
* 上传恢复
|
|
1886
|
+
* @param taskId
|
|
1887
|
+
* @returns
|
|
1888
|
+
*/
|
|
1889
|
+
onResume?: (taskId: string) => void;
|
|
1890
|
+
/**
|
|
1891
|
+
* 上传完成回调
|
|
1892
|
+
* @param taskId
|
|
1893
|
+
* @param status
|
|
1894
|
+
* @param data
|
|
1895
|
+
* @returns
|
|
1896
|
+
*/
|
|
1897
|
+
onEnd?: (taskId: string, status: 'Error' | 'Finished' | 'Canceled', data: unknown) => void;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
/**
|
|
1901
|
+
* 文本格式接口,
|
|
1902
|
+
* 包括设置、读取选区内文本的 BIUS、family、大小、颜色等
|
|
1903
|
+
*/
|
|
1904
|
+
export declare interface EditorText<Color = string, TRangeValue = unknown> {
|
|
1905
|
+
/**
|
|
1906
|
+
* 获取当前选区或指定选区内的文本格式状态
|
|
1907
|
+
*/
|
|
1908
|
+
get: (range?: TRangeValue) => Partial<EditorTextFormat<Color>>;
|
|
1909
|
+
/**
|
|
1910
|
+
* 将文本的格式应用到当前选区或指定选区上,
|
|
1911
|
+
* 传入的非空字段会覆盖对应的属性,其他没有传入的属性会保持不变。
|
|
1912
|
+
* @param range
|
|
1913
|
+
* @param format
|
|
1914
|
+
* @returns
|
|
1915
|
+
*/
|
|
1916
|
+
apply: (format: Partial<EditorTextFormat<Color>>, range?: TRangeValue) => Partial<EditorTextFormat<Color>>;
|
|
1917
|
+
/**
|
|
1918
|
+
* 清空当前选区或指定选区内文本的格式,将文本格式恢复到默认状态
|
|
1919
|
+
* @param range
|
|
1920
|
+
* @returns
|
|
1921
|
+
*/
|
|
1922
|
+
clear: (range: TRangeValue) => void;
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1925
|
+
/**
|
|
1926
|
+
* 文本格式状态
|
|
1927
|
+
*/
|
|
1928
|
+
export declare interface EditorTextFormat<Color = string> {
|
|
1929
|
+
/**
|
|
1930
|
+
* 粗体
|
|
1931
|
+
*/
|
|
1932
|
+
bold: boolean;
|
|
1933
|
+
/**
|
|
1934
|
+
* 斜体
|
|
1935
|
+
*/
|
|
1936
|
+
italic: boolean;
|
|
1937
|
+
/**
|
|
1938
|
+
* 下划线
|
|
1939
|
+
*/
|
|
1940
|
+
underline: boolean;
|
|
1941
|
+
/**
|
|
1942
|
+
* 删除线
|
|
1943
|
+
*/
|
|
1944
|
+
strike: boolean;
|
|
1945
|
+
/**
|
|
1946
|
+
* 文本颜色
|
|
1947
|
+
*/
|
|
1948
|
+
color: Color;
|
|
1949
|
+
/**
|
|
1950
|
+
* 文本背景高亮颜色
|
|
1951
|
+
*/
|
|
1952
|
+
highlight: Color;
|
|
1953
|
+
/**
|
|
1954
|
+
* 文本大小
|
|
1955
|
+
*/
|
|
1956
|
+
size: number | string;
|
|
1957
|
+
/**
|
|
1958
|
+
* 文本名称
|
|
1959
|
+
*/
|
|
1960
|
+
family: string;
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1963
|
+
/**
|
|
1964
|
+
* 文本格式初始化选项
|
|
1965
|
+
*/
|
|
1966
|
+
export declare interface EditorTextOptions<Color = string> {
|
|
1967
|
+
/**
|
|
1968
|
+
* 当前编辑器默认的文本格式
|
|
1969
|
+
*/
|
|
1970
|
+
defaultFormat?: Partial<EditorTextFormat<Color>>;
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1973
|
+
/**
|
|
1974
|
+
* 工具栏功能按钮配置(包括内置按钮和自定义按钮)
|
|
1975
|
+
*/
|
|
1976
|
+
export declare interface EditorToolbarFeatureButton<TName extends string> extends EditorFeatureConfig {
|
|
1977
|
+
/**
|
|
1978
|
+
* 按钮的唯一标识,用以确定配置的是哪个按钮。
|
|
1979
|
+
*/
|
|
1980
|
+
name?: TName;
|
|
1981
|
+
/**
|
|
1982
|
+
* 按钮标签(显示文本)一般工具栏上的按钮不会显示文本,如果需要显示文本,配置此项。
|
|
1983
|
+
*/
|
|
1984
|
+
label?: string;
|
|
1985
|
+
/**
|
|
1986
|
+
* 按钮图标,可以是 base64 的图片信息,也可以是图片 url
|
|
1987
|
+
*/
|
|
1988
|
+
icon?: string;
|
|
1989
|
+
/**
|
|
1990
|
+
* 按钮点击事件.接受一个函数,可以自定义点击事件。
|
|
1991
|
+
*/
|
|
1992
|
+
callback?: () => void;
|
|
1993
|
+
/**
|
|
1994
|
+
* 按钮提示文本,鼠标悬浮到按钮上时显示的tooltip文字
|
|
1995
|
+
*/
|
|
1996
|
+
tooltip?: string;
|
|
1997
|
+
/**
|
|
1998
|
+
* 按钮在工具栏中位置,不设置则按照默认位置
|
|
1999
|
+
*/
|
|
2000
|
+
index?: number;
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
/**
|
|
2004
|
+
* 工具栏内置功能按钮配置
|
|
2005
|
+
*/
|
|
2006
|
+
export declare type EditorToolbarFeatureButtonConfig<TName extends string> = {
|
|
2007
|
+
[key in TName]?: EditorToolbarFeatureButton<key>;
|
|
2008
|
+
};
|
|
2009
|
+
|
|
2010
|
+
/**
|
|
2011
|
+
* 工具栏相关设置,可以控制工具栏的显示内容
|
|
2012
|
+
*/
|
|
2013
|
+
export declare interface EditorToolbarOptions<TName extends string> {
|
|
2014
|
+
/**
|
|
2015
|
+
* 控制工具栏显隐状态
|
|
2016
|
+
*/
|
|
2017
|
+
hidden?: boolean;
|
|
2018
|
+
/**
|
|
2019
|
+
* 是否禁用工具栏所有功能
|
|
2020
|
+
*/
|
|
2021
|
+
disabled?: boolean;
|
|
2022
|
+
/**
|
|
2023
|
+
* 现有按钮的功能配置
|
|
2024
|
+
*/
|
|
2025
|
+
features?: EditorToolbarFeatureButtonConfig<TName>;
|
|
2026
|
+
/**
|
|
2027
|
+
* 自定义按钮
|
|
2028
|
+
*/
|
|
2029
|
+
custom?: EditorToolbarFeatureButtonConfig<string>;
|
|
2030
|
+
/**
|
|
2031
|
+
* 工具栏挂载的容器dom,配置后则挂载到指定的容器上
|
|
2032
|
+
*
|
|
2033
|
+
* 如果不配置则按照套件的默认方式挂载。
|
|
2034
|
+
*/
|
|
2035
|
+
container?: HTMLElement;
|
|
2036
|
+
}
|
|
2037
|
+
|
|
2038
|
+
/**
|
|
2039
|
+
* 编辑器工具箱配置选项接口
|
|
2040
|
+
*/
|
|
2041
|
+
export declare interface EditorToolboxOptions {
|
|
2042
|
+
/**
|
|
2043
|
+
* 获取工具箱配置
|
|
2044
|
+
* @param attachGuidList - 附件GUID列表
|
|
2045
|
+
* @returns 返回工具箱工具项列表
|
|
2046
|
+
*/
|
|
2047
|
+
getToolbox?: (attachGuidList: string[]) => Promise<{
|
|
2048
|
+
tools: ToolboxToolItem[];
|
|
2049
|
+
}>;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
/**
|
|
2053
|
+
* 编辑器UI选项接口
|
|
2054
|
+
* 定义了编辑器可以使用的UI相关功能
|
|
2055
|
+
*/
|
|
2056
|
+
export declare interface EditorUiOptions {
|
|
2057
|
+
/**
|
|
2058
|
+
* 侧边栏
|
|
2059
|
+
*/
|
|
2060
|
+
sidebar?: {
|
|
2061
|
+
/**
|
|
2062
|
+
* 打开使用指南/快捷键侧边栏
|
|
2063
|
+
*/
|
|
2064
|
+
open?: (activeKey: 'userGuide' | 'shortcut') => void;
|
|
2065
|
+
};
|
|
2066
|
+
/**
|
|
2067
|
+
* 升级弹窗
|
|
2068
|
+
*/
|
|
2069
|
+
upgrade?: {
|
|
2070
|
+
/**
|
|
2071
|
+
* 显示升级弹窗
|
|
2072
|
+
*/
|
|
2073
|
+
showModal?: (options: ShowUpgradeModalProps) => Promise<ShowUpgradeModalResponse | undefined>;
|
|
2074
|
+
};
|
|
2075
|
+
notification?: {
|
|
2076
|
+
/**
|
|
2077
|
+
* 渲染通知条
|
|
2078
|
+
*/
|
|
2079
|
+
render?: (params: RenderNotificationProps) => void;
|
|
2080
|
+
/**
|
|
2081
|
+
* 是否禁用通知条
|
|
2082
|
+
*/
|
|
2083
|
+
disabled?: boolean;
|
|
2084
|
+
};
|
|
2085
|
+
/**
|
|
2086
|
+
* 用户名片
|
|
2087
|
+
*/
|
|
2088
|
+
userCard?: {
|
|
2089
|
+
/**
|
|
2090
|
+
* 需要排除的用户卡片字段(不会在用户卡片中展示)
|
|
2091
|
+
*/
|
|
2092
|
+
excludeFields?: string[];
|
|
2093
|
+
/**
|
|
2094
|
+
* 渲染用户卡片
|
|
2095
|
+
*/
|
|
2096
|
+
render?: (params: RenderUserCardProps) => RenderUserCardResult;
|
|
2097
|
+
/**
|
|
2098
|
+
* 是否禁用用户卡片
|
|
2099
|
+
* jd需要禁用
|
|
2100
|
+
*/
|
|
2101
|
+
disabled?: boolean;
|
|
2102
|
+
};
|
|
2103
|
+
/**
|
|
2104
|
+
* 登录提示
|
|
2105
|
+
*/
|
|
2106
|
+
loginNotice?: {
|
|
2107
|
+
/**
|
|
2108
|
+
* 显示登录提示
|
|
2109
|
+
*/
|
|
2110
|
+
show?: () => void;
|
|
2111
|
+
};
|
|
2112
|
+
/**
|
|
2113
|
+
* toast
|
|
2114
|
+
*/
|
|
2115
|
+
toast?: {
|
|
2116
|
+
/**
|
|
2117
|
+
* 显示自定义toast
|
|
2118
|
+
*/
|
|
2119
|
+
show?: (options: ShowToastOptions) => void;
|
|
2120
|
+
/**
|
|
2121
|
+
* 是否禁用toast
|
|
2122
|
+
*/
|
|
2123
|
+
disabled?: boolean;
|
|
2124
|
+
/**
|
|
2125
|
+
* 自定义toast提示文本配置
|
|
2126
|
+
*/
|
|
2127
|
+
tips?: ToastTipsConfig;
|
|
2128
|
+
};
|
|
2129
|
+
/**
|
|
2130
|
+
* confirm
|
|
2131
|
+
*/
|
|
2132
|
+
confirm?: {
|
|
2133
|
+
/**
|
|
2134
|
+
* 显示自定义confirm
|
|
2135
|
+
*/
|
|
2136
|
+
show?: (options: ShowConfirmOptions) => void;
|
|
2137
|
+
/**
|
|
2138
|
+
* 是否禁用confirm
|
|
2139
|
+
*/
|
|
2140
|
+
disabled?: boolean;
|
|
2141
|
+
};
|
|
2142
|
+
/**
|
|
2143
|
+
* 全屏配置
|
|
2144
|
+
*/
|
|
2145
|
+
fullscreen?: EditorFeatureConfig;
|
|
2146
|
+
/**
|
|
2147
|
+
* 演示模式配置
|
|
2148
|
+
*/
|
|
2149
|
+
presentation?: EditorFeatureConfig;
|
|
2150
|
+
/**
|
|
2151
|
+
* 帮助中心配置
|
|
2152
|
+
*/
|
|
2153
|
+
helpCenter?: EditorFeatureConfig;
|
|
2154
|
+
/**
|
|
2155
|
+
* 新功能提醒相关配置
|
|
2156
|
+
*/
|
|
2157
|
+
newFeature?: {
|
|
2158
|
+
/**
|
|
2159
|
+
* 是否不展示新功能提醒(包括任何形式的)
|
|
2160
|
+
*/
|
|
2161
|
+
hidden?: boolean;
|
|
2162
|
+
};
|
|
2163
|
+
/**
|
|
2164
|
+
* 图片查看器配置
|
|
2165
|
+
*/
|
|
2166
|
+
imageViewer?: {
|
|
2167
|
+
/**
|
|
2168
|
+
* 右键菜单配置
|
|
2169
|
+
*/
|
|
2170
|
+
contextMenu?: EditorMenuOptions<'copy' | 'download'>;
|
|
2171
|
+
/**
|
|
2172
|
+
* 操作配置
|
|
2173
|
+
*/
|
|
2174
|
+
operations?: {
|
|
2175
|
+
/**
|
|
2176
|
+
* 下载图片
|
|
2177
|
+
*/
|
|
2178
|
+
download: EditorFeatureConfig;
|
|
2179
|
+
};
|
|
2180
|
+
};
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2183
|
+
export declare type EditorUploadableFile = EditorLocalUploadableFile | EditorRemoteUploadableFile;
|
|
2184
|
+
|
|
2185
|
+
/**
|
|
2186
|
+
* 文件开始上传入参
|
|
2187
|
+
*/
|
|
2188
|
+
export declare interface EditorUploadStartOptions extends EditorUploadTaskCallbacks {
|
|
2189
|
+
files: EditorUploadableFile[];
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
/**
|
|
2193
|
+
* 上传状态
|
|
2194
|
+
*/
|
|
2195
|
+
export declare enum EditorUploadStatus {
|
|
2196
|
+
Waiting = "Waiting",
|
|
2197
|
+
Uploading = "Uploading",
|
|
2198
|
+
Paused = "Paused",
|
|
2199
|
+
Canceled = "Canceled",
|
|
2200
|
+
Error = "Error",
|
|
2201
|
+
Finished = "Finished"
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
export declare type EditorUploadTaskCallbacks = Omit<EditorTaskCallbacks, 'onEnd'> & {
|
|
2205
|
+
onLoadend: (results: {
|
|
2206
|
+
taskId: string;
|
|
2207
|
+
status: 'Error' | 'Finished' | 'Canceled';
|
|
2208
|
+
data?: unknown;
|
|
2209
|
+
}[]) => void;
|
|
2210
|
+
};
|
|
2211
|
+
|
|
2212
|
+
/**
|
|
2213
|
+
* 上传任务信息
|
|
2214
|
+
*/
|
|
2215
|
+
export declare interface EditorUploadTaskInfo {
|
|
2216
|
+
taskId: string;
|
|
2217
|
+
fileInfo: EditorUploadableFile;
|
|
2218
|
+
total: number;
|
|
2219
|
+
readonly loaded: number;
|
|
2220
|
+
readonly progress: number;
|
|
2221
|
+
readonly status: EditorUploadStatus;
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
/**
|
|
2225
|
+
* 操作当前编辑器的用户信息
|
|
2226
|
+
*/
|
|
2227
|
+
export declare interface EditorUserOptions {
|
|
2228
|
+
/**
|
|
2229
|
+
* 用户 ID,用于标识用户
|
|
2230
|
+
*/
|
|
2231
|
+
uid: string;
|
|
2232
|
+
/**
|
|
2233
|
+
* 用户名
|
|
2234
|
+
*/
|
|
2235
|
+
name: string;
|
|
2236
|
+
/**
|
|
2237
|
+
* 用户头像
|
|
2238
|
+
*/
|
|
2239
|
+
avatar?: string;
|
|
2240
|
+
/**
|
|
2241
|
+
* 用户默认头像,当用户未设置头像时显示
|
|
2242
|
+
*/
|
|
2243
|
+
defaultAvatar?: string;
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
export declare interface EditorVersion {
|
|
2247
|
+
/**
|
|
2248
|
+
* 保存版本
|
|
2249
|
+
* @param name 版本名称
|
|
2250
|
+
*/
|
|
2251
|
+
createRevision: (name?: string) => void;
|
|
2252
|
+
/**
|
|
2253
|
+
* 显示版本(侧边栏或其他形式)
|
|
2254
|
+
* 区别于历史侧边栏,在应用表格里表现为打开历史侧边栏切换到版本 tab
|
|
2255
|
+
*/
|
|
2256
|
+
show?: () => void;
|
|
2257
|
+
/**
|
|
2258
|
+
* 隐藏版本(侧边栏或其他形式)
|
|
2259
|
+
* 区别于历史侧边栏,在应用表格里表现为打开历史侧边栏切换到版本 tab
|
|
2260
|
+
*/
|
|
2261
|
+
hide?: () => void;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
export declare type EditorVersionOptions = EditorFeatureConfig;
|
|
2265
|
+
|
|
2266
|
+
/**
|
|
2267
|
+
* 编辑器外部水印信息
|
|
2268
|
+
*/
|
|
2269
|
+
export declare interface EditorWatermarkOptions {
|
|
2270
|
+
/**
|
|
2271
|
+
* 获取用作初始化使用的默认水印
|
|
2272
|
+
*/
|
|
2273
|
+
getWatermark?: () => MaybePromiseValue<EditorWatermarkResource | null>;
|
|
2274
|
+
/**
|
|
2275
|
+
* 获取文件导出水印
|
|
2276
|
+
* @param exportType 导出类型 图片/pdf/纯图pdf
|
|
2277
|
+
*/
|
|
2278
|
+
getExportWatermark?: (exportType: 'image' | 'pdf' | 'image_pdf') => Promise<string[] | undefined>;
|
|
2279
|
+
/**
|
|
2280
|
+
* 是否必须,如果为 true,编辑器将在初始化时强制渲染水印,
|
|
2281
|
+
* 水印配置信息加载失败将导致编辑器初始化失败
|
|
2282
|
+
*/
|
|
2283
|
+
required?: boolean;
|
|
2284
|
+
}
|
|
2285
|
+
|
|
2286
|
+
export declare type EditorWatermarkResource = {
|
|
2287
|
+
type: 'data-url';
|
|
2288
|
+
url: string;
|
|
2289
|
+
} | {
|
|
2290
|
+
type: 'object-url';
|
|
2291
|
+
url: string;
|
|
2292
|
+
};
|
|
2293
|
+
|
|
2294
|
+
export declare interface FileLinkParams {
|
|
2295
|
+
/**
|
|
2296
|
+
* 文件guid
|
|
2297
|
+
*/
|
|
2298
|
+
fileGuid: string;
|
|
2299
|
+
/**
|
|
2300
|
+
* 文件类型
|
|
2301
|
+
*/
|
|
2302
|
+
type: string;
|
|
2303
|
+
/**
|
|
2304
|
+
* 用于定位到 mention、评论等位置。
|
|
2305
|
+
*/
|
|
2306
|
+
hash?: string;
|
|
2307
|
+
/**
|
|
2308
|
+
* 其他自定义字段
|
|
2309
|
+
*/
|
|
2310
|
+
[key: string]: unknown;
|
|
2311
|
+
}
|
|
2312
|
+
|
|
2313
|
+
/**
|
|
2314
|
+
* 文件子类型枚举
|
|
2315
|
+
*/
|
|
2316
|
+
export declare enum FileSubtype {
|
|
2317
|
+
/** 专业版幻灯片 */
|
|
2318
|
+
ProSlide = -10,
|
|
2319
|
+
/** 白板 */
|
|
2320
|
+
Whiteboard = -9,
|
|
2321
|
+
/** 表单 */
|
|
2322
|
+
Form = -8,
|
|
2323
|
+
/** 思维导图 */
|
|
2324
|
+
Mind = -7,
|
|
2325
|
+
/** 专业文档 */
|
|
2326
|
+
ProDoc = -6,
|
|
2327
|
+
/** 幻灯片 */
|
|
2328
|
+
Slide = -5,
|
|
2329
|
+
/** 新表格 */
|
|
2330
|
+
NewSheet = -4,
|
|
2331
|
+
/** 老表格 */
|
|
2332
|
+
Sheet = -3,
|
|
2333
|
+
/** 新文档 */
|
|
2334
|
+
NewDoc = -2,
|
|
2335
|
+
/** 老老表格 */
|
|
2336
|
+
OldSheet = -1,
|
|
2337
|
+
/** 旧文档 */
|
|
2338
|
+
OldDoc = 0,
|
|
2339
|
+
/** 文件夹 */
|
|
2340
|
+
Folder = 1,
|
|
2341
|
+
/** 协作 */
|
|
2342
|
+
Collaboration = 2
|
|
2343
|
+
}
|
|
2344
|
+
|
|
2345
|
+
/**
|
|
2346
|
+
* 文件类型枚举
|
|
2347
|
+
*/
|
|
2348
|
+
export declare enum FileType {
|
|
2349
|
+
/** 未知类型 */
|
|
2350
|
+
Unknown = 0,
|
|
2351
|
+
/** 文件夹或空间 */
|
|
2352
|
+
FolderOrSpace = 1,
|
|
2353
|
+
/** 石墨文件 */
|
|
2354
|
+
ShimoFile = 2,
|
|
2355
|
+
/** 云文件 */
|
|
2356
|
+
CloudFile = 3
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
/**
|
|
2360
|
+
* 表单功能点相关设置
|
|
2361
|
+
*/
|
|
2362
|
+
export declare interface FormFeatureOptions extends EditorFeaturesOptions {
|
|
2363
|
+
/**
|
|
2364
|
+
* 忽略功能试用(即能使用所有功能),私部环境为 true,其他环境忽略
|
|
2365
|
+
*/
|
|
2366
|
+
ignoreTrial?: boolean;
|
|
2367
|
+
}
|
|
2368
|
+
|
|
2369
|
+
/**
|
|
2370
|
+
* 链接相关配置
|
|
2371
|
+
*/
|
|
2372
|
+
export declare interface FormLinkOptions extends EditorLinkOptions {
|
|
2373
|
+
/**
|
|
2374
|
+
* 生成表单填写页链接时不使用后缀(小尾巴),SDK环境为 true,其他环境忽略
|
|
2375
|
+
*/
|
|
2376
|
+
ignoreTail?: boolean;
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2379
|
+
export declare interface FormSDKOptions extends EditorOptions {
|
|
2380
|
+
/**
|
|
2381
|
+
* 表单类型:普通表单;表格视图表单;测验表单。
|
|
2382
|
+
* 未指定时默认为普通表单
|
|
2383
|
+
*/
|
|
2384
|
+
formType?: FormType;
|
|
2385
|
+
/**
|
|
2386
|
+
* 表单发布相关设置
|
|
2387
|
+
*/
|
|
2388
|
+
publish?: PublishOptions;
|
|
2389
|
+
/**
|
|
2390
|
+
* UI 相关配置
|
|
2391
|
+
*/
|
|
2392
|
+
ui?: FormUIOptions;
|
|
2393
|
+
/**
|
|
2394
|
+
* 链接相关配置
|
|
2395
|
+
*/
|
|
2396
|
+
link?: FormLinkOptions;
|
|
2397
|
+
/**
|
|
2398
|
+
* 功能点相关配置
|
|
2399
|
+
*/
|
|
2400
|
+
features?: FormFeatureOptions;
|
|
2401
|
+
/**
|
|
2402
|
+
* 关联到专业表格
|
|
2403
|
+
*/
|
|
2404
|
+
linkToSheet?: LinkSheetOptions;
|
|
2405
|
+
/**
|
|
2406
|
+
* 关联到应用表格
|
|
2407
|
+
*/
|
|
2408
|
+
linkToTable?: LinkTableOptions;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
export declare type FormType = 'normal' | 'table' | 'quiz';
|
|
2412
|
+
|
|
2413
|
+
/**
|
|
2414
|
+
* UI 相关配置
|
|
2415
|
+
*/
|
|
2416
|
+
export declare interface FormUIOptions extends EditorUiOptions {
|
|
2417
|
+
/**
|
|
2418
|
+
* 编辑页相关UI配置
|
|
2419
|
+
*/
|
|
2420
|
+
editPage?: {
|
|
2421
|
+
/**
|
|
2422
|
+
* 搜索文件时不支持「空间」,没有「空间」概念的环境设置为 true(如SDK)
|
|
2423
|
+
*/
|
|
2424
|
+
noSpace?: boolean;
|
|
2425
|
+
/**
|
|
2426
|
+
* 隐藏通知相关的表单设置(填写提醒、订阅更新)
|
|
2427
|
+
*/
|
|
2428
|
+
hiddenNotification?: boolean;
|
|
2429
|
+
};
|
|
2430
|
+
/**
|
|
2431
|
+
* 填写页相关UI配置
|
|
2432
|
+
*/
|
|
2433
|
+
fillPage?: {
|
|
2434
|
+
/**
|
|
2435
|
+
* 隐藏表单填写页的「下载App」按钮,除 SaaS 环境外都为 true,SaaS 环境可忽略
|
|
2436
|
+
*/
|
|
2437
|
+
hiddenDownloadApp?: boolean;
|
|
2438
|
+
/**
|
|
2439
|
+
* 填写页未符合特定填写条件时不展示登录按钮,SDK为 true
|
|
2440
|
+
*/
|
|
2441
|
+
hiddenFillLogin?: boolean;
|
|
2442
|
+
};
|
|
2443
|
+
}
|
|
2444
|
+
|
|
2445
|
+
/**
|
|
2446
|
+
* 引导数据
|
|
2447
|
+
*/
|
|
2448
|
+
export declare interface GuideData {
|
|
2449
|
+
type: number;
|
|
2450
|
+
id: number;
|
|
2451
|
+
}
|
|
2452
|
+
|
|
2453
|
+
/**
|
|
2454
|
+
* 请求、响应头
|
|
2455
|
+
*/
|
|
2456
|
+
export declare type HTTPHeaders = Record<string, string | number | boolean | undefined>;
|
|
2457
|
+
|
|
2458
|
+
/**
|
|
2459
|
+
* 请求方法
|
|
2460
|
+
*/
|
|
2461
|
+
export declare type HTTPMethod = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH';
|
|
2462
|
+
|
|
2463
|
+
/**
|
|
2464
|
+
* HTTP 代理,用于抽象 HTTP 请求,
|
|
2465
|
+
* 将请求代理编辑器外部
|
|
2466
|
+
*/
|
|
2467
|
+
export declare interface HTTPProxy {
|
|
2468
|
+
/**
|
|
2469
|
+
* 发送请求,如果需要做请求、响应拦截,需要在 proxy.interceptors 中实现,
|
|
2470
|
+
* 套件内使用 proxy 发送请求的方式应该为类似如下方式:
|
|
2471
|
+
* ```ts
|
|
2472
|
+
* const raw = await proxy.request(proxy.interceptors?.request?.intercept(requestConfig) ?? requestConfig);
|
|
2473
|
+
* const response = proxy.interceptors?.response?.intercept(raw) ?? raw;
|
|
2474
|
+
* ```
|
|
2475
|
+
*
|
|
2476
|
+
* 套件内如果需要通过其他方式发送请求,比如通过浏览器的 Image API 加载,可以使用 proxy.interceptors?.request?.intercept(requestConfig) 处理请求配置
|
|
2477
|
+
* @param config
|
|
2478
|
+
* @returns
|
|
2479
|
+
*/
|
|
2480
|
+
request: <D = unknown, T = unknown>(config: HTTPRequestConfig<D>) => Promise<HTTPResponse<T>>;
|
|
2481
|
+
/**
|
|
2482
|
+
* 请求、响应拦截器,
|
|
2483
|
+
*
|
|
2484
|
+
*/
|
|
2485
|
+
interceptors?: {
|
|
2486
|
+
request?: {
|
|
2487
|
+
/**
|
|
2488
|
+
* 请求拦截器,传入请求配置,返回处理后的请求配置
|
|
2489
|
+
* @param requestConfig 请求配置
|
|
2490
|
+
* @returns
|
|
2491
|
+
*/
|
|
2492
|
+
intercept: <D = unknown>(requestConfig: HTTPRequestConfig<D>) => HTTPRequestConfig<D>;
|
|
2493
|
+
};
|
|
2494
|
+
response?: {
|
|
2495
|
+
/**
|
|
2496
|
+
* 响应拦截器,传入响应,返回处理后的响应
|
|
2497
|
+
* @param response
|
|
2498
|
+
* @returns
|
|
2499
|
+
*/
|
|
2500
|
+
intercept: <T = unknown>(response: HTTPResponse<T>) => HTTPResponse<T>;
|
|
2501
|
+
};
|
|
2502
|
+
};
|
|
2503
|
+
/**
|
|
2504
|
+
* 创建一个新的 HTTP 代理,用于为不同请求场景创建不同的代理
|
|
2505
|
+
* @param id
|
|
2506
|
+
* @returns
|
|
2507
|
+
*/
|
|
2508
|
+
create: (id: string) => Promise<HTTPProxy>;
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2511
|
+
/**
|
|
2512
|
+
* 请求配置
|
|
2513
|
+
*/
|
|
2514
|
+
export declare interface HTTPRequestConfig<Data = unknown> {
|
|
2515
|
+
/**
|
|
2516
|
+
* 请求地址
|
|
2517
|
+
*/
|
|
2518
|
+
url: string;
|
|
2519
|
+
/**
|
|
2520
|
+
* 请求方法
|
|
2521
|
+
*/
|
|
2522
|
+
method?: HTTPMethod;
|
|
2523
|
+
/**
|
|
2524
|
+
* 请求携带数据,主要是 POST、PUT、PATCH 等方法的请求数据
|
|
2525
|
+
*/
|
|
2526
|
+
data?: Data;
|
|
2527
|
+
/**
|
|
2528
|
+
* 期望的响应数据类型
|
|
2529
|
+
*/
|
|
2530
|
+
responseType?: HTTPResponseType;
|
|
2531
|
+
/**
|
|
2532
|
+
* 请求头
|
|
2533
|
+
*/
|
|
2534
|
+
headers?: HTTPHeaders;
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
/**
|
|
2538
|
+
* 响应数据
|
|
2539
|
+
*/
|
|
2540
|
+
export declare interface HTTPResponse<Data = unknown> {
|
|
2541
|
+
/**
|
|
2542
|
+
* 响应数据 body
|
|
2543
|
+
*/
|
|
2544
|
+
data: Data;
|
|
2545
|
+
/**
|
|
2546
|
+
* 响应状态码
|
|
2547
|
+
*/
|
|
2548
|
+
status: number;
|
|
2549
|
+
/**
|
|
2550
|
+
* 响应头
|
|
2551
|
+
*/
|
|
2552
|
+
headers: HTTPHeaders;
|
|
2553
|
+
}
|
|
2554
|
+
|
|
2555
|
+
/**
|
|
2556
|
+
* 请求返回类型
|
|
2557
|
+
*/
|
|
2558
|
+
export declare type HTTPResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
|
|
2559
|
+
|
|
2560
|
+
/**
|
|
2561
|
+
* 关联到专业表格相关配置
|
|
2562
|
+
*/
|
|
2563
|
+
export declare interface LinkSheetOptions {
|
|
2564
|
+
/**
|
|
2565
|
+
* 功能是否可用
|
|
2566
|
+
* @returns
|
|
2567
|
+
*/
|
|
2568
|
+
isEnabled: () => boolean;
|
|
2569
|
+
/**
|
|
2570
|
+
* 创建待关联的表格文件
|
|
2571
|
+
* @param name 文件名称
|
|
2572
|
+
* @param content 文件的初始内容
|
|
2573
|
+
* @returns
|
|
2574
|
+
*/
|
|
2575
|
+
createFile: (name: string, content: string) => Promise<EditorFileOptions>;
|
|
2576
|
+
/**
|
|
2577
|
+
* 关联到表格
|
|
2578
|
+
* @param formGuid 表单 guid
|
|
2579
|
+
* @param spreadGuid 关联表格 guid
|
|
2580
|
+
* @param sheetGuid 表格所在工作表 guid
|
|
2581
|
+
* @returns
|
|
2582
|
+
*/
|
|
2583
|
+
link: (formGuid: string, spreadGuid: string, sheetGuid: string) => Promise<void>;
|
|
2584
|
+
/**
|
|
2585
|
+
* 取消关联表格(同时取消双侧关联:表单->表格, 表格->表单)
|
|
2586
|
+
* @param formGuid 表单 guid
|
|
2587
|
+
* @returns
|
|
2588
|
+
*/
|
|
2589
|
+
unlink: (formGuid: string) => Promise<void>;
|
|
2590
|
+
}
|
|
2591
|
+
|
|
2592
|
+
/**
|
|
2593
|
+
* 关联到应用表格相关配置
|
|
2594
|
+
*/
|
|
2595
|
+
export declare interface LinkTableOptions {
|
|
2596
|
+
/**
|
|
2597
|
+
* 和应用表格关联后,表单编辑页要实时监听应用表格字段的增删改,这些改动通过socket消息传递。
|
|
2598
|
+
*/
|
|
2599
|
+
socket?: EditorSocket;
|
|
2600
|
+
/**
|
|
2601
|
+
* 功能是否可用
|
|
2602
|
+
* @returns
|
|
2603
|
+
*/
|
|
2604
|
+
isEnabled: () => boolean;
|
|
2605
|
+
/**
|
|
2606
|
+
* 创建关联应用表格
|
|
2607
|
+
* @param formGuid 表单 guid
|
|
2608
|
+
* @param transformedPublishedFormContent 转换后的已发布表单的内容
|
|
2609
|
+
* @returns
|
|
2610
|
+
*/
|
|
2611
|
+
link: (formGuid: string, transformedPublishedFormContent: string) => Promise<{
|
|
2612
|
+
tablesGuid: string;
|
|
2613
|
+
tableGuid: string;
|
|
2614
|
+
}>;
|
|
2615
|
+
/**
|
|
2616
|
+
* 取消关联应用表格
|
|
2617
|
+
* @param formGuid 表单 guid
|
|
2618
|
+
* @returns
|
|
2619
|
+
*/
|
|
2620
|
+
unlink: (formGuid: string) => Promise<void>;
|
|
2621
|
+
}
|
|
2622
|
+
|
|
2623
|
+
export declare type MaybePromiseValue<T> = T | Promise<T>;
|
|
2624
|
+
|
|
2625
|
+
export declare interface MentionEventPayload {
|
|
2626
|
+
/**
|
|
2627
|
+
* 距离页面左边的距离
|
|
2628
|
+
*/
|
|
2629
|
+
x: number;
|
|
2630
|
+
/**
|
|
2631
|
+
* 距离页面顶部的距离
|
|
2632
|
+
*/
|
|
2633
|
+
y: number;
|
|
2634
|
+
/**
|
|
2635
|
+
* mention信息
|
|
2636
|
+
*/
|
|
2637
|
+
mentionInfo: MentionInfo;
|
|
2638
|
+
}
|
|
2639
|
+
|
|
2640
|
+
export declare interface MentionInfo {
|
|
2641
|
+
/** 用户 Id */
|
|
2642
|
+
userId?: number;
|
|
2643
|
+
/** 文件 Id */
|
|
2644
|
+
fileId?: string;
|
|
2645
|
+
/**
|
|
2646
|
+
* mention区域宽度
|
|
2647
|
+
*/
|
|
2648
|
+
width?: number;
|
|
2649
|
+
/**
|
|
2650
|
+
* mention区域高度
|
|
2651
|
+
*/
|
|
2652
|
+
height?: number;
|
|
2653
|
+
/**
|
|
2654
|
+
* mention区域左上角距离页面左边的距离
|
|
2655
|
+
*/
|
|
2656
|
+
left?: number;
|
|
2657
|
+
/**
|
|
2658
|
+
* mention区域左上角距离页面顶部的距离
|
|
2659
|
+
*/
|
|
2660
|
+
top?: number;
|
|
2661
|
+
}
|
|
2662
|
+
|
|
2663
|
+
/**
|
|
2664
|
+
* 升级弹窗类型
|
|
2665
|
+
* 个人版或企业版
|
|
2666
|
+
*/
|
|
2667
|
+
export declare type OpenType = 'personal' | 'enterprise' | 'pendingOrder';
|
|
2668
|
+
|
|
2669
|
+
export declare interface OperationToastConfig {
|
|
2670
|
+
/**
|
|
2671
|
+
* 成功提示文本
|
|
2672
|
+
*/
|
|
2673
|
+
success?: string;
|
|
2674
|
+
/**
|
|
2675
|
+
* 失败提示文本
|
|
2676
|
+
*/
|
|
2677
|
+
failed?: string;
|
|
2678
|
+
/**
|
|
2679
|
+
* 权限不足提示文本
|
|
2680
|
+
* 桌面客户端安全模式下需要提供【当前账号未获得此项能力授权。】
|
|
2681
|
+
*/
|
|
2682
|
+
noPermission?: string;
|
|
2683
|
+
}
|
|
2684
|
+
|
|
2685
|
+
/**
|
|
2686
|
+
* 表单发布相关设置
|
|
2687
|
+
*/
|
|
2688
|
+
export declare interface PublishOptions {
|
|
2689
|
+
/**
|
|
2690
|
+
* 新建表单时将表单设置成默认“仅企业用户可填”,私部环境为 true,其他环境忽略
|
|
2691
|
+
*/
|
|
2692
|
+
enterpriseDefault?: boolean;
|
|
2693
|
+
/**
|
|
2694
|
+
* 不支持「仅企业用户可填」,没有企业概念的环境设置为 true(如SDK)
|
|
2695
|
+
*/
|
|
2696
|
+
noEnterprise?: boolean;
|
|
2697
|
+
}
|
|
2698
|
+
|
|
2699
|
+
export declare interface RenderNotificationProps {
|
|
2700
|
+
/**
|
|
2701
|
+
* 渲染的容器
|
|
2702
|
+
*/
|
|
2703
|
+
container: HTMLElement;
|
|
2704
|
+
/**
|
|
2705
|
+
* 自定义样式,实际类型为React.CSSProperties
|
|
2706
|
+
*/
|
|
2707
|
+
style?: Record<string, string | number>;
|
|
2708
|
+
}
|
|
2709
|
+
|
|
2710
|
+
export declare interface RenderUserCardProps {
|
|
2711
|
+
uid: string | number;
|
|
2712
|
+
rect: {
|
|
2713
|
+
left: number;
|
|
2714
|
+
top: number;
|
|
2715
|
+
width: number;
|
|
2716
|
+
height: number;
|
|
2717
|
+
hasReducedHeaderHeight?: boolean;
|
|
2718
|
+
};
|
|
2719
|
+
position?: 'top' | 'left' | 'right' | 'bottom' | 'left_top' | 'left_bottom' | 'right_top' | 'right_bottom' | 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';
|
|
2720
|
+
trigger?: 'hover' | 'click';
|
|
2721
|
+
}
|
|
2722
|
+
|
|
2723
|
+
export declare interface RenderUserCardResult {
|
|
2724
|
+
/**
|
|
2725
|
+
* 关闭用户卡片
|
|
2726
|
+
*/
|
|
2727
|
+
close?: (force?: boolean) => void;
|
|
2728
|
+
}
|
|
2729
|
+
|
|
2730
|
+
/**
|
|
2731
|
+
* 升级操作结果类型枚举
|
|
2732
|
+
*/
|
|
2733
|
+
export declare enum ResultType {
|
|
2734
|
+
/** 操作成功 */
|
|
2735
|
+
Success = "success",
|
|
2736
|
+
/** 用户取消操作 */
|
|
2737
|
+
Cancel = "cancel",
|
|
2738
|
+
/** 发生错误 */
|
|
2739
|
+
Error = "error",
|
|
2740
|
+
/** 跳转(目前仅在企业版用户过期时返回) */
|
|
2741
|
+
Redirect = "redirect"
|
|
2742
|
+
}
|
|
2743
|
+
|
|
2744
|
+
export declare interface SaveContext {
|
|
2745
|
+
clientId: string;
|
|
2746
|
+
}
|
|
2747
|
+
|
|
2748
|
+
export declare interface SaveStatusDelegation {
|
|
2749
|
+
/**
|
|
2750
|
+
* 保存状态发生变化时触发回调
|
|
2751
|
+
* @param state
|
|
2752
|
+
* @returns
|
|
2753
|
+
*/
|
|
2754
|
+
onChangeState: (state: unknown, context: SaveContext) => void;
|
|
2755
|
+
/**
|
|
2756
|
+
* 出现致命错误时触发回调,出现致命错误后,编辑器将无法继续编辑
|
|
2757
|
+
* @param error
|
|
2758
|
+
* @returns
|
|
2759
|
+
*/
|
|
2760
|
+
onError: (error: unknown, context: SaveContext) => void;
|
|
2761
|
+
}
|
|
2762
|
+
|
|
2763
|
+
/**
|
|
2764
|
+
* 付费场景类型
|
|
2765
|
+
*/
|
|
2766
|
+
export declare type Scene = 'history' | 'version' | 'public' | 'search' | 'attachments';
|
|
2767
|
+
|
|
2768
|
+
export declare interface ShortcutConfig {
|
|
2769
|
+
/**
|
|
2770
|
+
* 快捷键,例如保存快捷键windows为ctrl+s, mac系统则为meta+s
|
|
2771
|
+
* 如果不想区分系统则为mod+s
|
|
2772
|
+
*/
|
|
2773
|
+
key: string;
|
|
2774
|
+
/**
|
|
2775
|
+
* 快捷键回调
|
|
2776
|
+
*/
|
|
2777
|
+
callback: () => void;
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2780
|
+
export declare interface ShowConfirmOptions {
|
|
2781
|
+
/**
|
|
2782
|
+
* 确认框标题
|
|
2783
|
+
*/
|
|
2784
|
+
title: string;
|
|
2785
|
+
/**
|
|
2786
|
+
* 确认框描述
|
|
2787
|
+
*/
|
|
2788
|
+
description: string;
|
|
2789
|
+
/**
|
|
2790
|
+
* 确认按钮配置
|
|
2791
|
+
*/
|
|
2792
|
+
confirmButton?: ConfirmButtonConfig;
|
|
2793
|
+
/**
|
|
2794
|
+
* 取消按钮配置
|
|
2795
|
+
*/
|
|
2796
|
+
cancelButton?: ConfirmButtonConfig;
|
|
2797
|
+
}
|
|
2798
|
+
|
|
2799
|
+
export declare interface ShowToastOptions {
|
|
2800
|
+
/**
|
|
2801
|
+
* toast标题
|
|
2802
|
+
*/
|
|
2803
|
+
title: string;
|
|
2804
|
+
/**
|
|
2805
|
+
* toast类型
|
|
2806
|
+
*/
|
|
2807
|
+
type: 'success' | 'error' | 'warn' | 'info';
|
|
2808
|
+
/**
|
|
2809
|
+
* 显示时长,默认3s
|
|
2810
|
+
*/
|
|
2811
|
+
duration?: number;
|
|
2812
|
+
/**
|
|
2813
|
+
* 是否自动隐藏,默认true
|
|
2814
|
+
*/
|
|
2815
|
+
autoHide?: boolean;
|
|
2816
|
+
}
|
|
2817
|
+
|
|
2818
|
+
/**
|
|
2819
|
+
* 升级弹窗配置选项接口
|
|
2820
|
+
*/
|
|
2821
|
+
export declare interface ShowUpgradeModalProps {
|
|
2822
|
+
/** 打开个人升级弹窗还是企业弹窗 */
|
|
2823
|
+
openType: OpenType;
|
|
2824
|
+
/** 触发功能的Key值 */
|
|
2825
|
+
serviceKey: string;
|
|
2826
|
+
/** 文件类型(如果业务能够获取到则为必传) */
|
|
2827
|
+
fileType?: FileType;
|
|
2828
|
+
/** 文件子类型(如果业务能够获取到则为必传) */
|
|
2829
|
+
fileSubtype?: FileSubtype;
|
|
2830
|
+
/** 付费场景,用于升级弹窗的定制化文案显示 */
|
|
2831
|
+
scene?: Scene;
|
|
2832
|
+
}
|
|
2833
|
+
|
|
2834
|
+
/**
|
|
2835
|
+
* 升级弹窗响应接口
|
|
2836
|
+
*/
|
|
2837
|
+
export declare interface ShowUpgradeModalResponse {
|
|
2838
|
+
/** 操作结果 */
|
|
2839
|
+
result: ResultType;
|
|
2840
|
+
/** 错误信息(供开发人员查看) */
|
|
2841
|
+
errorMsg?: string;
|
|
2842
|
+
}
|
|
2843
|
+
|
|
2844
|
+
/**
|
|
2845
|
+
* 演讲者信息接口
|
|
2846
|
+
* 包含演讲者的基本信息
|
|
2847
|
+
*/
|
|
2848
|
+
export declare interface Speaker {
|
|
2849
|
+
/** 演讲者ID */
|
|
2850
|
+
id: number;
|
|
2851
|
+
/** 演讲者姓名 */
|
|
2852
|
+
name: string;
|
|
2853
|
+
/** 演讲者头像URL */
|
|
2854
|
+
avatar: string;
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
export declare interface SyncContext {
|
|
2858
|
+
clientId: string;
|
|
2859
|
+
timestamp: number;
|
|
2860
|
+
}
|
|
2861
|
+
|
|
2862
|
+
export declare interface SyncStatusDelegation {
|
|
2863
|
+
/**
|
|
2864
|
+
* 同步状态发生变化时触发回调
|
|
2865
|
+
* @param state
|
|
2866
|
+
* @param context
|
|
2867
|
+
* @returns
|
|
2868
|
+
*/
|
|
2869
|
+
onChangeState: (state: unknown, context: SyncContext) => void;
|
|
2870
|
+
/**
|
|
2871
|
+
* 出现致命错误时触发回调,出现致命错误后,编辑器将无法继续编辑
|
|
2872
|
+
* @param error
|
|
2873
|
+
* @param context
|
|
2874
|
+
* @returns
|
|
2875
|
+
*/
|
|
2876
|
+
onError: (error: unknown, context: SyncContext) => void;
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2879
|
+
/**
|
|
2880
|
+
* Toast提示文本配置接口
|
|
2881
|
+
*/
|
|
2882
|
+
export declare interface ToastTipsConfig {
|
|
2883
|
+
/**
|
|
2884
|
+
* 复制相关提示文本
|
|
2885
|
+
*/
|
|
2886
|
+
copy?: OperationToastConfig;
|
|
2887
|
+
/**
|
|
2888
|
+
* 粘贴相关提示文本
|
|
2889
|
+
*/
|
|
2890
|
+
paste?: OperationToastConfig;
|
|
2891
|
+
/**
|
|
2892
|
+
* 剪切相关提示文本
|
|
2893
|
+
*/
|
|
2894
|
+
cut?: OperationToastConfig;
|
|
2895
|
+
/**
|
|
2896
|
+
* 打印相关提示文本
|
|
2897
|
+
*/
|
|
2898
|
+
print?: OperationToastConfig;
|
|
2899
|
+
/**
|
|
2900
|
+
* 导出相关提示文本
|
|
2901
|
+
*/
|
|
2902
|
+
export?: OperationToastConfig;
|
|
2903
|
+
/**
|
|
2904
|
+
* 编辑相关提示文本
|
|
2905
|
+
*/
|
|
2906
|
+
edit?: OperationToastConfig;
|
|
2907
|
+
/**
|
|
2908
|
+
* 下载相关提示文本
|
|
2909
|
+
*/
|
|
2910
|
+
download?: {
|
|
2911
|
+
/**
|
|
2912
|
+
* 图片下载提示文本
|
|
2913
|
+
*/
|
|
2914
|
+
image?: OperationToastConfig;
|
|
2915
|
+
/**
|
|
2916
|
+
* 附件下载提示文本
|
|
2917
|
+
*/
|
|
2918
|
+
attachment?: OperationToastConfig;
|
|
2919
|
+
};
|
|
2920
|
+
/**
|
|
2921
|
+
* 预览相关提示文本
|
|
2922
|
+
*/
|
|
2923
|
+
preview?: {
|
|
2924
|
+
/**
|
|
2925
|
+
* 图片预览提示文本
|
|
2926
|
+
*/
|
|
2927
|
+
image?: OperationToastConfig;
|
|
2928
|
+
/**
|
|
2929
|
+
* 附件预览提示文本
|
|
2930
|
+
*/
|
|
2931
|
+
attachment?: OperationToastConfig;
|
|
2932
|
+
};
|
|
2933
|
+
/**
|
|
2934
|
+
* 创建版本相关提示文本
|
|
2935
|
+
* sdk2.0需要提供
|
|
2936
|
+
*/
|
|
2937
|
+
createVersion?: OperationToastConfig;
|
|
2938
|
+
}
|
|
2939
|
+
|
|
2940
|
+
/**
|
|
2941
|
+
* 工具箱工具项接口
|
|
2942
|
+
*/
|
|
2943
|
+
export declare interface ToolboxToolItem {
|
|
2944
|
+
/** 工具类型 */
|
|
2945
|
+
type: ToolTypes;
|
|
2946
|
+
/** 工具名称 */
|
|
2947
|
+
name: string;
|
|
2948
|
+
/** 工具图标 */
|
|
2949
|
+
icon: string;
|
|
2950
|
+
/** 工具分组 */
|
|
2951
|
+
group: ToolGroupTypes;
|
|
2952
|
+
/** 分组名称 */
|
|
2953
|
+
groupName: string;
|
|
2954
|
+
/** 是否为测试版功能 */
|
|
2955
|
+
isBeta: boolean;
|
|
2956
|
+
/** 工具回调函数 */
|
|
2957
|
+
callback: () => Promise<{
|
|
2958
|
+
result: 'success' | 'failed';
|
|
2959
|
+
error?: unknown;
|
|
2960
|
+
}>;
|
|
2961
|
+
}
|
|
2962
|
+
|
|
2963
|
+
/**
|
|
2964
|
+
* 工具分组类型枚举
|
|
2965
|
+
*/
|
|
2966
|
+
export declare enum ToolGroupTypes {
|
|
2967
|
+
/** 转换工具组 */
|
|
2968
|
+
Convert = "convert",
|
|
2969
|
+
/** 处理工具组 */
|
|
2970
|
+
Processing = "processing",
|
|
2971
|
+
/** 智能工具组 */
|
|
2972
|
+
Intelligent = "intelligent"
|
|
2973
|
+
}
|
|
2974
|
+
|
|
2975
|
+
/**
|
|
2976
|
+
* 工具类型枚举
|
|
2977
|
+
*/
|
|
2978
|
+
export declare enum ToolTypes {
|
|
2979
|
+
/** PDF转Word */
|
|
2980
|
+
PdfToWord = "pdfToWord",
|
|
2981
|
+
/** PDF转Excel */
|
|
2982
|
+
PdfToExcel = "pdfToExcel",
|
|
2983
|
+
/** PDF转PPT */
|
|
2984
|
+
PdfToPpt = "pdfToPpt",
|
|
2985
|
+
/** 图片转PDF */
|
|
2986
|
+
ImgToPdf = "imgToPdf",
|
|
2987
|
+
/** PDF合并 */
|
|
2988
|
+
PdfMerge = "pdfMerge",
|
|
2989
|
+
/** PDF拆分 */
|
|
2990
|
+
PdfSplit = "pdfSplit",
|
|
2991
|
+
/** 文件内容提取 */
|
|
2992
|
+
FileContentExtraction = "fileContentExtraction",
|
|
2993
|
+
/** 图片转文字 */
|
|
2994
|
+
COR = "imgToText",
|
|
2995
|
+
/** 音频转文字 */
|
|
2996
|
+
STT = "audioToText"
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
export declare interface UnauthedFormSDK {
|
|
3000
|
+
on: (event: string, handler: (payload: any) => any) => any;
|
|
3001
|
+
once: (event: string, handler: (payload: any) => any) => any;
|
|
3002
|
+
off: (event: string, handler: (payload: any) => any) => any;
|
|
3003
|
+
emit: (...args: any) => void;
|
|
3004
|
+
removeAllListeners: () => void;
|
|
3005
|
+
[K: string]: any;
|
|
3006
|
+
}
|
|
3007
|
+
|
|
3008
|
+
export declare interface UnauthedFormSDKOption {
|
|
3009
|
+
container: HTMLElement;
|
|
3010
|
+
filePicker?: EditorAttachmentOptions['picker'];
|
|
3011
|
+
fileUploader?: EditorAttachmentOptions['uploader'];
|
|
3012
|
+
/** 填写页无图片/附件的预览、下载等操作,也不存在权限判断,仅有对文件类型的限制,故简化配置项 */
|
|
3013
|
+
uploadLimitations?: Pick<EditorAttachmentOptions, 'image' | 'attachment' | 'video' | 'audio' | 'cloudFile'>;
|
|
3014
|
+
http?: HTTPProxy;
|
|
3015
|
+
ui?: Pick<FormUIOptions, 'fillPage'>;
|
|
3016
|
+
generateUrl?: EditorLinkOptions['generate'];
|
|
3017
|
+
parseUrl?: EditorLinkOptions['parse'];
|
|
3018
|
+
/** 设置微信分享卡片样式,SaaS的填写页需要传入,其他页面不需要 */
|
|
3019
|
+
updateWechatSnippet?: (snippet: {
|
|
3020
|
+
title: string;
|
|
3021
|
+
link: string;
|
|
3022
|
+
desc: string;
|
|
3023
|
+
imgUrl: string;
|
|
3024
|
+
}) => void;
|
|
3025
|
+
}
|
|
3026
|
+
|
|
3027
|
+
export { }
|