@maketribe/ms-app 3.2.25 → 3.2.26
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/dist/cjs/assets/iconfonts/iconfont.js +1 -1
- package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/core/{element-module.js → element-block.js} +31 -12
- package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/core/index.js +5 -6
- package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/core/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js +4 -4
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +89 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +115 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +83 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +143 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +33 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +18 -21
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +16 -11
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +6 -6
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +46 -108
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +26 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +41 -5
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +10 -4
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
- package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +8 -5
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +35 -6
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +7 -1
- package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/{element-module.js → element-block.js} +32 -13
- package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/core/index.js +6 -7
- package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js +4 -4
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +89 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +115 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +83 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +144 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +33 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +18 -21
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +17 -12
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +6 -6
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +50 -112
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +26 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +43 -7
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js +10 -4
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
- package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +9 -6
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +35 -6
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/ms/components/image-select/image-select-panel.js +9 -3
- package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -1
- package/dist/style/components/basic/doc-editor/index.css +1 -1
- package/dist/style/components/index.css +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/src/components/basic/doc-editor/index.scss +2 -0
- package/dist/types/components/basic/doc-editor/core/element-block.d.ts +44 -0
- package/dist/types/components/basic/doc-editor/core/index.d.ts +8 -4
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +88 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +50 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +58 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +58 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +51 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/utils.d.ts +3 -0
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +4 -13
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +18 -10
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +0 -6
- package/dist/types/components/basic/doc-editor/plugins/index.d.ts +3 -3
- package/dist/types/components/basic/dynamic-form-panel/type.d.ts +2 -2
- package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +1 -0
- package/package.json +5 -5
- package/dist/cjs/components/basic/doc-editor/core/decorator-module.js +0 -13
- package/dist/cjs/components/basic/doc-editor/core/decorator-module.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/element-module.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -45
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/decorator-module.js +0 -13
- package/dist/esm/components/basic/doc-editor/core/decorator-module.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/element-module.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -46
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
- package/dist/types/components/basic/doc-editor/core/decorator-module.d.ts +0 -60
- package/dist/types/components/basic/doc-editor/core/element-module.d.ts +0 -15
- package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.d.ts +0 -63
- package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +0 -86
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleRenderComponent.d.ts +0 -23
- package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.d.ts +0 -63
- package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.d.ts +0 -58
- /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
- /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
- /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
- /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
- /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
- /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
- /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
- /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
- /package/dist/types/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.d.ts +0 -0
- /package/dist/types/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue.d.ts +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./element-module";
|
|
1
|
+
export * from "./element-block";
|
|
3
2
|
export * from "./utils";
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
/**
|
|
4
|
+
* 设备显示模式
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEVICE_VIEW_MODE: import("vue").Ref<"pc" | "mobile">;
|
|
6
7
|
/**
|
|
7
8
|
* 工具条扩展
|
|
8
9
|
*/
|
|
@@ -12,6 +13,9 @@ export type ToolbarExtendPlugin = {
|
|
|
12
13
|
action: Function;
|
|
13
14
|
sort: number;
|
|
14
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* 插入的插件列表
|
|
18
|
+
*/
|
|
15
19
|
export declare const ToolbarExtendPlugins: import("vue").Reactive<ToolbarExtendPlugin[]>;
|
|
16
20
|
/**
|
|
17
21
|
* 注册工具条的扩展
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { DOMConversionMap, SerializedElementNode, LexicalNode, NodeKey, Spread, EditorConfig, DOMExportOutput } from 'lexical';
|
|
2
|
+
import { ElementNode } from 'lexical';
|
|
3
|
+
/**
|
|
4
|
+
* 容器属性
|
|
5
|
+
*/
|
|
6
|
+
export type GridNodeAttrType = {
|
|
7
|
+
class: string;
|
|
8
|
+
width: string;
|
|
9
|
+
height: string;
|
|
10
|
+
maxWidth: string;
|
|
11
|
+
maxHeight: string;
|
|
12
|
+
flex: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* 节点序列化
|
|
16
|
+
*/
|
|
17
|
+
export type SerializedGridNode = Spread<{
|
|
18
|
+
attrs: GridNodeAttrType;
|
|
19
|
+
}, SerializedElementNode>;
|
|
20
|
+
/**
|
|
21
|
+
* 格子
|
|
22
|
+
*/
|
|
23
|
+
export declare class GridNode extends ElementNode {
|
|
24
|
+
__attrs: GridNodeAttrType;
|
|
25
|
+
static getType(): string;
|
|
26
|
+
static hasGridNodeByElement(el: HTMLElement): HTMLElement | null;
|
|
27
|
+
static getMarkClassName(): string;
|
|
28
|
+
static getExtraClassName(el: HTMLElement): string;
|
|
29
|
+
static clone(node: GridNode): GridNode;
|
|
30
|
+
static importJSON(serializedNode: SerializedGridNode): GridNode;
|
|
31
|
+
static importDOM(): DOMConversionMap | null;
|
|
32
|
+
constructor(attrs: GridNodeAttrType, key?: NodeKey);
|
|
33
|
+
/**
|
|
34
|
+
* 设置属性
|
|
35
|
+
* @param pos
|
|
36
|
+
*/
|
|
37
|
+
setAttrs(data?: GridNodeAttrType): void;
|
|
38
|
+
/**
|
|
39
|
+
* 获取属性
|
|
40
|
+
* @param pos
|
|
41
|
+
*/
|
|
42
|
+
getAttrs(): GridNodeAttrType;
|
|
43
|
+
/**
|
|
44
|
+
* 导出JSON
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
exportJSON(): SerializedGridNode;
|
|
48
|
+
/**
|
|
49
|
+
* 更新元素属性
|
|
50
|
+
* @param el
|
|
51
|
+
*/
|
|
52
|
+
updateElementAttr(el: HTMLElement): void;
|
|
53
|
+
/**
|
|
54
|
+
* 获取标识类
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
getMarkClassName(): string;
|
|
58
|
+
/**
|
|
59
|
+
* 导出DOM
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
exportDOM(): DOMExportOutput;
|
|
63
|
+
/**
|
|
64
|
+
* 创建渲染DOM
|
|
65
|
+
* @param config
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
createDOM(config: EditorConfig): HTMLElement;
|
|
69
|
+
/**
|
|
70
|
+
* 更新DOM
|
|
71
|
+
* @param prevNode
|
|
72
|
+
* @param dom
|
|
73
|
+
* @param config
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
updateDOM(prevNode: GridNode, el: HTMLElement, config: EditorConfig): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* 非内联
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
isInline(): boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 是否是格子
|
|
85
|
+
* @param node
|
|
86
|
+
* @returns
|
|
87
|
+
*/
|
|
88
|
+
export declare function $isGridNode(node: GridNode | LexicalNode | null | undefined): node is GridNode;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { DOMConversionMap, LexicalCommand, LexicalNode, NodeKey, Spread } from 'lexical';
|
|
2
|
+
import { type GridNodeAttrType, GridNode, SerializedGridNode } from "./GridNode";
|
|
3
|
+
/**
|
|
4
|
+
* 属性
|
|
5
|
+
*/
|
|
6
|
+
export type ImageTextGridNodeAttrType = GridNodeAttrType & {};
|
|
7
|
+
/**
|
|
8
|
+
* 插入图文
|
|
9
|
+
*/
|
|
10
|
+
export declare const INSERT_IMAGETEXTGRID_COMMAND: LexicalCommand<undefined | null>;
|
|
11
|
+
/**
|
|
12
|
+
* 图文节点序列化
|
|
13
|
+
*/
|
|
14
|
+
export type SerializedImageTextGridNode = Spread<{}, SerializedGridNode>;
|
|
15
|
+
/**
|
|
16
|
+
* 图文格子
|
|
17
|
+
*/
|
|
18
|
+
export declare class ImageTextGridNode extends GridNode {
|
|
19
|
+
__attrs: ImageTextGridNodeAttrType;
|
|
20
|
+
static getType(): string;
|
|
21
|
+
static hasGridNodeByElement(el: HTMLElement): HTMLElement | null;
|
|
22
|
+
static getMarkClassName(): string;
|
|
23
|
+
static getExtraClassName(el: HTMLElement): string;
|
|
24
|
+
static clone(node: ImageTextGridNode): ImageTextGridNode;
|
|
25
|
+
static importJSON(serializedNode: SerializedImageTextGridNode): ImageTextGridNode;
|
|
26
|
+
static importDOM(): DOMConversionMap | null;
|
|
27
|
+
constructor(attrs: ImageTextGridNodeAttrType, key?: NodeKey);
|
|
28
|
+
/**
|
|
29
|
+
* 设置属性
|
|
30
|
+
* @param pos
|
|
31
|
+
*/
|
|
32
|
+
setAttrs(data?: ImageTextGridNodeAttrType): void;
|
|
33
|
+
/**
|
|
34
|
+
* 获取属性
|
|
35
|
+
* @param pos
|
|
36
|
+
*/
|
|
37
|
+
getAttrs(): ImageTextGridNodeAttrType;
|
|
38
|
+
/**
|
|
39
|
+
* 导出JSON
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
exportJSON(): SerializedGridNode;
|
|
43
|
+
canBeEmpty(): boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 判断是否是图文节点
|
|
47
|
+
* @param node
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
export declare function $isImageTextGridNode(node: ImageTextGridNode | LexicalNode | null | undefined): node is ImageTextGridNode;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type DOMConversionMap, type NodeKey, type Spread, type LexicalCommand, LexicalNode } from 'lexical';
|
|
2
|
+
import { type GridNodeAttrType, GridNode, SerializedGridNode } from "./GridNode";
|
|
3
|
+
/**
|
|
4
|
+
* 属性
|
|
5
|
+
*/
|
|
6
|
+
export type LayoutGridNodeAttrType = GridNodeAttrType & {
|
|
7
|
+
display: 'flex' | 'inline-flex';
|
|
8
|
+
flexDirection: 'column' | 'row' | 'row-reverse' | 'column-reverse';
|
|
9
|
+
flexWrap: 'nowrap' | 'warp';
|
|
10
|
+
alignContent: 'center' | 'flex-start';
|
|
11
|
+
justifyContent: 'center' | 'flex-start';
|
|
12
|
+
alignItems: 'center' | 'flex-start';
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* 插入布局格子
|
|
16
|
+
*/
|
|
17
|
+
export declare const INSERT_LAYOUTGRID_COMMAND: LexicalCommand<LayoutGridNodeAttrType>;
|
|
18
|
+
/**
|
|
19
|
+
* 节点序列化
|
|
20
|
+
*/
|
|
21
|
+
export type SerializedLayoutGridNode = Spread<{
|
|
22
|
+
attrs: LayoutGridNodeAttrType;
|
|
23
|
+
}, SerializedGridNode>;
|
|
24
|
+
/**
|
|
25
|
+
* 布局格子
|
|
26
|
+
*/
|
|
27
|
+
export declare class LayoutGridNode extends GridNode {
|
|
28
|
+
__attrs: LayoutGridNodeAttrType;
|
|
29
|
+
static getType(): string;
|
|
30
|
+
static hasGridNodeByElement(el: HTMLElement): HTMLElement | null;
|
|
31
|
+
static getMarkClassName(): string;
|
|
32
|
+
static getExtraClassName(el: HTMLElement): string;
|
|
33
|
+
static clone(node: LayoutGridNode): LayoutGridNode;
|
|
34
|
+
static importJSON(serializedNode: SerializedLayoutGridNode): LayoutGridNode;
|
|
35
|
+
static importDOM(): DOMConversionMap | null;
|
|
36
|
+
constructor(attrs: LayoutGridNodeAttrType, key?: NodeKey);
|
|
37
|
+
/**
|
|
38
|
+
* 设置属性
|
|
39
|
+
* @param pos
|
|
40
|
+
*/
|
|
41
|
+
setAttrs(data?: LayoutGridNodeAttrType): void;
|
|
42
|
+
/**
|
|
43
|
+
* 获取属性
|
|
44
|
+
* @param pos
|
|
45
|
+
*/
|
|
46
|
+
getAttrs(): LayoutGridNodeAttrType;
|
|
47
|
+
/**
|
|
48
|
+
* 导出JSON
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
exportJSON(): SerializedGridNode;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 是否是模块格子
|
|
55
|
+
* @param node
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
export declare function $isLayoutGridNode(node: LayoutGridNode | LexicalNode | null | undefined): node is LayoutGridNode;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type DOMConversionMap, type NodeKey, type Spread, type LexicalCommand, LexicalNode } from 'lexical';
|
|
2
|
+
import { type GridNodeAttrType, GridNode, SerializedGridNode } from "./GridNode";
|
|
3
|
+
/**
|
|
4
|
+
* 属性
|
|
5
|
+
*/
|
|
6
|
+
export type ModuleGridNodeAttrType = GridNodeAttrType & {
|
|
7
|
+
overflowX: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* 插入模块格子
|
|
11
|
+
*/
|
|
12
|
+
export declare const INSERT_MODULEGRID_COMMAND: LexicalCommand<ModuleGridNodeAttrType>;
|
|
13
|
+
/**
|
|
14
|
+
* 节点序列化
|
|
15
|
+
*/
|
|
16
|
+
export type SerializedModuleGridNode = Spread<{
|
|
17
|
+
attrs: ModuleGridNodeAttrType;
|
|
18
|
+
}, SerializedGridNode>;
|
|
19
|
+
/**
|
|
20
|
+
* 模块格子
|
|
21
|
+
*/
|
|
22
|
+
export declare class ModuleGridNode extends GridNode {
|
|
23
|
+
__attrs: ModuleGridNodeAttrType;
|
|
24
|
+
static getType(): string;
|
|
25
|
+
static hasGridNodeByElement(el: HTMLElement): HTMLElement | null;
|
|
26
|
+
static getMarkClassName(): string;
|
|
27
|
+
static getExtraClassName(el: HTMLElement): string;
|
|
28
|
+
static clone(node: ModuleGridNode): ModuleGridNode;
|
|
29
|
+
static importJSON(serializedNode: SerializedModuleGridNode): ModuleGridNode;
|
|
30
|
+
static importDOM(): DOMConversionMap | null;
|
|
31
|
+
constructor(attrs: ModuleGridNodeAttrType, key?: NodeKey);
|
|
32
|
+
/**
|
|
33
|
+
* 设置属性
|
|
34
|
+
* @param pos
|
|
35
|
+
*/
|
|
36
|
+
setAttrs(data?: ModuleGridNodeAttrType): void;
|
|
37
|
+
/**
|
|
38
|
+
* 获取属性
|
|
39
|
+
* @param pos
|
|
40
|
+
*/
|
|
41
|
+
getAttrs(): ModuleGridNodeAttrType;
|
|
42
|
+
/**
|
|
43
|
+
* 导出JSON
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
exportJSON(): SerializedGridNode;
|
|
47
|
+
/**
|
|
48
|
+
* 更新元素属性
|
|
49
|
+
* @param el
|
|
50
|
+
*/
|
|
51
|
+
updateElementAttr(el: HTMLElement): void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 是否是模块格子
|
|
55
|
+
* @param node
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
export declare function $isModuleGridNode(node: ModuleGridNode | LexicalNode | null | undefined): node is ModuleGridNode;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type DOMConversionMap, type NodeKey, type Spread, type LexicalCommand, LexicalNode } from 'lexical';
|
|
2
|
+
import { type GridNodeAttrType, GridNode, SerializedGridNode } from "./GridNode";
|
|
3
|
+
/**
|
|
4
|
+
* 插入文本格子
|
|
5
|
+
*/
|
|
6
|
+
export declare const INSERT_TEXTGRID_COMMAND: LexicalCommand<GridNodeAttrType>;
|
|
7
|
+
/**
|
|
8
|
+
* 属性
|
|
9
|
+
*/
|
|
10
|
+
export type TextGridNodeAttrType = GridNodeAttrType & {};
|
|
11
|
+
/**
|
|
12
|
+
* 节点序列化
|
|
13
|
+
*/
|
|
14
|
+
export type SerializedTextGridNode = Spread<{
|
|
15
|
+
attrs: TextGridNodeAttrType;
|
|
16
|
+
}, SerializedGridNode>;
|
|
17
|
+
/**
|
|
18
|
+
* 布局格子
|
|
19
|
+
*/
|
|
20
|
+
export declare class TextGridNode extends GridNode {
|
|
21
|
+
__attrs: TextGridNodeAttrType;
|
|
22
|
+
static getType(): string;
|
|
23
|
+
static hasGridNodeByElement(el: HTMLElement): HTMLElement | null;
|
|
24
|
+
static getMarkClassName(): string;
|
|
25
|
+
static getExtraClassName(el: HTMLElement): string;
|
|
26
|
+
static clone(node: TextGridNode): TextGridNode;
|
|
27
|
+
static importJSON(serializedNode: SerializedTextGridNode): TextGridNode;
|
|
28
|
+
static importDOM(): DOMConversionMap | null;
|
|
29
|
+
constructor(attrs: TextGridNodeAttrType, key?: NodeKey);
|
|
30
|
+
/**
|
|
31
|
+
* 设置属性
|
|
32
|
+
* @param pos
|
|
33
|
+
*/
|
|
34
|
+
setAttrs(data?: TextGridNodeAttrType): void;
|
|
35
|
+
/**
|
|
36
|
+
* 获取属性
|
|
37
|
+
* @param pos
|
|
38
|
+
*/
|
|
39
|
+
getAttrs(): TextGridNodeAttrType;
|
|
40
|
+
/**
|
|
41
|
+
* 导出JSON
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
exportJSON(): SerializedGridNode;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 是否是文本格子
|
|
48
|
+
* @param node
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
export declare function $isTextGridNode(node: TextGridNode | LexicalNode | null | undefined): node is TextGridNode;
|
|
@@ -32,24 +32,15 @@ export declare class ImageNode extends TextNode {
|
|
|
32
32
|
exportJSON(): SerializedImageNode;
|
|
33
33
|
getStyles(): string[];
|
|
34
34
|
exportDOM(): DOMExportOutput;
|
|
35
|
+
createDOM(config: EditorConfig): HTMLElement;
|
|
36
|
+
updateDOM(prevNode: ImageNode, dom: HTMLElement, config: EditorConfig): boolean;
|
|
37
|
+
canHaveFormat(): boolean;
|
|
38
|
+
isToken(): boolean;
|
|
35
39
|
/**
|
|
36
40
|
* 设置属性
|
|
37
41
|
* @param pos
|
|
38
42
|
*/
|
|
39
43
|
setAttrs(data?: any): void;
|
|
40
|
-
/**
|
|
41
|
-
* 创建DOM
|
|
42
|
-
* @param config
|
|
43
|
-
* @returns
|
|
44
|
-
*/
|
|
45
|
-
createDOM(config: EditorConfig): HTMLElement;
|
|
46
|
-
updateDOM(prevNode: ImageNode, dom: HTMLElement, config: EditorConfig): boolean;
|
|
47
|
-
getTextContent(_includeInert?: boolean | undefined, _includeDirectionless?: false | undefined): string;
|
|
48
|
-
/**
|
|
49
|
-
* 内联
|
|
50
|
-
* @returns
|
|
51
|
-
*/
|
|
52
|
-
isInline(): boolean;
|
|
53
44
|
}
|
|
54
45
|
/**
|
|
55
46
|
* 定义内联图片节点
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { BaseBlockNode, SerializedBlockNode } from '../RichTextPlugin/nodes/BaseBlockNode';
|
|
1
|
+
import { type DOMConversionMap, type DOMExportOutput, type LexicalNode, type NodeKey, type Spread, type EditorConfig, type DOMConversion, type SerializedTextNode, TextNode } from 'lexical';
|
|
3
2
|
/**
|
|
4
3
|
* 模块模版节点序列化
|
|
5
4
|
*/
|
|
6
5
|
export type SerializedModuleBlockNode = Spread<{
|
|
7
6
|
name: string;
|
|
8
7
|
data: object;
|
|
9
|
-
},
|
|
8
|
+
}, SerializedTextNode>;
|
|
10
9
|
/**
|
|
11
10
|
* 模块节点
|
|
12
11
|
*/
|
|
13
|
-
export declare class ModuleBlockNode extends
|
|
12
|
+
export declare class ModuleBlockNode extends TextNode {
|
|
14
13
|
__name: string;
|
|
15
14
|
__data: object;
|
|
16
15
|
static getType(): string;
|
|
@@ -41,6 +40,10 @@ export declare class ModuleBlockNode extends BaseBlockNode {
|
|
|
41
40
|
* @param html
|
|
42
41
|
*/
|
|
43
42
|
setContent(data: any): void;
|
|
43
|
+
/**
|
|
44
|
+
* 导出JSON
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
44
47
|
exportJSON(): SerializedModuleBlockNode;
|
|
45
48
|
static importDOM(): DOMConversionMap | null;
|
|
46
49
|
/**
|
|
@@ -67,13 +70,18 @@ export declare class ModuleBlockNode extends BaseBlockNode {
|
|
|
67
70
|
*/
|
|
68
71
|
createDOM(config: EditorConfig): HTMLElement;
|
|
69
72
|
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
* 更新DOM
|
|
74
|
+
* @param prevNode
|
|
75
|
+
* @param dom
|
|
76
|
+
* @param config
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
76
79
|
updateDOM(prevNode: ModuleBlockNode, dom: HTMLElement, config: EditorConfig): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* 非内联
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
isInline(): boolean;
|
|
77
85
|
}
|
|
78
86
|
/**
|
|
79
87
|
* 创建节点
|
|
@@ -18,12 +18,6 @@ export declare const createHtml: (template: string, data: any) => string;
|
|
|
18
18
|
export declare const createModuleMetaData: (html: string, options: DynamicFormItemType[]) => {
|
|
19
19
|
data: any;
|
|
20
20
|
};
|
|
21
|
-
/**
|
|
22
|
-
* 查找容器节点
|
|
23
|
-
* @param element
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
export declare const findModuleContainerEl: (element: HTMLElement) => HTMLElement | null;
|
|
27
21
|
/**
|
|
28
22
|
* 查找模块节点
|
|
29
23
|
* @param element
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import AutoLinkPlugin from "./AutoLinkPlugin/index.vue";
|
|
2
2
|
import ImagePlugin from "./ImagePlugin/index.vue";
|
|
3
|
-
import ImageTextPlugin from "./ImageTextPlugin/index.vue";
|
|
4
3
|
import ToolbarPlugin from "./ToolbarPlugin/index.vue";
|
|
5
4
|
import RichTextPlugin from "./RichTextPlugin/index.vue";
|
|
6
|
-
import
|
|
5
|
+
import ElementBlockSelectionPlugin from "./ElementBlockSelectionPlugin/index.vue";
|
|
7
6
|
import ModulePlugin from "./ModulePlugin/index.vue";
|
|
7
|
+
import GridPlugin from "./GridPlugin/index.vue";
|
|
8
8
|
import Nodes from "./nodes";
|
|
9
|
-
export { ToolbarPlugin, RichTextPlugin, ModulePlugin, AutoLinkPlugin, ImagePlugin,
|
|
9
|
+
export { ToolbarPlugin, RichTextPlugin, ModulePlugin, AutoLinkPlugin, ImagePlugin, ElementBlockSelectionPlugin, GridPlugin, Nodes };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maketribe/ms-app",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.26",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"vditor": "^3.9.6",
|
|
50
50
|
"vue": "^3.4.31",
|
|
51
51
|
"vue-codemirror": "^6.1.1",
|
|
52
|
-
"vue-cropper": "^1.1.
|
|
52
|
+
"vue-cropper": "^1.1.4",
|
|
53
53
|
"vue-router": "^4.2.4",
|
|
54
|
-
"@maketribe/dm": "^3.2.11",
|
|
55
|
-
"@maketribe/utils": "^3.2.1",
|
|
56
54
|
"@maketribe/locale": "^3.2.0",
|
|
57
|
-
"@maketribe/
|
|
55
|
+
"@maketribe/dm": "^3.2.11",
|
|
56
|
+
"@maketribe/request": "^3.2.3",
|
|
57
|
+
"@maketribe/utils": "^3.2.1"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/sortablejs": "^1.15.8"
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const lexical = require("lexical");
|
|
4
|
-
require("@lexical/utils");
|
|
5
|
-
require("vue");
|
|
6
|
-
require("lexical-vue");
|
|
7
|
-
const SELECTED_DECORATORMODULE_COMMAND = lexical.createCommand("SELECTED_DECORATORMODULE_COMMAND");
|
|
8
|
-
const REMOVE_DECORATORMODULE_COMMAND = lexical.createCommand("REMOVE_DECORATORMODULE_COMMAND");
|
|
9
|
-
const UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND = lexical.createCommand("UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND");
|
|
10
|
-
exports.REMOVE_DECORATORMODULE_COMMAND = REMOVE_DECORATORMODULE_COMMAND;
|
|
11
|
-
exports.SELECTED_DECORATORMODULE_COMMAND = SELECTED_DECORATORMODULE_COMMAND;
|
|
12
|
-
exports.UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND = UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND;
|
|
13
|
-
//# sourceMappingURL=decorator-module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decorator-module.js","sources":["../../../../../../src/components/basic/doc-editor/core/decorator-module.ts"],"sourcesContent":["\r\nimport type { BaseSelection, LexicalCommand,NodeKey } from 'lexical'\r\nimport {\r\n createCommand,DecoratorNode,\r\n $getSelection, $isNodeSelection,\r\n CLICK_COMMAND, COMMAND_PRIORITY_LOW,\r\n TextNode,\r\n EditorConfig\r\n} from \"lexical\";\r\nimport { mergeRegister } from \"@lexical/utils\";\r\nimport { type Component,watch,ref } from \"vue\"\r\nimport {\r\n useLexicalComposer,\r\n useLexicalNodeSelection,\r\n useMounted,\r\n} from \"lexical-vue\";\r\n\r\n/**\r\n * toolsbar的函数\r\n */\r\nexport type ToolsbarFunction = (selection:BaseSelection|null)=>Array<any>|null;\r\n\r\n/**\r\n * 组件选中\r\n */\r\nexport type DecoratorModuleSelectEventType = {\r\n element:HTMLElement,\r\n toolsbars:Array<any>|ToolsbarFunction\r\n}\r\n\r\n/**\r\n * 选中装饰模块\r\n */\r\nexport const SELECTED_DECORATORMODULE_COMMAND: LexicalCommand<DecoratorModuleSelectEventType|null> = createCommand('SELECTED_DECORATORMODULE_COMMAND')\r\n\r\n/**\r\n * 移除装饰器模块\r\n */\r\nexport const REMOVE_DECORATORMODULE_COMMAND: LexicalCommand<undefined|null> = createCommand('REMOVE_DECORATORMODULE_COMMAND')\r\n\r\n/**\r\n * 更新模块工具条位置信息\r\n */\r\nexport const UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND: LexicalCommand<undefined|null> = createCommand('UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND')\r\n\r\n/**\r\n * 装饰模块\r\n */\r\nexport class DecoratorModuleBlockNode extends DecoratorNode<Component> {\r\n\r\n constructor( key?: NodeKey) {\r\n super(key)\r\n }\r\n\r\n createDOM() {\r\n return document.createElement('div')\r\n }\r\n\r\n updateDOM(\r\n prevNode: TextNode,\r\n dom: HTMLElement,\r\n config: EditorConfig,\r\n ): boolean {\r\n return false\r\n }\r\n \r\n /**\r\n * 标识非行内组件\r\n * @returns \r\n */\r\n isInline() { return false; }\r\n\r\n /**\r\n * 是否隔离\r\n * @returns \r\n */\r\n isIsolated(){ return true; }\r\n \r\n /**\r\n * 允许键盘选中\r\n * @returns \r\n */\r\n isKeyboardSelectable(){ return true; }\r\n \r\n}\r\n\r\n\r\n/**\r\n * 使用装饰模块\r\n */\r\nexport const useDecoratorModule = (nodeKey:any,toolsbars:Array<any>|ToolsbarFunction)=>{\r\n\r\n // 编辑器\r\n\r\n const curSelectEl = ref<any>(null)\r\n const editor = useLexicalComposer();\r\n const { isSelected, setSelected, clearSelection } = useLexicalNodeSelection(nodeKey);\r\n\r\n // 是否选中\r\n watch(isSelected,(v)=>{\r\n if(v && curSelectEl.value != null){\r\n // 选中后显示工具条\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,{ \r\n element:curSelectEl.value,\r\n toolsbars:toolsbars\r\n });\r\n }\r\n else{\r\n // 没选中\r\n curSelectEl.value = null;\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,null);\r\n }\r\n })\r\n\r\n // 编辑器挂载的时候\r\n useMounted(() => {\r\n\r\n return mergeRegister(\r\n // \r\n // 选中\r\n editor.registerCommand<MouseEvent>(CLICK_COMMAND,(event) => {\r\n \r\n // 选中当前对象\r\n if (event.target === curSelectEl.value) {\r\n\r\n event.preventDefault();\r\n\r\n if (!event.shiftKey) { clearSelection(); }\r\n\r\n setSelected(true);\r\n\r\n return true;\r\n }\r\n \r\n return false;\r\n }, COMMAND_PRIORITY_LOW)\r\n );\r\n });\r\n\r\n return { isSelected,curSelectEl }\r\n}\r\n\r\n/**\r\n * 使用装饰模块工具条\r\n */\r\nexport const useDecoratorModuleTools = (selectFunc:Function)=>{\r\n\r\n // 编辑器\r\n const editor = useLexicalComposer();\r\n\r\n // 编辑器挂载的时候\r\n useMounted(() => {\r\n\r\n return mergeRegister(\r\n editor.registerCommand(SELECTED_DECORATORMODULE_COMMAND, () => {\r\n \r\n const selection = $getSelection();\r\n \r\n if($isNodeSelection(selection)){\r\n selectFunc(selection);\r\n }\r\n\r\n return false;\r\n },1)\r\n );\r\n });\r\n\r\n}\r\n\r\n\r\n"],"names":["createCommand"],"mappings":";;;;;;AAiCa,MAAA,mCAAwFA,sBAAc,kCAAkC;AAKxI,MAAA,iCAAiEA,sBAAc,gCAAgC;AAK/G,MAAA,6CAA6EA,sBAAc,4CAA4C;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"element-module.js","sources":["../../../../../../src/components/basic/doc-editor/core/element-module.ts"],"sourcesContent":["\r\n\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { COMMAND_PRIORITY_LOW,CLICK_COMMAND } from 'lexical'\r\nimport { useLexicalComposer,useMounted } from 'lexical-vue'\r\nimport { ref,computed,watch } from 'vue'\r\nimport { \r\n SELECTED_DECORATORMODULE_COMMAND,\r\n ToolsbarFunction\r\n} from './decorator-module'\r\nimport { \r\n isNodeSelected,setSelected,clearSelection,\r\n} from './utils'\r\n\r\n/**\r\n * 判断选中的方法\r\n */\r\nexport type SelectExistFunc = (el:HTMLElement)=>HTMLElement|null\r\n\r\n/**\r\n * 使用元素模块\r\n * @param toolsbars \r\n */\r\nexport const useElementModule = (func:SelectExistFunc,toolsbars:Array<any>|ToolsbarFunction)=>{\r\n\r\n const editor = useLexicalComposer()\r\n const isSelected = ref(false)\r\n const curSelectKey = ref<any>(null)\r\n const curSelectPos = ref<any>(null)\r\n const curSelectEl = ref<any>(null)\r\n \r\n // 更新选中\r\n const updateActiveViewState = (el:Element|null)=>{\r\n \r\n if(el){\r\n \r\n const selectRect = el.getBoundingClientRect();\r\n \r\n curSelectPos.value = {\r\n top:`${selectRect.y}px`,left:`${selectRect.x}px`,\r\n width:`${selectRect.width}px`,height:`${selectRect.height}px`\r\n };\r\n \r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,{ \r\n element:curSelectEl.value,\r\n toolsbars:toolsbars\r\n });\r\n }\r\n else{\r\n curSelectEl.value = null;\r\n curSelectKey.value = null;\r\n curSelectPos.value = null;\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,null);\r\n }\r\n }\r\n \r\n // 是否选中\r\n watch(isSelected,(state)=>{\r\n return updateActiveViewState(state ? curSelectEl.value : null);\r\n })\r\n \r\n // 编辑器挂载\r\n useMounted(()=>{\r\n // 注册事件\r\n return mergeRegister(\r\n // 更新选中状态\r\n editor.registerUpdateListener(() => {\r\n isSelected.value = isNodeSelected(editor, curSelectKey.value);\r\n }),\r\n // 点击选中\r\n editor.registerCommand<MouseEvent>(CLICK_COMMAND,(event) => {\r\n \r\n const el = func(event.target as HTMLElement);\r\n const nodeKey = el?.getAttribute(\"node-key\");\r\n\r\n // 不为null的话则视为点击选中\r\n if(nodeKey != null){\r\n \r\n event.preventDefault();\r\n \r\n if (!event.shiftKey) { clearSelection(editor); }\r\n\r\n setSelected(editor,true,nodeKey);\r\n \r\n setTimeout(() => {\r\n curSelectEl.value = el;\r\n curSelectKey.value = nodeKey;\r\n isSelected.value = isNodeSelected(editor, nodeKey);\r\n }, 1);\r\n return true;\r\n }\r\n \r\n return false;\r\n }, COMMAND_PRIORITY_LOW)\r\n )\r\n })\r\n\r\n\r\n return { isSelected, curSelectKey,curSelectPos,updateActiveViewState };\r\n\r\n}\r\n"],"names":["useLexicalComposer","ref","SELECTED_DECORATORMODULE_COMMAND","watch","useMounted","mergeRegister","isNodeSelected","CLICK_COMMAND","clearSelection","setSelected","COMMAND_PRIORITY_LOW"],"mappings":";;;;;;;;AAuBa,MAAA,mBAAmB,CAAC,MAAqB,cAAwC;AAE5F,QAAM,SAASA,WAAAA;AACT,QAAA,aAAaC,QAAI,KAAK;AACtB,QAAA,eAAeA,QAAS,IAAI;AAC5B,QAAA,eAAeA,QAAS,IAAI;AAC5B,QAAA,cAAcA,QAAS,IAAI;AAG3B,QAAA,wBAAwB,CAAC,OAAkB;AAE/C,QAAG,IAAG;AAEE,YAAA,aAAa,GAAG;AAEtB,mBAAa,QAAQ;AAAA,QACnB,KAAI,GAAG,WAAW,CAAC;AAAA,QAAK,MAAK,GAAG,WAAW,CAAC;AAAA,QAC5C,OAAM,GAAG,WAAW,KAAK;AAAA,QAAK,QAAO,GAAG,WAAW,MAAM;AAAA,MAAA;AAG3D,aAAO,gBAAgBC,kDAAiC;AAAA,QACtD,SAAQ,YAAY;AAAA,QACpB;AAAA,MAAA,CACD;AAAA,IAAA,OAEC;AACF,kBAAY,QAAQ;AACpB,mBAAa,QAAQ;AACrB,mBAAa,QAAQ;AACd,aAAA,gBAAgBA,kDAAiC,IAAI;AAAA,IAC9D;AAAA,EAAA;AAIIC,YAAA,YAAW,CAAC,UAAQ;AACxB,WAAO,sBAAsB,QAAQ,YAAY,QAAQ,IAAI;AAAA,EAAA,CAC9D;AAGDC,aAAAA,WAAW,MAAI;AAEN,WAAAC,MAAA;AAAA;AAAA,MAEL,OAAO,uBAAuB,MAAM;AAClC,mBAAW,QAAQC,QAAA,eAAe,QAAQ,aAAa,KAAK;AAAA,MAAA,CAC7D;AAAA;AAAA,MAED,OAAO,gBAA4BC,uBAAc,CAAC,UAAU;AAEpD,cAAA,KAAK,KAAK,MAAM,MAAqB;AACrC,cAAA,UAAU,yBAAI,aAAa;AAGjC,YAAG,WAAW,MAAK;AAEjB,gBAAM,eAAe;AAEjB,cAAA,CAAC,MAAM,UAAU;AAAEC,oBAAA,eAAe,MAAM;AAAA,UAAI;AAEpCC,kBAAAA,YAAA,QAAO,MAAK,OAAO;AAE/B,qBAAW,MAAM;AACf,wBAAY,QAAQ;AACpB,yBAAa,QAAQ;AACV,uBAAA,QAAQH,QAAAA,eAAe,QAAQ,OAAO;AAAA,aAChD,CAAC;AACG,iBAAA;AAAA,QACT;AAEO,eAAA;AAAA,SACNI,4BAAoB;AAAA,IAAA;AAAA,EACzB,CACD;AAGD,SAAO,EAAE,YAAY,cAAa,cAAa,sBAAsB;AAEvE;;"}
|
package/dist/cjs/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { type CommandListenerPriority, $isNodeSelection, $getSelection } from 'lexical'\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { useLexicalComposer, useMounted } from 'lexical-vue'\r\nimport { ref, reactive, shallowRef, nextTick, watch } from 'vue'\r\nimport {\r\n UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, SELECTED_DECORATORMODULE_COMMAND, REMOVE_DECORATORMODULE_COMMAND,\r\n type DecoratorModuleSelectEventType, DEVICE_VIEW_MODE,\r\n ToolsbarFunction\r\n} from \"../../core\"\r\n\r\n// 点击工具条按钮\r\nconst lowPriority: CommandListenerPriority = 1\r\nconst editor = useLexicalComposer()\r\nconst toolbarRef = ref<HTMLDivElement | null>(null)\r\nconst selectPayload = shallowRef<DecoratorModuleSelectEventType | null>(null);\r\nconst toolsPos = reactive({ left: \"px\", top: \"0px\" });\r\n\r\nwatch(DEVICE_VIEW_MODE, () => {\r\n editor.dispatchCommand(UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, null);\r\n})\r\n\r\n\r\n// 更新工具条坐标\r\nconst updateToolsPos = () => {\r\n\r\n nextTick(() => {\r\n if (selectPayload.value != null && toolbarRef.value != null) {\r\n const editIframeRect = (toolbarRef.value.getRootNode() as any).body.querySelector(\".mk-doc-editor__stage_iframe\").getBoundingClientRect();\r\n const editBodyRect = (toolbarRef.value.getRootNode() as any).body.querySelector(\".mk-doc-editor__stage_body\").getBoundingClientRect();\r\n const baseY = editIframeRect.y - editBodyRect.y;\r\n const selectRect = selectPayload.value.element.getBoundingClientRect();\r\n const toolsRect = toolbarRef.value.getBoundingClientRect();\r\n if (toolsRect) {\r\n // 中心点\r\n toolsPos.top = Math.max(selectRect.y - toolsRect.height - 5 + baseY, 5 + baseY) + \"px\"\r\n toolsPos.left = toolsRect.width / -2 + selectRect.x + selectRect.width / 2 + \"px\";\r\n }\r\n }\r\n })\r\n return false;\r\n}\r\n\r\nuseMounted(() => {\r\n return mergeRegister(\r\n editor.registerCommand(UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, () => updateToolsPos(), lowPriority),\r\n editor.registerUpdateListener(({ editorState }) => editorState.read(() => updateToolsPos())),\r\n // 选中模块\r\n editor.registerCommand(SELECTED_DECORATORMODULE_COMMAND, (payload: DecoratorModuleSelectEventType) => {\r\n\r\n\r\n if (payload != null) {\r\n let toolsbarList = [];\r\n\r\n // 如果是函数的话\r\n if (typeof payload.toolsbars == \"function\") {\r\n\r\n const selection = $getSelection();\r\n\r\n if ($isNodeSelection(selection)) {\r\n toolsbarList = payload.toolsbars(selection) ?? [];\r\n }\r\n else {\r\n toolsbarList = payload.toolsbars(null) ?? [];\r\n }\r\n }\r\n else {\r\n toolsbarList = payload.toolsbars;\r\n }\r\n\r\n selectPayload.value = {\r\n element: payload.element,\r\n toolsbars: toolsbarList\r\n };\r\n }\r\n else {\r\n selectPayload.value = null;\r\n }\r\n\r\n return updateToolsPos();\r\n }, lowPriority),\r\n // 删除模块\r\n editor.registerCommand(REMOVE_DECORATORMODULE_COMMAND, () => {\r\n\r\n const selection = $getSelection();\r\n\r\n if ($isNodeSelection(selection)) {\r\n\r\n selection.getNodes().forEach(node => node.remove());\r\n\r\n // 没选中\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND, null);\r\n }\r\n return false;\r\n }, lowPriority)\r\n // editor.registerCommand(SELECTION_CHANGE_COMMAND, (payload, newEditor) => {\r\n\r\n // const selection = $getSelection();\r\n\r\n // if($isNodeSelection(selection)){\r\n\r\n // const node = selection.getNodes()[0]\r\n\r\n // console.log(node,node.getTopLevelElement());\r\n // }\r\n\r\n // return updateToolsPos();\r\n // },lowPriority)\r\n )\r\n})\r\n\r\n</script>\r\n\r\n<template>\r\n <div v-if=\"selectPayload != null\" ref=\"toolbarRef\" class=\"mk-doc-editor-decorator-module-toolbar\" :style=\"toolsPos\">\r\n <el-button-group>\r\n\r\n <template v-for=\"item in selectPayload.toolsbars as any[]\">\r\n <el-tooltip effect=\"dark\" :content=\"item.title\" placement=\"top\">\r\n <el-button text @click=\"item.action()\">\r\n <MKSvgIcon :iconClass=\"item.icon\" />\r\n </el-button>\r\n </el-tooltip>\r\n </template>\r\n <el-tooltip effect=\"dark\" content=\"删除\" placement=\"top\">\r\n <el-button text type=\"danger\" @click=\"editor.dispatchCommand(REMOVE_DECORATORMODULE_COMMAND, null)\">\r\n <MKSvgIcon :iconClass=\"`Delete`\" />\r\n </el-button>\r\n </el-tooltip>\r\n\r\n </el-button-group>\r\n </div>\r\n</template>\r\n"],"names":["useLexicalComposer","ref","shallowRef","reactive","watch","DEVICE_VIEW_MODE","UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND","nextTick","useMounted","mergeRegister","SELECTED_DECORATORMODULE_COMMAND","$getSelection","$isNodeSelection","REMOVE_DECORATORMODULE_COMMAND"],"mappings":";;;;;;;AAYA,MAAM,cAAuC;;;;AAC7C,UAAM,SAASA,WAAAA;AACT,UAAA,aAAaC,QAA2B,IAAI;AAC5C,UAAA,gBAAgBC,eAAkD,IAAI;AAC5E,UAAM,WAAWC,IAAAA,SAAS,EAAE,MAAM,MAAM,KAAK,OAAO;AAEpDC,QAAA,MAAMC,wBAAkB,MAAM;AACrB,aAAA,gBAAgBC,4DAA4C,IAAI;AAAA,IAAA,CACxE;AAID,UAAM,iBAAiB,MAAM;AAE3BC,UAAAA,SAAS,MAAM;AACb,YAAI,cAAc,SAAS,QAAQ,WAAW,SAAS,MAAM;AACrD,gBAAA,iBAAkB,WAAW,MAAM,YAAA,EAAsB,KAAK,cAAc,8BAA8B,EAAE;AAC5G,gBAAA,eAAgB,WAAW,MAAM,YAAA,EAAsB,KAAK,cAAc,4BAA4B,EAAE;AACxG,gBAAA,QAAQ,eAAe,IAAI,aAAa;AAC9C,gBAAM,aAAa,cAAc,MAAM,QAAQ,sBAAsB;AAC/D,gBAAA,YAAY,WAAW,MAAM,sBAAsB;AACzD,cAAI,WAAW;AAEJ,qBAAA,MAAM,KAAK,IAAI,WAAW,IAAI,UAAU,SAAS,IAAI,OAAO,IAAI,KAAK,IAAI;AACzE,qBAAA,OAAO,UAAU,QAAQ,KAAK,WAAW,IAAI,WAAW,QAAQ,IAAI;AAAA,UAC/E;AAAA,QACF;AAAA,MAAA,CACD;AACM,aAAA;AAAA,IAAA;AAGTC,eAAAA,WAAW,MAAM;AACR,aAAAC,MAAA;AAAA,QACL,OAAO,gBAAgBH,gBAAAA,4CAA4C,MAAM,eAAA,GAAkB,WAAW;AAAA,QACtG,OAAO,uBAAuB,CAAC,EAAE,YAAA,MAAkB,YAAY,KAAK,MAAM,eAAe,CAAC,CAAC;AAAA;AAAA,QAE3F,OAAO,gBAAgBI,kDAAkC,CAAC,YAA4C;AAGpG,cAAI,WAAW,MAAM;AACnB,gBAAI,eAAe,CAAA;AAGf,gBAAA,OAAO,QAAQ,aAAa,YAAY;AAE1C,oBAAM,YAAYC,QAAAA;AAEd,kBAAAC,QAAAA,iBAAiB,SAAS,GAAG;AAC/B,+BAAe,QAAQ,UAAU,SAAS,KAAK,CAAA;AAAA,cAAC,OAE7C;AACH,+BAAe,QAAQ,UAAU,IAAI,KAAK,CAAA;AAAA,cAC5C;AAAA,YAAA,OAEG;AACH,6BAAe,QAAQ;AAAA,YACzB;AAEA,0BAAc,QAAQ;AAAA,cACpB,SAAS,QAAQ;AAAA,cACjB,WAAW;AAAA,YAAA;AAAA,UACb,OAEG;AACH,0BAAc,QAAQ;AAAA,UACxB;AAEA,iBAAO,eAAe;AAAA,WACrB,WAAW;AAAA;AAAA,QAEd,OAAO,gBAAgBC,gBAAAA,gCAAgC,MAAM;AAE3D,gBAAM,YAAYF,QAAAA;AAEd,cAAAC,QAAAA,iBAAiB,SAAS,GAAG;AAE/B,sBAAU,WAAW,QAAQ,CAAQ,SAAA,KAAK,QAAQ;AAG3C,mBAAA,gBAAgBF,kDAAkC,IAAI;AAAA,UAC/D;AACO,iBAAA;AAAA,WACN,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IAchB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|