@maketribe/ms-app 3.2.31 → 3.2.33
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/components/basic/data-tree-select/data-tree-select-options.js +1 -1
- package/dist/cjs/components/basic/data-tree-select/data-tree-select-options.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/core/element-block.js +48 -63
- package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/core/index.js +1 -1
- package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js +10 -3
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/index.js +2 -0
- package/dist/cjs/components/basic/doc-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js +203 -65
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +41 -43
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +8 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -23
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +44 -22
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +8 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +4 -52
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +4 -0
- 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 +19 -22
- 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 +2 -2
- 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 +16 -9
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +11 -10
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +5 -26
- 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 +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/commands.js +6 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/commands.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/composables.js +118 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/composables.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js +26 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +1 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +2 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.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 +1 -2
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/modules/cms/composables/part-extensions.js +0 -1
- package/dist/cjs/modules/cms/composables/part-extensions.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +0 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +1 -10
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +176 -46
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +44 -22
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +1 -8
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +6 -6
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/index.js +2 -6
- package/dist/cjs/modules/ms/components/rich-text-editor/index.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor-options.js +17 -0
- package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js +12 -8
- package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/skins/ui/ms/skin.js +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/skins/ui/ms/skin.js.map +1 -1
- package/dist/cjs/modules/ms/index.js +1 -0
- package/dist/cjs/modules/ms/index.js.map +1 -1
- package/dist/esm/components/basic/data-tree-select/data-tree-select-options.js +1 -1
- package/dist/esm/components/basic/data-tree-select/data-tree-select-options.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/element-block.js +50 -65
- package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/index.js +2 -2
- package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js +12 -5
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/index.js +3 -1
- package/dist/esm/components/basic/doc-editor/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js +206 -68
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +41 -43
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +8 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -23
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +44 -22
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +8 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +7 -55
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +4 -0
- 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 +20 -23
- 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 +2 -2
- 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 +16 -9
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +12 -11
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +7 -28
- 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 +4 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/commands.js +6 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/commands.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/composables.js +118 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/composables.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js +27 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +3 -2
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.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 +1 -2
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/cms/composables/part-extensions.js +0 -1
- package/dist/esm/modules/cms/composables/part-extensions.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +0 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +1 -10
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +177 -47
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +45 -23
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +1 -8
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +6 -6
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/index.js +2 -5
- package/dist/esm/modules/ms/components/rich-text-editor/index.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor-options.js +17 -0
- package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js +12 -8
- package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/skins/ui/ms/skin.js +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/skins/ui/ms/skin.js.map +1 -1
- package/dist/esm/modules/ms/index.js +1 -0
- package/dist/esm/modules/ms/index.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/modules/cms/index.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/components/article-list.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
- package/dist/style/modules/ms/components/rich-text-editor/index.css +1 -1
- package/dist/style/modules/ms/index.css +1 -1
- package/dist/style/src/components/basic/doc-editor/index.scss +16 -0
- package/dist/style/src/modules/cms/pages/cms-contents/components/article-list.scss +31 -3
- package/dist/style/src/modules/ms/components/rich-text-editor/index.scss +4 -0
- package/dist/types/components/basic/doc-editor/core/element-block.d.ts +5 -13
- package/dist/types/components/basic/doc-editor/core/index.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/editor.vue.d.ts +9 -0
- package/dist/types/components/basic/doc-editor/index.d.ts +21 -1
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +10 -5
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +5 -1
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +3 -8
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +1 -1
- package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/commands.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/composables.d.ts +34 -0
- package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.d.ts +2 -0
- package/dist/types/components/basic/doc-editor/plugins/index.d.ts +2 -1
- package/dist/types/modules/ms/components/rich-text-editor/index.d.ts +39 -0
- package/dist/types/modules/ms/components/rich-text-editor/rich-text-editor-options.d.ts +18 -0
- package/dist/types/modules/ms/components/rich-text-editor/rich-text-editor.d.ts +41 -0
- package/package.json +4 -4
- package/dist/cjs/components/basic/doc-editor/core/utils.js +0 -42
- package/dist/cjs/components/basic/doc-editor/core/utils.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/utils.js +0 -42
- package/dist/esm/components/basic/doc-editor/core/utils.js.map +0 -1
- package/dist/types/components/basic/doc-editor/core/utils.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-tree-select-options.js","sources":["../../../../../src/components/basic/data-tree-select/data-tree-select-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { abstractSelectEmits, abstractSelectProps } from \"../../abstract\";\r\nimport { DataTree } from \"@maketribe/dm\";\r\n\r\nconst { dataTable, ...restAbstractSelectProps } = abstractSelectProps;\r\n\r\nexport const dataTreeSelectProps = buildProps({\r\n ...restAbstractSelectProps,\r\n dataTree: DataTree<any>,\r\n checkStrictly: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n clearable: {\r\n type: Boolean,\r\n default:
|
|
1
|
+
{"version":3,"file":"data-tree-select-options.js","sources":["../../../../../src/components/basic/data-tree-select/data-tree-select-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { abstractSelectEmits, abstractSelectProps } from \"../../abstract\";\r\nimport { DataTree } from \"@maketribe/dm\";\r\n\r\nconst { dataTable, ...restAbstractSelectProps } = abstractSelectProps;\r\n\r\nexport const dataTreeSelectProps = buildProps({\r\n ...restAbstractSelectProps,\r\n dataTree: DataTree<any>,\r\n checkStrictly: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n clearable: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n formatOptions: {\r\n type: Function,\r\n default: (item: any) => {\r\n const value = item.value ?? item.id ?? item.name;\r\n const label = item.label ?? item.desc ?? item.title ?? item.name;\r\n const children = item.children ?? [];\r\n\r\n return { value, label, children };\r\n },\r\n },\r\n});\r\n\r\nexport type DataTreeSelectProps = ExtractPropTypes<typeof dataTreeSelectProps>;\r\n\r\nexport const dataTreeSelectEmits = {\r\n ...abstractSelectEmits,\r\n};\r\n\r\nexport type DataTreeSelectEmits = typeof dataTreeSelectEmits;\r\n"],"names":["abstractSelectProps","buildProps","DataTree","abstractSelectEmits"],"mappings":";;;;;;AAKA,MAAM,EAAE,WAAW,GAAG,wBAA4B,IAAAA;AAE3C,MAAM,sBAAsBC,MAAAA,WAAW;AAAA,EAC5C,GAAG;AAAA,EACH,UAAUC,GAAA;AAAA,EACV,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS,CAAC,SAAc;AACtB,YAAM,QAAQ,KAAK,SAAS,KAAK,MAAM,KAAK;AAC5C,YAAM,QAAQ,KAAK,SAAS,KAAK,QAAQ,KAAK,SAAS,KAAK;AACtD,YAAA,WAAW,KAAK,YAAY;AAE3B,aAAA,EAAE,OAAO,OAAO;IACzB;AAAA,EACF;AACF,CAAC;AAIM,MAAM,sBAAsB;AAAA,EACjC,GAAGC,sBAAA;AACL;;;"}
|
|
@@ -4,91 +4,76 @@ const utils = require("@lexical/utils");
|
|
|
4
4
|
const lexical = require("lexical");
|
|
5
5
|
const lexicalVue = require("lexical-vue");
|
|
6
6
|
const vue = require("vue");
|
|
7
|
-
const utils$1 = require("./utils.js");
|
|
8
7
|
const SELECTED_ELEMENTBLOCK_COMMAND = lexical.createCommand("SELECTED_ELEMENTBLOCK_COMMAND");
|
|
9
8
|
const REMOVE_ELEMENTBLOCK_COMMAND = lexical.createCommand("REMOVE_ELEMENTBLOCK_COMMAND");
|
|
10
9
|
const UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND = lexical.createCommand("UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND");
|
|
10
|
+
const clearSelection = (editor) => {
|
|
11
|
+
return new Promise((resolove) => {
|
|
12
|
+
editor.update(() => {
|
|
13
|
+
const selection = lexical.$getSelection();
|
|
14
|
+
if (lexical.$isNodeSelection(selection) && selection) {
|
|
15
|
+
selection.clear();
|
|
16
|
+
}
|
|
17
|
+
resolove(void 0);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
const setSelected = (editor, selected, key) => {
|
|
22
|
+
return new Promise((resolove) => {
|
|
23
|
+
editor.update(() => {
|
|
24
|
+
let selection = lexical.$getSelection();
|
|
25
|
+
if (!lexical.$isNodeSelection(selection)) {
|
|
26
|
+
selection = lexical.$createNodeSelection();
|
|
27
|
+
lexical.$setSelection(selection);
|
|
28
|
+
}
|
|
29
|
+
if (lexical.$isNodeSelection(selection)) {
|
|
30
|
+
selection.add(vue.unref(key));
|
|
31
|
+
}
|
|
32
|
+
resolove(void 0);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const setElementBlockSelection = async (editor, nodeKey) => {
|
|
37
|
+
await clearSelection(editor);
|
|
38
|
+
await setSelected(editor, true, nodeKey);
|
|
39
|
+
};
|
|
11
40
|
const useElementBlockSelection = (func, toolsbars) => {
|
|
12
41
|
const editor = lexicalVue.useLexicalComposer();
|
|
13
|
-
const isSelected = vue.ref(false);
|
|
14
|
-
const curSelectKey = vue.ref(null);
|
|
15
|
-
const curSelectEl = vue.ref(null);
|
|
16
|
-
const curSelectPos = vue.ref(null);
|
|
17
|
-
const updateActiveBox = (el) => {
|
|
18
|
-
if (el) {
|
|
19
|
-
const selectRect = el.getBoundingClientRect();
|
|
20
|
-
curSelectPos.value = {
|
|
21
|
-
top: `${selectRect.y}px`,
|
|
22
|
-
left: `${selectRect.x}px`,
|
|
23
|
-
width: `${selectRect.width}px`,
|
|
24
|
-
height: `${selectRect.height}px`
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const updateActiveViewState = (el) => {
|
|
29
|
-
if (el) {
|
|
30
|
-
updateActiveBox(el);
|
|
31
|
-
editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND, {
|
|
32
|
-
element: curSelectEl.value,
|
|
33
|
-
toolsbars
|
|
34
|
-
});
|
|
35
|
-
} else {
|
|
36
|
-
curSelectEl.value = null;
|
|
37
|
-
curSelectKey.value = null;
|
|
38
|
-
curSelectPos.value = null;
|
|
39
|
-
editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND, null);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
const setSelection = async (nodeKey, el) => {
|
|
43
|
-
if (isSelected.value) {
|
|
44
|
-
isSelected.value = false;
|
|
45
|
-
await utils$1.clearSelection(editor);
|
|
46
|
-
}
|
|
47
|
-
await new Promise((reslove) => setTimeout(reslove, 10));
|
|
48
|
-
await utils$1.setSelected(editor, true, nodeKey);
|
|
49
|
-
curSelectEl.value = el == null ? editor.getElementByKey(nodeKey) : el;
|
|
50
|
-
curSelectKey.value = nodeKey;
|
|
51
|
-
isSelected.value = utils$1.isNodeSelected(editor, nodeKey);
|
|
52
|
-
setTimeout(() => updateActiveBox(curSelectEl.value), 500);
|
|
53
|
-
setTimeout(() => updateActiveBox(curSelectEl.value), 1e3);
|
|
54
|
-
};
|
|
55
|
-
vue.watch(isSelected, (state) => {
|
|
56
|
-
if (state) {
|
|
57
|
-
updateActiveViewState(state ? curSelectEl.value : null);
|
|
58
|
-
} else {
|
|
59
|
-
updateActiveViewState(null);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
42
|
lexicalVue.useMounted(() => {
|
|
63
43
|
return utils.mergeRegister(
|
|
64
|
-
// 更新选中状态
|
|
65
|
-
editor.registerUpdateListener(() => {
|
|
66
|
-
isSelected.value = utils$1.isNodeSelected(editor, curSelectKey.value);
|
|
67
|
-
setTimeout(() => updateActiveBox(curSelectEl.value), 10);
|
|
68
|
-
}),
|
|
69
44
|
// 点击选中
|
|
70
45
|
editor.registerCommand(lexical.CLICK_COMMAND, (event) => {
|
|
71
46
|
const el = func(event.target);
|
|
72
47
|
const nodeKey = el == null ? void 0 : el.getAttribute("node-key");
|
|
73
48
|
if (nodeKey != null) {
|
|
74
49
|
event.preventDefault();
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
50
|
+
setElementBlockSelection(editor, nodeKey);
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}, lexical.COMMAND_PRIORITY_LOW),
|
|
55
|
+
// 选中的话
|
|
56
|
+
editor.registerCommand(lexical.SELECTION_CHANGE_COMMAND, () => {
|
|
57
|
+
const selection = lexical.$getSelection();
|
|
58
|
+
const node = lexical.$isNodeSelection(selection) ? selection == null ? void 0 : selection.getNodes()[0] : null;
|
|
59
|
+
const nodeKey = node == null ? void 0 : node.__key;
|
|
60
|
+
const el = nodeKey ? editor.getElementByKey(nodeKey) : null;
|
|
61
|
+
if (nodeKey && el && func(el)) {
|
|
62
|
+
editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND, {
|
|
63
|
+
nodeKey,
|
|
64
|
+
toolsbars
|
|
65
|
+
});
|
|
82
66
|
return true;
|
|
83
67
|
}
|
|
68
|
+
editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND, null);
|
|
84
69
|
return false;
|
|
85
70
|
}, lexical.COMMAND_PRIORITY_LOW)
|
|
86
71
|
);
|
|
87
72
|
});
|
|
88
|
-
return { isSelected, setSelection, curSelectKey, curSelectPos };
|
|
89
73
|
};
|
|
90
74
|
exports.REMOVE_ELEMENTBLOCK_COMMAND = REMOVE_ELEMENTBLOCK_COMMAND;
|
|
91
75
|
exports.SELECTED_ELEMENTBLOCK_COMMAND = SELECTED_ELEMENTBLOCK_COMMAND;
|
|
92
76
|
exports.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND = UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND;
|
|
77
|
+
exports.setElementBlockSelection = setElementBlockSelection;
|
|
93
78
|
exports.useElementBlockSelection = useElementBlockSelection;
|
|
94
79
|
//# sourceMappingURL=element-block.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-block.js","sources":["../../../../../../src/components/basic/doc-editor/core/element-block.ts"],"sourcesContent":["\r\n\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { COMMAND_PRIORITY_LOW,CLICK_COMMAND, LexicalCommand, createCommand,
|
|
1
|
+
{"version":3,"file":"element-block.js","sources":["../../../../../../src/components/basic/doc-editor/core/element-block.ts"],"sourcesContent":["\r\n\r\nimport { mergeRegister } from '@lexical/utils'\r\n\r\nimport {\r\n $createNodeSelection,\r\n $getNodeByKey,\r\n $getSelection,\r\n $isNodeSelection,\r\n $setSelection,\r\n COMMAND_PRIORITY_LOW,CLICK_COMMAND, LexicalCommand, createCommand, NodeKey, LexicalEditor,\r\n SELECTION_CHANGE_COMMAND\r\n} from 'lexical'\r\nimport { useLexicalComposer,useMounted } from 'lexical-vue'\r\nimport { ref,watch,unref } from 'vue'\r\n\r\n/**\r\n * toolsbar的函数\r\n */\r\nexport type SelectElementBlockToolsbarFunction = (nodeKey?:NodeKey | string)=>Array<any>|null;\r\n\r\n/**\r\n * 元素抗选中类型\r\n */\r\nexport type SelectElementBlocktEventType = {\r\n nodeKey:NodeKey|string,\r\n toolsbars:Array<any>|SelectElementBlockToolsbarFunction\r\n}\r\n\r\n/**\r\n * 选中元素快\r\n */\r\nexport const SELECTED_ELEMENTBLOCK_COMMAND: LexicalCommand<SelectElementBlocktEventType|null> = createCommand('SELECTED_ELEMENTBLOCK_COMMAND')\r\n\r\n/**\r\n * 移除元素快\r\n */\r\nexport const REMOVE_ELEMENTBLOCK_COMMAND: LexicalCommand<undefined|null> = createCommand('REMOVE_ELEMENTBLOCK_COMMAND')\r\n\r\n/**\r\n * 更新模块工具条位置信息\r\n */\r\nexport const UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND: LexicalCommand<undefined|null> = createCommand('UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND')\r\n\r\n/**\r\n * 判断选中的方法\r\n */\r\nexport type SelectExistFunc = (el:HTMLElement)=>HTMLElement|null\r\n\r\n/**\r\n * 判断选中的方法\r\n */\r\nexport type ElementSelectionHandle = (el:HTMLElement)=>undefined\r\n\r\n\r\n\r\n// isNodeSelected \r\nconst isNodeSelected = function (editor: LexicalEditor, key: NodeKey): boolean {\r\n return editor.getEditorState().read(() => {\r\n const node = $getNodeByKey(key)\r\n if (node === null)\r\n return false\r\n return node.isSelected()\r\n })\r\n}\r\n\r\n// 取消选中\r\nconst clearSelection = (editor: LexicalEditor):Promise<undefined> => {\r\n return new Promise(resolove=>{\r\n editor.update(() => {\r\n const selection = $getSelection()\r\n if ($isNodeSelection(selection) && selection){\r\n selection.clear();\r\n }\r\n resolove(undefined)\r\n })\r\n })\r\n}\r\n\r\n// 设置选中\r\nconst setSelected = (editor: LexicalEditor,selected: boolean,key:string):Promise<undefined> => {\r\n\r\n return new Promise(resolove=>{\r\n editor.update(() => {\r\n let selection = $getSelection()\r\n \r\n if (!$isNodeSelection(selection)) {\r\n selection = $createNodeSelection()\r\n $setSelection(selection)\r\n }\r\n if ($isNodeSelection(selection)) {\r\n if (selected)\r\n selection.add(unref(key))\r\n else\r\n selection.delete(unref(key))\r\n }\r\n resolove(undefined)\r\n })\r\n })\r\n \r\n}\r\n\r\n// 设置选中\r\nexport const setElementBlockSelection = async (editor:LexicalEditor,nodeKey:string)=>{\r\n await clearSelection(editor);\r\n await setSelected(editor,true,nodeKey);\r\n}\r\n\r\n/**\r\n * 使用元素块选中\r\n */\r\nexport const useElementBlockSelection = (func:SelectExistFunc,toolsbars:Array<any>|SelectElementBlockToolsbarFunction)=>{\r\n\r\n const editor = useLexicalComposer()\r\n \r\n // 编辑器挂载\r\n useMounted(()=>{\r\n // 注册事件\r\n return mergeRegister(\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 // 暂时不支持使用 shift 建 多选\r\n // if (!event.shiftKey) { \r\n // // 先取消\r\n // clearSelection(editor)\r\n // }\r\n setElementBlockSelection(editor,nodeKey);\r\n return true;\r\n }\r\n \r\n return false;\r\n }, COMMAND_PRIORITY_LOW),\r\n // 选中的话\r\n editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {\r\n const selection = $getSelection();\r\n const node = $isNodeSelection(selection) ? selection?.getNodes()[0] : null;\r\n const nodeKey = node?.__key;\r\n const el = nodeKey ? editor.getElementByKey(nodeKey) : null;\r\n\r\n if(nodeKey && el && func(el)){\r\n editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND,{ \r\n nodeKey:nodeKey, toolsbars:toolsbars\r\n });\r\n return true;\r\n }\r\n editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND,null);\r\n return false;\r\n },COMMAND_PRIORITY_LOW)\r\n )\r\n })\r\n\r\n}\r\n"],"names":["createCommand","$getSelection","$isNodeSelection","$createNodeSelection","$setSelection","unref","useLexicalComposer","useMounted","mergeRegister","CLICK_COMMAND","COMMAND_PRIORITY_LOW","SELECTION_CHANGE_COMMAND"],"mappings":";;;;;;AAgCa,MAAA,gCAAmFA,sBAAc,+BAA+B;AAKhI,MAAA,8BAA8DA,sBAAc,6BAA6B;AAKzG,MAAA,0CAA0EA,sBAAc,yCAAyC;AAyB9I,MAAM,iBAAiB,CAAC,WAA6C;AAC5D,SAAA,IAAI,QAAQ,CAAU,aAAA;AAC3B,WAAO,OAAO,MAAM;AAClB,YAAM,YAAYC,QAAAA;AACd,UAAAC,QAAA,iBAAiB,SAAS,KAAK,WAAU;AAC3C,kBAAU,MAAM;AAAA,MAClB;AACA,eAAS,MAAS;AAAA,IAAA,CACnB;AAAA,EAAA,CACF;AACH;AAGA,MAAM,cAAc,CAAC,QAAsB,UAAkB,QAAkC;AAEtF,SAAA,IAAI,QAAQ,CAAU,aAAA;AAC3B,WAAO,OAAO,MAAM;AAClB,UAAI,YAAYD,QAAAA;AAEZ,UAAA,CAACC,QAAAA,iBAAiB,SAAS,GAAG;AAChC,oBAAYC,QAAqB,qBAAA;AACjCC,gBAAA,cAAc,SAAS;AAAA,MACzB;AACI,UAAAF,QAAAA,iBAAiB,SAAS,GAAG;AAEnB,kBAAA,IAAIG,UAAM,GAAG,CAAC;AAAA,MAG5B;AACA,eAAS,MAAS;AAAA,IAAA,CACnB;AAAA,EAAA,CACF;AAEH;AAGa,MAAA,2BAA2B,OAAO,QAAqB,YAAiB;AACnF,QAAM,eAAe,MAAM;AACrB,QAAA,YAAY,QAAO,MAAK,OAAO;AACvC;AAKa,MAAA,2BAA2B,CAAC,MAAqB,cAA0D;AAEtH,QAAM,SAASC,WAAAA;AAGfC,aAAAA,WAAW,MAAI;AAEN,WAAAC,MAAA;AAAA;AAAA,MAEL,OAAO,gBAA4BC,uBAAc,CAAC,UAAU;AAEpD,cAAA,KAAK,KAAK,MAAM,MAAqB;AACrC,cAAA,UAAU,yBAAI,aAAa;AAGjC,YAAG,WAAW,MAAK;AAEjB,gBAAM,eAAe;AAOrB,mCAAyB,QAAO,OAAO;AAChC,iBAAA;AAAA,QACT;AAEO,eAAA;AAAA,SACNC,4BAAoB;AAAA;AAAA,MAEvB,OAAO,gBAAgBC,QAAAA,0BAA0B,MAAM;AACrD,cAAM,YAAYV,QAAAA;AACZ,cAAA,OAAOC,yBAAiB,SAAS,IAAI,uCAAW,WAAW,KAAK;AACtE,cAAM,UAAU,6BAAM;AACtB,cAAM,KAAK,UAAU,OAAO,gBAAgB,OAAO,IAAI;AAEvD,YAAG,WAAW,MAAM,KAAK,EAAE,GAAE;AAC3B,iBAAO,gBAAgB,+BAA8B;AAAA,YACnD;AAAA,YAAiB;AAAA,UAAA,CAClB;AACM,iBAAA;AAAA,QACT;AACO,eAAA,gBAAgB,+BAA8B,IAAI;AAClD,eAAA;AAAA,SACPQ,4BAAoB;AAAA,IAAA;AAAA,EACxB,CACD;AAEH;;;;;;"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const elementBlock = require("./element-block.js");
|
|
5
|
-
require("lexical");
|
|
6
5
|
const DEVICE_VIEW_MODE = vue.ref("pc");
|
|
7
6
|
const ToolbarExtendPlugins = vue.reactive([]);
|
|
8
7
|
const registerDocEditorToolbarExtend = function(options) {
|
|
@@ -12,6 +11,7 @@ const registerDocEditorToolbarExtend = function(options) {
|
|
|
12
11
|
exports.REMOVE_ELEMENTBLOCK_COMMAND = elementBlock.REMOVE_ELEMENTBLOCK_COMMAND;
|
|
13
12
|
exports.SELECTED_ELEMENTBLOCK_COMMAND = elementBlock.SELECTED_ELEMENTBLOCK_COMMAND;
|
|
14
13
|
exports.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND = elementBlock.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND;
|
|
14
|
+
exports.setElementBlockSelection = elementBlock.setElementBlockSelection;
|
|
15
15
|
exports.useElementBlockSelection = elementBlock.useElementBlockSelection;
|
|
16
16
|
exports.DEVICE_VIEW_MODE = DEVICE_VIEW_MODE;
|
|
17
17
|
exports.ToolbarExtendPlugins = ToolbarExtendPlugins;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/basic/doc-editor/core/index.ts"],"sourcesContent":["\r\nimport { ref,reactive } from \"vue\"\r\nexport * from \"./element-block\"\r\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/basic/doc-editor/core/index.ts"],"sourcesContent":["\r\nimport { ref,reactive } from \"vue\"\r\nexport * from \"./element-block\"\r\n\r\n/**\r\n * 设备显示模式\r\n */\r\nexport const DEVICE_VIEW_MODE = ref<'pc' | 'mobile'>(\"pc\")\r\n\r\n/**\r\n * 工具条扩展\r\n */\r\nexport type ToolbarExtendPlugin = {\r\n icon: string;\r\n text:string,\r\n action:Function,\r\n sort:number\r\n};\r\n\r\n/**\r\n * 插入的插件列表\r\n */\r\nexport const ToolbarExtendPlugins = reactive<ToolbarExtendPlugin[]>([]);\r\n\r\n/**\r\n * 注册工具条的扩展\r\n * @param options \r\n */\r\nexport const registerDocEditorToolbarExtend = function(options:ToolbarExtendPlugin){\r\n ToolbarExtendPlugins.push(options);\r\n ToolbarExtendPlugins.sort((a,b)=>a.sort<b.sort ? 1:-1);\r\n}\r\n\r\n\r\n"],"names":["ref","reactive"],"mappings":";;;;AAOa,MAAA,mBAAmBA,QAAqB,IAAI;AAe5C,MAAA,uBAAuBC,IAAgC,SAAA,EAAE;AAMzD,MAAA,iCAAiC,SAAS,SAA4B;AACjF,uBAAqB,KAAK,OAAO;AACZ,uBAAA,KAAK,CAAC,GAAE,MAAI,EAAE,OAAK,EAAE,OAAO,IAAE,EAAE;AACvD;;;;;;;;;"}
|
|
@@ -8,6 +8,7 @@ const index_vue_vue_type_script_setup_true_lang$1 = require("./plugins/RichTextP
|
|
|
8
8
|
const index_vue_vue_type_script_setup_true_lang$6 = require("./plugins/ElementBlockSelectionPlugin/index.vue.js");
|
|
9
9
|
const index_vue_vue_type_script_setup_true_lang$4 = require("./plugins/ModulePlugin/index.vue.js");
|
|
10
10
|
const index_vue_vue_type_script_setup_true_lang$5 = require("./plugins/GridPlugin/index.vue.js");
|
|
11
|
+
const index_vue_vue_type_script_setup_true_lang$7 = require("./plugins/TemplatePlugin/index.vue.js");
|
|
11
12
|
const nodes = require("./plugins/nodes.js");
|
|
12
13
|
const composables = require("./plugins/ModulePlugin/composables.js");
|
|
13
14
|
const index = require("./core/index.js");
|
|
@@ -23,6 +24,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
23
24
|
props: {
|
|
24
25
|
placeholder: { type: String, default: "这里输入正文..." },
|
|
25
26
|
content: { type: String, default: `` },
|
|
27
|
+
loading: { type: Boolean, defualt: false },
|
|
26
28
|
js: { type: String, default: `` },
|
|
27
29
|
css: { type: String, default: `` }
|
|
28
30
|
},
|
|
@@ -60,10 +62,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
60
62
|
vue.onMounted(() => {
|
|
61
63
|
var _a, _b;
|
|
62
64
|
const doc = (_b = (_a = iframeContentRef.value) == null ? void 0 : _a.contentWindow) == null ? void 0 : _b.document;
|
|
65
|
+
const { Modules } = composables.useModule();
|
|
63
66
|
const style = document.createElement("style");
|
|
64
67
|
style.setAttribute("type", "text/css");
|
|
65
68
|
style.innerHTML = [docEditor, docTheme, docEditorEdit].join("\r\n");
|
|
66
|
-
style.innerHTML +=
|
|
69
|
+
style.innerHTML += Modules.filter((item) => item.editorCss).map((item) => item.editorCss).join("\r\n");
|
|
67
70
|
doc.head.append(style);
|
|
68
71
|
props.js.split(",").filter((item) => !!item).forEach((path) => {
|
|
69
72
|
const script = document.createElement("script");
|
|
@@ -86,9 +89,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
86
89
|
setTimeout(() => updateStage(), 500);
|
|
87
90
|
});
|
|
88
91
|
return (_ctx, _cache) => {
|
|
92
|
+
const _directive_loading = vue.resolveDirective("loading");
|
|
89
93
|
return vue.openBlock(), vue.createBlock(vue.unref(lexicalVue.LexicalComposer), { "initial-config": config }, {
|
|
90
94
|
default: vue.withCtx(() => [
|
|
91
|
-
vue.
|
|
95
|
+
vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
92
96
|
class: vue.normalizeClass(["mk-doc-editor", vue.unref(index.DEVICE_VIEW_MODE)])
|
|
93
97
|
}, [
|
|
94
98
|
vue.createVNode(vue.unref(index_vue_vue_type_script_setup_true_lang), {
|
|
@@ -124,7 +128,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
124
128
|
]),
|
|
125
129
|
vue.renderSlot(_ctx.$slots, "after-extentions")
|
|
126
130
|
])
|
|
127
|
-
], 2),
|
|
131
|
+
], 2)), [
|
|
132
|
+
[_directive_loading, __props.loading]
|
|
133
|
+
]),
|
|
134
|
+
vue.createVNode(vue.unref(index_vue_vue_type_script_setup_true_lang$7)),
|
|
128
135
|
vue.createVNode(vue.unref(lexicalVue.LexicalAutoFocusPlugin)),
|
|
129
136
|
vue.createVNode(vue.unref(lexicalVue.LexicalCheckListPlugin)),
|
|
130
137
|
vue.createVNode(vue.unref(lexicalVue.LexicalHashtagPlugin)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\">\r\n <div class=\"mk-doc-editor\" :class=\"DEVICE_VIEW_MODE\">\r\n <ToolbarPlugin :js=\"js\" :css=\"css\" />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <RichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\" :placeholder=\"placeholder\">\r\n </RichTextPlugin>\r\n <ImagePlugin />\r\n <AutoLinkPlugin />\r\n <ModulePlugin />\r\n <GridPlugin />\r\n </Teleport>\r\n <ElementBlockSelectionPlugin />\r\n <slot name=\"footer\"></slot>\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <LexicalAutoFocusPlugin />\r\n <LexicalCheckListPlugin />\r\n <LexicalHashtagPlugin />\r\n <LexicalListPlugin />\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport {\r\n LexicalComposer,\r\n LexicalAutoFocusPlugin,\r\n LexicalCheckListPlugin,\r\n LexicalHashtagPlugin,\r\n LexicalHistoryPlugin,\r\n LexicalListPlugin,\r\n} from 'lexical-vue'\r\nimport { \r\n ToolbarPlugin,\r\n RichTextPlugin,\r\n AutoLinkPlugin,\r\n ImagePlugin,\r\n ElementBlockSelectionPlugin,\r\n GridPlugin,\r\n ModulePlugin\r\n} from \"./plugins\"\r\nimport {
|
|
1
|
+
{"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\">\r\n <div class=\"mk-doc-editor\" v-loading=\"loading\" :class=\"DEVICE_VIEW_MODE\">\r\n <ToolbarPlugin :js=\"js\" :css=\"css\" />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <RichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\" :placeholder=\"placeholder\">\r\n </RichTextPlugin>\r\n <ImagePlugin />\r\n <AutoLinkPlugin />\r\n <ModulePlugin />\r\n <GridPlugin />\r\n </Teleport>\r\n <ElementBlockSelectionPlugin />\r\n <slot name=\"footer\"></slot>\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <TemplatePlguin />\r\n <LexicalAutoFocusPlugin />\r\n <LexicalCheckListPlugin />\r\n <LexicalHashtagPlugin />\r\n <LexicalListPlugin />\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport {\r\n LexicalComposer,\r\n LexicalAutoFocusPlugin,\r\n LexicalCheckListPlugin,\r\n LexicalHashtagPlugin,\r\n LexicalHistoryPlugin,\r\n LexicalListPlugin,\r\n} from 'lexical-vue'\r\nimport { \r\n ToolbarPlugin,\r\n RichTextPlugin,\r\n AutoLinkPlugin,\r\n ImagePlugin,\r\n ElementBlockSelectionPlugin,\r\n GridPlugin,\r\n ModulePlugin,\r\n TemplatePlguin\r\n} from \"./plugins\"\r\nimport { useModule } from \"./plugins/ModulePlugin/composables\"\r\nimport { DEVICE_VIEW_MODE } from \"./core\"\r\n\r\nimport DocTheme from \"./themes/DocTheme\";\r\nimport DocNodes from \"./plugins/nodes\"\r\nimport DocEditorCss from \"./themes/doc-editor.css?raw\";\r\nimport DocEditorEditCss from \"./themes/doc-editor-edit.css?raw\";\r\nimport DocThemeCss from \"./themes/doc-theme.css?raw\";\r\n\r\n// 定义组件\r\ndefineOptions({ name: \"MKDocEditor\" })\r\n\r\n// 事件\r\nconst emit = defineEmits(['change']);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n placeholder:{type:String,default:\"这里输入正文...\"},\r\n content:{ type:String,default:`` },\r\n loading:{ type:Boolean,defualt:false},\r\n js:{ type:String,default:`` },\r\n css:{ type:String,default:`` }\r\n})\r\n \r\n\r\n// 配置\r\nconst config = {\r\n namespace: 'MyEditor',\r\n theme: DocTheme,\r\n nodes: [\r\n ...DocNodes,\r\n ],\r\n onError(error:Error) {\r\n // Catch any errors that occur during Lexical updates and log them\r\n // or throw them as needed. If you don't throw them, Lexical will\r\n // try to recover gracefully without losing user data.\r\n console.error(error)\r\n },\r\n}\r\n\r\n// iframe 编辑器\r\nconst iframeContentRef = ref(null as any);\r\nconst iframeBody = computed(()=>iframeContentRef.value?.contentWindow?.document?.body)\r\n\r\n//内容改变时\r\nconst updateStage = ()=>{\r\n setTimeout(() => {\r\n if(iframeBody.value?.scrollHeight > iframeBody.value?.offsetHeight){\r\n iframeContentRef.value.style.height = (iframeBody.value?.scrollHeight + 10)+\"px\";\r\n }\r\n }, 10);\r\n}\r\nconst contentChangeHandle = (content:any)=>{\r\n emit('change',content);\r\n updateStage();\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const doc = iframeContentRef.value?.contentWindow?.document;\r\n const { Modules } = useModule();\r\n\r\n // 样式\r\n const style = document.createElement(\"style\");\r\n style.setAttribute(\"type\",\"text/css\")\r\n\r\n // 默认样式\r\n style.innerHTML = [DocEditorCss,DocThemeCss,DocEditorEditCss].join(\"\\r\\n\");\r\n\r\n //模块渲染样式\r\n style.innerHTML += Modules.filter(item=>item.editorCss).map(item=>item.editorCss).join(\"\\r\\n\");\r\n\r\n doc.head.append(style);\r\n\r\n // 扩展的js和css\r\n props.js.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const script = document.createElement(\"script\");\r\n script.src = path;\r\n script.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(script);\r\n })\r\n\r\n props.css.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const link = document.createElement(\"link\");\r\n link.href = path;\r\n link.setAttribute(\"rel\",\"stylesheet\")\r\n link.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(link);\r\n })\r\n\r\n // 设备显示模式改变\r\n watch(DEVICE_VIEW_MODE,(payload: string) => {\r\n doc.body.style.fontSize = payload == \"pc\" ? \"14px\" : \"18px\";\r\n updateStage();\r\n return false\r\n },{ immediate :true})\r\n\r\n // 初始化计算舞台\r\n setTimeout(()=> updateStage(),500)\r\n});\r\n\r\n</script>\r\n"],"names":["DocNodes","ref","computed","onMounted","useModule","DocEditorCss","DocThemeCss","DocEditorEditCss","watch","DEVICE_VIEW_MODE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,OAAO;AAGb,UAAM,QAAQ;AAUd,UAAM,SAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,QACL,GAAGA;AAAAA,MACL;AAAA,MACA,QAAQ,OAAa;AAInB,gBAAQ,MAAM,KAAK;AAAA,MACrB;AAAA,IAAA;AAII,UAAA,mBAAmBC,QAAI,IAAW;AACxC,UAAM,aAAaC,IAAS,SAAA;;AAAI,gDAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC,aAAvC,mBAAiD;AAAA,KAAI;AAGrF,UAAM,cAAc,MAAI;AACtB,iBAAW,MAAM;;AACf,cAAG,gBAAW,UAAX,mBAAkB,kBAAe,gBAAW,UAAX,mBAAkB,eAAa;AACjE,2BAAiB,MAAM,MAAM,WAAU,gBAAW,UAAX,mBAAkB,gBAAe,KAAI;AAAA,QAC9E;AAAA,SACC,EAAE;AAAA,IAAA;AAED,UAAA,sBAAsB,CAAC,YAAc;AACzC,WAAK,UAAS,OAAO;AACT;IAAA;AAGdC,QAAAA,UAAU,MAAI;;AAEN,YAAA,OAAM,4BAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC;AAC7C,YAAA,EAAE,YAAYC,YAAAA;AAGd,YAAA,QAAQ,SAAS,cAAc,OAAO;AACtC,YAAA,aAAa,QAAO,UAAU;AAGpC,YAAM,YAAY,CAACC,WAAaC,UAAYC,aAAgB,EAAE,KAAK,MAAM;AAGzE,YAAM,aAAa,QAAQ,OAAO,CAAA,SAAM,KAAK,SAAS,EAAE,IAAI,CAAM,SAAA,KAAK,SAAS,EAAE,KAAK,MAAM;AAEzF,UAAA,KAAK,OAAO,KAAK;AAGf,YAAA,GAAG,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAC/C,cAAA,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,MAAM;AACN,eAAA,aAAa,eAAc,MAAM;AACpC,YAAA,KAAK,OAAO,MAAM;AAAA,MAAA,CACvB;AAEK,YAAA,IAAI,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAChD,cAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,OAAO;AACP,aAAA,aAAa,OAAM,YAAY;AAC/B,aAAA,aAAa,eAAc,MAAM;AAClC,YAAA,KAAK,OAAO,IAAI;AAAA,MAAA,CACrB;AAGKC,gBAAAC,MAAAA,kBAAiB,CAAC,YAAoB;AAC1C,YAAI,KAAK,MAAM,WAAW,WAAW,OAAO,SAAS;AACzC;AACL,eAAA;AAAA,MAAA,GACP,EAAE,WAAW,KAAA,CAAK;AAGT,iBAAA,MAAK,eAAc,GAAG;AAAA,IAAA,CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const utils = require("@maketribe/utils");
|
|
4
4
|
const editor_vue_vue_type_script_setup_true_lang = require("./editor.vue.js");
|
|
5
|
+
const composables$1 = require("./plugins/TemplatePlugin/composables.js");
|
|
5
6
|
const MKDocEditor = utils.withInstall(editor_vue_vue_type_script_setup_true_lang);
|
|
7
|
+
exports.registerDocTemplate = composables$1.registerDocTemplate;
|
|
6
8
|
exports.MKDocEditor = MKDocEditor;
|
|
7
9
|
exports.default = MKDocEditor;
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/basic/doc-editor/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport Editor from \"./editor.vue\";\r\nimport { registerDocModule } from \"./plugins/ModulePlugin/composables\";\r\n\r\nexport const MKDocEditor = withInstall(Editor);\r\n\r\nexport { registerDocModule }\r\n\r\nexport default MKDocEditor;\r\n\r\n"],"names":["withInstall","Editor"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/basic/doc-editor/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport Editor from \"./editor.vue\";\r\nimport { registerDocModule } from \"./plugins/ModulePlugin/composables\";\r\nimport { registerDocTemplate } from \"./plugins/TemplatePlugin/composables\";\r\n\r\nexport const MKDocEditor = withInstall(Editor);\r\n\r\nexport { registerDocModule,registerDocTemplate }\r\n\r\nexport default MKDocEditor;\r\n\r\n"],"names":["withInstall","Editor"],"mappings":";;;;;AAKa,MAAA,cAAcA,kBAAYC,0CAAM;;;;"}
|