@worktile/theia 3.0.0-next.1 → 3.0.0-next.4
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/bundles/worktile-theia.umd.js +201 -210
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/core/utils/combine-plugins.d.ts +2 -0
- package/core/utils/get-plugin-by-key.d.ts +2 -0
- package/core/utils/index.d.ts +5 -2
- package/core/utils/merge-deep-plugins.d.ts +2 -0
- package/core/utils/merge-options.d.ts +1 -1
- package/core/utils/nested-structure-by-key.d.ts +2 -0
- package/core/utils/plugins-by-key.d.ts +2 -0
- package/esm2015/core/create-plugin.js +2 -4
- package/esm2015/core/utils/combine-plugins.js +10 -0
- package/esm2015/core/utils/flatten-deep-plugins.js +2 -20
- package/esm2015/core/utils/get-plugin-by-key.js +8 -0
- package/esm2015/core/utils/get-plugin.js +3 -3
- package/esm2015/core/utils/index.js +6 -3
- package/esm2015/core/utils/merge-deep-plugins.js +16 -0
- package/esm2015/core/utils/merge-options.js +5 -5
- package/esm2015/core/utils/nested-structure-by-key.js +11 -0
- package/esm2015/core/utils/plugins-by-key.js +10 -0
- package/esm2015/core/with-theia.js +9 -22
- package/esm2015/editor.component.js +2 -3
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/plugins/autoformat/autoformat.plugin.js +11 -11
- package/esm2015/plugins/blockquote/blockquote.editor.js +8 -8
- package/esm2015/plugins/code/code.editor.js +3 -3
- package/esm2015/plugins/hr/hr.editor.js +2 -2
- package/esm2015/plugins/list/list.editor.js +1 -2
- package/esm2015/plugins/quick-insert/quick-insert.plugin.js +4 -4
- package/esm2015/plugins/table/transforms/insert-table.js +2 -2
- package/esm2015/plugins/todo-item/todo-item.component.js +8 -9
- package/esm2015/plugins/todo-item/todo-item.plugin.js +3 -2
- package/esm2015/transforms/index.js +3 -4
- package/esm2015/transforms/insert-elements.js +40 -0
- package/fesm2015/worktile-theia.js +189 -203
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +1 -7
- package/package.json +1 -1
- package/plugins/autoformat/autoformat.plugin.d.ts +5 -1
- package/plugins/quick-insert/quick-insert.plugin.d.ts +2 -0
- package/plugins/todo-item/todo-item.component.d.ts +1 -0
- package/plugins/todo-item/todo-item.plugin.d.ts +4 -1
- package/transforms/index.d.ts +2 -3
- package/transforms/insert-elements.d.ts +2 -0
- package/core/utils/get-plugins-by-key.d.ts +0 -2
- package/core/utils/override-plugins-by-key.d.ts +0 -5
- package/esm2015/core/utils/get-plugins-by-key.js +0 -8
- package/esm2015/core/utils/override-plugins-by-key.js +0 -27
- package/esm2015/transforms/insert-element-next.js +0 -40
- package/esm2015/transforms/insert-element.js +0 -2
- package/transforms/insert-element-next.d.ts +0 -2
- package/transforms/insert-element.d.ts +0 -3
package/interfaces/editor.d.ts
CHANGED
|
@@ -6,9 +6,8 @@ import { ElementOptionsInfo } from './valid-children-types';
|
|
|
6
6
|
import { Predicate } from '../utils/match';
|
|
7
7
|
import { ToolbarOption } from './toolbar';
|
|
8
8
|
import { CustomElementKinds } from '../custom-types';
|
|
9
|
-
import {
|
|
9
|
+
import { FontSizes } from '../constants';
|
|
10
10
|
import { ThePlugin } from './plugins';
|
|
11
|
-
import { AutoFormatRule } from './auto-format';
|
|
12
11
|
import { OverrideByKey, NestedStructureByKey } from './utility';
|
|
13
12
|
export interface TheEditor extends AngularEditor, HistoryEditor {
|
|
14
13
|
[key: string]: any;
|
|
@@ -18,10 +17,8 @@ export interface TheEditor extends AngularEditor, HistoryEditor {
|
|
|
18
17
|
pluginsByKey: OverrideByKey;
|
|
19
18
|
nestedStructureByKey: NestedStructureByKey;
|
|
20
19
|
extraElementOptions: ElementOptionsInfo[];
|
|
21
|
-
extraAutoFormatRules: AutoFormatRule[];
|
|
22
20
|
renderElement: (element: Element) => ViewType;
|
|
23
21
|
renderLeaf: (text: Text) => ViewType;
|
|
24
|
-
insertElement: (nodes: Node | Node[]) => void;
|
|
25
22
|
isContainer: (element: Element) => boolean;
|
|
26
23
|
}
|
|
27
24
|
export declare const TheEditor: {
|
|
@@ -87,7 +84,6 @@ export declare const THE_MODE_PROVIDER: {
|
|
|
87
84
|
};
|
|
88
85
|
};
|
|
89
86
|
export interface TheOptions {
|
|
90
|
-
allowContainerOperateTypes?: CustomElementKinds[];
|
|
91
87
|
mode?: TheDataMode;
|
|
92
88
|
readonly?: boolean;
|
|
93
89
|
disabled?: boolean;
|
|
@@ -103,8 +99,6 @@ export interface TheOptions {
|
|
|
103
99
|
toolbar?: ToolbarOption;
|
|
104
100
|
disablePlugins?: string[];
|
|
105
101
|
extraElementOptions?: ElementOptionsInfo[];
|
|
106
|
-
extraAutoFormatRules?: AutoFormatRule[];
|
|
107
|
-
noBindReadonlyPlugins?: (ElementKinds | string)[];
|
|
108
102
|
}
|
|
109
103
|
export declare type NodeMatch<T = Node> = Predicate<T>;
|
|
110
104
|
export interface MatchOptions<T = Node> {
|
package/package.json
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { AutoFormatRule } from '../../interfaces/auto-format';
|
|
2
|
+
export interface AutoFormatOptions {
|
|
3
|
+
autoFormatRules: AutoFormatRule[];
|
|
4
|
+
}
|
|
1
5
|
export declare const withAutoFormat: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
|
|
2
|
-
export declare const createAutoFormatPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T,
|
|
6
|
+
export declare const createAutoFormatPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, AutoFormatOptions>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, AutoFormatOptions>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Editor } from 'slate';
|
|
2
2
|
import { ElementKinds } from '../../constants';
|
|
3
|
+
import { CustomElementKinds } from '../../custom-types';
|
|
3
4
|
export interface QuickInsertPluginOptions {
|
|
4
5
|
hotKey?: string;
|
|
6
|
+
allowHotkeyInTypes?: CustomElementKinds[];
|
|
5
7
|
}
|
|
6
8
|
export declare const withQuickInsert: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
|
|
7
9
|
export declare const createQuickInsertPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, QuickInsertPluginOptions>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, QuickInsertPluginOptions>;
|
|
@@ -11,6 +11,7 @@ export declare class TheTodoItemComponent extends TheBaseElementComponent<TodoIt
|
|
|
11
11
|
checked: boolean;
|
|
12
12
|
checkItemClass: boolean;
|
|
13
13
|
get level(): number;
|
|
14
|
+
get editableWithReadonly(): boolean;
|
|
14
15
|
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, ctxService: TheContextService);
|
|
15
16
|
ngOnInit(): void;
|
|
16
17
|
onCheck(checked: boolean): boolean;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
export interface TodoItemPluginOptions {
|
|
2
|
+
editableWithReadonly?: boolean;
|
|
3
|
+
}
|
|
1
4
|
export declare const withTodoItem: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
|
|
2
|
-
export declare const createTodoItemPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T,
|
|
5
|
+
export declare const createTodoItemPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, TodoItemPluginOptions>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, TodoItemPluginOptions>;
|
package/transforms/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { setMarks } from './set-marks';
|
|
2
2
|
import { clearMarks } from './clear-marks';
|
|
3
|
-
import {
|
|
4
|
-
import { insertElementNext } from './insert-element-next';
|
|
3
|
+
import { insertElements } from './insert-elements';
|
|
5
4
|
import { setNode } from './set-node';
|
|
6
5
|
import { unwrapNodesByType } from './unwrap-nodes-by-type';
|
|
7
6
|
import { onKeyDownResetBlockType } from './on-keydown-reset-block-type';
|
|
@@ -16,4 +15,4 @@ import { setEndSelection } from './set-end-selection';
|
|
|
16
15
|
import { closeConversionHint } from './close-conversion-hint';
|
|
17
16
|
import { handleContinualDeleteBackward } from './handle-continual-delete-backward';
|
|
18
17
|
import { handleContinualInsertBreak } from './handle-continual-insert-break';
|
|
19
|
-
export { setMarks, clearMarks,
|
|
18
|
+
export { setMarks, clearMarks, insertElements, insertParagraph, setNode, unwrapNodesByType, onKeyDownResetBlockType, moveChildren, applyDeepToNodes, mergeDeepToNodes, unWrap, splitNode, deleteElement, setEndSelection, closeConversionHint, handleContinualDeleteBackward, handleContinualInsertBreak };
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { NoInfer, OverrideByKey, ThePlugin } from '../../interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* 将每个 plugin 从 `overrideByKey` 递归深度合并到具有相同 key 的 plugin(plugin > plugin.plugins)。
|
|
4
|
-
*/
|
|
5
|
-
export declare const overridePluginsByKey: <T = {}, P = {}>(plugin: ThePlugin<T, NoInfer<P>>, overrideByKey?: OverrideByKey, nested?: boolean) => ThePlugin<T, NoInfer<P>>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export const getPluginsByKey = (editor) => {
|
|
2
|
-
const plugins = {};
|
|
3
|
-
if (editor === null || editor === void 0 ? void 0 : editor.pluginsByKey) {
|
|
4
|
-
return editor.pluginsByKey;
|
|
5
|
-
}
|
|
6
|
-
return plugins;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsdWdpbnMtYnkta2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvcmUvdXRpbHMvZ2V0LXBsdWdpbnMtYnkta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFpQixNQUFrQixFQUEwQyxFQUFFO0lBQzFHLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVuQixJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxZQUFZLEVBQUU7UUFDdEIsT0FBTyxNQUFNLENBQUMsWUFBc0QsQ0FBQztLQUN4RTtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbktleSwgVGhlRWRpdG9yLCBXaXRoVGhlUGx1Z2luIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRQbHVnaW5zQnlLZXkgPSA8VCA9IHt9LCBQID0ge30+KGVkaXRvcj86IFRoZUVkaXRvcik6IFJlY29yZDxQbHVnaW5LZXksIFdpdGhUaGVQbHVnaW48VCwgUD4+ID0+IHtcbiAgICBjb25zdCBwbHVnaW5zID0ge307XG5cbiAgICBpZiAoZWRpdG9yPy5wbHVnaW5zQnlLZXkpIHtcbiAgICAgICAgcmV0dXJuIGVkaXRvci5wbHVnaW5zQnlLZXkgYXMgUmVjb3JkPFBsdWdpbktleSwgV2l0aFRoZVBsdWdpbjxULCBQPj47XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdWdpbnM7XG59O1xuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
|
-
import { _ } from '../../utils/lodash';
|
|
3
|
-
import { mergeOptions } from './merge-options';
|
|
4
|
-
/**
|
|
5
|
-
* 将每个 plugin 从 `overrideByKey` 递归深度合并到具有相同 key 的 plugin(plugin > plugin.plugins)。
|
|
6
|
-
*/
|
|
7
|
-
export const overridePluginsByKey = (plugin, overrideByKey = {}, nested) => {
|
|
8
|
-
if (overrideByKey[plugin.key]) {
|
|
9
|
-
plugin = mergeOptions(plugin, overrideByKey);
|
|
10
|
-
const _a = overrideByKey[plugin.key], { plugins: pluginOverridesPlugins } = _a, pluginOverrides = __rest(_a, ["plugins"]);
|
|
11
|
-
plugin = _.defaultsDeep(pluginOverrides, plugin);
|
|
12
|
-
if (!nested) {
|
|
13
|
-
pluginOverridesPlugins === null || pluginOverridesPlugins === void 0 ? void 0 : pluginOverridesPlugins.forEach(pOverrides => {
|
|
14
|
-
if (!plugin.plugins)
|
|
15
|
-
plugin.plugins = [];
|
|
16
|
-
const found = plugin.plugins.find(p => p.key === pOverrides.key);
|
|
17
|
-
if (!found)
|
|
18
|
-
plugin.plugins.push(pOverrides);
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
if (plugin.plugins) {
|
|
23
|
-
plugin.plugins = plugin.plugins.map(p => overridePluginsByKey(p, overrideByKey, true));
|
|
24
|
-
}
|
|
25
|
-
return plugin;
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGUtcGx1Z2lucy1ieS1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29yZS91dGlscy9vdmVycmlkZS1wbHVnaW5zLWJ5LWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2hDLE1BQWdDLEVBQ2hDLGdCQUErQixFQUFFLEVBQ2pDLE1BQWdCLEVBQ1EsRUFBRTtJQUMxQixJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDM0IsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFN0MsTUFBTSxLQUEwRCxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFuRixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsT0FBa0QsRUFBN0MsZUFBZSxjQUFyRCxXQUF1RCxDQUE0QixDQUFDO1FBRTFGLE1BQU0sR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1Qsc0JBQXNCLGFBQXRCLHNCQUFzQix1QkFBdEIsc0JBQXNCLENBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87b0JBQUUsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBRXpDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxLQUFLO29CQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1NBQ047S0FDSjtJQUVELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNoQixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ2pHO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJy4uLy4uL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBOb0luZmVyLCBPdmVycmlkZUJ5S2V5LCBUaGVQbHVnaW4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1lcmdlT3B0aW9ucyB9IGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5cbi8qKlxuICog5bCG5q+P5LiqIHBsdWdpbiDku44gYG92ZXJyaWRlQnlLZXlgIOmAkuW9kua3seW6puWQiOW5tuWIsOWFt+acieebuOWQjCBrZXkg55qEIHBsdWdpbu+8iHBsdWdpbiA+IHBsdWdpbi5wbHVnaW5z77yJ44CCXG4gKi9cbmV4cG9ydCBjb25zdCBvdmVycmlkZVBsdWdpbnNCeUtleSA9IDxUID0ge30sIFAgPSB7fT4oXG4gICAgcGx1Z2luOiBUaGVQbHVnaW48VCwgTm9JbmZlcjxQPj4sXG4gICAgb3ZlcnJpZGVCeUtleTogT3ZlcnJpZGVCeUtleSA9IHt9LFxuICAgIG5lc3RlZD86IGJvb2xlYW5cbik6IFRoZVBsdWdpbjxULCBOb0luZmVyPFA+PiA9PiB7XG4gICAgaWYgKG92ZXJyaWRlQnlLZXlbcGx1Z2luLmtleV0pIHtcbiAgICAgICAgcGx1Z2luID0gbWVyZ2VPcHRpb25zKHBsdWdpbiwgb3ZlcnJpZGVCeUtleSk7XG5cbiAgICAgICAgY29uc3QgeyBwbHVnaW5zOiBwbHVnaW5PdmVycmlkZXNQbHVnaW5zLCAuLi5wbHVnaW5PdmVycmlkZXMgfSA9IG92ZXJyaWRlQnlLZXlbcGx1Z2luLmtleV07XG5cbiAgICAgICAgcGx1Z2luID0gXy5kZWZhdWx0c0RlZXAocGx1Z2luT3ZlcnJpZGVzLCBwbHVnaW4pO1xuXG4gICAgICAgIGlmICghbmVzdGVkKSB7XG4gICAgICAgICAgICBwbHVnaW5PdmVycmlkZXNQbHVnaW5zPy5mb3JFYWNoKHBPdmVycmlkZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcGx1Z2luLnBsdWdpbnMpIHBsdWdpbi5wbHVnaW5zID0gW107XG5cbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZCA9IHBsdWdpbi5wbHVnaW5zLmZpbmQocCA9PiBwLmtleSA9PT0gcE92ZXJyaWRlcy5rZXkpO1xuICAgICAgICAgICAgICAgIGlmICghZm91bmQpIHBsdWdpbi5wbHVnaW5zLnB1c2gocE92ZXJyaWRlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwbHVnaW4ucGx1Z2lucykge1xuICAgICAgICBwbHVnaW4ucGx1Z2lucyA9IHBsdWdpbi5wbHVnaW5zLm1hcChwID0+IG92ZXJyaWRlUGx1Z2luc0J5S2V5PFQsIHt9PihwLCBvdmVycmlkZUJ5S2V5LCB0cnVlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdWdpbjtcbn07XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Editor, Range, Path, Transforms } from 'slate';
|
|
2
|
-
import { getPluginOptions } from '../core/utils/get-plugin-options';
|
|
3
|
-
import * as TheQueries from '../queries';
|
|
4
|
-
export const insertElementNext = (editor, element) => {
|
|
5
|
-
var _a;
|
|
6
|
-
if (Range.isExpanded(editor.selection)) {
|
|
7
|
-
Editor.deleteFragment(editor);
|
|
8
|
-
}
|
|
9
|
-
const type = element.type;
|
|
10
|
-
const allowParentTypes = ((_a = getPluginOptions(editor, type)) === null || _a === void 0 ? void 0 : _a.allowParentTypes) || [];
|
|
11
|
-
const isAllowInsert = TheQueries.isTypesInParent(editor, allowParentTypes);
|
|
12
|
-
const [anchorBlock, anchorBlockPath] = TheQueries.anchorBlockEntry(editor);
|
|
13
|
-
const isEmpty = Editor.isEmpty(editor, anchorBlock);
|
|
14
|
-
const isContainNested = TheQueries.isContainNestedType(editor, allowParentTypes);
|
|
15
|
-
if (isAllowInsert && isContainNested) {
|
|
16
|
-
const [, containerPath] = Editor.above(editor, {
|
|
17
|
-
match: n => Editor.isBlock(editor, n) && allowParentTypes.includes(n.type),
|
|
18
|
-
at: editor.selection
|
|
19
|
-
});
|
|
20
|
-
Editor.withoutNormalizing(editor, () => {
|
|
21
|
-
const containerPathFirstPath = anchorBlockPath.slice(0, containerPath.length + 1);
|
|
22
|
-
Transforms.insertNodes(editor, element, { at: Path.next(containerPathFirstPath) });
|
|
23
|
-
Transforms.select(editor, Editor.start(editor, Path.next(containerPathFirstPath)));
|
|
24
|
-
if (isEmpty) {
|
|
25
|
-
Transforms.removeNodes(editor, { at: anchorBlockPath });
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const nextPath = Path.next([anchorBlockPath[0]]);
|
|
31
|
-
Transforms.insertNodes(editor, element, { at: nextPath });
|
|
32
|
-
if (isEmpty && anchorBlockPath.length === 1) {
|
|
33
|
-
Transforms.delete(editor, { at: anchorBlockPath });
|
|
34
|
-
Transforms.select(editor, Editor.start(editor, anchorBlockPath));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
Transforms.select(editor, Editor.start(editor, nextPath));
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWVsZW1lbnQtbmV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy90cmFuc2Zvcm1zL2luc2VydC1lbGVtZW50LW5leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBVyxNQUFNLE9BQU8sQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxPQUFnQixFQUFFLEVBQUU7O0lBQ2xFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDcEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNqQztJQUVELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFBLE1BQUEsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQywwQ0FBRSxnQkFBZ0IsS0FBSSxFQUFFLENBQUM7SUFDaEYsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRSxNQUFNLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFFakYsSUFBSSxhQUFhLElBQUksZUFBZSxFQUFFO1FBQ2xDLE1BQU0sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzNDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFFLEVBQUUsRUFBRSxNQUFNLENBQUMsU0FBUztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNuQyxNQUFNLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkYsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixJQUFJLE9BQU8sRUFBRTtnQkFDVCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO2FBQzNEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO0tBQ1Y7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUUxRCxJQUFJLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN6QyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7S0FDcEU7U0FBTTtRQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDN0Q7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBQYXRoLCBUcmFuc2Zvcm1zLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uL2NvcmUvdXRpbHMvZ2V0LXBsdWdpbi1vcHRpb25zJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRFbGVtZW50TmV4dCA9IChlZGl0b3I6IEVkaXRvciwgZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgIGlmIChSYW5nZS5pc0V4cGFuZGVkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgIEVkaXRvci5kZWxldGVGcmFnbWVudChlZGl0b3IpO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gICAgY29uc3QgYWxsb3dQYXJlbnRUeXBlcyA9IGdldFBsdWdpbk9wdGlvbnMoZWRpdG9yLCB0eXBlKT8uYWxsb3dQYXJlbnRUeXBlcyB8fCBbXTtcbiAgICBjb25zdCBpc0FsbG93SW5zZXJ0ID0gVGhlUXVlcmllcy5pc1R5cGVzSW5QYXJlbnQoZWRpdG9yLCBhbGxvd1BhcmVudFR5cGVzKTtcbiAgICBjb25zdCBbYW5jaG9yQmxvY2ssIGFuY2hvckJsb2NrUGF0aF0gPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrRW50cnkoZWRpdG9yKTtcbiAgICBjb25zdCBpc0VtcHR5ID0gRWRpdG9yLmlzRW1wdHkoZWRpdG9yLCBhbmNob3JCbG9jayk7XG4gICAgY29uc3QgaXNDb250YWluTmVzdGVkID0gVGhlUXVlcmllcy5pc0NvbnRhaW5OZXN0ZWRUeXBlKGVkaXRvciwgYWxsb3dQYXJlbnRUeXBlcyk7XG5cbiAgICBpZiAoaXNBbGxvd0luc2VydCAmJiBpc0NvbnRhaW5OZXN0ZWQpIHtcbiAgICAgICAgY29uc3QgWywgY29udGFpbmVyUGF0aF0gPSBFZGl0b3IuYWJvdmUoZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbiA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pICYmIGFsbG93UGFyZW50VHlwZXMuaW5jbHVkZXMobi50eXBlKSxcbiAgICAgICAgICAgIGF0OiBlZGl0b3Iuc2VsZWN0aW9uXG4gICAgICAgIH0pO1xuICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyUGF0aEZpcnN0UGF0aCA9IGFuY2hvckJsb2NrUGF0aC5zbGljZSgwLCBjb250YWluZXJQYXRoLmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGVsZW1lbnQsIHsgYXQ6IFBhdGgubmV4dChjb250YWluZXJQYXRoRmlyc3RQYXRoKSB9KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLnN0YXJ0KGVkaXRvciwgUGF0aC5uZXh0KGNvbnRhaW5lclBhdGhGaXJzdFBhdGgpKSk7XG4gICAgICAgICAgICBpZiAoaXNFbXB0eSkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0OiBhbmNob3JCbG9ja1BhdGggfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFBhdGggPSBQYXRoLm5leHQoW2FuY2hvckJsb2NrUGF0aFswXV0pO1xuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBlbGVtZW50LCB7IGF0OiBuZXh0UGF0aCB9KTtcblxuICAgIGlmIChpc0VtcHR5ICYmIGFuY2hvckJsb2NrUGF0aC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiBhbmNob3JCbG9ja1BhdGggfSk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLnN0YXJ0KGVkaXRvciwgYW5jaG9yQmxvY2tQYXRoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBuZXh0UGF0aCkpO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const insertElement = (editor, element) => editor.insertElement(element);
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdHJhbnNmb3Jtcy9pbnNlcnQtZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFpQixFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRFbGVtZW50ID0gKGVkaXRvcjogVGhlRWRpdG9yLCBlbGVtZW50OiBFbGVtZW50KSA9PiBlZGl0b3IuaW5zZXJ0RWxlbWVudChlbGVtZW50KTtcbiJdfQ==
|