@worktile/theia 15.0.19 → 15.1.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/esm2020/interfaces/editor.mjs +1 -1
- package/esm2020/interfaces/plugins/plugin-key.mjs +2 -2
- package/esm2020/interfaces/valid-children-types.mjs +7 -7
- package/esm2020/plugins/common/insert-data-by-invalid-type.mjs +23 -0
- package/esm2020/plugins/deserialize/deserialize-html.plugin.mjs +53 -0
- package/esm2020/plugins/deserialize/deserialize-md.plugin.mjs +130 -0
- package/esm2020/plugins/index.mjs +5 -5
- package/esm2020/plugins/mention/mention.plugin.mjs +3 -2
- package/esm2020/plugins/mention/mention.type.mjs +1 -1
- package/esm2020/utils/index.mjs +2 -1
- package/esm2020/utils/insert-data-by-invalid-type.mjs +62 -0
- package/esm2020/utils/merge-element-options.mjs +5 -5
- package/fesm2015/worktile-theia.mjs +82 -70
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +81 -69
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/interfaces/plugins/plugin-key.d.ts +1 -1
- package/interfaces/valid-children-types.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/common/insert-data-by-invalid-type.d.ts +2 -0
- package/plugins/mention/mention.type.d.ts +3 -1
- package/utils/index.d.ts +1 -0
- package/utils/insert-data-by-invalid-type.d.ts +1 -0
- package/esm2020/plugins/common/auto-insert-data.mjs +0 -75
- package/esm2020/plugins/deserializers/deserialize-html.plugin.mjs +0 -48
- package/esm2020/plugins/deserializers/deserialize-md.plugin.mjs +0 -130
- package/plugins/common/auto-insert-data.d.ts +0 -2
- /package/plugins/{deserializers → deserialize}/deserialize-html.plugin.d.ts +0 -0
- /package/plugins/{deserializers → deserialize}/deserialize-md.plugin.d.ts +0 -0
|
@@ -24,7 +24,7 @@ export declare enum PluginKeys {
|
|
|
24
24
|
removeVoid = "remove-void",
|
|
25
25
|
removeEmpty = "remove-empty",
|
|
26
26
|
theHistory = "the-history",
|
|
27
|
-
|
|
27
|
+
insertDataByInvalidType = "insert-data-by-invalid-type",
|
|
28
28
|
autoFormat = "auto-format",
|
|
29
29
|
transforms = "transforms",
|
|
30
30
|
moveSelection = "move-selection",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CustomElementKinds } from '../custom-types';
|
|
2
2
|
export interface ElementOptionsInfo {
|
|
3
3
|
type: CustomElementKinds;
|
|
4
|
-
|
|
4
|
+
invalidChildrenTypes: CustomElementKinds[];
|
|
5
5
|
isSecondaryContainer?: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare const inValidTypes: CustomElementKinds[];
|
package/package.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const withInsertDataByInvalidType: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
|
|
2
|
+
export declare const createInsertDataByInvalidTypePlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, {}>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, {}>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ComponentType } from '@angular/cdk/portal';
|
|
2
|
-
|
|
2
|
+
import { TheEditor } from '../../interfaces';
|
|
3
|
+
export interface TheMention {
|
|
3
4
|
type: string;
|
|
4
5
|
trigger: string;
|
|
5
6
|
suggestion: ComponentType<any>;
|
|
6
7
|
render: ComponentType<any>;
|
|
8
|
+
disableTrigger?: (editor: TheEditor) => boolean;
|
|
7
9
|
}
|
|
8
10
|
export interface MentionPluginOptions {
|
|
9
11
|
mentions: TheMention[];
|
package/utils/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function insertDataByInvalidType(editor: any, fragment: any): boolean;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Editor, Path, Transforms } from 'slate';
|
|
2
|
-
import { AngularEditor } from 'slate-angular';
|
|
3
|
-
import { DefaultElementOptions, PluginKeys } from '../../interfaces';
|
|
4
|
-
import { createPluginFactory, getPluginOptions } from '../../core';
|
|
5
|
-
import { extractFragment } from '../../utils/fragment';
|
|
6
|
-
import { mergeElementOptions } from '../../utils/merge-element-options';
|
|
7
|
-
import * as TheQueries from '../../queries';
|
|
8
|
-
export const withAutoInsertData = (editor) => {
|
|
9
|
-
const { insertData } = editor;
|
|
10
|
-
let allElementOptions = DefaultElementOptions;
|
|
11
|
-
// if (validChildren?.length) {
|
|
12
|
-
// const validInfo = mergeElementOptions(validChildren);
|
|
13
|
-
// allElementOptions = Object.values(validInfo);
|
|
14
|
-
// }
|
|
15
|
-
editor.insertData = (data) => {
|
|
16
|
-
if (editor.extraElementOptions?.length) {
|
|
17
|
-
const extraInfo = mergeElementOptions(editor.extraElementOptions);
|
|
18
|
-
allElementOptions = Object.values(extraInfo);
|
|
19
|
-
}
|
|
20
|
-
const fragment = extractFragment(data);
|
|
21
|
-
if (fragment) {
|
|
22
|
-
if (TheQueries.isAcrossBlocks(editor, fragment) || Editor.isVoid(editor, fragment[0])) {
|
|
23
|
-
const { selection } = editor;
|
|
24
|
-
const [start] = Editor.edges(editor, selection);
|
|
25
|
-
// query whether there is a node to be verified
|
|
26
|
-
const tryVerifyNode = allElementOptions.find(item => TheQueries.getAboveByType(editor, item.type, { at: start, mode: 'lowest' }));
|
|
27
|
-
if (tryVerifyNode) {
|
|
28
|
-
// is exist invalid element type in fragment
|
|
29
|
-
const invalidIndex = fragment.findIndex(item => tryVerifyNode.inValidChildrenTypes.includes(item.type));
|
|
30
|
-
if (invalidIndex > -1) {
|
|
31
|
-
const invalidFragmentData = fragment.slice(invalidIndex, fragment.length);
|
|
32
|
-
const allowParentTypes = getPluginOptions(editor, invalidFragmentData[0].type)?.allowParentTypes || [];
|
|
33
|
-
const insertNodePath = TheQueries.getInsertElementsPath(editor, allowParentTypes);
|
|
34
|
-
if (insertNodePath) {
|
|
35
|
-
Editor.withoutNormalizing(editor, () => {
|
|
36
|
-
Transforms.insertNodes(editor, fragment, { at: insertNodePath });
|
|
37
|
-
Transforms.select(editor, Editor.start(editor, insertNodePath));
|
|
38
|
-
});
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const [, anchorBlockPath] = TheQueries.anchorBlockEntry(editor);
|
|
42
|
-
const nextPath = Path.next([anchorBlockPath[0]]);
|
|
43
|
-
Transforms.insertNodes(editor, fragment, { at: nextPath });
|
|
44
|
-
Transforms.select(editor, Editor.start(editor, nextPath));
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
Editor.withoutNormalizing(editor, () => {
|
|
49
|
-
const isEmptyParagraph = TheQueries.isEmptyParagraph(editor, editor.selection.anchor);
|
|
50
|
-
const emptyPath = Path.parent(editor.selection.anchor.path);
|
|
51
|
-
Transforms.insertNodes(editor, fragment);
|
|
52
|
-
if (isEmptyParagraph) {
|
|
53
|
-
Transforms.delete(editor, { at: emptyPath });
|
|
54
|
-
const lastPath = emptyPath.pop();
|
|
55
|
-
Transforms.select(editor, [...emptyPath, lastPath + fragment.length - 1]);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
const lastPath = emptyPath.pop();
|
|
59
|
-
Transforms.select(editor, [...emptyPath, lastPath + fragment.length]);
|
|
60
|
-
}
|
|
61
|
-
AngularEditor.focus(editor);
|
|
62
|
-
Transforms.collapse(editor, { edge: 'end' });
|
|
63
|
-
});
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
insertData(data);
|
|
68
|
-
};
|
|
69
|
-
return editor;
|
|
70
|
-
};
|
|
71
|
-
export const createAutoInsertDataPlugin = createPluginFactory({
|
|
72
|
-
key: PluginKeys.autoInsertData,
|
|
73
|
-
withOverrides: withAutoInsertData
|
|
74
|
-
});
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1pbnNlcnQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2NvbW1vbi9hdXRvLWluc2VydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ2pFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDOUIsSUFBSSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztJQUM5QywrQkFBK0I7SUFDL0IsNERBQTREO0lBQzVELG9EQUFvRDtJQUNwRCxJQUFJO0lBRUosTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQWtCLEVBQUUsRUFBRTtRQUN2QyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLEVBQUU7WUFDcEMsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbEUsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtRQUNELE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25GLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDaEQsK0NBQStDO2dCQUMvQyxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDaEQsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQzlFLENBQUM7Z0JBQ0YsSUFBSSxhQUFhLEVBQUU7b0JBQ2YsNENBQTRDO29CQUM1QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDeEcsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ25CLE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7d0JBQ3ZHLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQXdDLENBQUMsQ0FBQzt3QkFDMUcsSUFBSSxjQUFjLEVBQUU7NEJBQ2hCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dDQUNuQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztnQ0FDakUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQzs0QkFDcEUsQ0FBQyxDQUFDLENBQUM7NEJBQ0gsT0FBTzt5QkFDVjt3QkFDRCxNQUFNLENBQUMsRUFBRSxlQUFlLENBQUMsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzt3QkFDM0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQzt3QkFDMUQsT0FBTztxQkFDVjtpQkFDSjtnQkFDRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzVELFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLGdCQUFnQixFQUFFO3dCQUNsQixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2pDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDN0U7eUJBQU07d0JBQ0gsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNqQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztxQkFDekU7b0JBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUIsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTzthQUNWO1NBQ0o7UUFDRCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQUM7SUFDMUQsR0FBRyxFQUFFLFVBQVUsQ0FBQyxjQUFjO0lBQzlCLGFBQWEsRUFBRSxrQkFBa0I7Q0FDcEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGVmYXVsdEVsZW1lbnRPcHRpb25zLCBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBleHRyYWN0RnJhZ21lbnQgfSBmcm9tICcuLi8uLi91dGlscy9mcmFnbWVudCc7XG5pbXBvcnQgeyBtZXJnZUVsZW1lbnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdXRpbHMvbWVyZ2UtZWxlbWVudC1vcHRpb25zJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEF1dG9JbnNlcnREYXRhID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgaW5zZXJ0RGF0YSB9ID0gZWRpdG9yO1xuICAgIGxldCBhbGxFbGVtZW50T3B0aW9ucyA9IERlZmF1bHRFbGVtZW50T3B0aW9ucztcbiAgICAvLyBpZiAodmFsaWRDaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgLy8gICAgIGNvbnN0IHZhbGlkSW5mbyA9IG1lcmdlRWxlbWVudE9wdGlvbnModmFsaWRDaGlsZHJlbik7XG4gICAgLy8gICAgIGFsbEVsZW1lbnRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyh2YWxpZEluZm8pO1xuICAgIC8vIH1cblxuICAgIGVkaXRvci5pbnNlcnREYXRhID0gKGRhdGE6IERhdGFUcmFuc2ZlcikgPT4ge1xuICAgICAgICBpZiAoZWRpdG9yLmV4dHJhRWxlbWVudE9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXh0cmFJbmZvID0gbWVyZ2VFbGVtZW50T3B0aW9ucyhlZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucyk7XG4gICAgICAgICAgICBhbGxFbGVtZW50T3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoZXh0cmFJbmZvKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGV4dHJhY3RGcmFnbWVudChkYXRhKTtcbiAgICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgICAgICBpZiAoVGhlUXVlcmllcy5pc0Fjcm9zc0Jsb2NrcyhlZGl0b3IsIGZyYWdtZW50KSB8fCBFZGl0b3IuaXNWb2lkKGVkaXRvciwgZnJhZ21lbnRbMF0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgICAgICAgICBjb25zdCBbc3RhcnRdID0gRWRpdG9yLmVkZ2VzKGVkaXRvciwgc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAvLyBxdWVyeSB3aGV0aGVyIHRoZXJlIGlzIGEgbm9kZSB0byBiZSB2ZXJpZmllZFxuICAgICAgICAgICAgICAgIGNvbnN0IHRyeVZlcmlmeU5vZGUgPSBhbGxFbGVtZW50T3B0aW9ucy5maW5kKGl0ZW0gPT5cbiAgICAgICAgICAgICAgICAgICAgVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIGl0ZW0udHlwZSwgeyBhdDogc3RhcnQsIG1vZGU6ICdsb3dlc3QnIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAodHJ5VmVyaWZ5Tm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBpcyBleGlzdCBpbnZhbGlkIGVsZW1lbnQgdHlwZSBpbiBmcmFnbWVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnZhbGlkSW5kZXggPSBmcmFnbWVudC5maW5kSW5kZXgoaXRlbSA9PiB0cnlWZXJpZnlOb2RlLmluVmFsaWRDaGlsZHJlblR5cGVzLmluY2x1ZGVzKGl0ZW0udHlwZSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW52YWxpZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludmFsaWRGcmFnbWVudERhdGEgPSBmcmFnbWVudC5zbGljZShpbnZhbGlkSW5kZXgsIGZyYWdtZW50Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbGxvd1BhcmVudFR5cGVzID0gZ2V0UGx1Z2luT3B0aW9ucyhlZGl0b3IsIGludmFsaWRGcmFnbWVudERhdGFbMF0udHlwZSk/LmFsbG93UGFyZW50VHlwZXMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnNlcnROb2RlUGF0aCA9IFRoZVF1ZXJpZXMuZ2V0SW5zZXJ0RWxlbWVudHNQYXRoKGVkaXRvciwgYWxsb3dQYXJlbnRUeXBlcyBhcyBDdXN0b21FbGVtZW50S2luZHNbXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0Tm9kZVBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgZnJhZ21lbnQsIHsgYXQ6IGluc2VydE5vZGVQYXRoIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5zdGFydChlZGl0b3IsIGluc2VydE5vZGVQYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgWywgYW5jaG9yQmxvY2tQYXRoXSA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dFBhdGggPSBQYXRoLm5leHQoW2FuY2hvckJsb2NrUGF0aFswXV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGZyYWdtZW50LCB7IGF0OiBuZXh0UGF0aCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLnN0YXJ0KGVkaXRvciwgbmV4dFBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0VtcHR5UGFyYWdyYXBoID0gVGhlUXVlcmllcy5pc0VtcHR5UGFyYWdyYXBoKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbXB0eVBhdGggPSBQYXRoLnBhcmVudChlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGZyYWdtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogZW1wdHlQYXRoIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbXB0eVBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFsuLi5lbXB0eVBhdGgsIGxhc3RQYXRoICsgZnJhZ21lbnQubGVuZ3RoIC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbXB0eVBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFsuLi5lbXB0eVBhdGgsIGxhc3RQYXRoICsgZnJhZ21lbnQubGVuZ3RoXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5mb2N1cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RGF0YShkYXRhKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBdXRvSW5zZXJ0RGF0YVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5hdXRvSW5zZXJ0RGF0YSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoQXV0b0luc2VydERhdGFcbn0pO1xuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Element, Transforms } from 'slate';
|
|
2
|
-
import { TheiaConverter } from '@atinc/selene';
|
|
3
|
-
import { CLIPBOARD_FORMAT_KEY, ElementKinds } from '../../constants';
|
|
4
|
-
import { filterTextFormat, recursionNodes } from '../../utils/fragment';
|
|
5
|
-
import { createPluginFactory } from '../../core';
|
|
6
|
-
import { PluginKeys } from '../../interfaces';
|
|
7
|
-
import { ImageEditor } from '../image/image.editor';
|
|
8
|
-
import { isLogicEmptyParagraphElement } from '../../queries/is-empty-paragraph';
|
|
9
|
-
export const withDeserializeHTML = (editor) => {
|
|
10
|
-
const { insertData } = editor;
|
|
11
|
-
editor.insertData = (data) => {
|
|
12
|
-
const html = data.getData(`text/html`);
|
|
13
|
-
const slateFragment = data.getData(`application/${CLIPBOARD_FORMAT_KEY}`);
|
|
14
|
-
if (html && !slateFragment) {
|
|
15
|
-
const htmlDom = new DOMParser().parseFromString(html, 'text/html');
|
|
16
|
-
const fragment = TheiaConverter.convertToTheia(Array.from(htmlDom.body.children));
|
|
17
|
-
// 无法识别HTML内容时后退一下:识别纯文本
|
|
18
|
-
if (fragment.every(block => block.type === ElementKinds.paragraph && isLogicEmptyParagraphElement(editor, block))) {
|
|
19
|
-
insertData(data);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
// 识出纯图片并且粘贴板中存在文件则不进行处理, hook 直接右键复制图片的场景,流转到上传图片流程
|
|
23
|
-
// 后续需要做识别html图片后自动上传处理
|
|
24
|
-
if (fragment.length === 1 && fragment[0].type === ElementKinds.image && data.files.length > 0) {
|
|
25
|
-
insertData(data);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
// 过滤 text 节点的 color/background-color 属性
|
|
29
|
-
fragment.forEach(node => filterTextFormat(node));
|
|
30
|
-
// base 64 图片处理
|
|
31
|
-
recursionNodes(fragment, (node) => {
|
|
32
|
-
const isImage = Element.isElement(node) && node.type === ElementKinds.image;
|
|
33
|
-
if (isImage) {
|
|
34
|
-
ImageEditor.handleBase64ImageElement(editor, node);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
Transforms.insertFragment(editor, fragment);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
insertData(data);
|
|
41
|
-
};
|
|
42
|
-
return editor;
|
|
43
|
-
};
|
|
44
|
-
export const createDeserializeHTMLPlugin = createPluginFactory({
|
|
45
|
-
key: PluginKeys.deserializeHtml,
|
|
46
|
-
withOverrides: withDeserializeHTML
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemUtaHRtbC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLWh0bWwucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUNsRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTlCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBRTFFLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNuRSxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBYyxDQUFDO1lBQy9GLHdCQUF3QjtZQUN4QixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxTQUFTLElBQUksNEJBQTRCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQy9HLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakIsT0FBTzthQUNWO1lBQ0Qsb0RBQW9EO1lBQ3BELHVCQUF1QjtZQUN2QixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzNGLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakIsT0FBTzthQUNWO1lBQ0Qsd0NBQXdDO1lBQ3hDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRWpELGVBQWU7WUFDZixjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBVSxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUM1RSxJQUFJLE9BQU8sRUFBRTtvQkFDVCxXQUFXLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUN0RDtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUMsT0FBTztTQUNWO1FBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0lBQzNELEdBQUcsRUFBRSxVQUFVLENBQUMsZUFBZTtJQUMvQixhQUFhLEVBQUUsbUJBQW1CO0NBQ3JDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVHJhbnNmb3JtcywgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZWlhQ29udmVydGVyIH0gZnJvbSAnQGF0aW5jL3NlbGVuZSc7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSwgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGZpbHRlclRleHRGb3JtYXQsIHJlY3Vyc2lvbk5vZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZnJhZ21lbnQnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3IgfSBmcm9tICcuLi9pbWFnZS9pbWFnZS5lZGl0b3InO1xuaW1wb3J0IHsgaXNMb2dpY0VtcHR5UGFyYWdyYXBoRWxlbWVudCB9IGZyb20gJy4uLy4uL3F1ZXJpZXMvaXMtZW1wdHktcGFyYWdyYXBoJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEZXNlcmlhbGl6ZUhUTUwgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBpbnNlcnREYXRhIH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3IuaW5zZXJ0RGF0YSA9IChkYXRhOiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICAgICAgY29uc3QgaHRtbCA9IGRhdGEuZ2V0RGF0YShgdGV4dC9odG1sYCk7XG4gICAgICAgIGNvbnN0IHNsYXRlRnJhZ21lbnQgPSBkYXRhLmdldERhdGEoYGFwcGxpY2F0aW9uLyR7Q0xJUEJPQVJEX0ZPUk1BVF9LRVl9YCk7XG5cbiAgICAgICAgaWYgKGh0bWwgJiYgIXNsYXRlRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGh0bWxEb20gPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGh0bWwsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gVGhlaWFDb252ZXJ0ZXIuY29udmVydFRvVGhlaWEoQXJyYXkuZnJvbShodG1sRG9tLmJvZHkuY2hpbGRyZW4pKSBhcyBFbGVtZW50W107XG4gICAgICAgICAgICAvLyDml6Dms5Xor4bliKtIVE1M5YaF5a655pe25ZCO6YCA5LiA5LiL77ya6K+G5Yir57qv5paH5pysXG4gICAgICAgICAgICBpZiAoZnJhZ21lbnQuZXZlcnkoYmxvY2sgPT4gYmxvY2sudHlwZSA9PT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCAmJiBpc0xvZ2ljRW1wdHlQYXJhZ3JhcGhFbGVtZW50KGVkaXRvciwgYmxvY2spKSkge1xuICAgICAgICAgICAgICAgIGluc2VydERhdGEoZGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8g6K+G5Ye657qv5Zu+54mH5bm25LiU57KY6LS05p2/5Lit5a2Y5Zyo5paH5Lu25YiZ5LiN6L+b6KGM5aSE55CGLCBob29rIOebtOaOpeWPs+mUruWkjeWItuWbvueJh+eahOWcuuaZr++8jOa1gei9rOWIsOS4iuS8oOWbvueJh+a1geeoi1xuICAgICAgICAgICAgLy8g5ZCO57ut6ZyA6KaB5YGa6K+G5YiraHRtbOWbvueJh+WQjuiHquWKqOS4iuS8oOWkhOeQhlxuICAgICAgICAgICAgaWYgKGZyYWdtZW50Lmxlbmd0aCA9PT0gMSAmJiBmcmFnbWVudFswXS50eXBlID09PSBFbGVtZW50S2luZHMuaW1hZ2UgJiYgZGF0YS5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaW5zZXJ0RGF0YShkYXRhKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyDov4fmu6QgdGV4dCDoioLngrnnmoQgY29sb3IvYmFja2dyb3VuZC1jb2xvciDlsZ7mgKdcbiAgICAgICAgICAgIGZyYWdtZW50LmZvckVhY2gobm9kZSA9PiBmaWx0ZXJUZXh0Rm9ybWF0KG5vZGUpKTtcblxuICAgICAgICAgICAgLy8gYmFzZSA2NCDlm77niYflpITnkIZcbiAgICAgICAgICAgIHJlY3Vyc2lvbk5vZGVzKGZyYWdtZW50LCAobm9kZTogTm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2UgPSBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5pbWFnZTtcbiAgICAgICAgICAgICAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICBJbWFnZUVkaXRvci5oYW5kbGVCYXNlNjRJbWFnZUVsZW1lbnQoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0RnJhZ21lbnQoZWRpdG9yLCBmcmFnbWVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpbnNlcnREYXRhKGRhdGEpO1xuICAgIH07XG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZXNlcmlhbGl6ZUhUTUxQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMuZGVzZXJpYWxpemVIdG1sLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhEZXNlcmlhbGl6ZUhUTUxcbn0pO1xuIl19
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
-
import { ThyPopover } from 'ngx-tethys/popover';
|
|
4
|
-
import { Element, Text, Transforms } from 'slate';
|
|
5
|
-
import { AngularEditor } from 'slate-angular';
|
|
6
|
-
import marked from 'marked';
|
|
7
|
-
import { TheiaConverter } from '@atinc/selene';
|
|
8
|
-
import { CLIPBOARD_FORMAT_KEY, ElementKinds } from '../../constants';
|
|
9
|
-
import * as TheTransforms from '../../transforms';
|
|
10
|
-
import { TheConversionHintComponent } from '../../components/conversion-hint/conversion-hint.component';
|
|
11
|
-
import { THE_EDITOR_CONVERSION_HINT_REF, getToolbarClass, recursionNodes } from '../../utils';
|
|
12
|
-
import { createPluginFactory } from '../../core';
|
|
13
|
-
import { PluginKeys } from '../../interfaces';
|
|
14
|
-
import { ImageEditor } from '../image/image.editor';
|
|
15
|
-
export const withDeserializeMd = (editor) => {
|
|
16
|
-
const { insertData, onKeydown } = editor;
|
|
17
|
-
editor.onKeydown = (event) => {
|
|
18
|
-
TheTransforms.closeConversionHint(editor);
|
|
19
|
-
onKeydown(event);
|
|
20
|
-
};
|
|
21
|
-
editor.insertData = (data) => {
|
|
22
|
-
const popover = editor.injector.get(ThyPopover);
|
|
23
|
-
const viewContainerRef = editor.injector.get(ViewContainerRef);
|
|
24
|
-
const cdr = editor.injector.get(ChangeDetectorRef);
|
|
25
|
-
const plainFragment = data.getData('text/plain');
|
|
26
|
-
const slateFragment = data.getData(`application/${CLIPBOARD_FORMAT_KEY}`);
|
|
27
|
-
const oldRange = editor.selection;
|
|
28
|
-
TheTransforms.closeConversionHint(editor);
|
|
29
|
-
if (plainFragment && isMarkdownStynx(plainFragment) && !slateFragment) {
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
const overlay = editor.injector.get(Overlay);
|
|
32
|
-
const bodyElement = document.body;
|
|
33
|
-
const toolbarClass = getToolbarClass(editor);
|
|
34
|
-
const toolbarElement = document.querySelector(`.${toolbarClass}`);
|
|
35
|
-
const origin = toolbarElement ? toolbarElement : bodyElement;
|
|
36
|
-
const placement = toolbarElement ? 'top' : 'topRight';
|
|
37
|
-
const hintPopverRef = popover.open(TheConversionHintComponent, {
|
|
38
|
-
initialState: {
|
|
39
|
-
editor,
|
|
40
|
-
conversion: () => {
|
|
41
|
-
try {
|
|
42
|
-
const html = marked(plainFragment.replace(/\n```/g, '\n\n```'), { gfm: true });
|
|
43
|
-
const htmlDom = new DOMParser().parseFromString(html, 'text/html');
|
|
44
|
-
const fragment = TheiaConverter.convertToTheia(Array.from(htmlDom.body.children));
|
|
45
|
-
if (!isUnformatted(fragment)) {
|
|
46
|
-
TheTransforms.closeConversionHint(editor);
|
|
47
|
-
editor.undo();
|
|
48
|
-
setTimeout(() => {
|
|
49
|
-
Transforms.select(editor, oldRange);
|
|
50
|
-
// base 64 图片处理
|
|
51
|
-
recursionNodes(fragment, (node) => {
|
|
52
|
-
const isImage = Element.isElement(node) && node.type === ElementKinds.image;
|
|
53
|
-
if (isImage) {
|
|
54
|
-
ImageEditor.handleBase64ImageElement(editor, node);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
Transforms.insertFragment(editor, fragment);
|
|
58
|
-
AngularEditor.focus(editor);
|
|
59
|
-
});
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
TheTransforms.closeConversionHint(editor);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
TheTransforms.closeConversionHint(editor);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
origin,
|
|
72
|
-
viewContainerRef,
|
|
73
|
-
placement,
|
|
74
|
-
offset: -100,
|
|
75
|
-
minWidth: 0,
|
|
76
|
-
hasBackdrop: false,
|
|
77
|
-
backdropClosable: false,
|
|
78
|
-
closeOnNavigation: false,
|
|
79
|
-
scrollStrategy: overlay.scrollStrategies.reposition()
|
|
80
|
-
});
|
|
81
|
-
THE_EDITOR_CONVERSION_HINT_REF.set(editor, hintPopverRef);
|
|
82
|
-
cdr.markForCheck();
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
insertData(data);
|
|
86
|
-
};
|
|
87
|
-
return editor;
|
|
88
|
-
};
|
|
89
|
-
export const createDeserializeMdPlugin = createPluginFactory({
|
|
90
|
-
key: PluginKeys.deserializeMd,
|
|
91
|
-
withOverrides: withDeserializeMd
|
|
92
|
-
});
|
|
93
|
-
const isUnformatted = (elements) => {
|
|
94
|
-
return elements.every(element => element.type === ElementKinds.default &&
|
|
95
|
-
element.children.every((node) => {
|
|
96
|
-
return Text.isText(node) && Object.keys(node).length === 1;
|
|
97
|
-
}));
|
|
98
|
-
};
|
|
99
|
-
const isMarkdownStynx = content => {
|
|
100
|
-
// https://github.com/Chalarangelo/parse-md-js/blob/master/parsemd.js
|
|
101
|
-
const codeBlockRegex = /((\n\t)(.*))+/g;
|
|
102
|
-
const inlineCodeRegex = /(`)(.*?)\1/g;
|
|
103
|
-
const imageRegex = /!\[([^\[]+)\]\(([^\)]+)\)/g;
|
|
104
|
-
const linkRegex = /\[([^\[]+)\]\(([^\)]+)\)/g;
|
|
105
|
-
const headingRegex = /(#+\s*)(.*)/g;
|
|
106
|
-
const boldItalicsRegex = /(\*{1,2})(\S+)\1/g;
|
|
107
|
-
const strikethroughRegex = /(\~\~)(.*?)\1/g;
|
|
108
|
-
const blockquoteRegex = /\n(>|\>)(.*)/g;
|
|
109
|
-
const horizontalRuleRegex = /\n((\-{3,})|(={3,}))/g;
|
|
110
|
-
const unorderedListRegex = /(\n\s*(\-|\+)\s.*)+/g;
|
|
111
|
-
const orderedListRegex = /(\n\s*([0-9]+\.)\s.*)+/g;
|
|
112
|
-
const paragraphRegex = /\n+(?!<pre>)(?!<h)(?!<ul>)(?!<blockquote)(?!<hr)(?!\t)([^\n]+)\n/g;
|
|
113
|
-
// from marked
|
|
114
|
-
const table = /^\s*([^\s].*\|.*)\s{0,3}(?:\|\s*)?(:?-+:?\s*(?:\|\s*:?-+:?\s*)*)\|?(?:\s*((?:(?!|hr|heading|blockquote|code|fences|list|html).*(?:|$))*)*|$)/g;
|
|
115
|
-
const regexps = [
|
|
116
|
-
inlineCodeRegex,
|
|
117
|
-
imageRegex,
|
|
118
|
-
linkRegex,
|
|
119
|
-
headingRegex,
|
|
120
|
-
boldItalicsRegex,
|
|
121
|
-
strikethroughRegex,
|
|
122
|
-
blockquoteRegex,
|
|
123
|
-
horizontalRuleRegex,
|
|
124
|
-
unorderedListRegex,
|
|
125
|
-
orderedListRegex,
|
|
126
|
-
table
|
|
127
|
-
];
|
|
128
|
-
return regexps.some(regexp => regexp.test(content));
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemUtbWQucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1tZC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFVLE9BQU8sRUFBUSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBbUIsTUFBUyxFQUFLLEVBQUU7SUFDaEUsTUFBTSxFQUFFLFVBQVUsRUFBRSxT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VTtRQUNWLFNBQVM7UUFDVCxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsS0FBSztLQUNSLENBQUM7SUFDRixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTm9kZSwgVGV4dCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCBtYXJrZWQgZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IFRoZWlhQ29udmVydGVyIH0gZnJvbSAnQGF0aW5jL3NlbGVuZSc7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSwgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUaGVDb252ZXJzaW9uSGludENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29udmVyc2lvbi1oaW50L2NvbnZlcnNpb24taGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEhFX0VESVRPUl9DT05WRVJTSU9OX0hJTlRfUkVGLCBnZXRUb29sYmFyQ2xhc3MsIHJlY3Vyc2lvbk5vZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3IgfSBmcm9tICcuLi9pbWFnZS9pbWFnZS5lZGl0b3InO1xuXG5leHBvcnQgY29uc3Qgd2l0aERlc2VyaWFsaXplTWQgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBpbnNlcnREYXRhLCBvbktleWRvd24gfSA9IGVkaXRvcjtcblxuICAgIGVkaXRvci5vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5jbG9zZUNvbnZlcnNpb25IaW50KGVkaXRvcik7XG4gICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnREYXRhID0gKGRhdGE6IERhdGFUcmFuc2ZlcikgPT4ge1xuICAgICAgICBjb25zdCBwb3BvdmVyID0gZWRpdG9yLmluamVjdG9yLmdldChUaHlQb3BvdmVyKTtcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IGVkaXRvci5pbmplY3Rvci5nZXQoVmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIGNvbnN0IGNkciA9IGVkaXRvci5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIGNvbnN0IHBsYWluRnJhZ21lbnQgPSBkYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcbiAgICAgICAgY29uc3Qgc2xhdGVGcmFnbWVudCA9IGRhdGEuZ2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQQk9BUkRfRk9STUFUX0tFWX1gKTtcbiAgICAgICAgY29uc3Qgb2xkUmFuZ2UgPSBlZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICBUaGVUcmFuc2Zvcm1zLmNsb3NlQ29udmVyc2lvbkhpbnQoZWRpdG9yKTtcblxuICAgICAgICBpZiAocGxhaW5GcmFnbWVudCAmJiBpc01hcmtkb3duU3R5bngocGxhaW5GcmFnbWVudCkgJiYgIXNsYXRlRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KE92ZXJsYXkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlFbGVtZW50ID0gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29sYmFyQ2xhc3MgPSBnZXRUb29sYmFyQ2xhc3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29sYmFyRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3Rvb2xiYXJDbGFzc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW4gPSB0b29sYmFyRWxlbWVudCA/IHRvb2xiYXJFbGVtZW50IDogYm9keUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50ID0gdG9vbGJhckVsZW1lbnQgPyAndG9wJyA6ICd0b3BSaWdodCc7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoaW50UG9wdmVyUmVmID0gcG9wb3Zlci5vcGVuKFRoZUNvbnZlcnNpb25IaW50Q29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udmVyc2lvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBtYXJrZWQocGxhaW5GcmFnbWVudC5yZXBsYWNlKC9cXG5gYGAvZywgJ1xcblxcbmBgYCcpLCB7IGdmbTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbERvbSA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoaHRtbCwgJ3RleHQvaHRtbCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IFRoZWlhQ29udmVydGVyLmNvbnZlcnRUb1RoZWlhKEFycmF5LmZyb20oaHRtbERvbS5ib2R5LmNoaWxkcmVuKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1VuZm9ybWF0dGVkKGZyYWdtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5jbG9zZUNvbnZlcnNpb25IaW50KGVkaXRvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci51bmRvKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgb2xkUmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhc2UgNjQg5Zu+54mH5aSE55CGXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdXJzaW9uTm9kZXMoZnJhZ21lbnQsIChub2RlOiBOb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2UgPSBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5pbWFnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlRWRpdG9yLmhhbmRsZUJhc2U2NEltYWdlRWxlbWVudChlZGl0b3IsIG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnRGcmFnbWVudChlZGl0b3IsIGZyYWdtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLmZvY3VzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuY2xvc2VDb252ZXJzaW9uSGludChlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5jbG9zZUNvbnZlcnNpb25IaW50KGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAtMTAwLFxuICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFRIRV9FRElUT1JfQ09OVkVSU0lPTl9ISU5UX1JFRi5zZXQoZWRpdG9yLCBoaW50UG9wdmVyUmVmKTtcbiAgICAgICAgICAgICAgICBjZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydERhdGEoZGF0YSk7XG4gICAgfTtcbiAgICByZXR1cm4gZWRpdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlc2VyaWFsaXplTWRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMuZGVzZXJpYWxpemVNZCxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoRGVzZXJpYWxpemVNZFxufSk7XG5cbmNvbnN0IGlzVW5mb3JtYXR0ZWQgPSAoZWxlbWVudHM6IEVsZW1lbnRbXSkgPT4ge1xuICAgIHJldHVybiBlbGVtZW50cy5ldmVyeShcbiAgICAgICAgZWxlbWVudCA9PlxuICAgICAgICAgICAgZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMuZGVmYXVsdCAmJlxuICAgICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5ldmVyeSgobm9kZTogTm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBUZXh0LmlzVGV4dChub2RlKSAmJiBPYmplY3Qua2V5cyhub2RlKS5sZW5ndGggPT09IDE7XG4gICAgICAgICAgICB9KVxuICAgICk7XG59O1xuXG5jb25zdCBpc01hcmtkb3duU3R5bnggPSBjb250ZW50ID0+IHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vQ2hhbGFyYW5nZWxvL3BhcnNlLW1kLWpzL2Jsb2IvbWFzdGVyL3BhcnNlbWQuanNcbiAgICBjb25zdCBjb2RlQmxvY2tSZWdleCA9IC8oKFxcblxcdCkoLiopKSsvZztcbiAgICBjb25zdCBpbmxpbmVDb2RlUmVnZXggPSAvKGApKC4qPylcXDEvZztcbiAgICBjb25zdCBpbWFnZVJlZ2V4ID0gLyFcXFsoW15cXFtdKylcXF1cXCgoW15cXCldKylcXCkvZztcbiAgICBjb25zdCBsaW5rUmVnZXggPSAvXFxbKFteXFxbXSspXFxdXFwoKFteXFwpXSspXFwpL2c7XG4gICAgY29uc3QgaGVhZGluZ1JlZ2V4ID0gLygjK1xccyopKC4qKS9nO1xuICAgIGNvbnN0IGJvbGRJdGFsaWNzUmVnZXggPSAvKFxcKnsxLDJ9KShcXFMrKVxcMS9nO1xuICAgIGNvbnN0IHN0cmlrZXRocm91Z2hSZWdleCA9IC8oXFx+XFx+KSguKj8pXFwxL2c7XG4gICAgY29uc3QgYmxvY2txdW90ZVJlZ2V4ID0gL1xcbigmZ3Q7fFxcPikoLiopL2c7XG4gICAgY29uc3QgaG9yaXpvbnRhbFJ1bGVSZWdleCA9IC9cXG4oKFxcLXszLH0pfCg9ezMsfSkpL2c7XG4gICAgY29uc3QgdW5vcmRlcmVkTGlzdFJlZ2V4ID0gLyhcXG5cXHMqKFxcLXxcXCspXFxzLiopKy9nO1xuICAgIGNvbnN0IG9yZGVyZWRMaXN0UmVnZXggPSAvKFxcblxccyooWzAtOV0rXFwuKVxccy4qKSsvZztcbiAgICBjb25zdCBwYXJhZ3JhcGhSZWdleCA9IC9cXG4rKD8hPHByZT4pKD8hPGgpKD8hPHVsPikoPyE8YmxvY2txdW90ZSkoPyE8aHIpKD8hXFx0KShbXlxcbl0rKVxcbi9nO1xuICAgIC8vIGZyb20gbWFya2VkXG4gICAgY29uc3QgdGFibGUgPVxuICAgICAgICAvXlxccyooW15cXHNdLipcXHwuKilcXHN7MCwzfSg/OlxcfFxccyopPyg6Py0rOj9cXHMqKD86XFx8XFxzKjo/LSs6P1xccyopKilcXHw/KD86XFxzKigoPzooPyF8aHJ8aGVhZGluZ3xibG9ja3F1b3RlfGNvZGV8ZmVuY2VzfGxpc3R8aHRtbCkuKig/OnwkKSkqKSp8JCkvZztcbiAgICBjb25zdCByZWdleHBzID0gW1xuICAgICAgICBpbmxpbmVDb2RlUmVnZXgsXG4gICAgICAgIGltYWdlUmVnZXgsXG4gICAgICAgIGxpbmtSZWdleCxcbiAgICAgICAgaGVhZGluZ1JlZ2V4LFxuICAgICAgICBib2xkSXRhbGljc1JlZ2V4LFxuICAgICAgICBzdHJpa2V0aHJvdWdoUmVnZXgsXG4gICAgICAgIGJsb2NrcXVvdGVSZWdleCxcbiAgICAgICAgaG9yaXpvbnRhbFJ1bGVSZWdleCxcbiAgICAgICAgdW5vcmRlcmVkTGlzdFJlZ2V4LFxuICAgICAgICBvcmRlcmVkTGlzdFJlZ2V4LFxuICAgICAgICB0YWJsZVxuICAgIF07XG4gICAgcmV0dXJuIHJlZ2V4cHMuc29tZShyZWdleHAgPT4gcmVnZXhwLnRlc3QoY29udGVudCkpO1xufTtcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const withAutoInsertData: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
|
|
2
|
-
export declare const createAutoInsertDataPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, {}>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, {}>;
|
|
File without changes
|
|
File without changes
|