@officesdk/editor-sdk-core 0.0.0-2 → 0.0.0-20
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/diagram/index.js +16 -1
- package/cjs/diagram/sdk.js +1 -1
- package/cjs/docs/index.js +21 -0
- package/cjs/docs/info.js +3 -0
- package/cjs/docs/range.js +7 -0
- package/cjs/docs/sdk.js +28 -0
- package/cjs/docs/selection.js +3 -0
- package/cjs/docx/context-menu.js +3 -0
- package/cjs/docx/index.js +16 -1
- package/cjs/docx/info.js +1 -1
- package/cjs/docx/menu.js +1 -1
- package/cjs/docx/sdk.js +1 -1
- package/cjs/docx/selection.js +1 -1
- package/cjs/docx/theme.js +1 -1
- package/cjs/docx/toolbar.js +3 -0
- package/cjs/docx/window.js +1 -1
- package/cjs/index.js +23 -14
- package/cjs/pdf/index.js +16 -1
- package/cjs/pdf/menu.js +1 -1
- package/cjs/pdf/selection.js +1 -1
- package/cjs/presentation/export.js +14 -0
- package/cjs/presentation/index.js +19 -2
- package/cjs/presentation/menu.js +1 -1
- package/cjs/presentation/sdk.js +1 -1
- package/cjs/presentation/toolbar.js +3 -0
- package/cjs/shared/attachment.js +3 -0
- package/cjs/shared/checkpoints.js +19 -0
- package/cjs/shared/collaboration.js +3 -0
- package/cjs/shared/collaborators.js +3 -0
- package/cjs/shared/comments.js +1 -1
- package/cjs/shared/content.js +1 -1
- package/cjs/shared/context-menu.js +3 -0
- package/cjs/shared/decryption.js +3 -0
- package/cjs/shared/download.js +3 -0
- package/cjs/shared/editor.js +1 -1
- package/cjs/shared/export.js +3 -0
- package/cjs/shared/feature.js +3 -0
- package/cjs/shared/file-picker.js +3 -0
- package/cjs/shared/file.js +50 -0
- package/cjs/shared/follow-mode.js +3 -0
- package/cjs/shared/history.js +3 -0
- package/cjs/shared/index.js +5 -2
- package/cjs/shared/link.js +1 -1
- package/cjs/shared/mention.js +3 -0
- package/cjs/shared/menu.js +1 -1
- package/cjs/shared/performance.js +3 -0
- package/cjs/shared/print.js +1 -1
- package/cjs/shared/render.js +3 -0
- package/cjs/shared/tool-box.js +40 -0
- package/cjs/shared/toolbar.js +1 -1
- package/cjs/shared/ui.js +18 -0
- package/cjs/shared/uploader.js +22 -0
- package/cjs/shared/user.js +1 -1
- package/cjs/shared/version.js +3 -0
- package/cjs/sheet/cell.js +29 -1
- package/cjs/sheet/chart.js +3 -0
- package/cjs/sheet/checklist.js +3 -0
- package/cjs/sheet/combine-sheets.js +3 -0
- package/cjs/sheet/comments.js +3 -0
- package/cjs/sheet/data-transfer.js +3 -0
- package/cjs/sheet/export.js +3 -0
- package/cjs/sheet/font.js +3 -0
- package/cjs/sheet/form.js +3 -0
- package/cjs/sheet/import-formula.js +3 -0
- package/cjs/sheet/index.js +19 -2
- package/cjs/sheet/lock.js +14 -0
- package/cjs/sheet/mention.js +13 -0
- package/cjs/sheet/menu.js +1 -1
- package/cjs/sheet/range.js +1 -1
- package/cjs/sheet/render.js +3 -0
- package/cjs/sheet/sdk.js +1 -1
- package/cjs/sheet/sensitization.js +3 -0
- package/cjs/sheet/sheet2table.js +3 -0
- package/cjs/sheet/toolbar.js +3 -0
- package/cjs/sheet/worksheet.js +1 -1
- package/cjs/table/content.js +3 -0
- package/cjs/table/index.js +23 -0
- package/cjs/table/resource.js +3 -0
- package/cjs/table/sdk.js +11 -0
- package/cjs/table/selection.js +21 -0
- package/cjs/table/table.js +3 -0
- package/esm/diagram/index.js +2 -1
- package/esm/diagram/sdk.js +1 -1
- package/esm/docs/index.js +3 -0
- package/esm/docs/info.js +2 -0
- package/esm/docs/range.js +6 -0
- package/esm/docs/sdk.js +25 -0
- package/esm/docs/selection.js +2 -0
- package/esm/docx/context-menu.js +2 -0
- package/esm/docx/index.js +2 -1
- package/esm/docx/info.js +1 -1
- package/esm/docx/menu.js +1 -1
- package/esm/docx/sdk.js +1 -1
- package/esm/docx/selection.js +1 -1
- package/esm/docx/theme.js +1 -1
- package/esm/docx/toolbar.js +2 -0
- package/esm/docx/window.js +1 -1
- package/esm/index.js +9 -7
- package/esm/pdf/index.js +2 -1
- package/esm/pdf/menu.js +1 -1
- package/esm/pdf/selection.js +1 -1
- package/esm/presentation/export.js +11 -0
- package/esm/presentation/index.js +3 -1
- package/esm/presentation/menu.js +1 -1
- package/esm/presentation/sdk.js +1 -1
- package/esm/presentation/toolbar.js +2 -0
- package/esm/shared/attachment.js +2 -0
- package/esm/shared/checkpoints.js +16 -0
- package/esm/shared/collaboration.js +2 -0
- package/esm/shared/collaborators.js +2 -0
- package/esm/shared/comments.js +1 -1
- package/esm/shared/content.js +1 -1
- package/esm/shared/context-menu.js +2 -0
- package/esm/shared/decryption.js +2 -0
- package/esm/shared/download.js +2 -0
- package/esm/shared/editor.js +1 -1
- package/esm/shared/export.js +2 -0
- package/esm/shared/feature.js +2 -0
- package/esm/shared/file-picker.js +2 -0
- package/esm/shared/file.js +47 -0
- package/esm/shared/follow-mode.js +2 -0
- package/esm/shared/history.js +2 -0
- package/esm/shared/index.js +2 -1
- package/esm/shared/link.js +1 -1
- package/esm/shared/mention.js +2 -0
- package/esm/shared/menu.js +1 -1
- package/esm/shared/performance.js +2 -0
- package/esm/shared/print.js +1 -1
- package/esm/shared/render.js +2 -0
- package/esm/shared/tool-box.js +37 -0
- package/esm/shared/toolbar.js +1 -1
- package/esm/shared/ui.js +15 -0
- package/esm/shared/uploader.js +19 -0
- package/esm/shared/user.js +1 -1
- package/esm/shared/version.js +2 -0
- package/esm/sheet/cell.js +28 -2
- package/esm/sheet/chart.js +2 -0
- package/esm/sheet/checklist.js +2 -0
- package/esm/sheet/combine-sheets.js +2 -0
- package/esm/sheet/comments.js +2 -0
- package/esm/sheet/data-transfer.js +2 -0
- package/esm/sheet/export.js +2 -0
- package/esm/sheet/font.js +2 -0
- package/esm/sheet/form.js +2 -0
- package/esm/sheet/import-formula.js +2 -0
- package/esm/sheet/index.js +3 -1
- package/esm/sheet/lock.js +11 -0
- package/esm/sheet/mention.js +10 -0
- package/esm/sheet/menu.js +1 -1
- package/esm/sheet/range.js +1 -1
- package/esm/sheet/render.js +2 -0
- package/esm/sheet/sdk.js +1 -1
- package/esm/sheet/sensitization.js +2 -0
- package/esm/sheet/sheet2table.js +2 -0
- package/esm/sheet/toolbar.js +2 -0
- package/esm/sheet/worksheet.js +1 -1
- package/esm/table/content.js +2 -0
- package/esm/table/index.js +4 -0
- package/esm/table/resource.js +2 -0
- package/esm/table/sdk.js +8 -0
- package/esm/table/selection.js +18 -0
- package/esm/table/table.js +2 -0
- package/package.json +75 -7
- package/types/combine.d.ts +5159 -0
- package/types/diagram.d.ts +2126 -0
- package/types/docs.d.ts +2253 -0
- package/{docx.d.ts → types/docx.d.ts} +1536 -311
- package/types/pdf.d.ts +2335 -0
- package/types/presentation.d.ts +2394 -0
- package/types/shared.d.ts +2061 -0
- package/types/sheet.d.ts +2885 -0
- package/types/table.d.ts +2381 -0
- package/diagram.d.ts +0 -358
- package/pdf.d.ts +0 -755
- package/presentation.d.ts +0 -1281
- package/shared.d.ts +0 -1066
- package/sheet.d.ts +0 -1370
package/sheet.d.ts
DELETED
|
@@ -1,1370 +0,0 @@
|
|
|
1
|
-
export declare abstract class AbstractedSheetSDK extends EditorSDK {
|
|
2
|
-
/**
|
|
3
|
-
* 打印文档
|
|
4
|
-
*/
|
|
5
|
-
abstract print(): Promise<void>;
|
|
6
|
-
/**
|
|
7
|
-
* 工作簿接口
|
|
8
|
-
*/
|
|
9
|
-
abstract get workbook(): SheetWorkbook;
|
|
10
|
-
/**
|
|
11
|
-
* 当前活跃工作表对象
|
|
12
|
-
*/
|
|
13
|
-
abstract get activeSheet(): SheetWorksheet;
|
|
14
|
-
/**
|
|
15
|
-
* 当前活动单元格
|
|
16
|
-
*/
|
|
17
|
-
abstract get activeCell(): SheetCell | null;
|
|
18
|
-
/**
|
|
19
|
-
* 获取当前选区
|
|
20
|
-
*/
|
|
21
|
-
abstract get selections(): SheetSelection[] | null;
|
|
22
|
-
/**
|
|
23
|
-
* 文本格式接口
|
|
24
|
-
*/
|
|
25
|
-
abstract get text(): SheetText;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* 编辑器内部资源请求配置
|
|
30
|
-
*/
|
|
31
|
-
declare interface EditorAssetsOptions {
|
|
32
|
-
/**
|
|
33
|
-
* 通用资源请求代理配置,
|
|
34
|
-
* 用于套件内部资源请求时代理请求
|
|
35
|
-
*/
|
|
36
|
-
proxy: HTTPProxy;
|
|
37
|
-
/**
|
|
38
|
-
* 资源文件 URL 转换和解析
|
|
39
|
-
*/
|
|
40
|
-
resolver: EditorAssetsResolver;
|
|
41
|
-
/**
|
|
42
|
-
* 图片处理器
|
|
43
|
-
*/
|
|
44
|
-
imageProcessing: EditorAssetsOssImageProcessing;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* 基于对象存储的图片处理抽象
|
|
49
|
-
*/
|
|
50
|
-
declare interface EditorAssetsOssImageProcessing {
|
|
51
|
-
/**
|
|
52
|
-
* 压缩图片的方法
|
|
53
|
-
* @param imageUrl 图片的 URL
|
|
54
|
-
* @param compressOptions 压缩配置,例如质量、最大宽度和最大高度
|
|
55
|
-
* @returns 压缩后的图片 URL
|
|
56
|
-
*/
|
|
57
|
-
compress: (imageUrl: string, compressOptions?: {
|
|
58
|
-
quality?: number;
|
|
59
|
-
maxWidth?: number;
|
|
60
|
-
maxHeight?: number;
|
|
61
|
-
}) => Promise<string>;
|
|
62
|
-
/**
|
|
63
|
-
* 裁切图片的方法
|
|
64
|
-
* @param imageUrl 图片的 URL
|
|
65
|
-
* @param cropOptions 裁切配置,例如宽度、高度和起始点
|
|
66
|
-
* @returns 裁切后的图片 URL
|
|
67
|
-
*/
|
|
68
|
-
crop: (imageUrl: string, cropOptions: {
|
|
69
|
-
x?: number;
|
|
70
|
-
y?: number;
|
|
71
|
-
w: number;
|
|
72
|
-
h: number;
|
|
73
|
-
g?: EditorImageCropPoint;
|
|
74
|
-
}) => Promise<string>;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
declare interface EditorAssetsResolver {
|
|
78
|
-
/**
|
|
79
|
-
* 将资源文件 ID 转换为 URL 的方法
|
|
80
|
-
* @param assetId 资源文件 ID
|
|
81
|
-
* @returns 转换后的资源 URL ,如果无法转换则返回 null
|
|
82
|
-
*/
|
|
83
|
-
resolveUrl: (assetId: string) => Promise<string | null>;
|
|
84
|
-
/**
|
|
85
|
-
* 从 URL 中解析资源文件 ID 的方法
|
|
86
|
-
* @param url 资源 URL
|
|
87
|
-
* @returns 解析出的资源文件 ID
|
|
88
|
-
*/
|
|
89
|
-
parseId: (url: string) => Promise<string | null>;
|
|
90
|
-
/**
|
|
91
|
-
* 检查资源文件 ID 对应的文件是否准备就绪,
|
|
92
|
-
* 在部分环境中,资源文件需要异步导入,在编辑器加载的时候可能还未准备就绪
|
|
93
|
-
* @param assetId 资源文件 ID
|
|
94
|
-
* @returns
|
|
95
|
-
*/
|
|
96
|
-
checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* 品牌相关设置,
|
|
101
|
-
* 用于在套件中展示品牌外露信息
|
|
102
|
-
*/
|
|
103
|
-
declare interface EditorBrandOptions {
|
|
104
|
-
/**
|
|
105
|
-
* 需要显示在品牌展示位的内容,按数组顺序显示
|
|
106
|
-
*/
|
|
107
|
-
content: Array<{
|
|
108
|
-
type: 'image';
|
|
109
|
-
src: string;
|
|
110
|
-
} | {
|
|
111
|
-
type: 'text';
|
|
112
|
-
content: string;
|
|
113
|
-
color?: string;
|
|
114
|
-
}>;
|
|
115
|
-
/**
|
|
116
|
-
* 品牌展示位的布局信息
|
|
117
|
-
*/
|
|
118
|
-
layout: {
|
|
119
|
-
width: string;
|
|
120
|
-
height: string;
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* 单条评论数据
|
|
126
|
-
*/
|
|
127
|
-
declare interface EditorCommentItem {
|
|
128
|
-
/**
|
|
129
|
-
* 评论 ID
|
|
130
|
-
*/
|
|
131
|
-
id: string;
|
|
132
|
-
/**
|
|
133
|
-
* 评论用户信息
|
|
134
|
-
*/
|
|
135
|
-
user: {
|
|
136
|
-
id: string;
|
|
137
|
-
name: string;
|
|
138
|
-
};
|
|
139
|
-
content: {
|
|
140
|
-
text: string;
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
declare interface EditorComments {
|
|
145
|
-
/**
|
|
146
|
-
* 检查是否有评论
|
|
147
|
-
* @returns
|
|
148
|
-
*/
|
|
149
|
-
hasAny: () => Promise<boolean>;
|
|
150
|
-
/**
|
|
151
|
-
* 获取评论列表
|
|
152
|
-
* @returns
|
|
153
|
-
*/
|
|
154
|
-
getAll: () => Promise<EditorCommentItem[]>;
|
|
155
|
-
/**
|
|
156
|
-
* 获取单个评论
|
|
157
|
-
* @param commentId
|
|
158
|
-
* @returns
|
|
159
|
-
*/
|
|
160
|
-
getOne: (commentId: string) => Promise<EditorCommentItem | null>;
|
|
161
|
-
/**
|
|
162
|
-
* 添加内容
|
|
163
|
-
* @param options
|
|
164
|
-
* @returns
|
|
165
|
-
*/
|
|
166
|
-
add: (options: {
|
|
167
|
-
/**
|
|
168
|
-
* 评论内容
|
|
169
|
-
*/
|
|
170
|
-
text: string;
|
|
171
|
-
/**
|
|
172
|
-
* 默认评论是添加到当前选区上,也可以指定一个区域
|
|
173
|
-
*/
|
|
174
|
-
range?: string;
|
|
175
|
-
}) => Promise<string | null>;
|
|
176
|
-
/**
|
|
177
|
-
* 删除所有评论
|
|
178
|
-
* @returns
|
|
179
|
-
*/
|
|
180
|
-
deleteAll: () => Promise<boolean>;
|
|
181
|
-
/**
|
|
182
|
-
* 删除单条评论
|
|
183
|
-
*/
|
|
184
|
-
deleteOne: (commentId: string) => Promise<boolean>;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* 编辑器评论初始化配置
|
|
189
|
-
*/
|
|
190
|
-
declare interface EditorCommentsOptions {
|
|
191
|
-
/**
|
|
192
|
-
* 评论作者信息,如果这里的信息为空,将会使用 user 信息
|
|
193
|
-
*/
|
|
194
|
-
author?: {
|
|
195
|
-
/**
|
|
196
|
-
* 评论作者 ID
|
|
197
|
-
*/
|
|
198
|
-
id: string;
|
|
199
|
-
/**
|
|
200
|
-
* 评论作者信息
|
|
201
|
-
*/
|
|
202
|
-
name: string;
|
|
203
|
-
/**
|
|
204
|
-
* 评论作者头像
|
|
205
|
-
*/
|
|
206
|
-
avatar?: string;
|
|
207
|
-
};
|
|
208
|
-
/**
|
|
209
|
-
* 显示的视图配置
|
|
210
|
-
*/
|
|
211
|
-
view?: {
|
|
212
|
-
/**
|
|
213
|
-
* 评论显示模式,
|
|
214
|
-
* none: 不显示评论,默认值。
|
|
215
|
-
* card: 评论以卡片形式显示。
|
|
216
|
-
*/
|
|
217
|
-
mode: 'none' | 'card';
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
declare interface EditorContent {
|
|
222
|
-
/**
|
|
223
|
-
* 设置编辑器内容
|
|
224
|
-
* @param content
|
|
225
|
-
*/
|
|
226
|
-
setContent: (content: string | ArrayBuffer) => Promise<void>;
|
|
227
|
-
/**
|
|
228
|
-
* 获取编辑器内容
|
|
229
|
-
*/
|
|
230
|
-
getContent: () => Promise<EditorDelta>;
|
|
231
|
-
/**
|
|
232
|
-
* 添加监听,当内容发生变化时触发监听,传入 Delta
|
|
233
|
-
* @param listener
|
|
234
|
-
*/
|
|
235
|
-
addChangeListener: (listener: (change: EditorDelta) => void) => () => void;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
declare interface EditorDelta {
|
|
239
|
-
compose: (other: EditorDelta, isDocument?: boolean) => EditorDelta;
|
|
240
|
-
transform: (other: EditorDelta, priority?: boolean) => EditorDelta;
|
|
241
|
-
stringify: () => string;
|
|
242
|
-
length: number;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* 编辑器嵌入对象
|
|
247
|
-
*/
|
|
248
|
-
declare interface EditorEmbeddedObject {
|
|
249
|
-
/**
|
|
250
|
-
* 嵌入的对象 url
|
|
251
|
-
*/
|
|
252
|
-
url: string;
|
|
253
|
-
/**
|
|
254
|
-
* 嵌入对象的类型描述
|
|
255
|
-
*/
|
|
256
|
-
type?: string;
|
|
257
|
-
/**
|
|
258
|
-
* 嵌入对象的名
|
|
259
|
-
*/
|
|
260
|
-
name?: string;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* 编辑器嵌入对象抽象类
|
|
265
|
-
*/
|
|
266
|
-
declare interface EditorEmbeddedObjectOptions {
|
|
267
|
-
/**
|
|
268
|
-
* 执行打开嵌入对象操作,
|
|
269
|
-
* 如果已经处理了打开操作,返回 true,否则返回 false,
|
|
270
|
-
* 如果返回 false,编辑器会继续后续默认的打开操作。
|
|
271
|
-
* @param object
|
|
272
|
-
* @returns
|
|
273
|
-
*/
|
|
274
|
-
open: (object: EditorEmbeddedObject) => Promise<boolean>;
|
|
275
|
-
/**
|
|
276
|
-
* 嵌入对象的页面功能
|
|
277
|
-
*/
|
|
278
|
-
ui?: {
|
|
279
|
-
/**
|
|
280
|
-
* 预览功能
|
|
281
|
-
*/
|
|
282
|
-
preview?: {
|
|
283
|
-
disabled?: boolean;
|
|
284
|
-
};
|
|
285
|
-
/**
|
|
286
|
-
* 下载功能
|
|
287
|
-
*/
|
|
288
|
-
download?: {
|
|
289
|
-
disabled?: boolean;
|
|
290
|
-
};
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
declare interface EditorFontFace {
|
|
295
|
-
/**
|
|
296
|
-
* 字体的名称,用于在用户界面上显示的名称
|
|
297
|
-
*/
|
|
298
|
-
name: string;
|
|
299
|
-
/**
|
|
300
|
-
* 字体族
|
|
301
|
-
*/
|
|
302
|
-
family: string;
|
|
303
|
-
/**
|
|
304
|
-
* 用于加载字体的 URL
|
|
305
|
-
*/
|
|
306
|
-
url?: string;
|
|
307
|
-
/**
|
|
308
|
-
* 是否为受版权保护的字体,如果是在用户界面上会有所标识。
|
|
309
|
-
*/
|
|
310
|
-
isCopyrightProtected: boolean;
|
|
311
|
-
/**
|
|
312
|
-
* 字体元数据
|
|
313
|
-
*/
|
|
314
|
-
meta: EditorFontMeta;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* 字体元数据
|
|
319
|
-
*/
|
|
320
|
-
declare interface EditorFontMeta {
|
|
321
|
-
head: {
|
|
322
|
-
unitsPerEm: number;
|
|
323
|
-
};
|
|
324
|
-
hhea: {
|
|
325
|
-
ascender: number;
|
|
326
|
-
descender: number;
|
|
327
|
-
lineGap: number;
|
|
328
|
-
};
|
|
329
|
-
vhea?: {
|
|
330
|
-
ascender: number;
|
|
331
|
-
descender: number;
|
|
332
|
-
lineGap: number;
|
|
333
|
-
};
|
|
334
|
-
os2: {
|
|
335
|
-
usWeightClass?: number;
|
|
336
|
-
usWidthClass?: number;
|
|
337
|
-
italic?: boolean;
|
|
338
|
-
isSymbol?: boolean;
|
|
339
|
-
ulCodePageRange: [number, number];
|
|
340
|
-
};
|
|
341
|
-
/**
|
|
342
|
-
* opentype中没有强制要求必须有en条目,只能确定name下的value的类型是对象
|
|
343
|
-
*/
|
|
344
|
-
name: {
|
|
345
|
-
preferredFamily?: Record<string, string>;
|
|
346
|
-
preferredSubfamily?: Record<string, string>;
|
|
347
|
-
fontFamily?: Record<string, string>;
|
|
348
|
-
fontSubfamily?: Record<string, string>;
|
|
349
|
-
fullName?: Record<string, string>;
|
|
350
|
-
postScriptName?: Record<string, string>;
|
|
351
|
-
};
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* 字体列表
|
|
356
|
-
*/
|
|
357
|
-
declare interface EditorFontsList {
|
|
358
|
-
/**
|
|
359
|
-
* 返回解析为字体的列表的 Promise。
|
|
360
|
-
*/
|
|
361
|
-
getAll: () => Promise<EditorFontFace[]>;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
declare interface EditorFontsOptions {
|
|
365
|
-
/**
|
|
366
|
-
* 服务器字体列表,用于获取服务器端配置的字体列表,
|
|
367
|
-
* 并提供可用于字体的加载 URL 和字体元数据。
|
|
368
|
-
*/
|
|
369
|
-
list: EditorFontsList;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* i18n 相关设置
|
|
374
|
-
*/
|
|
375
|
-
declare interface EditorI18nOptions {
|
|
376
|
-
/**
|
|
377
|
-
* 语言,默认使用浏览器当前环境中的语言
|
|
378
|
-
*/
|
|
379
|
-
language?: string;
|
|
380
|
-
/**
|
|
381
|
-
* 文本方向,默认根据语言自动适配
|
|
382
|
-
*/
|
|
383
|
-
direction?: 'ltr' | 'rtl';
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* 链接配置,抽象打开链接等操作
|
|
390
|
-
*/
|
|
391
|
-
declare interface EditorLinkOptions {
|
|
392
|
-
/**
|
|
393
|
-
* 打开链接,如果取消了打开链接操作,返回 false
|
|
394
|
-
* @param url
|
|
395
|
-
* @param target
|
|
396
|
-
* @returns
|
|
397
|
-
*/
|
|
398
|
-
open: (url: string, target: string) => Promise<boolean>;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
/**
|
|
402
|
-
* 菜单栏自定义按钮配置
|
|
403
|
-
*/
|
|
404
|
-
declare type EditorMenuCustomButton = {
|
|
405
|
-
/**
|
|
406
|
-
* 按钮名称
|
|
407
|
-
*/
|
|
408
|
-
name: string;
|
|
409
|
-
/**
|
|
410
|
-
* 链接
|
|
411
|
-
*/
|
|
412
|
-
type: 'link';
|
|
413
|
-
/**
|
|
414
|
-
* 按钮文本
|
|
415
|
-
*/
|
|
416
|
-
text: string;
|
|
417
|
-
/**
|
|
418
|
-
* 链接地址
|
|
419
|
-
*/
|
|
420
|
-
url: string;
|
|
421
|
-
} | {
|
|
422
|
-
/**
|
|
423
|
-
* 按钮名称
|
|
424
|
-
*/
|
|
425
|
-
name: string;
|
|
426
|
-
/**
|
|
427
|
-
* 按钮,点击后触发 callback 回调
|
|
428
|
-
*/
|
|
429
|
-
type: 'button';
|
|
430
|
-
/**
|
|
431
|
-
* 按钮文本
|
|
432
|
-
*/
|
|
433
|
-
label: string;
|
|
434
|
-
/**
|
|
435
|
-
* 按钮图标,可以是 base64 的图片信息,也可以是图片 url
|
|
436
|
-
*/
|
|
437
|
-
icon?: string;
|
|
438
|
-
/**
|
|
439
|
-
* 按钮点击事件
|
|
440
|
-
*/
|
|
441
|
-
callback: () => void;
|
|
442
|
-
};
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* 菜单栏二级以下的菜单入口
|
|
446
|
-
*/
|
|
447
|
-
declare interface EditorMenuEntryButton {
|
|
448
|
-
type: 'entry';
|
|
449
|
-
/**
|
|
450
|
-
* 菜单名称
|
|
451
|
-
*/
|
|
452
|
-
name: string;
|
|
453
|
-
/**
|
|
454
|
-
* 菜单图标
|
|
455
|
-
*/
|
|
456
|
-
icon?: string;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* 菜单栏一级菜单配置,此处用于定义一级菜单的操作入口,
|
|
461
|
-
* 一级菜单在鼠标悬停时展示二级列表
|
|
462
|
-
*/
|
|
463
|
-
declare interface EditorMenuEntryConfig<TName extends string> {
|
|
464
|
-
/**
|
|
465
|
-
* 一级菜单名称
|
|
466
|
-
*/
|
|
467
|
-
name: string;
|
|
468
|
-
/**
|
|
469
|
-
* 二级菜单定义,定一个二维数组,用于定义二级菜单的结构,
|
|
470
|
-
* 将第一层数组中的所有按钮放到一个区域内用分隔符隔开,
|
|
471
|
-
* 第二层数组为按钮的定义,可以是功能按钮也可以是一个下拉入口。
|
|
472
|
-
*/
|
|
473
|
-
children: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton>[];
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
/**
|
|
477
|
-
* 菜单栏功能按钮配置
|
|
478
|
-
*/
|
|
479
|
-
declare type EditorMenuFeatureButton<TName extends string> = {
|
|
480
|
-
/**
|
|
481
|
-
* 隐藏按钮,用作在需要隐藏菜单栏时定义
|
|
482
|
-
*/
|
|
483
|
-
type: 'hidden';
|
|
484
|
-
/**
|
|
485
|
-
* 按钮名称
|
|
486
|
-
*/
|
|
487
|
-
name: TName;
|
|
488
|
-
} | {
|
|
489
|
-
type: 'button';
|
|
490
|
-
/**
|
|
491
|
-
* 按钮名称
|
|
492
|
-
*/
|
|
493
|
-
name: TName;
|
|
494
|
-
/**
|
|
495
|
-
* 按钮标签(显示文本)
|
|
496
|
-
*/
|
|
497
|
-
label: string;
|
|
498
|
-
/**
|
|
499
|
-
* 按钮图标,可以是 base64 的图片信息,也可以是图片 url
|
|
500
|
-
*/
|
|
501
|
-
icon?: string;
|
|
502
|
-
};
|
|
503
|
-
|
|
504
|
-
/**
|
|
505
|
-
* 菜单栏按钮配置
|
|
506
|
-
*/
|
|
507
|
-
declare type EditorMenuFeatureButtonConfig<TName extends string> = Record<TName, EditorMenuFeatureButton<TName>>;
|
|
508
|
-
|
|
509
|
-
/**
|
|
510
|
-
* 菜单栏相关配置,目前菜单栏不是所有套件都支持,
|
|
511
|
-
* 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
|
|
512
|
-
*/
|
|
513
|
-
declare interface EditorMenuOptions<TName extends string> {
|
|
514
|
-
/**
|
|
515
|
-
* 菜单栏是否显示
|
|
516
|
-
*/
|
|
517
|
-
visible?: boolean;
|
|
518
|
-
/**
|
|
519
|
-
* 是否禁用菜单栏所有功能
|
|
520
|
-
*/
|
|
521
|
-
disabled?: boolean;
|
|
522
|
-
/**
|
|
523
|
-
* 菜单栏一级菜单配置
|
|
524
|
-
*/
|
|
525
|
-
entries?: EditorMenuEntryConfig<TName>[];
|
|
526
|
-
/**
|
|
527
|
-
* 菜单栏功能按钮配置
|
|
528
|
-
*/
|
|
529
|
-
features?: Partial<EditorMenuFeatureButtonConfig<TName>>;
|
|
530
|
-
/**
|
|
531
|
-
* 自定义按钮配置
|
|
532
|
-
*/
|
|
533
|
-
custom?: EditorMenuCustomButton[];
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
/**
|
|
537
|
-
* 编辑器基础模式接口
|
|
538
|
-
*/
|
|
539
|
-
declare interface EditorMode {
|
|
540
|
-
/**
|
|
541
|
-
* 获取当前编辑器模式
|
|
542
|
-
*/
|
|
543
|
-
getModeType: () => EditorModeType;
|
|
544
|
-
/**
|
|
545
|
-
* 设置编辑器权限模式,仅在 `standard` 模式下有效
|
|
546
|
-
* @param permission
|
|
547
|
-
*/
|
|
548
|
-
setStandardRole: (standardRole: EditorStandardRole) => Promise<void>;
|
|
549
|
-
/**
|
|
550
|
-
* 获取当前编辑器权限模式,仅在 `standard` 模式下有效
|
|
551
|
-
*/
|
|
552
|
-
getStandardRole: () => EditorStandardRole;
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
/**
|
|
556
|
-
* 编辑器初始化的时相关的模式配置
|
|
557
|
-
*/
|
|
558
|
-
declare type EditorModeOptions = {
|
|
559
|
-
type: 'standard';
|
|
560
|
-
/**
|
|
561
|
-
* 当 mode 为 `standard` 时,可以设置当前编辑器的权限模式
|
|
562
|
-
*/
|
|
563
|
-
role?: EditorStandardRole;
|
|
564
|
-
} | {
|
|
565
|
-
type: 'preview';
|
|
566
|
-
} | {
|
|
567
|
-
type: 'presentation';
|
|
568
|
-
};
|
|
569
|
-
|
|
570
|
-
/**
|
|
571
|
-
* 编辑器模式
|
|
572
|
-
* - `standard` 标准模式,会根据用户权限配置不同的功能
|
|
573
|
-
* - `preview` 预览模式,只能查看内容
|
|
574
|
-
* - `presentation` 演示模式,用作演示场景,演示模式下部分套件可以进行一些简单的编辑操作
|
|
575
|
-
*/
|
|
576
|
-
declare type EditorModeType = 'standard' | 'preview' | 'presentation';
|
|
577
|
-
|
|
578
|
-
/**
|
|
579
|
-
* 编辑器初始化通用参数
|
|
580
|
-
*/
|
|
581
|
-
declare interface EditorOptions {
|
|
582
|
-
/**
|
|
583
|
-
* 编辑器初始化内容,可以是 string 或者 ArrayBuffer,
|
|
584
|
-
* 也可以通过异步 Promise 加载
|
|
585
|
-
*/
|
|
586
|
-
content: MaybePromiseValue<string | ArrayBuffer>;
|
|
587
|
-
/**
|
|
588
|
-
* 初始化时的编辑模式,默认为 `preview`
|
|
589
|
-
*/
|
|
590
|
-
mode?: EditorModeOptions;
|
|
591
|
-
/**
|
|
592
|
-
* 当前操作编辑器的用户信息
|
|
593
|
-
*/
|
|
594
|
-
user?: EditorUserOptions;
|
|
595
|
-
/**
|
|
596
|
-
* i18n 相关设置
|
|
597
|
-
*/
|
|
598
|
-
i18n?: EditorI18nOptions;
|
|
599
|
-
/**
|
|
600
|
-
* 品牌相关设置
|
|
601
|
-
*/
|
|
602
|
-
brand?: EditorBrandOptions;
|
|
603
|
-
/**
|
|
604
|
-
* 工具栏相关设置
|
|
605
|
-
*/
|
|
606
|
-
toolbar?: EditorToolbarOptions;
|
|
607
|
-
/**
|
|
608
|
-
* 编辑器内部资源请求配置
|
|
609
|
-
*/
|
|
610
|
-
assets?: EditorAssetsOptions;
|
|
611
|
-
/**
|
|
612
|
-
* 编辑器内部超链接设置
|
|
613
|
-
*/
|
|
614
|
-
link?: EditorLinkOptions;
|
|
615
|
-
/**
|
|
616
|
-
* 嵌入对象相关配置
|
|
617
|
-
*/
|
|
618
|
-
embeddedObject?: EditorEmbeddedObjectOptions;
|
|
619
|
-
/**
|
|
620
|
-
* 初始化水印配置
|
|
621
|
-
*/
|
|
622
|
-
watermark?: EditorWatermarkOptions;
|
|
623
|
-
/**
|
|
624
|
-
* 编辑器打印设置
|
|
625
|
-
*/
|
|
626
|
-
print?: EditorPrintOptions;
|
|
627
|
-
/**
|
|
628
|
-
* 编辑器评论设置
|
|
629
|
-
*/
|
|
630
|
-
comments?: EditorCommentsOptions;
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
/**
|
|
634
|
-
* 编辑器打印设置
|
|
635
|
-
*/
|
|
636
|
-
declare interface EditorPrintOptions {
|
|
637
|
-
/**
|
|
638
|
-
* 部分套件如果绕过了编辑器预设的打印接口,直接通过拉起了浏览器的打印页面,这时打印页面无法获取到编辑器的内容,
|
|
639
|
-
* 这种情况下就会 fallback 到这个 options 上,显示一个提示信息。
|
|
640
|
-
*/
|
|
641
|
-
fallback?: {
|
|
642
|
-
message: string;
|
|
643
|
-
};
|
|
644
|
-
/**
|
|
645
|
-
* 是否禁用打印功能
|
|
646
|
-
*/
|
|
647
|
-
disabled?: boolean;
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
/**
|
|
651
|
-
* 编辑器通用接口
|
|
652
|
-
*/
|
|
653
|
-
declare abstract class EditorSDK {
|
|
654
|
-
protected options: EditorOptions;
|
|
655
|
-
constructor(options: EditorOptions);
|
|
656
|
-
/**
|
|
657
|
-
* 初始化编辑器、加载插件等操作。
|
|
658
|
-
*/
|
|
659
|
-
abstract init(): Promise<void>;
|
|
660
|
-
/**
|
|
661
|
-
* 销毁编辑器
|
|
662
|
-
*/
|
|
663
|
-
abstract destroy(): Promise<void>;
|
|
664
|
-
/**
|
|
665
|
-
* 将编辑器挂载到指定的根节点上,并渲染,
|
|
666
|
-
* mount 应该在 init 之后调用。
|
|
667
|
-
* @param root
|
|
668
|
-
*/
|
|
669
|
-
abstract mount(root: HTMLElement): Promise<void>;
|
|
670
|
-
/**
|
|
671
|
-
* 从根节点卸载编辑器,对应 `mount` 操作
|
|
672
|
-
*/
|
|
673
|
-
abstract unmount(): Promise<void>;
|
|
674
|
-
/**
|
|
675
|
-
* 编辑器内容相关接口
|
|
676
|
-
*/
|
|
677
|
-
abstract get content(): EditorContent;
|
|
678
|
-
/**
|
|
679
|
-
* 编辑器模式相关接口
|
|
680
|
-
*/
|
|
681
|
-
abstract get mode(): EditorMode;
|
|
682
|
-
/**
|
|
683
|
-
* 编辑器评论相关接口
|
|
684
|
-
*/
|
|
685
|
-
abstract get comments(): EditorComments;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
/**
|
|
689
|
-
* 编辑器在 `standard` 模式下的权限模式
|
|
690
|
-
* - `editor` 编辑模式
|
|
691
|
-
* - `viewer` 阅读模式
|
|
692
|
-
* - `reviewer` 评论模式
|
|
693
|
-
*/
|
|
694
|
-
declare type EditorStandardRole = 'editor' | 'viewer' | 'reviewer';
|
|
695
|
-
|
|
696
|
-
/**
|
|
697
|
-
* 文本格式接口,
|
|
698
|
-
* 包括设置、读取选区内文本的 BIUS、family、大小、颜色等
|
|
699
|
-
*/
|
|
700
|
-
declare interface EditorText<Color = string, TRangeValue = unknown> {
|
|
701
|
-
/**
|
|
702
|
-
* 获取当前选区或指定选区内的文本格式状态
|
|
703
|
-
*/
|
|
704
|
-
get: (range?: TRangeValue) => Partial<EditorTextFormat<Color>>;
|
|
705
|
-
/**
|
|
706
|
-
* 将文本的格式应用到当前选区或指定选区上,
|
|
707
|
-
* 传入的非空字段会覆盖对应的属性,其他没有传入的属性会保持不变。
|
|
708
|
-
* @param range
|
|
709
|
-
* @param format
|
|
710
|
-
* @returns
|
|
711
|
-
*/
|
|
712
|
-
apply: (format: Partial<EditorTextFormat<Color>>, range?: TRangeValue) => Partial<EditorTextFormat<Color>>;
|
|
713
|
-
/**
|
|
714
|
-
* 清空当前选区或指定选区内文本的格式,将文本格式恢复到默认状态
|
|
715
|
-
* @param range
|
|
716
|
-
* @returns
|
|
717
|
-
*/
|
|
718
|
-
clear: (range: TRangeValue) => void;
|
|
719
|
-
}
|
|
720
|
-
|
|
721
|
-
/**
|
|
722
|
-
* 文本格式状态
|
|
723
|
-
*/
|
|
724
|
-
declare interface EditorTextFormat<Color = string> {
|
|
725
|
-
/**
|
|
726
|
-
* 粗体
|
|
727
|
-
*/
|
|
728
|
-
bold: boolean;
|
|
729
|
-
/**
|
|
730
|
-
* 斜体
|
|
731
|
-
*/
|
|
732
|
-
italic: boolean;
|
|
733
|
-
/**
|
|
734
|
-
* 下划线
|
|
735
|
-
*/
|
|
736
|
-
underline: boolean;
|
|
737
|
-
/**
|
|
738
|
-
* 删除线
|
|
739
|
-
*/
|
|
740
|
-
strike: boolean;
|
|
741
|
-
/**
|
|
742
|
-
* 文本颜色
|
|
743
|
-
*/
|
|
744
|
-
color: Color;
|
|
745
|
-
/**
|
|
746
|
-
* 文本背景高亮颜色
|
|
747
|
-
*/
|
|
748
|
-
highlight: Color;
|
|
749
|
-
/**
|
|
750
|
-
* 文本大小
|
|
751
|
-
*/
|
|
752
|
-
size: number | string;
|
|
753
|
-
/**
|
|
754
|
-
* 文本名称
|
|
755
|
-
*/
|
|
756
|
-
family: string;
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
/**
|
|
760
|
-
* 文本格式初始化选项
|
|
761
|
-
*/
|
|
762
|
-
declare interface EditorTextOptions<Color = string> {
|
|
763
|
-
/**
|
|
764
|
-
* 当前编辑器默认的文本格式
|
|
765
|
-
*/
|
|
766
|
-
defaultFormat?: Partial<EditorTextFormat<Color>>;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
/**
|
|
770
|
-
* 工具栏自定义按钮配置
|
|
771
|
-
*/
|
|
772
|
-
declare interface EditorToolbarCustomButton extends Omit<EditorToolbarFeatureButton, 'name'> {
|
|
773
|
-
/**
|
|
774
|
-
* 自定义按钮名称
|
|
775
|
-
*/
|
|
776
|
-
name: string;
|
|
777
|
-
/**
|
|
778
|
-
* 按钮点击事件
|
|
779
|
-
*/
|
|
780
|
-
callback: () => void;
|
|
781
|
-
/**
|
|
782
|
-
* 按钮在工具栏中的位置,默认添加到工具栏所有按钮后面
|
|
783
|
-
*/
|
|
784
|
-
index?: number;
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
/**
|
|
788
|
-
* 工具栏自定义按钮配置
|
|
789
|
-
*/
|
|
790
|
-
declare interface EditorToolbarCustomButtonConfig {
|
|
791
|
-
/**
|
|
792
|
-
* 按钮配置
|
|
793
|
-
*/
|
|
794
|
-
[key: string]: EditorToolbarCustomButton;
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
/**
|
|
798
|
-
* 工具栏内置功能按钮配置
|
|
799
|
-
*/
|
|
800
|
-
declare interface EditorToolbarFeatureButton {
|
|
801
|
-
/**
|
|
802
|
-
* 按钮类型
|
|
803
|
-
*/
|
|
804
|
-
name: EditorToolbarFeatureButtonName;
|
|
805
|
-
/**
|
|
806
|
-
* 按钮标签(显示文本)
|
|
807
|
-
*/
|
|
808
|
-
label?: string;
|
|
809
|
-
/**
|
|
810
|
-
* 按钮图标,可以是 base64 的图片信息,也可以是图片 url
|
|
811
|
-
*/
|
|
812
|
-
icon?: string;
|
|
813
|
-
/**
|
|
814
|
-
* 按钮是否禁用
|
|
815
|
-
*/
|
|
816
|
-
disabled?: boolean;
|
|
817
|
-
/**
|
|
818
|
-
* 按钮提示文本
|
|
819
|
-
*/
|
|
820
|
-
tooltip?: string;
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
/**
|
|
824
|
-
* 工具栏内置功能按钮配置
|
|
825
|
-
*/
|
|
826
|
-
declare type EditorToolbarFeatureButtonConfig = {
|
|
827
|
-
[key in EditorToolbarFeatureButtonName]?: EditorToolbarFeatureButton;
|
|
828
|
-
};
|
|
829
|
-
|
|
830
|
-
/**
|
|
831
|
-
* 工具栏内置功能按钮
|
|
832
|
-
*/
|
|
833
|
-
declare type EditorToolbarFeatureButtonName =
|
|
834
|
-
/**
|
|
835
|
-
* 加粗
|
|
836
|
-
*/
|
|
837
|
-
'bold'
|
|
838
|
-
/**
|
|
839
|
-
* 斜体
|
|
840
|
-
*/
|
|
841
|
-
| 'italic'
|
|
842
|
-
/**
|
|
843
|
-
* 下划线
|
|
844
|
-
*/
|
|
845
|
-
| 'underline'
|
|
846
|
-
/**
|
|
847
|
-
* 删除线
|
|
848
|
-
*/
|
|
849
|
-
| 'strikethrough'
|
|
850
|
-
/**
|
|
851
|
-
* 插入图片
|
|
852
|
-
*/
|
|
853
|
-
| 'insertImage'
|
|
854
|
-
/**
|
|
855
|
-
* 插入链接
|
|
856
|
-
*/
|
|
857
|
-
| 'insertLink'
|
|
858
|
-
/**
|
|
859
|
-
* 限制编辑
|
|
860
|
-
*/
|
|
861
|
-
| 'restriction';
|
|
862
|
-
|
|
863
|
-
/**
|
|
864
|
-
* 工具栏相关设置,可以控制工具栏的显示内容
|
|
865
|
-
*/
|
|
866
|
-
declare interface EditorToolbarOptions {
|
|
867
|
-
/**
|
|
868
|
-
* 控制工具栏显隐状态
|
|
869
|
-
*/
|
|
870
|
-
visible?: boolean;
|
|
871
|
-
/**
|
|
872
|
-
* 是否禁用工具栏所有功能
|
|
873
|
-
*/
|
|
874
|
-
disabled?: boolean;
|
|
875
|
-
/**
|
|
876
|
-
* 现有按钮的功能配置
|
|
877
|
-
*/
|
|
878
|
-
features?: EditorToolbarFeatureButtonConfig;
|
|
879
|
-
/**
|
|
880
|
-
* 自定义按钮
|
|
881
|
-
*/
|
|
882
|
-
custom?: EditorToolbarCustomButtonConfig;
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
/**
|
|
886
|
-
* 操作当前编辑器的用户信息
|
|
887
|
-
*/
|
|
888
|
-
declare interface EditorUserOptions {
|
|
889
|
-
/**
|
|
890
|
-
* 用户 ID,用于标识用户
|
|
891
|
-
*/
|
|
892
|
-
uid: string;
|
|
893
|
-
/**
|
|
894
|
-
* 用户名
|
|
895
|
-
*/
|
|
896
|
-
name: string;
|
|
897
|
-
/**
|
|
898
|
-
* 用户头像
|
|
899
|
-
*/
|
|
900
|
-
avatar?: string;
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
/**
|
|
904
|
-
* 编辑器外部水印信息
|
|
905
|
-
*/
|
|
906
|
-
declare interface EditorWatermarkOptions {
|
|
907
|
-
/**
|
|
908
|
-
* 获取用作初始化使用的默认水印
|
|
909
|
-
*/
|
|
910
|
-
getWatermark: () => MaybePromiseValue<EditorWatermarkResource | null>;
|
|
911
|
-
/**
|
|
912
|
-
* 是否必须,如果为 true,编辑器将在初始化时强制渲染水印,
|
|
913
|
-
* 水印配置信息加载失败将导致编辑器初始化失败
|
|
914
|
-
*/
|
|
915
|
-
required?: boolean;
|
|
916
|
-
}
|
|
917
|
-
|
|
918
|
-
declare type EditorWatermarkResource = {
|
|
919
|
-
type: 'data-url';
|
|
920
|
-
url: string;
|
|
921
|
-
} | {
|
|
922
|
-
type: 'object-url';
|
|
923
|
-
url: string;
|
|
924
|
-
};
|
|
925
|
-
|
|
926
|
-
/**
|
|
927
|
-
* 请求、响应头
|
|
928
|
-
*/
|
|
929
|
-
declare type HTTPHeaders = Record<string, string | number | boolean | undefined>;
|
|
930
|
-
|
|
931
|
-
/**
|
|
932
|
-
* 请求方法
|
|
933
|
-
*/
|
|
934
|
-
declare type HTTPMethod = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH';
|
|
935
|
-
|
|
936
|
-
/**
|
|
937
|
-
* HTTP 代理,用于抽象 HTTP 请求,
|
|
938
|
-
* 将请求代理编辑器外部
|
|
939
|
-
*/
|
|
940
|
-
declare interface HTTPProxy {
|
|
941
|
-
/**
|
|
942
|
-
* 发送请求,如果需要做请求、响应拦截,需要在 proxy.interceptors 中实现,
|
|
943
|
-
* 套件内使用 proxy 发送请求的方式应该为类似如下方式:
|
|
944
|
-
* ```ts
|
|
945
|
-
* const raw = await proxy.request(proxy.interceptors?.request?.intercept(requestConfig) ?? requestConfig);
|
|
946
|
-
* const response = proxy.interceptors?.response?.intercept(raw) ?? raw;
|
|
947
|
-
* ```
|
|
948
|
-
*
|
|
949
|
-
* 套件内如果需要通过其他方式发送请求,比如通过浏览器的 Image API 加载,可以使用 proxy.interceptors?.request?.intercept(requestConfig) 处理请求配置
|
|
950
|
-
* @param config
|
|
951
|
-
* @returns
|
|
952
|
-
*/
|
|
953
|
-
request: <D = unknown, T = unknown>(config: HTTPRequestConfig<D>) => Promise<HTTPResponse<T>>;
|
|
954
|
-
/**
|
|
955
|
-
* 请求、响应拦截器,
|
|
956
|
-
*
|
|
957
|
-
*/
|
|
958
|
-
interceptors?: {
|
|
959
|
-
request?: {
|
|
960
|
-
/**
|
|
961
|
-
* 请求拦截器,传入请求配置,返回处理后的请求配置
|
|
962
|
-
* @param requestConfig 请求配置
|
|
963
|
-
* @returns
|
|
964
|
-
*/
|
|
965
|
-
intercept: <D = unknown>(requestConfig: HTTPRequestConfig<D>) => HTTPRequestConfig<D>;
|
|
966
|
-
};
|
|
967
|
-
response?: {
|
|
968
|
-
/**
|
|
969
|
-
* 响应拦截器,传入响应,返回处理后的响应
|
|
970
|
-
* @param response
|
|
971
|
-
* @returns
|
|
972
|
-
*/
|
|
973
|
-
intercept: <T = unknown>(response: HTTPResponse<T>) => HTTPResponse<T>;
|
|
974
|
-
};
|
|
975
|
-
};
|
|
976
|
-
/**
|
|
977
|
-
* 创建一个新的 HTTP 代理,用于为不同请求场景创建不同的代理
|
|
978
|
-
* @param id
|
|
979
|
-
* @returns
|
|
980
|
-
*/
|
|
981
|
-
create: (id: string) => Promise<HTTPProxy>;
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
/**
|
|
985
|
-
* 请求配置
|
|
986
|
-
*/
|
|
987
|
-
declare interface HTTPRequestConfig<Data = unknown> {
|
|
988
|
-
/**
|
|
989
|
-
* 请求地址
|
|
990
|
-
*/
|
|
991
|
-
url: string;
|
|
992
|
-
/**
|
|
993
|
-
* 请求方法
|
|
994
|
-
*/
|
|
995
|
-
method?: HTTPMethod;
|
|
996
|
-
/**
|
|
997
|
-
* 请求携带数据,主要是 POST、PUT、PATCH 等方法的请求数据
|
|
998
|
-
*/
|
|
999
|
-
data?: Data;
|
|
1000
|
-
/**
|
|
1001
|
-
* 期望的响应数据类型
|
|
1002
|
-
*/
|
|
1003
|
-
responseType?: HTTPResponseType;
|
|
1004
|
-
/**
|
|
1005
|
-
* 请求头
|
|
1006
|
-
*/
|
|
1007
|
-
headers?: HTTPHeaders;
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
/**
|
|
1011
|
-
* 响应数据
|
|
1012
|
-
*/
|
|
1013
|
-
declare interface HTTPResponse<Data = unknown> {
|
|
1014
|
-
/**
|
|
1015
|
-
* 响应数据 body
|
|
1016
|
-
*/
|
|
1017
|
-
data: Data;
|
|
1018
|
-
/**
|
|
1019
|
-
* 响应状态码
|
|
1020
|
-
*/
|
|
1021
|
-
status: number;
|
|
1022
|
-
/**
|
|
1023
|
-
* 响应头
|
|
1024
|
-
*/
|
|
1025
|
-
headers: HTTPHeaders;
|
|
1026
|
-
}
|
|
1027
|
-
|
|
1028
|
-
/**
|
|
1029
|
-
* 请求返回类型
|
|
1030
|
-
*/
|
|
1031
|
-
declare type HTTPResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
|
|
1032
|
-
|
|
1033
|
-
declare type MaybePromiseValue<T> = T | Promise<T>;
|
|
1034
|
-
|
|
1035
|
-
/**
|
|
1036
|
-
* 表格单元格对象
|
|
1037
|
-
*/
|
|
1038
|
-
export declare interface SheetCell {
|
|
1039
|
-
/**
|
|
1040
|
-
* 单元格所在的行号
|
|
1041
|
-
*/
|
|
1042
|
-
row: number;
|
|
1043
|
-
/**
|
|
1044
|
-
* 单元格所在的列号
|
|
1045
|
-
*/
|
|
1046
|
-
column: number;
|
|
1047
|
-
/**
|
|
1048
|
-
* 单元格所在的工作表 ID
|
|
1049
|
-
*/
|
|
1050
|
-
sheetId: string;
|
|
1051
|
-
/**
|
|
1052
|
-
* 获取单元格的文本
|
|
1053
|
-
*/
|
|
1054
|
-
getCellText: () => string;
|
|
1055
|
-
/**
|
|
1056
|
-
* 获取单元格的值
|
|
1057
|
-
*/
|
|
1058
|
-
getCellValue: () => SheetCellValue | null;
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
|
-
/**
|
|
1062
|
-
* 单元格值类型
|
|
1063
|
-
*/
|
|
1064
|
-
export declare type SheetCellValue = {
|
|
1065
|
-
type: 'primitive';
|
|
1066
|
-
value: string | number | boolean;
|
|
1067
|
-
} | {
|
|
1068
|
-
type: 'date';
|
|
1069
|
-
value: number;
|
|
1070
|
-
} | {
|
|
1071
|
-
type: 'calcError';
|
|
1072
|
-
value: {
|
|
1073
|
-
error: string;
|
|
1074
|
-
};
|
|
1075
|
-
};
|
|
1076
|
-
|
|
1077
|
-
/**
|
|
1078
|
-
* 电子表格工具栏一级菜单
|
|
1079
|
-
*/
|
|
1080
|
-
export declare type SheetMenuEntryConfig = EditorMenuEntryConfig<SheetMenuFeatureButtonName>;
|
|
1081
|
-
|
|
1082
|
-
/**
|
|
1083
|
-
* 电子表格工具栏功能按钮
|
|
1084
|
-
*/
|
|
1085
|
-
export declare type SheetMenuFeatureButtonConfig = EditorMenuFeatureButtonConfig<SheetMenuFeatureButtonName>;
|
|
1086
|
-
|
|
1087
|
-
/**
|
|
1088
|
-
* 电子表格工具栏内置功能按钮
|
|
1089
|
-
*/
|
|
1090
|
-
export declare type SheetMenuFeatureButtonName = 'undo' | 'redo' | 'cut' | 'copy' | 'paste' | 'selectAll';
|
|
1091
|
-
|
|
1092
|
-
export declare type SheetMenuOptions = EditorMenuOptions<SheetMenuFeatureButtonName>;
|
|
1093
|
-
|
|
1094
|
-
/**
|
|
1095
|
-
* 表格区域对象,
|
|
1096
|
-
* 用于表示表格中被选中的单元格区域,
|
|
1097
|
-
* 可以是一个单元格、一行、一列、或某个区域。
|
|
1098
|
-
*/
|
|
1099
|
-
export declare interface SheetRange {
|
|
1100
|
-
/**
|
|
1101
|
-
* 区域类型
|
|
1102
|
-
*/
|
|
1103
|
-
type: `${SheetRangeType}`;
|
|
1104
|
-
/**
|
|
1105
|
-
* 区域的行开始位置
|
|
1106
|
-
*/
|
|
1107
|
-
readonly row: number;
|
|
1108
|
-
/**
|
|
1109
|
-
* 区域的列开始位置
|
|
1110
|
-
*/
|
|
1111
|
-
readonly column: number;
|
|
1112
|
-
/**
|
|
1113
|
-
* 区域的行数
|
|
1114
|
-
*/
|
|
1115
|
-
readonly rowCount: number;
|
|
1116
|
-
/**
|
|
1117
|
-
* 区域的列数
|
|
1118
|
-
*/
|
|
1119
|
-
readonly columnCount: number;
|
|
1120
|
-
/**
|
|
1121
|
-
* 获取该区域对应的纯文本信息。
|
|
1122
|
-
* @returns
|
|
1123
|
-
*/
|
|
1124
|
-
getText: () => string;
|
|
1125
|
-
/**
|
|
1126
|
-
* 设置该区域的内容
|
|
1127
|
-
* @param text 内容
|
|
1128
|
-
*/
|
|
1129
|
-
setText: (text: string) => void;
|
|
1130
|
-
/**
|
|
1131
|
-
* 将区域中的内容以 HTML 格式返回
|
|
1132
|
-
*/
|
|
1133
|
-
getHtml: () => string;
|
|
1134
|
-
/**
|
|
1135
|
-
* 设置该区域的内容为 HTML 格式
|
|
1136
|
-
* @param html 内容
|
|
1137
|
-
*/
|
|
1138
|
-
setHtml: (html: string) => void;
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
-
/**
|
|
1142
|
-
* 区域(Range)
|
|
1143
|
-
* 区域对象,表示表格中的一个单元格区域,每个 Range 对象包含了一个或多个单元格、行、列信息。
|
|
1144
|
-
*/
|
|
1145
|
-
/**
|
|
1146
|
-
* 选区类型
|
|
1147
|
-
*/
|
|
1148
|
-
export declare enum SheetRangeType {
|
|
1149
|
-
/**
|
|
1150
|
-
* 选中一个或多个单元格
|
|
1151
|
-
*/
|
|
1152
|
-
Cells = "cells",
|
|
1153
|
-
/**
|
|
1154
|
-
* 选中一行或多行
|
|
1155
|
-
*/
|
|
1156
|
-
Rows = "rows",
|
|
1157
|
-
/**
|
|
1158
|
-
* 选中一列或多列
|
|
1159
|
-
*/
|
|
1160
|
-
Columns = "columns",
|
|
1161
|
-
/**
|
|
1162
|
-
* 选中整个工作表
|
|
1163
|
-
*/
|
|
1164
|
-
Sheet = "sheet"
|
|
1165
|
-
}
|
|
1166
|
-
|
|
1167
|
-
export declare type SheetRangeValue = {
|
|
1168
|
-
/**
|
|
1169
|
-
* 单个或多个单元格
|
|
1170
|
-
*/
|
|
1171
|
-
type: `${SheetRangeType.Cells}`;
|
|
1172
|
-
/**
|
|
1173
|
-
* 起始单元格的行号
|
|
1174
|
-
*/
|
|
1175
|
-
row: number;
|
|
1176
|
-
/**
|
|
1177
|
-
* 总计行数
|
|
1178
|
-
*/
|
|
1179
|
-
rowCount: number;
|
|
1180
|
-
/**
|
|
1181
|
-
* 起始单元格的列号
|
|
1182
|
-
*/
|
|
1183
|
-
column: number;
|
|
1184
|
-
/**
|
|
1185
|
-
* 总计列数
|
|
1186
|
-
*/
|
|
1187
|
-
columnCount: number;
|
|
1188
|
-
} | {
|
|
1189
|
-
/**
|
|
1190
|
-
* 一列或多列
|
|
1191
|
-
*/
|
|
1192
|
-
type: `${SheetRangeType.Rows}`;
|
|
1193
|
-
/**
|
|
1194
|
-
* 起始列号
|
|
1195
|
-
*/
|
|
1196
|
-
row: number;
|
|
1197
|
-
/**
|
|
1198
|
-
* 总计行数
|
|
1199
|
-
*/
|
|
1200
|
-
rowCount: number;
|
|
1201
|
-
} | {
|
|
1202
|
-
/**
|
|
1203
|
-
* 一行或多行
|
|
1204
|
-
*/
|
|
1205
|
-
type: `${SheetRangeType.Columns}`;
|
|
1206
|
-
/**
|
|
1207
|
-
* 起始行号
|
|
1208
|
-
*/
|
|
1209
|
-
column: number;
|
|
1210
|
-
/**
|
|
1211
|
-
* 总计列数
|
|
1212
|
-
*/
|
|
1213
|
-
columnCount: number;
|
|
1214
|
-
} | {
|
|
1215
|
-
/**
|
|
1216
|
-
* 整个工作表
|
|
1217
|
-
*/
|
|
1218
|
-
type: `${SheetRangeType.Sheet}`;
|
|
1219
|
-
};
|
|
1220
|
-
|
|
1221
|
-
export declare interface SheetSDKOptions extends EditorOptions {
|
|
1222
|
-
/**
|
|
1223
|
-
* 字体配置
|
|
1224
|
-
*/
|
|
1225
|
-
fonts?: EditorFontsOptions;
|
|
1226
|
-
/**
|
|
1227
|
-
* 菜单栏相关设置
|
|
1228
|
-
*/
|
|
1229
|
-
menu?: SheetMenuOptions;
|
|
1230
|
-
/**
|
|
1231
|
-
* 文本格式相关设置
|
|
1232
|
-
*/
|
|
1233
|
-
text?: SheetTextOptions;
|
|
1234
|
-
}
|
|
1235
|
-
|
|
1236
|
-
/**
|
|
1237
|
-
* 选区(Selection)
|
|
1238
|
-
* 表示窗口或窗格中的当前选定内容。
|
|
1239
|
-
* 选定内容表示表格中的选定(或突出显示)的单元格区域。
|
|
1240
|
-
*/
|
|
1241
|
-
export declare interface SheetSelection {
|
|
1242
|
-
/**
|
|
1243
|
-
* 获取选区的区域范围,
|
|
1244
|
-
* 如果没有指定范围,则返回当前选区的范围。
|
|
1245
|
-
* 如果指定了范围,则返回指定范围的选区。
|
|
1246
|
-
* 如果选区不存在,则返回 null。
|
|
1247
|
-
*/
|
|
1248
|
-
getRange: (value?: SheetRangeValue) => SheetRange | null;
|
|
1249
|
-
/**
|
|
1250
|
-
* 设置选区的区域范围,
|
|
1251
|
-
* 设置后,选区会自动选中指定范围。
|
|
1252
|
-
* 如果设置为 null,则清空选区。
|
|
1253
|
-
*/
|
|
1254
|
-
setRange: (value: SheetRangeValue | null) => void;
|
|
1255
|
-
}
|
|
1256
|
-
|
|
1257
|
-
/**
|
|
1258
|
-
* 电子表格文本接口
|
|
1259
|
-
*/
|
|
1260
|
-
export declare type SheetText = EditorText<string, SheetRangeValue>;
|
|
1261
|
-
|
|
1262
|
-
/**
|
|
1263
|
-
* 电子表格文本格式
|
|
1264
|
-
*/
|
|
1265
|
-
export declare type SheetTextFormat = EditorTextFormat;
|
|
1266
|
-
|
|
1267
|
-
/**
|
|
1268
|
-
* 电子表格文本格式初始化选项
|
|
1269
|
-
*/
|
|
1270
|
-
export declare type SheetTextOptions = EditorTextOptions<string>;
|
|
1271
|
-
|
|
1272
|
-
/**
|
|
1273
|
-
* 工作表集合对象
|
|
1274
|
-
*/
|
|
1275
|
-
export declare interface SheetWorkbook {
|
|
1276
|
-
/**
|
|
1277
|
-
* 获取所有工作表
|
|
1278
|
-
* @returns
|
|
1279
|
-
*/
|
|
1280
|
-
getWorksheets: () => SheetWorksheet[];
|
|
1281
|
-
/**
|
|
1282
|
-
* 获取指定的工作表
|
|
1283
|
-
* @param sheetId
|
|
1284
|
-
* @returns
|
|
1285
|
-
*/
|
|
1286
|
-
getWorksheetById: (sheetId: string) => SheetWorksheet | null;
|
|
1287
|
-
/**
|
|
1288
|
-
* 获取当前活动的工作表
|
|
1289
|
-
* TODO: 是否存在返回空的场景
|
|
1290
|
-
* @returns
|
|
1291
|
-
*/
|
|
1292
|
-
getActiveWorksheet: () => SheetWorksheet;
|
|
1293
|
-
/**
|
|
1294
|
-
* 激活指定的工作表
|
|
1295
|
-
* @param sheetId
|
|
1296
|
-
*/
|
|
1297
|
-
setActiveWorksheet: (sheetId: string) => void;
|
|
1298
|
-
}
|
|
1299
|
-
|
|
1300
|
-
/**
|
|
1301
|
-
* 工作表对象
|
|
1302
|
-
*/
|
|
1303
|
-
export declare interface SheetWorksheet {
|
|
1304
|
-
/**
|
|
1305
|
-
* 工作表对应编号
|
|
1306
|
-
*/
|
|
1307
|
-
get id(): string;
|
|
1308
|
-
/**
|
|
1309
|
-
* 获取当前工作表名称
|
|
1310
|
-
*/
|
|
1311
|
-
get name(): string;
|
|
1312
|
-
/**
|
|
1313
|
-
* 这个工作表是否为当前活动的工作表
|
|
1314
|
-
*/
|
|
1315
|
-
get isActive(): boolean;
|
|
1316
|
-
/**
|
|
1317
|
-
* 获取工作表的所有选区
|
|
1318
|
-
* @returns
|
|
1319
|
-
*/
|
|
1320
|
-
getSelections: () => SheetSelection[] | null;
|
|
1321
|
-
/**
|
|
1322
|
-
* 获取选区的物理位置(相对于浏览器窗口),如果选区完全不在工作表的可视区域内,返回 null。
|
|
1323
|
-
* 其中选区超出可视区域的部分会被截断处理。
|
|
1324
|
-
*
|
|
1325
|
-
* 当工作表存在冻结行列时,可视区域将被分成四个部分(如果仅存在冻结行或冻结列则被分为两个部分),
|
|
1326
|
-
* 此时需要计算出选区在**视觉上**与可视区域的交集。
|
|
1327
|
-
*/
|
|
1328
|
-
getPhysicalPosition: (range: SheetRangeValue) => {
|
|
1329
|
-
left: number;
|
|
1330
|
-
top: number;
|
|
1331
|
-
width: number;
|
|
1332
|
-
height: number;
|
|
1333
|
-
} | null;
|
|
1334
|
-
/**
|
|
1335
|
-
* 添加选区变化监听器,当选区发生变化时,会触发回调。
|
|
1336
|
-
* @param listener
|
|
1337
|
-
* @returns 用于移除监听的回调
|
|
1338
|
-
*/
|
|
1339
|
-
addRangeListener: (listener: (range: {
|
|
1340
|
-
sheet: string;
|
|
1341
|
-
ranges: SheetRangeValue[] | null;
|
|
1342
|
-
}) => void) => () => void;
|
|
1343
|
-
/**
|
|
1344
|
-
* 获取工作表中指定区域的单元格对象
|
|
1345
|
-
* @returns
|
|
1346
|
-
*/
|
|
1347
|
-
getCell: (row: number, column: number) => SheetCell | null;
|
|
1348
|
-
/**
|
|
1349
|
-
* 获取工作表中选中的单元格对象
|
|
1350
|
-
* @returns
|
|
1351
|
-
*/
|
|
1352
|
-
getActiveCell: () => SheetCell | null;
|
|
1353
|
-
/**
|
|
1354
|
-
* 激活工作表中某个单元格
|
|
1355
|
-
* @param cell 单元格对象,需要传入行和列的索引值
|
|
1356
|
-
* @returns
|
|
1357
|
-
*/
|
|
1358
|
-
setActiveCell: (cell: {
|
|
1359
|
-
row: number;
|
|
1360
|
-
column: number;
|
|
1361
|
-
}) => void;
|
|
1362
|
-
/**
|
|
1363
|
-
* 定位到单元格所在位置
|
|
1364
|
-
* @param row 单元格所在行
|
|
1365
|
-
* @param column 单元格所在列
|
|
1366
|
-
*/
|
|
1367
|
-
locateCell: (row: number, column: number) => void;
|
|
1368
|
-
}
|
|
1369
|
-
|
|
1370
|
-
export { }
|