@kaitify/core 0.0.1-beta.9 → 0.0.2-beta.1
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/README.md +2 -2
- package/lib/extensions/Extension.d.ts +14 -14
- package/lib/extensions/align/index.d.ts +9 -0
- package/lib/extensions/attachment/index.d.ts +15 -0
- package/lib/extensions/back-color/index.d.ts +9 -0
- package/lib/extensions/blockquote/index.d.ts +15 -0
- package/lib/extensions/bold/index.d.ts +9 -0
- package/lib/extensions/code/index.d.ts +15 -0
- package/lib/extensions/code-block/index.d.ts +18 -0
- package/lib/extensions/color/index.d.ts +9 -0
- package/lib/extensions/font-family/index.d.ts +9 -0
- package/lib/extensions/font-size/index.d.ts +9 -0
- package/lib/extensions/heading/index.d.ts +15 -0
- package/lib/extensions/history/index.d.ts +12 -0
- package/lib/extensions/horizontal/index.d.ts +3 -0
- package/lib/extensions/image/index.d.ts +12 -0
- package/lib/extensions/indent/index.d.ts +10 -0
- package/lib/extensions/italic/index.d.ts +9 -0
- package/lib/extensions/line-height/index.d.ts +9 -0
- package/lib/extensions/link/index.d.ts +15 -0
- package/lib/extensions/list/index.d.ts +26 -0
- package/lib/extensions/math/index.d.ts +12 -0
- package/lib/extensions/strikethrough/index.d.ts +9 -0
- package/lib/extensions/subscript/index.d.ts +9 -0
- package/lib/extensions/superscript/index.d.ts +9 -0
- package/lib/extensions/table/index.d.ts +30 -0
- package/lib/extensions/task/index.d.ts +15 -0
- package/lib/extensions/text/index.d.ts +21 -0
- package/lib/extensions/underline/index.d.ts +9 -0
- package/lib/extensions/video/index.d.ts +12 -0
- package/lib/kaitify-core.es.js +1145 -631
- package/lib/kaitify-core.umd.js +2 -2
- package/lib/model/Editor.d.ts +66 -27
- package/lib/model/KNode.d.ts +10 -7
- package/lib/model/config/format-rules.d.ts +13 -3
- package/lib/model/config/function.d.ts +2 -2
- package/lib/tools/index.d.ts +10 -2
- package/package.json +3 -3
- package/lib/model/config/dom-observe.d.ts +0 -10
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
##### 基于原生 JS 的富文本编辑器核心库
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> [@kaitify/core 官方文档](https://www.so-better.cn/docs/kaitify-core/)
|
|
@@ -22,7 +22,7 @@ export type ExtensionCreateOptionType = {
|
|
|
22
22
|
/**
|
|
23
23
|
* 自定义dom转为非文本节点的后续处理
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
onDomParseNode?: (this: Editor, node: KNode) => KNode;
|
|
26
26
|
/**
|
|
27
27
|
* 光标变化回调
|
|
28
28
|
*/
|
|
@@ -54,27 +54,27 @@ export type ExtensionCreateOptionType = {
|
|
|
54
54
|
/**
|
|
55
55
|
* 节点粘贴保留标记的自定义方法
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
onPasteKeepMarks?: (this: Editor, node: KNode) => KNodeMarksType;
|
|
58
58
|
/**
|
|
59
59
|
* 节点粘贴保留样式的自定义方法
|
|
60
60
|
*/
|
|
61
|
-
|
|
61
|
+
onPasteKeepStyles?: (this: Editor, node: KNode) => KNodeStylesType;
|
|
62
62
|
/**
|
|
63
63
|
* 视频更新前回调
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
onBeforeUpdateView?: (this: Editor) => void;
|
|
66
66
|
/**
|
|
67
67
|
* 视图更新后回调
|
|
68
68
|
*/
|
|
69
|
-
|
|
69
|
+
onAfterUpdateView?: (this: Editor) => void;
|
|
70
70
|
/**
|
|
71
71
|
* 在删除和换行操作中块节点节点从其父节点中抽离出去成为与父节点同级的节点后触发,如果返回true则表示继续使用默认逻辑,会将该节点转为段落,返回false则不走默认逻辑,需要自定义处理
|
|
72
72
|
*/
|
|
73
|
-
|
|
73
|
+
onDetachMentBlockFromParent?: (this: Editor, node: KNode) => boolean;
|
|
74
74
|
/**
|
|
75
75
|
* 编辑器updateView执行时,通过比对新旧节点数组获取需要格式化的节点,在这些节点被格式化前,触发此方法,回调参数即当前需要被格式化的节点,该方法返回一个节点,返回的节点将会被格式化,如果你不需要任何特殊处理,返回入参提供的节点即可
|
|
76
76
|
*/
|
|
77
|
-
|
|
77
|
+
onBeforePatchNodeToFormat?: (this: Editor, node: KNode) => KNode;
|
|
78
78
|
/**
|
|
79
79
|
* 自定义命令
|
|
80
80
|
*/
|
|
@@ -107,7 +107,7 @@ export declare class Extension {
|
|
|
107
107
|
/**
|
|
108
108
|
* 自定义dom转为非文本节点的后续处理
|
|
109
109
|
*/
|
|
110
|
-
|
|
110
|
+
onDomParseNode?: (this: Editor, node: KNode) => KNode;
|
|
111
111
|
/**
|
|
112
112
|
* 光标变化回调
|
|
113
113
|
*/
|
|
@@ -139,27 +139,27 @@ export declare class Extension {
|
|
|
139
139
|
/**
|
|
140
140
|
* 节点粘贴保留标记的自定义方法
|
|
141
141
|
*/
|
|
142
|
-
|
|
142
|
+
onPasteKeepMarks?: (this: Editor, node: KNode) => KNodeMarksType;
|
|
143
143
|
/**
|
|
144
144
|
* 节点粘贴保留样式的自定义方法
|
|
145
145
|
*/
|
|
146
|
-
|
|
146
|
+
onPasteKeepStyles?: (this: Editor, node: KNode) => KNodeStylesType;
|
|
147
147
|
/**
|
|
148
148
|
* 视频更新前回调
|
|
149
149
|
*/
|
|
150
|
-
|
|
150
|
+
onBeforeUpdateView?: (this: Editor) => void;
|
|
151
151
|
/**
|
|
152
152
|
* 视图更新后回调
|
|
153
153
|
*/
|
|
154
|
-
|
|
154
|
+
onAfterUpdateView?: (this: Editor) => void;
|
|
155
155
|
/**
|
|
156
156
|
* 在删除和换行操作中块节点节点从其父节点中抽离出去成为与父节点同级的节点后触发,如果返回true则表示继续使用默认逻辑,会将该节点转为段落,返回false则不走默认逻辑,需要自定义处理
|
|
157
157
|
*/
|
|
158
|
-
|
|
158
|
+
onDetachMentBlockFromParent?: (this: Editor, node: KNode) => boolean;
|
|
159
159
|
/**
|
|
160
160
|
* 编辑器updateView执行时,通过比对新旧节点数组获取需要格式化的节点,在这些节点被格式化前,触发此方法,回调参数即当前需要被格式化的节点,该方法返回一个节点,返回的节点将会被格式化,如果你不需要任何特殊处理,返回入参提供的节点即可
|
|
161
161
|
*/
|
|
162
|
-
|
|
162
|
+
onBeforePatchNodeToFormat?: (this: Editor, node: KNode) => KNode;
|
|
163
163
|
/**
|
|
164
164
|
* 自定义命令
|
|
165
165
|
*/
|
|
@@ -2,8 +2,17 @@ import { Extension } from '../Extension';
|
|
|
2
2
|
export type AlignValueType = 'left' | 'right' | 'center' | 'justify';
|
|
3
3
|
declare module '../../model' {
|
|
4
4
|
interface EditorCommandsType {
|
|
5
|
+
/**
|
|
6
|
+
* 光标所在的块节点是否都是符合的对齐方式
|
|
7
|
+
*/
|
|
5
8
|
isAlign?: (value: AlignValueType) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 设置对齐方式
|
|
11
|
+
*/
|
|
6
12
|
setAlign?: (value: AlignValueType) => Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* 取消对齐方式
|
|
15
|
+
*/
|
|
7
16
|
unsetAlign?: (value: AlignValueType) => Promise<void>;
|
|
8
17
|
}
|
|
9
18
|
}
|
|
@@ -15,10 +15,25 @@ export type AttachmentExtensionPropsType = {
|
|
|
15
15
|
};
|
|
16
16
|
declare module '../../model' {
|
|
17
17
|
interface EditorCommandsType {
|
|
18
|
+
/**
|
|
19
|
+
* 获取光标所在的附件节点,如果光标不在一个附件节点内,返回null
|
|
20
|
+
*/
|
|
18
21
|
getAttachment?: () => KNode | null;
|
|
22
|
+
/**
|
|
23
|
+
* 判断光标范围内是否有附件节点
|
|
24
|
+
*/
|
|
19
25
|
hasAttachment?: () => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 插入附件
|
|
28
|
+
*/
|
|
20
29
|
setAttachment?: (options: SetAttachmentOptionType) => Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* 更新附件
|
|
32
|
+
*/
|
|
21
33
|
updateAttachment?: (options: UpdateAttachmentOptionType) => Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* 获取附件信息
|
|
36
|
+
*/
|
|
22
37
|
getAttachmentInfo?: () => {
|
|
23
38
|
url: string;
|
|
24
39
|
text: string;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本的背景颜色是否与入参一致
|
|
6
|
+
*/
|
|
4
7
|
isBackColor?: (value: string) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置背景颜色
|
|
10
|
+
*/
|
|
5
11
|
setBackColor?: (value: string) => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消背景颜色
|
|
14
|
+
*/
|
|
6
15
|
unsetBackColor?: (value: string) => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -2,10 +2,25 @@ import { KNode } from '../../model';
|
|
|
2
2
|
import { Extension } from '../Extension';
|
|
3
3
|
declare module '../../model' {
|
|
4
4
|
interface EditorCommandsType {
|
|
5
|
+
/**
|
|
6
|
+
* 获取光标所在的引用节点,如果光标不在一个引用节点内,返回null
|
|
7
|
+
*/
|
|
5
8
|
getBlockquote?: () => KNode | null;
|
|
9
|
+
/**
|
|
10
|
+
* 判断光标范围内是否有引用节点
|
|
11
|
+
*/
|
|
6
12
|
hasBlockquote?: () => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 光标范围内是否都是引用节点
|
|
15
|
+
*/
|
|
7
16
|
allBlockquote?: () => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 设置引用
|
|
19
|
+
*/
|
|
8
20
|
setBlockquote?: () => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* 取消引用
|
|
23
|
+
*/
|
|
9
24
|
unsetBlockquote?: () => Promise<void>;
|
|
10
25
|
}
|
|
11
26
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本是否加粗
|
|
6
|
+
*/
|
|
4
7
|
isBold?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置加粗
|
|
10
|
+
*/
|
|
5
11
|
setBold?: () => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消加粗
|
|
14
|
+
*/
|
|
6
15
|
unsetBold?: () => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -2,10 +2,25 @@ import { KNode } from '../../model';
|
|
|
2
2
|
import { Extension } from '../Extension';
|
|
3
3
|
declare module '../../model' {
|
|
4
4
|
interface EditorCommandsType {
|
|
5
|
+
/**
|
|
6
|
+
* 获取光标所在的行内代码,如果光标不在一个行内代码内,返回null
|
|
7
|
+
*/
|
|
5
8
|
getCode?: () => KNode | null;
|
|
9
|
+
/**
|
|
10
|
+
* 判断光标范围内是否有行内代码
|
|
11
|
+
*/
|
|
6
12
|
hasCode?: () => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 光标范围内是否都是行内代码
|
|
15
|
+
*/
|
|
7
16
|
allCode?: () => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 设置行内代码
|
|
19
|
+
*/
|
|
8
20
|
setCode?: () => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* 取消行内代码
|
|
23
|
+
*/
|
|
9
24
|
unsetCode?: () => Promise<void>;
|
|
10
25
|
}
|
|
11
26
|
}
|
|
@@ -3,11 +3,29 @@ import { Extension } from '../Extension';
|
|
|
3
3
|
import { HljsLanguageType } from './hljs';
|
|
4
4
|
declare module '../../model' {
|
|
5
5
|
interface EditorCommandsType {
|
|
6
|
+
/**
|
|
7
|
+
* 获取光标所在的代码块节点,如果光标不在一个代码块节点内,返回null
|
|
8
|
+
*/
|
|
6
9
|
getCodeBlock?: () => KNode | null;
|
|
10
|
+
/**
|
|
11
|
+
* 判断光标范围内是否有代码块节点
|
|
12
|
+
*/
|
|
7
13
|
hasCodeBlock?: () => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 光标范围内是否都是代码块节点
|
|
16
|
+
*/
|
|
8
17
|
allCodeBlock?: () => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 设置代码块
|
|
20
|
+
*/
|
|
9
21
|
setCodeBlock?: () => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* 取消代码块
|
|
24
|
+
*/
|
|
10
25
|
unsetCodeBlock?: () => Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* 更新光标所在代码块的语言类型
|
|
28
|
+
*/
|
|
11
29
|
updateCodeBlockLanguage?: (language: HljsLanguageType) => Promise<void>;
|
|
12
30
|
}
|
|
13
31
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本的颜色是否与入参一致
|
|
6
|
+
*/
|
|
4
7
|
isColor?: (value: string) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置颜色
|
|
10
|
+
*/
|
|
5
11
|
setColor?: (value: string) => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消颜色
|
|
14
|
+
*/
|
|
6
15
|
unsetColor?: (value: string) => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本的字体是否与入参一致
|
|
6
|
+
*/
|
|
4
7
|
isFontFamily?: (value: string) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置字体
|
|
10
|
+
*/
|
|
5
11
|
setFontFamily?: (value: string) => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消字体
|
|
14
|
+
*/
|
|
6
15
|
unsetFontFamily?: (value: string) => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本的字号大小是否与入参一致
|
|
6
|
+
*/
|
|
4
7
|
isFontSize?: (value: string) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置字号
|
|
10
|
+
*/
|
|
5
11
|
setFontSize?: (value: string) => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消字号
|
|
14
|
+
*/
|
|
6
15
|
unsetFontSize?: (value: string) => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -3,10 +3,25 @@ import { Extension } from '../Extension';
|
|
|
3
3
|
export type HeadingLevelType = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4
4
|
declare module '../../model' {
|
|
5
5
|
interface EditorCommandsType {
|
|
6
|
+
/**
|
|
7
|
+
* 获取光标所在的标题,如果光标不在一个标题内,返回null
|
|
8
|
+
*/
|
|
6
9
|
getHeading?: (level: HeadingLevelType) => KNode | null;
|
|
10
|
+
/**
|
|
11
|
+
* 判断光标范围内是否有标题
|
|
12
|
+
*/
|
|
7
13
|
hasHeading?: (level: HeadingLevelType) => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 光标范围内是否都是标题
|
|
16
|
+
*/
|
|
8
17
|
allHeading?: (level: HeadingLevelType) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 设置标题
|
|
20
|
+
*/
|
|
9
21
|
setHeading?: (level: HeadingLevelType) => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* 取消标题
|
|
24
|
+
*/
|
|
10
25
|
unsetHeading?: (level: HeadingLevelType) => Promise<void>;
|
|
11
26
|
}
|
|
12
27
|
}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 是否可以撤销
|
|
6
|
+
*/
|
|
4
7
|
canUndo?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 是否可以重做
|
|
10
|
+
*/
|
|
5
11
|
canRedo?: () => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* 撤销
|
|
14
|
+
*/
|
|
6
15
|
undo?: () => Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* 重做
|
|
18
|
+
*/
|
|
7
19
|
redo?: () => Promise<void>;
|
|
8
20
|
}
|
|
9
21
|
}
|
|
@@ -17,9 +17,21 @@ export type UpdateImageOptionType = {
|
|
|
17
17
|
};
|
|
18
18
|
declare module '../../model' {
|
|
19
19
|
interface EditorCommandsType {
|
|
20
|
+
/**
|
|
21
|
+
* 获取光标所在的图片,如果光标不在一张图片内,返回null
|
|
22
|
+
*/
|
|
20
23
|
getImage?: () => KNode | null;
|
|
24
|
+
/**
|
|
25
|
+
* 判断光标范围内是否有图片
|
|
26
|
+
*/
|
|
21
27
|
hasImage?: () => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 插入图片
|
|
30
|
+
*/
|
|
22
31
|
setImage?: (options: SetImageOptionType) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* 更新图片
|
|
34
|
+
*/
|
|
23
35
|
updateImage?: (options: UpdateImageOptionType) => Promise<void>;
|
|
24
36
|
}
|
|
25
37
|
}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 是否可以使用缩进
|
|
6
|
+
*/
|
|
7
|
+
canUseIndent?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 增加缩进
|
|
10
|
+
*/
|
|
4
11
|
setIncreaseIndent?: () => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 减少缩进
|
|
14
|
+
*/
|
|
5
15
|
setDecreaseIndent?: () => Promise<void>;
|
|
6
16
|
}
|
|
7
17
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本是否斜体
|
|
6
|
+
*/
|
|
4
7
|
isItalic?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置斜体
|
|
10
|
+
*/
|
|
5
11
|
setItalic?: () => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消斜体
|
|
14
|
+
*/
|
|
6
15
|
unsetItalic?: () => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在的块节点是否都是符合的行高
|
|
6
|
+
*/
|
|
4
7
|
isLineHeight?: (value: string | number) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置行高
|
|
10
|
+
*/
|
|
5
11
|
setLineHeight?: (value: string | number) => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消行高
|
|
14
|
+
*/
|
|
6
15
|
unsetLineHeight?: (value: string | number) => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -17,10 +17,25 @@ export type UpdateLinkOptionType = {
|
|
|
17
17
|
};
|
|
18
18
|
declare module '../../model' {
|
|
19
19
|
interface EditorCommandsType {
|
|
20
|
+
/**
|
|
21
|
+
* 获取光标所在的链接,如果光标不在一个链接内,返回null
|
|
22
|
+
*/
|
|
20
23
|
getLink?: () => KNode | null;
|
|
24
|
+
/**
|
|
25
|
+
* 判断光标范围内是否有链接
|
|
26
|
+
*/
|
|
21
27
|
hasLink?: () => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 设置连接
|
|
30
|
+
*/
|
|
22
31
|
setLink?: (options: SetLinkOptionType) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* 更新链接
|
|
34
|
+
*/
|
|
23
35
|
updateLink?: (options: UpdateLinkOptionType) => Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* 取消链接
|
|
38
|
+
*/
|
|
24
39
|
unsetLink?: () => Promise<void>;
|
|
25
40
|
}
|
|
26
41
|
}
|
|
@@ -8,11 +8,37 @@ export type ListOptionsType = {
|
|
|
8
8
|
};
|
|
9
9
|
declare module '../../model' {
|
|
10
10
|
interface EditorCommandsType {
|
|
11
|
+
/**
|
|
12
|
+
* 获取光标所在的有序列表或者无序列表,如果光标不在一个有序列表或者无序列表内,返回null
|
|
13
|
+
*/
|
|
11
14
|
getList?: (options: ListOptionsType) => KNode | null;
|
|
15
|
+
/**
|
|
16
|
+
* 判断光标范围内是否有有序列表或者无序列表
|
|
17
|
+
*/
|
|
12
18
|
hasList?: (options: ListOptionsType) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* 判断光标范围内是否都是有序列表或者无序列表
|
|
21
|
+
*/
|
|
13
22
|
allList?: (options: ListOptionsType) => boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 设置有序列表或者无序列表
|
|
25
|
+
*/
|
|
14
26
|
setList?: (options: ListOptionsType) => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* 取消有序列表或者无序列表
|
|
29
|
+
*/
|
|
15
30
|
unsetList?: (options: ListOptionsType) => Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* 是否可以生成内嵌列表
|
|
33
|
+
*/
|
|
34
|
+
canCreateInnerList?: () => {
|
|
35
|
+
node: KNode;
|
|
36
|
+
previousNode: KNode;
|
|
37
|
+
} | null;
|
|
38
|
+
/**
|
|
39
|
+
* 根据当前光标所在的li节点生成一个内嵌列表
|
|
40
|
+
*/
|
|
41
|
+
createInnerList?: () => Promise<void>;
|
|
16
42
|
}
|
|
17
43
|
}
|
|
18
44
|
export declare const ListExtension: () => Extension;
|
|
@@ -2,9 +2,21 @@ import { KNode } from '../../model';
|
|
|
2
2
|
import { Extension } from '../Extension';
|
|
3
3
|
declare module '../../model' {
|
|
4
4
|
interface EditorCommandsType {
|
|
5
|
+
/**
|
|
6
|
+
* 获取光标所在的数学公式节点,如果光标不在一个数学公式节点内,返回null
|
|
7
|
+
*/
|
|
5
8
|
getMath?: () => KNode | null;
|
|
9
|
+
/**
|
|
10
|
+
* 判断光标范围内是否有数学公式节点
|
|
11
|
+
*/
|
|
6
12
|
hasMath?: () => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 插入数学公式
|
|
15
|
+
*/
|
|
7
16
|
setMath?: (value: string) => Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* 更新数学公式
|
|
19
|
+
*/
|
|
8
20
|
updateMath?: (value: string) => Promise<void>;
|
|
9
21
|
}
|
|
10
22
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本是否删除线
|
|
6
|
+
*/
|
|
4
7
|
isStrikethrough?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置删除线
|
|
10
|
+
*/
|
|
5
11
|
setStrikethrough?: () => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消删除线
|
|
14
|
+
*/
|
|
6
15
|
unsetStrikethrough?: () => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本是否下标
|
|
6
|
+
*/
|
|
4
7
|
isSubscript?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置下标
|
|
10
|
+
*/
|
|
5
11
|
setSubscript?: () => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消下标
|
|
14
|
+
*/
|
|
6
15
|
unsetSubscript?: () => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '../Extension';
|
|
2
2
|
declare module '../../model' {
|
|
3
3
|
interface EditorCommandsType {
|
|
4
|
+
/**
|
|
5
|
+
* 光标所在文本是否上标
|
|
6
|
+
*/
|
|
4
7
|
isSuperscript?: () => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 设置上标
|
|
10
|
+
*/
|
|
5
11
|
setSuperscript?: () => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* 取消上标
|
|
14
|
+
*/
|
|
6
15
|
unsetSuperscript?: () => Promise<void>;
|
|
7
16
|
}
|
|
8
17
|
}
|
|
@@ -3,18 +3,48 @@ import { Extension } from '../Extension';
|
|
|
3
3
|
export type TableCellsMergeDirectionType = 'left' | 'top' | 'right' | 'bottom';
|
|
4
4
|
declare module '../../model' {
|
|
5
5
|
interface EditorCommandsType {
|
|
6
|
+
/**
|
|
7
|
+
* 获取光标所在的表格节点,如果光标不在一个表格节点内,返回null
|
|
8
|
+
*/
|
|
6
9
|
getTable?: () => KNode | null;
|
|
10
|
+
/**
|
|
11
|
+
* 判断光标范围内是否有表格节点
|
|
12
|
+
*/
|
|
7
13
|
hasTable?: () => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 是否可以合并单元格
|
|
16
|
+
*/
|
|
8
17
|
canMergeTableCells?: (direction: TableCellsMergeDirectionType) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 插入表格
|
|
20
|
+
*/
|
|
9
21
|
setTable?: ({ rows, columns }: {
|
|
10
22
|
rows: number;
|
|
11
23
|
columns: number;
|
|
12
24
|
}) => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* 取消表格
|
|
27
|
+
*/
|
|
13
28
|
unsetTable?: () => Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* 合并单元格
|
|
31
|
+
*/
|
|
14
32
|
mergeTableCell?: (direction: TableCellsMergeDirectionType) => Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* 添加行
|
|
35
|
+
*/
|
|
15
36
|
addTableRow?: (direction: 'top' | 'bottom') => Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* 删除行
|
|
39
|
+
*/
|
|
16
40
|
deleteTableRow?: () => Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* 添加列
|
|
43
|
+
*/
|
|
17
44
|
addTableColumn?: (direction: 'left' | 'right') => Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* 删除列
|
|
47
|
+
*/
|
|
18
48
|
deleteTableColumn?: () => Promise<void>;
|
|
19
49
|
}
|
|
20
50
|
}
|