vue-editify 0.2.14 → 0.2.15
Sign up to get free protection for your applications and to get access to all the features.
- package/examples/App.vue +49 -67
- package/lib/components/button/button.vue.d.ts +62 -60
- package/lib/components/button/index.d.ts +4 -0
- package/lib/components/button/props.d.ts +12 -1
- package/lib/components/checkbox/checkbox.vue.d.ts +9 -9
- package/lib/components/checkbox/index.d.ts +4 -0
- package/lib/components/checkbox/props.d.ts +2 -2
- package/lib/components/colors/colors.vue.d.ts +4 -4
- package/lib/components/colors/index.d.ts +4 -0
- package/lib/components/colors/props.d.ts +2 -2
- package/lib/components/icon/index.d.ts +4 -0
- package/lib/components/insertAttachment/index.d.ts +4 -0
- package/lib/{plugins/attachment → components}/insertAttachment/insertAttachment.vue.d.ts +3 -3
- package/lib/{plugins/attachment → components}/insertAttachment/props.d.ts +1 -1
- package/lib/components/insertImage/index.d.ts +4 -0
- package/lib/components/insertImage/insertImage.vue.d.ts +3 -3
- package/lib/components/insertImage/props.d.ts +1 -1
- package/lib/components/insertLink/index.d.ts +4 -0
- package/lib/components/insertLink/insertLink.vue.d.ts +6 -6
- package/lib/components/insertLink/props.d.ts +3 -3
- package/lib/components/insertMathformula/index.d.ts +4 -0
- package/lib/{plugins/mathformula → components}/insertMathformula/insertMathformula.vue.d.ts +3 -3
- package/lib/{plugins/mathformula → components}/insertMathformula/props.d.ts +2 -2
- package/lib/components/insertTable/index.d.ts +4 -0
- package/lib/components/insertTable/insertTable.vue.d.ts +3 -3
- package/lib/components/insertTable/props.d.ts +2 -2
- package/lib/components/insertVideo/index.d.ts +4 -0
- package/lib/components/insertVideo/insertVideo.vue.d.ts +3 -3
- package/lib/components/insertVideo/props.d.ts +1 -1
- package/lib/components/layer/index.d.ts +4 -0
- package/lib/components/layer/layer.vue.d.ts +10 -8
- package/lib/components/tooltip/index.d.ts +4 -0
- package/lib/components/tooltip/tooltip.vue.d.ts +6 -4
- package/lib/components/triangle/index.d.ts +4 -0
- package/lib/components/triangle/triangle.vue.d.ts +1 -1
- package/lib/components/updateLink/index.d.ts +4 -0
- package/lib/components/updateLink/props.d.ts +17 -0
- package/lib/components/updateLink/updateLink.vue.d.ts +38 -0
- package/lib/core/function.d.ts +113 -36
- package/lib/core/rule.d.ts +20 -0
- package/lib/core/tool.d.ts +36 -34
- package/lib/editify/editify.vue.d.ts +18 -27
- package/lib/editify/menu/index.d.ts +4 -0
- package/lib/{components → editify}/menu/menu.vue.d.ts +3 -4
- package/lib/{components → editify}/menu/props.d.ts +1 -1
- package/lib/editify/props.d.ts +3 -7
- package/lib/editify/toolbar/index.d.ts +4 -0
- package/lib/{components → editify}/toolbar/props.d.ts +2 -2
- package/lib/{components → editify}/toolbar/toolbar.vue.d.ts +53 -53
- package/lib/editify.es.js +8797 -7560
- package/lib/editify.umd.js +2 -2
- package/lib/feature/align.d.ts +32 -0
- package/lib/feature/attachment.d.ts +18 -0
- package/lib/feature/backColor.d.ts +32 -0
- package/lib/feature/bold.d.ts +32 -0
- package/lib/feature/code.d.ts +32 -0
- package/lib/feature/codeBlock.d.ts +32 -0
- package/lib/feature/fontFamily.d.ts +32 -0
- package/lib/feature/fontSize.d.ts +32 -0
- package/lib/feature/foreColor.d.ts +32 -0
- package/lib/feature/formatClear.d.ts +32 -0
- package/lib/feature/fullScreen.d.ts +18 -0
- package/lib/feature/heading.d.ts +32 -0
- package/lib/feature/image.d.ts +32 -0
- package/lib/feature/indent.d.ts +18 -0
- package/lib/feature/infoBlock.d.ts +18 -0
- package/lib/feature/italic.d.ts +32 -0
- package/lib/feature/lineHeight.d.ts +32 -0
- package/lib/feature/link.d.ts +26 -0
- package/lib/feature/mathformula.d.ts +22 -0
- package/lib/feature/orderList.d.ts +32 -0
- package/lib/feature/panel.d.ts +18 -0
- package/lib/feature/quote.d.ts +18 -0
- package/lib/feature/redo.d.ts +18 -0
- package/lib/feature/separator.d.ts +18 -0
- package/lib/feature/sourceView.d.ts +18 -0
- package/lib/feature/strikethrough.d.ts +32 -0
- package/lib/feature/sub.d.ts +32 -0
- package/lib/feature/super.d.ts +32 -0
- package/lib/feature/table.d.ts +32 -0
- package/lib/feature/task.d.ts +32 -0
- package/lib/feature/underline.d.ts +32 -0
- package/lib/feature/undo.d.ts +18 -0
- package/lib/feature/unorderList.d.ts +32 -0
- package/lib/feature/video.d.ts +38 -0
- package/lib/index.d.ts +36 -43
- package/package.json +5 -5
- package/src/components/button/button.vue +21 -24
- package/src/components/button/index.ts +5 -0
- package/src/components/button/props.ts +14 -1
- package/src/components/checkbox/checkbox.vue +1 -1
- package/src/components/checkbox/index.ts +5 -0
- package/src/components/checkbox/props.ts +1 -1
- package/src/components/colors/colors.vue +3 -3
- package/src/components/colors/index.ts +5 -0
- package/src/components/colors/props.ts +2 -2
- package/src/components/icon/index.ts +5 -0
- package/src/components/insertAttachment/index.ts +5 -0
- package/src/{plugins/attachment → components}/insertAttachment/insertAttachment.vue +4 -2
- package/src/{plugins/attachment → components}/insertAttachment/props.ts +1 -1
- package/src/components/insertImage/index.ts +5 -0
- package/src/components/insertImage/insertImage.vue +5 -5
- package/src/components/insertImage/props.ts +1 -1
- package/src/components/insertLink/index.ts +5 -0
- package/src/components/insertLink/insertLink.vue +10 -10
- package/src/components/insertLink/props.ts +3 -3
- package/src/components/insertMathformula/index.ts +5 -0
- package/src/{plugins/mathformula → components}/insertMathformula/props.ts +2 -2
- package/src/components/insertTable/index.ts +5 -0
- package/src/components/insertTable/props.ts +2 -2
- package/src/components/insertVideo/index.ts +5 -0
- package/src/components/insertVideo/insertVideo.vue +2 -2
- package/src/components/insertVideo/props.ts +1 -1
- package/src/components/layer/index.ts +5 -0
- package/src/components/layer/layer.vue +42 -4
- package/src/components/tooltip/index.ts +5 -0
- package/src/components/tooltip/tooltip.vue +1 -1
- package/src/components/triangle/index.ts +5 -0
- package/src/components/triangle/triangle.vue +1 -1
- package/src/components/updateLink/index.ts +5 -0
- package/src/components/updateLink/props.ts +21 -0
- package/src/components/{toolbar/toolbar.less → updateLink/updateLink.less} +4 -20
- package/src/components/updateLink/updateLink.vue +74 -0
- package/src/core/function.ts +289 -97
- package/src/core/rule.ts +96 -7
- package/src/core/tool.ts +234 -78
- package/src/editify/editify.less +2 -0
- package/src/editify/editify.vue +182 -185
- package/src/editify/menu/index.ts +5 -0
- package/src/editify/menu/menu.vue +215 -0
- package/src/{components → editify}/menu/props.ts +1 -1
- package/src/editify/props.ts +7 -11
- package/src/editify/toolbar/index.ts +5 -0
- package/src/{components → editify}/toolbar/props.ts +1 -1
- package/src/editify/toolbar/toolbar.less +10 -0
- package/src/editify/toolbar/toolbar.vue +103 -0
- package/src/feature/align.ts +128 -0
- package/src/feature/attachment.ts +109 -0
- package/src/feature/backColor.ts +171 -0
- package/src/feature/bold.ts +136 -0
- package/src/feature/code.ts +136 -0
- package/src/feature/codeBlock.ts +204 -0
- package/src/feature/fontFamily.ts +140 -0
- package/src/feature/fontSize.ts +142 -0
- package/src/feature/foreColor.ts +173 -0
- package/src/feature/formatClear.ts +118 -0
- package/src/feature/fullScreen.ts +57 -0
- package/src/feature/heading.ts +154 -0
- package/src/feature/image.ts +225 -0
- package/src/feature/indent.ts +73 -0
- package/src/feature/infoBlock.ts +94 -0
- package/src/feature/italic.ts +136 -0
- package/src/feature/lineHeight.ts +165 -0
- package/src/feature/link.ts +149 -0
- package/src/feature/mathformula.ts +147 -0
- package/src/feature/orderList.ts +116 -0
- package/src/feature/panel.ts +108 -0
- package/src/feature/quote.ts +61 -0
- package/src/feature/redo.ts +56 -0
- package/src/feature/separator.ts +62 -0
- package/src/feature/sourceView.ts +59 -0
- package/src/feature/strikethrough.ts +136 -0
- package/src/feature/sub.ts +136 -0
- package/src/feature/super.ts +136 -0
- package/src/feature/table.ts +994 -0
- package/src/feature/task.ts +116 -0
- package/src/feature/underline.ts +136 -0
- package/src/feature/undo.ts +56 -0
- package/src/feature/unorderList.ts +116 -0
- package/src/feature/video.ts +339 -0
- package/src/hljs/index.ts +1 -1
- package/src/index.ts +69 -21
- package/src/locale/en_US.ts +3 -3
- package/src/locale/zh_CN.ts +3 -3
- package/lib/plugins/attachment/index.d.ts +0 -37
- package/lib/plugins/infoBlock/index.d.ts +0 -55
- package/lib/plugins/mathformula/index.d.ts +0 -49
- package/lib/plugins/panel/index.d.ts +0 -48
- package/src/components/menu/menu.vue +0 -1655
- package/src/components/toolbar/toolbar.vue +0 -1677
- package/src/plugins/attachment/index.ts +0 -237
- package/src/plugins/infoBlock/index.ts +0 -238
- package/src/plugins/mathformula/index.ts +0 -295
- package/src/plugins/panel/index.ts +0 -228
- package/tsconfig.json +0 -31
- package/tsconfig.node.json +0 -11
- /package/src/{plugins/attachment → components}/insertAttachment/insertAttachment.less +0 -0
- /package/src/{plugins/mathformula → components}/insertMathformula/insertMathformula.less +0 -0
- /package/src/{plugins/mathformula → components}/insertMathformula/insertMathformula.vue +0 -0
- /package/src/{components → editify}/menu/menu.less +0 -0
package/lib/core/function.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { AlexElement, AlexElementsRangeType
|
1
|
+
import { AlexEditor, AlexElement, AlexElementsRangeType } from 'alex-editor';
|
2
2
|
import { ObjectType } from './tool';
|
3
3
|
|
4
4
|
export type ElementMatchConfigType = {
|
@@ -63,110 +63,187 @@ export declare const getMatchElementByElement: (element: AlexElement, config: El
|
|
63
63
|
*/
|
64
64
|
export declare const getMatchElementByRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, config: ElementMatchConfigType) => AlexElement | null;
|
65
65
|
/**
|
66
|
-
* Open API
|
66
|
+
* Open API:判断元素是否有序或者无序列表,不做空元素判断
|
67
67
|
* @param element
|
68
68
|
* @param ordered
|
69
69
|
* @returns
|
70
70
|
*/
|
71
|
-
export declare const
|
71
|
+
export declare const elementIsList: (element: AlexElement, ordered?: boolean | undefined) => boolean;
|
72
72
|
/**
|
73
|
-
* Open API
|
73
|
+
* Open API:判断元素是否在有序列表或者无序列表下,是的话返回有序列表或者无序列表元素,否则返回null
|
74
74
|
* @param element
|
75
|
+
* @param ordered
|
75
76
|
* @returns
|
76
77
|
*/
|
77
|
-
export declare const
|
78
|
+
export declare const getListByElement: (element: AlexElement, ordered: boolean) => AlexElement | null;
|
78
79
|
/**
|
79
|
-
* Open API
|
80
|
-
* @param
|
80
|
+
* Open API:选区是否含有有序列表或者无序列表,不一定是同一个有序列表或者序列表,只要含有有序列表或者序列表即返回true
|
81
|
+
* @param editor
|
82
|
+
* @param dataRangeCaches
|
83
|
+
* @param ordered
|
84
|
+
* @returns
|
85
|
+
*/
|
86
|
+
export declare const hasListInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, ordered?: boolean | undefined) => boolean;
|
87
|
+
/**
|
88
|
+
* Open API:选区是否全部在有序列表或者无序列表内,不一定是同一个有序列表或者无序列表
|
89
|
+
* @param editor
|
90
|
+
* @param dataRangeCaches
|
81
91
|
* @param ordered
|
82
92
|
* @returns
|
83
93
|
*/
|
84
|
-
export declare const
|
94
|
+
export declare const rangeIsInList: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, ordered?: boolean | undefined) => boolean;
|
85
95
|
/**
|
86
|
-
* Open API
|
96
|
+
* Open API:判断元素是否任务列表,不做空元素判断
|
87
97
|
* @param element
|
88
98
|
* @returns
|
89
99
|
*/
|
90
|
-
export declare const
|
100
|
+
export declare const elementIsTask: (element: AlexElement) => boolean;
|
91
101
|
/**
|
92
|
-
* Open API
|
102
|
+
* Open API:判断元素是否在任务列表下,是的话返回任务列表元素,否则返回null
|
103
|
+
* @param element
|
104
|
+
* @returns
|
105
|
+
*/
|
106
|
+
export declare const getTaskByElement: (element: AlexElement) => AlexElement | null;
|
107
|
+
/**
|
108
|
+
* Open API:选区是否含有任务列表,不一定是同一个任务列表,只要含有任务列表即返回true
|
93
109
|
* @param editor
|
94
110
|
* @param dataRangeCaches
|
95
111
|
* @returns
|
96
112
|
*/
|
97
|
-
export declare const
|
113
|
+
export declare const hasTaskInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
98
114
|
/**
|
99
|
-
* Open API
|
115
|
+
* Open API:选区是否全部在任务列表里,不一定是同一个任务列表
|
100
116
|
* @param editor
|
101
117
|
* @param dataRangeCaches
|
102
118
|
* @returns
|
103
119
|
*/
|
104
|
-
export declare const
|
120
|
+
export declare const rangeIsInTask: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
105
121
|
/**
|
106
|
-
* Open API
|
122
|
+
* Open API:判断元素是否附件,不做空元素判断
|
123
|
+
* @param element
|
124
|
+
* @returns
|
125
|
+
*/
|
126
|
+
export declare const elementIsAttachment: (element: AlexElement) => boolean;
|
127
|
+
/**
|
128
|
+
* Open API:选区是否含有附件,不一定是同一个附件,只要含有附件即返回true
|
107
129
|
* @param editor
|
108
130
|
* @param dataRangeCaches
|
109
|
-
* @param ordered
|
110
131
|
* @returns
|
111
132
|
*/
|
112
|
-
export declare const
|
133
|
+
export declare const hasAttachmentInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
134
|
+
/**
|
135
|
+
* Open API:判断元素是否数学公式,不做空元素判断
|
136
|
+
* @param element
|
137
|
+
* @returns
|
138
|
+
*/
|
139
|
+
export declare const elementIsMathformula: (element: AlexElement) => boolean;
|
140
|
+
/**
|
141
|
+
* Open API:判断元素是否在数学公式下,是的话返回数学公式元素,否则返回null
|
142
|
+
* @param element
|
143
|
+
* @returns
|
144
|
+
*/
|
145
|
+
export declare const getMathformulaByElement: (element: AlexElement) => AlexElement | null;
|
113
146
|
/**
|
114
|
-
* Open API
|
147
|
+
* Open API:选区是否含有数学公式,不一定是同一个数学公式,只要含有数学公式即返回true
|
115
148
|
* @param editor
|
116
149
|
* @param dataRangeCaches
|
117
150
|
* @returns
|
118
151
|
*/
|
119
|
-
export declare const
|
152
|
+
export declare const hasMathformulaInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
153
|
+
/**
|
154
|
+
* Open API:判断元素是否面板,不做空元素判断
|
155
|
+
* @param el
|
156
|
+
* @returns
|
157
|
+
*/
|
158
|
+
export declare const elementIsPanel: (element: AlexElement) => boolean;
|
120
159
|
/**
|
121
|
-
* Open API
|
160
|
+
* Open API:判断元素是否在面板内,是的话返回面板元素,否则返回null
|
161
|
+
* @param el
|
162
|
+
* @returns
|
163
|
+
*/
|
164
|
+
export declare const getPanelByElement: (element: AlexElement) => AlexElement | null;
|
165
|
+
/**
|
166
|
+
* Open API:选区是否含有面板,不一定是同一个面板,只要含有面板即返回true
|
122
167
|
* @param editor
|
123
168
|
* @param dataRangeCaches
|
124
169
|
* @returns
|
125
170
|
*/
|
126
|
-
export declare const
|
171
|
+
export declare const hasPanelInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
172
|
+
/**
|
173
|
+
* Open API:判断元素是否信息块,不做空元素判断
|
174
|
+
* @param el
|
175
|
+
* @returns
|
176
|
+
*/
|
177
|
+
export declare const elementIsInfoBlock: (element: AlexElement) => boolean;
|
178
|
+
/**
|
179
|
+
* Open API:判断元素是否在信息块内,是的话返回信息块元素,否则返回null
|
180
|
+
* @param el
|
181
|
+
* @returns
|
182
|
+
*/
|
183
|
+
export declare const getInfoBlockByElement: (element: AlexElement) => AlexElement | null;
|
127
184
|
/**
|
128
|
-
* Open API
|
185
|
+
* Open API:选区是否含有信息块,不一定是同一个信息块,只要含有信息块即返回true
|
129
186
|
* @param editor
|
130
187
|
* @param dataRangeCaches
|
131
188
|
* @returns
|
132
189
|
*/
|
133
|
-
export declare const
|
190
|
+
export declare const hasInfoBlockInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
134
191
|
/**
|
135
|
-
* Open API
|
192
|
+
* Open API:选区是否全部在信息块里,不一定是同一个信息块
|
136
193
|
* @param editor
|
137
194
|
* @param dataRangeCaches
|
138
195
|
* @returns
|
139
196
|
*/
|
140
|
-
export declare const
|
197
|
+
export declare const rangeIsInInfoBlock: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
141
198
|
/**
|
142
|
-
* Open API
|
199
|
+
* Open API:选区是否含有代码块,不一定是同一个代码块,只要含有代码块即返回true
|
143
200
|
* @param editor
|
144
201
|
* @param dataRangeCaches
|
145
202
|
* @returns
|
146
203
|
*/
|
147
|
-
export declare const
|
204
|
+
export declare const hasPreInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
148
205
|
/**
|
149
|
-
* Open API
|
206
|
+
* Open API:选区是否含有引用,不一定是同一个引用,只要含有引用即返回true
|
150
207
|
* @param editor
|
151
208
|
* @param dataRangeCaches
|
152
209
|
* @returns
|
153
210
|
*/
|
154
|
-
export declare const
|
211
|
+
export declare const hasQuoteInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
155
212
|
/**
|
156
|
-
* Open API
|
213
|
+
* Open API:选区是否含有链接,不一定是同一个链接,只要含有链接即返回true
|
157
214
|
* @param editor
|
158
215
|
* @param dataRangeCaches
|
159
|
-
* @param ordered
|
160
216
|
* @returns
|
161
217
|
*/
|
162
|
-
export declare const
|
218
|
+
export declare const hasLinkInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
219
|
+
/**
|
220
|
+
* Open API:选区是否含有表格,不一定是同一个表格,只要含有表格即返回true
|
221
|
+
* @param editor
|
222
|
+
* @param dataRangeCaches
|
223
|
+
* @returns
|
224
|
+
*/
|
225
|
+
export declare const hasTableInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
226
|
+
/**
|
227
|
+
* Open API:选区是否含有图片,不一定是同一个图片,只要含有图片即返回true
|
228
|
+
* @param editor
|
229
|
+
* @param dataRangeCaches
|
230
|
+
* @returns
|
231
|
+
*/
|
232
|
+
export declare const hasImageInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
233
|
+
/**
|
234
|
+
* Open API:选区是否含有视频,不一定是同一个视频,只要含有视频即返回true
|
235
|
+
* @param editor
|
236
|
+
* @param dataRangeCaches
|
237
|
+
* @returns
|
238
|
+
*/
|
239
|
+
export declare const hasVideoInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
163
240
|
/**
|
164
|
-
* Open API
|
241
|
+
* Open API:选区是否全部在引用内,不一定是同一个引用
|
165
242
|
* @param editor
|
166
243
|
* @param dataRangeCaches
|
167
244
|
* @returns
|
168
245
|
*/
|
169
|
-
export declare const
|
246
|
+
export declare const rangeIsInQuote: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
|
170
247
|
/**
|
171
248
|
* Open API:查询光标所在的文本元素是否具有某个样式
|
172
249
|
* @param editor
|
@@ -186,7 +263,7 @@ export declare const queryTextStyle: (editor: AlexEditor, dataRangeCaches: AlexE
|
|
186
263
|
*/
|
187
264
|
export declare const queryTextMark: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, name: string, value?: string | number) => boolean;
|
188
265
|
/**
|
189
|
-
* Open API
|
266
|
+
* Open API:获取选区内的文字内容
|
190
267
|
* @param dataRangeCaches
|
191
268
|
* @returns
|
192
269
|
*/
|
@@ -253,7 +330,7 @@ export declare const setQuote: (editor: AlexEditor, dataRangeCaches: AlexElement
|
|
253
330
|
* @param value 取值justify/left/right/center
|
254
331
|
* @returns
|
255
332
|
*/
|
256
|
-
export declare const setAlign: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, value:
|
333
|
+
export declare const setAlign: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, value: "justify" | "left" | "right" | "center") => void;
|
257
334
|
/**
|
258
335
|
* Open API:插入或者取消 有序或者无序列表
|
259
336
|
* @param editor
|
package/lib/core/rule.d.ts
CHANGED
@@ -45,6 +45,26 @@ export declare const tableRangeMergedHandle: (editor: AlexEditor, element: AlexE
|
|
45
45
|
* @param languages
|
46
46
|
*/
|
47
47
|
export declare const preHandle: (editor: AlexEditor, element: AlexElement, highlight: boolean, languages: (string | LanguagesItemType)[]) => void;
|
48
|
+
/**
|
49
|
+
* 元素格式化时处理附件元素
|
50
|
+
* @param editor
|
51
|
+
* @param element
|
52
|
+
* @param $editTrans
|
53
|
+
*/
|
54
|
+
export declare const attachmentHandle: (editor: AlexEditor, element: AlexElement, $editTrans: (key: string) => any) => void;
|
55
|
+
/**
|
56
|
+
* 元素格式化时处理数学公式元素
|
57
|
+
* @param editor
|
58
|
+
* @param element
|
59
|
+
*/
|
60
|
+
export declare const mathformulaHandle: (editor: AlexEditor, element: AlexElement) => void;
|
61
|
+
/**
|
62
|
+
* 元素格式化时处理信息块元素
|
63
|
+
* @param editor
|
64
|
+
* @param element
|
65
|
+
* @param color
|
66
|
+
*/
|
67
|
+
export declare const infoBlockHandle: (_editor: AlexEditor, element: AlexElement, color: string) => void;
|
48
68
|
/**
|
49
69
|
* 元素格式化时处理一些特殊的内部块元素,转为根级块元素
|
50
70
|
* @param editor
|
package/lib/core/tool.d.ts
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
import { App, Component,
|
2
|
-
import { AlexElement } from 'alex-editor';
|
3
|
-
import { ButtonOptionsItemType, ButtonTypeType } from '../components/button/props';
|
1
|
+
import { App, Component, VNode } from 'vue';
|
4
2
|
import { LocaleType } from '../locale';
|
5
|
-
import {
|
6
|
-
import {
|
3
|
+
import { Button, ButtonOptionsItemType, ButtonTypeType } from '../components/button';
|
4
|
+
import { InsertImageUploadErrorType } from '../components/insertImage';
|
5
|
+
import { InsertAttachmentUploadErrorType } from '../components/insertAttachment';
|
7
6
|
|
8
7
|
export type ObjectType = {
|
9
8
|
[key: string]: any;
|
@@ -22,6 +21,7 @@ export interface MenuButtonType {
|
|
22
21
|
show?: boolean;
|
23
22
|
leftBorder?: boolean;
|
24
23
|
rightBorder?: boolean;
|
24
|
+
disabled?: boolean;
|
25
25
|
}
|
26
26
|
export interface MenuSelectButtonType extends MenuButtonType {
|
27
27
|
options?: (string | number | ButtonOptionsItemType)[];
|
@@ -34,23 +34,35 @@ export interface MenuDisplayButtonType extends MenuSelectButtonType {
|
|
34
34
|
export interface MenuImageButtonType extends MenuButtonType {
|
35
35
|
allowedFileType?: string[];
|
36
36
|
multiple?: boolean;
|
37
|
-
maxSize?: number
|
38
|
-
minSize?: number
|
39
|
-
customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>)
|
40
|
-
handleError?: (
|
37
|
+
maxSize?: number;
|
38
|
+
minSize?: number;
|
39
|
+
customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>);
|
40
|
+
handleError?: (error: InsertImageUploadErrorType, file: File) => void;
|
41
41
|
}
|
42
42
|
export interface MenuVideoButtonType extends MenuButtonType {
|
43
43
|
allowedFileType?: string[];
|
44
44
|
multiple?: boolean;
|
45
|
-
maxSize?: number
|
46
|
-
minSize?: number
|
47
|
-
customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>)
|
48
|
-
handleError?: (
|
45
|
+
maxSize?: number;
|
46
|
+
minSize?: number;
|
47
|
+
customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>);
|
48
|
+
handleError?: (error: InsertImageUploadErrorType, file: File) => void;
|
49
49
|
}
|
50
50
|
export interface MenuTableButtonType extends MenuButtonType {
|
51
51
|
maxRows?: number;
|
52
52
|
maxColumns?: number;
|
53
53
|
}
|
54
|
+
export interface MenuAttachmentButtonType extends MenuButtonType {
|
55
|
+
accept?: string;
|
56
|
+
allowedFileType?: string[];
|
57
|
+
multiple?: boolean;
|
58
|
+
maxSize?: number;
|
59
|
+
minSize?: number;
|
60
|
+
customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>);
|
61
|
+
handleError?: (error: InsertAttachmentUploadErrorType, file: File) => void;
|
62
|
+
}
|
63
|
+
export interface MenuMathformulaButtonType extends MenuButtonType {
|
64
|
+
handleError?: (error: Error) => void;
|
65
|
+
}
|
54
66
|
export type MenuCustomButtonType = {
|
55
67
|
type?: ButtonTypeType;
|
56
68
|
title?: string;
|
@@ -96,11 +108,10 @@ export type TextToolbarType = {
|
|
96
108
|
};
|
97
109
|
export type ToolbarConfigType = {
|
98
110
|
use?: boolean;
|
99
|
-
style?: ObjectType
|
111
|
+
style?: ObjectType;
|
100
112
|
tooltip?: boolean;
|
101
113
|
codeBlock?: CodeBlockToolbarType;
|
102
114
|
text?: TextToolbarType;
|
103
|
-
extraDisabled?: ((name: string) => boolean) | null;
|
104
115
|
};
|
105
116
|
export type MenuSequenceType = {
|
106
117
|
[key: string]: number | undefined;
|
@@ -133,6 +144,10 @@ export type MenuSequenceType = {
|
|
133
144
|
codeBlock?: number;
|
134
145
|
sourceView?: number;
|
135
146
|
fullScreen?: number;
|
147
|
+
attachment?: number;
|
148
|
+
mathformula?: number;
|
149
|
+
panel?: number;
|
150
|
+
infoBlock?: number;
|
136
151
|
};
|
137
152
|
export type MenuModeType = 'default' | 'inner' | 'fixed';
|
138
153
|
export type MenuExtendType = {
|
@@ -142,8 +157,7 @@ export type MenuConfigType = {
|
|
142
157
|
use?: boolean;
|
143
158
|
tooltip?: boolean;
|
144
159
|
mode?: MenuModeType;
|
145
|
-
|
146
|
-
style?: ObjectType | null;
|
160
|
+
style?: ObjectType;
|
147
161
|
sequence?: MenuSequenceType;
|
148
162
|
undo?: MenuButtonType;
|
149
163
|
redo?: MenuButtonType;
|
@@ -175,24 +189,12 @@ export type MenuConfigType = {
|
|
175
189
|
codeBlock?: MenuButtonType;
|
176
190
|
sourceView?: MenuButtonType;
|
177
191
|
fullScreen?: MenuButtonType;
|
192
|
+
attachment?: MenuAttachmentButtonType;
|
193
|
+
mathformula?: MenuMathformulaButtonType;
|
194
|
+
panel?: MenuButtonType;
|
195
|
+
infoBlock?: MenuButtonType;
|
178
196
|
extends?: MenuExtendType;
|
179
197
|
};
|
180
|
-
export type PluginMenuConfigType = {
|
181
|
-
extraDisabled?: ((name: string) => boolean) | null;
|
182
|
-
sequence: number;
|
183
|
-
extend: MenuCustomButtonType;
|
184
|
-
};
|
185
|
-
export type PluginResultType = {
|
186
|
-
name: string;
|
187
|
-
menu?: PluginMenuConfigType;
|
188
|
-
updateView?: () => void;
|
189
|
-
customParseNode?: (element: AlexElement) => AlexElement;
|
190
|
-
extraKeepTags?: string[];
|
191
|
-
renderRule?: (el: AlexElement) => void;
|
192
|
-
pasteKeepMarks?: (el: AlexElement) => ObjectType;
|
193
|
-
pasteKeepStyles?: (el: AlexElement) => ObjectType;
|
194
|
-
};
|
195
|
-
export type PluginType = (editifyInstance: ComponentInternalInstance, editTrans: (key: string) => any) => PluginResultType;
|
196
198
|
export type SFCWithInstall<T> = T & {
|
197
199
|
install(app: App): void;
|
198
200
|
};
|
@@ -242,7 +244,7 @@ export declare const getMenuConfig: (editTrans: (key: string) => any, editLocale
|
|
242
244
|
* @param component
|
243
245
|
* @returns
|
244
246
|
*/
|
245
|
-
export declare const withInstall: <T extends Component>(component: T) => SFCWithInstall<
|
247
|
+
export declare const withInstall: <T extends Component>(component: T) => SFCWithInstall<typeof component>;
|
246
248
|
/**
|
247
249
|
* 是否点击了编辑器以外的元素
|
248
250
|
* @param editor
|
@@ -43,9 +43,9 @@ declare const _default: import('vue').DefineComponent<{
|
|
43
43
|
default: boolean;
|
44
44
|
};
|
45
45
|
color: {
|
46
|
-
type:
|
46
|
+
type: StringConstructor;
|
47
47
|
default: string;
|
48
|
-
validator(value:
|
48
|
+
validator(value: string): boolean;
|
49
49
|
};
|
50
50
|
videoRatio: {
|
51
51
|
type: NumberConstructor;
|
@@ -111,10 +111,6 @@ declare const _default: import('vue').DefineComponent<{
|
|
111
111
|
type: BooleanConstructor;
|
112
112
|
default: boolean;
|
113
113
|
};
|
114
|
-
plugins: {
|
115
|
-
type: import('vue').PropType<import('../core/tool').PluginType[]>;
|
116
|
-
default: () => never[];
|
117
|
-
};
|
118
114
|
dark: {
|
119
115
|
type: BooleanConstructor;
|
120
116
|
default: boolean;
|
@@ -292,10 +288,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
292
288
|
} | null;
|
293
289
|
}[];
|
294
290
|
current: number;
|
295
|
-
push: (stack: AlexElement[], range?: import('alex-editor').AlexRange | null
|
296
|
-
get: (type: 1 |
|
291
|
+
push: (stack: AlexElement[], range?: import('alex-editor').AlexRange | null) => void;
|
292
|
+
get: (type: -1 | 1) => import('alex-editor').AlexHistoryResultType | null;
|
297
293
|
updateCurrentRange: (range: import('alex-editor').AlexRange) => void;
|
298
|
-
__cloneRange: (newStack: AlexElement[], range?: import('alex-editor').AlexRange | null
|
294
|
+
__cloneRange: (newStack: AlexElement[], range?: import('alex-editor').AlexRange | null) => import('alex-editor').AlexRange | null;
|
299
295
|
};
|
300
296
|
stack: {
|
301
297
|
key: number;
|
@@ -508,8 +504,8 @@ declare const _default: import('vue').DefineComponent<{
|
|
508
504
|
addElementTo: (childEle: AlexElement, parentEle: AlexElement, index?: number | undefined) => void;
|
509
505
|
addElementBefore: (newEle: AlexElement, targetEle: AlexElement) => void;
|
510
506
|
addElementAfter: (newEle: AlexElement, targetEle: AlexElement) => void;
|
511
|
-
collapseToStart: (element?: AlexElement
|
512
|
-
collapseToEnd: (element?: AlexElement
|
507
|
+
collapseToStart: (element?: AlexElement) => void;
|
508
|
+
collapseToEnd: (element?: AlexElement) => void;
|
513
509
|
setDisabled: () => void;
|
514
510
|
setEnabled: () => void;
|
515
511
|
emit: (eventName: string, ...value: any) => boolean;
|
@@ -518,7 +514,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
518
514
|
} | null>;
|
519
515
|
isSourceView: import('vue').Ref<boolean>;
|
520
516
|
isFullScreen: import('vue').Ref<boolean>;
|
521
|
-
|
517
|
+
rangeKey: import('vue').Ref<number | null>;
|
522
518
|
dataRangeCaches: import('vue').Ref<{
|
523
519
|
list: {
|
524
520
|
element: {
|
@@ -564,7 +560,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
564
560
|
__render: () => void;
|
565
561
|
__fullClone: () => AlexElement;
|
566
562
|
};
|
567
|
-
offset:
|
563
|
+
offset: number[] | false;
|
568
564
|
}[];
|
569
565
|
flatList: {
|
570
566
|
element: {
|
@@ -610,7 +606,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
610
606
|
__render: () => void;
|
611
607
|
__fullClone: () => AlexElement;
|
612
608
|
};
|
613
|
-
offset:
|
609
|
+
offset: number[] | false;
|
614
610
|
}[];
|
615
611
|
}>;
|
616
612
|
textValue: import('vue').ComputedRef<string>;
|
@@ -620,10 +616,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
620
616
|
undo: () => void;
|
621
617
|
redo: () => void;
|
622
618
|
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
623
|
-
"update:modelValue": (...args: any[]) => void;
|
624
619
|
change: (...args: any[]) => void;
|
625
620
|
blur: (...args: any[]) => void;
|
626
621
|
focus: (...args: any[]) => void;
|
622
|
+
"update:modelValue": (...args: any[]) => void;
|
627
623
|
keydown: (...args: any[]) => void;
|
628
624
|
keyup: (...args: any[]) => void;
|
629
625
|
insertparagraph: (...args: any[]) => void;
|
@@ -671,9 +667,9 @@ declare const _default: import('vue').DefineComponent<{
|
|
671
667
|
default: boolean;
|
672
668
|
};
|
673
669
|
color: {
|
674
|
-
type:
|
670
|
+
type: StringConstructor;
|
675
671
|
default: string;
|
676
|
-
validator(value:
|
672
|
+
validator(value: string): boolean;
|
677
673
|
};
|
678
674
|
videoRatio: {
|
679
675
|
type: NumberConstructor;
|
@@ -739,10 +735,6 @@ declare const _default: import('vue').DefineComponent<{
|
|
739
735
|
type: BooleanConstructor;
|
740
736
|
default: boolean;
|
741
737
|
};
|
742
|
-
plugins: {
|
743
|
-
type: import('vue').PropType<import('../core/tool').PluginType[]>;
|
744
|
-
default: () => never[];
|
745
|
-
};
|
746
738
|
dark: {
|
747
739
|
type: BooleanConstructor;
|
748
740
|
default: boolean;
|
@@ -756,24 +748,23 @@ declare const _default: import('vue').DefineComponent<{
|
|
756
748
|
default: number;
|
757
749
|
};
|
758
750
|
}>> & {
|
759
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
760
751
|
onFocus?: ((...args: any[]) => any) | undefined;
|
761
752
|
onBlur?: ((...args: any[]) => any) | undefined;
|
762
753
|
onChange?: ((...args: any[]) => any) | undefined;
|
763
754
|
onKeydown?: ((...args: any[]) => any) | undefined;
|
764
755
|
onKeyup?: ((...args: any[]) => any) | undefined;
|
756
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
765
757
|
onInsertparagraph?: ((...args: any[]) => any) | undefined;
|
766
758
|
onRangeupdate?: ((...args: any[]) => any) | undefined;
|
767
759
|
onUpdateview?: ((...args: any[]) => any) | undefined;
|
768
760
|
}, {
|
769
|
-
color: string
|
761
|
+
color: string;
|
770
762
|
disabled: boolean;
|
771
763
|
zIndex: number;
|
772
|
-
modelValue: string;
|
773
|
-
border: boolean;
|
774
764
|
menu: MenuConfigType;
|
775
765
|
placeholder: string;
|
776
|
-
|
766
|
+
modelValue: string;
|
767
|
+
border: boolean;
|
777
768
|
toolbar: ToolbarConfigType;
|
778
769
|
locale: import('../locale').LocaleType;
|
779
770
|
autofocus: boolean;
|
@@ -793,8 +784,8 @@ declare const _default: import('vue').DefineComponent<{
|
|
793
784
|
customParseNode: (el: AlexElement) => AlexElement;
|
794
785
|
extraKeepTags: string[];
|
795
786
|
renderRules: ((el: AlexElement) => void)[];
|
787
|
+
autoheight: boolean;
|
796
788
|
tab: boolean;
|
797
|
-
plugins: import('../core/tool').PluginType[];
|
798
789
|
dark: boolean;
|
799
790
|
offset: number;
|
800
791
|
}, {}>;
|
@@ -6,7 +6,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
6
6
|
default: null;
|
7
7
|
};
|
8
8
|
color: {
|
9
|
-
type:
|
9
|
+
type: StringConstructor;
|
10
10
|
default: string;
|
11
11
|
};
|
12
12
|
zIndex: {
|
@@ -14,7 +14,6 @@ declare const _default: import('vue').DefineComponent<{
|
|
14
14
|
default: number;
|
15
15
|
};
|
16
16
|
}, {
|
17
|
-
handleRangeUpdate: () => void;
|
18
17
|
height: Ref<number>;
|
19
18
|
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
20
19
|
config: {
|
@@ -22,7 +21,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
22
21
|
default: null;
|
23
22
|
};
|
24
23
|
color: {
|
25
|
-
type:
|
24
|
+
type: StringConstructor;
|
26
25
|
default: string;
|
27
26
|
};
|
28
27
|
zIndex: {
|
@@ -30,7 +29,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
30
29
|
default: number;
|
31
30
|
};
|
32
31
|
}>>, {
|
33
|
-
color: string
|
32
|
+
color: string;
|
34
33
|
zIndex: number;
|
35
34
|
config: import('../../core/tool').MenuConfigType;
|
36
35
|
}, {}>;
|
package/lib/editify/props.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ExtractPublicPropTypes, PropType } from 'vue';
|
2
2
|
import { AlexElement } from 'alex-editor';
|
3
|
-
import {
|
3
|
+
import { MenuConfigType, ObjectType, ToolbarConfigType } from '../core/tool';
|
4
4
|
import { LocaleType } from '../locale';
|
5
5
|
|
6
6
|
export type EditifyResizeParamsType = {
|
@@ -54,9 +54,9 @@ export declare const EditifyProps: {
|
|
54
54
|
default: boolean;
|
55
55
|
};
|
56
56
|
color: {
|
57
|
-
type:
|
57
|
+
type: StringConstructor;
|
58
58
|
default: string;
|
59
|
-
validator(value:
|
59
|
+
validator(value: string): boolean;
|
60
60
|
};
|
61
61
|
videoRatio: {
|
62
62
|
type: NumberConstructor;
|
@@ -122,10 +122,6 @@ export declare const EditifyProps: {
|
|
122
122
|
type: BooleanConstructor;
|
123
123
|
default: boolean;
|
124
124
|
};
|
125
|
-
plugins: {
|
126
|
-
type: PropType<PluginType[]>;
|
127
|
-
default: () => never[];
|
128
|
-
};
|
129
125
|
dark: {
|
130
126
|
type: BooleanConstructor;
|
131
127
|
default: boolean;
|
@@ -15,7 +15,7 @@ export declare const ToolbarProps: {
|
|
15
15
|
default: null;
|
16
16
|
};
|
17
17
|
type: {
|
18
|
-
type: PropType<"
|
18
|
+
type: PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video">;
|
19
19
|
default: string;
|
20
20
|
validator(value: any): boolean;
|
21
21
|
};
|
@@ -24,7 +24,7 @@ export declare const ToolbarProps: {
|
|
24
24
|
default: null;
|
25
25
|
};
|
26
26
|
color: {
|
27
|
-
type:
|
27
|
+
type: StringConstructor;
|
28
28
|
default: string;
|
29
29
|
};
|
30
30
|
zIndex: {
|