@maketribe/ms-app 3.2.22 → 3.2.23
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/doc-editor/editor.vue.js +25 -49
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +2 -25
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +41 -61
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js +64 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js +49 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +49 -73
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +13 -23
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +4 -27
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js +2 -23
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js +5 -24
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -22
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +2 -23
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/{lexical-vue/components/LexicalContentEditable.vue.js → plugins/RichTextPlugin/ContentEditable.vue.js} +5 -18
- package/dist/{esm/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue.js.map → cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue.js.map} +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js +13 -0
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/{lexical-vue/components/LexicalRichTextPlugin.vue.js → plugins/RichTextPlugin/index.vue.js} +20 -26
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +153 -0
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +2 -22
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +2 -23
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js +2 -24
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +16 -26
- 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 +10 -24
- 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 +12 -7
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor.css.js +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor.css.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +4 -8
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +3 -3
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -2
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js +4 -0
- package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js +27 -51
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +2 -25
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +40 -60
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js +65 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js +49 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +51 -75
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +12 -22
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +1 -24
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js +1 -22
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js +4 -23
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +1 -21
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -22
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/{lexical-vue/components/LexicalContentEditable.vue.js → plugins/RichTextPlugin/ContentEditable.vue.js} +3 -16
- package/dist/{cjs/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue.js.map → esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue.js.map} +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js +14 -0
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/{lexical-vue/components/LexicalRichTextPlugin.vue.js → plugins/RichTextPlugin/index.vue.js} +18 -24
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +153 -0
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +1 -21
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +1 -22
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js +1 -23
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +15 -25
- 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 +9 -23
- 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 +13 -8
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor.css.js +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor.css.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +4 -8
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +3 -3
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -2
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js +4 -0
- package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +6 -3
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.d.ts +6 -0
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +18 -19
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/index.d.ts +2 -1
- package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalRichTextPlugin.vue.d.ts → plugins/RichTextPlugin/index.vue.d.ts} +12 -11
- package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.d.ts +12 -0
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +22 -1
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.d.ts +22 -1
- package/dist/types/components/basic/doc-editor/plugins/VideoPlugin/VideoNode.d.ts +2 -2
- package/dist/types/components/basic/doc-editor/plugins/index.d.ts +9 -0
- package/dist/types/components/basic/doc-editor/plugins/nodes.d.ts +1 -1
- package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date-options.d.ts +1 -1
- package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date.d.ts +2 -2
- package/dist/types/components/data-model/data-filter-form/components/condition-date/index.d.ts +2 -2
- package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/tree/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +1 -1
- package/dist/types/modules/ms/components/material-list/material-item.vue.d.ts +1 -1
- package/dist/types/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.d.ts +1 -0
- package/package.json +25 -25
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js +0 -5
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +0 -4
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +0 -39
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js +0 -176
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +0 -4
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +0 -108
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js +0 -74
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js +0 -26
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +0 -36
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js +0 -31
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js +0 -16
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js +0 -5
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/inject.js +0 -5
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/inject.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js +0 -31
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js +0 -29
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useDecorators.js +0 -31
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useDecorators.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useHistory.js +0 -15
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useHistory.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js +0 -17
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js +0 -54
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useMounted.js +0 -14
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useMounted.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js +0 -16
- package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +0 -23
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js +0 -4
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +0 -40
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js +0 -176
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +0 -109
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js +0 -75
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js +0 -27
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +0 -36
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js +0 -32
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js +0 -15
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js +0 -4
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/inject.js +0 -5
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/inject.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js +0 -31
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js +0 -28
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useDecorators.js +0 -31
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useDecorators.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useHistory.js +0 -15
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useHistory.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js +0 -17
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js +0 -54
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useMounted.js +0 -14
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useMounted.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js +0 -16
- package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +0 -24
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +0 -1
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/index.vue.d.ts +0 -36
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.d.ts +0 -21
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoFocusPlugin.vue.d.ts +0 -15
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.d.ts +0 -26
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.d.ts +0 -14
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoScrollPlugin.vue.d.ts +0 -15
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.d.ts +0 -31
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalCharacterLimitPlugin.vue.d.ts +0 -29
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalClearEditorPlugin.vue.d.ts +0 -6
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalClickableLinkPlugin.vue.d.ts +0 -29
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalCollaborationPlugin.vue.d.ts +0 -34
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.d.ts +0 -31
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalContextMenuPlugin.vue.d.ts +0 -62
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.d.ts +0 -16
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalHashtagPlugin.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.d.ts +0 -16
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalLinkPlugin.vue.d.ts +0 -15
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalListPlugin.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalMarkdownShortcutPlugin.vue.d.ts +0 -30
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalMenu/index.vue.d.ts +0 -55
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.d.ts +0 -32
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalNodeMenuPlugin.vue.d.ts +0 -61
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalOnChangePlugin.vue.d.ts +0 -39
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalPlainTextPlugin.vue.d.ts +0 -12
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTabIndentationPlugin.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTablePlugin.vue.d.ts +0 -39
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTreeViewPlugin.vue.d.ts +0 -25
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/index.vue.d.ts +0 -59
- package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.d.ts +0 -21
- package/dist/types/components/basic/doc-editor/lexical-vue/components/index.d.ts +0 -32
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/index.d.ts +0 -16
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/inject.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/listenerManager.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useCharacterLimit.d.ts +0 -9
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.d.ts +0 -1388
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useDecorators.d.ts +0 -4
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useEffect.d.ts +0 -5
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useHistory.d.ts +0 -4
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalCommandsLog.d.ts +0 -5
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.d.ts +0 -6
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalIsTextContentEmpty.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.d.ts +0 -7
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalTextEntity.d.ts +0 -3
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useList.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useMounted.d.ts +0 -4
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/usePlainTextSetup.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useReactiveEditor.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useTableOfContents.d.ts +0 -8
- package/dist/types/components/basic/doc-editor/lexical-vue/composables/useYjsCollaboration.d.ts +0 -8
- package/dist/types/components/basic/doc-editor/lexical-vue/index.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/lexical-vue/types.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/index.vue.d.ts +0 -2
- /package/dist/cjs/components/basic/doc-editor/plugins/{index.vue2.js → RichTextPlugin/index.vue2.js} +0 -0
- /package/dist/cjs/components/basic/doc-editor/plugins/{index.vue2.js.map → RichTextPlugin/index.vue2.js.map} +0 -0
- /package/dist/esm/components/basic/doc-editor/plugins/{index.vue2.js → RichTextPlugin/index.vue2.js} +0 -0
- /package/dist/esm/components/basic/doc-editor/plugins/{index.vue2.js.map → RichTextPlugin/index.vue2.js.map} +0 -0
- /package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalCheckListPlugin.vue.d.ts → plugins/HtmlBlockPlugin/HtmlBlockTools.vue.d.ts} +0 -0
- /package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalContentEditable.vue.d.ts → plugins/RichTextPlugin/ContentEditable.vue.d.ts} +0 -0
- /package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalDecoratedTeleports.d.ts → plugins/RichTextPlugin/DecoratedTeleports.d.ts} +0 -0
package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js
CHANGED
|
@@ -1,34 +1,13 @@
|
|
|
1
|
-
import { defineComponent, ref, createVNode
|
|
2
|
-
import { CLICK_COMMAND, COMMAND_PRIORITY_LOW } from "lexical";
|
|
1
|
+
import { defineComponent, ref, createVNode } from "vue";
|
|
2
|
+
import { CLICK_COMMAND, COMMAND_PRIORITY_LOW, $getSelection, $isNodeSelection } from "lexical";
|
|
3
3
|
import { mergeRegister } from "@lexical/utils";
|
|
4
|
-
import "
|
|
5
|
-
import {
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "@lexical/history";
|
|
9
|
-
import { useLexicalComposer } from "../../lexical-vue/composables/useLexicalComposer.js";
|
|
10
|
-
import { useLexicalNodeSelection } from "../../lexical-vue/composables/useLexicalNodeSelection.js";
|
|
11
|
-
import "@lexical/list";
|
|
12
|
-
import "@lexical/dragon";
|
|
13
|
-
import "@lexical/plain-text";
|
|
14
|
-
import "@lexical/rich-text";
|
|
15
|
-
import "@lexical/yjs";
|
|
16
|
-
import "yjs";
|
|
17
|
-
import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
|
|
18
|
-
import "@lexical/html";
|
|
19
|
-
import "@lexical/link";
|
|
20
|
-
import "@lexical/mark";
|
|
21
|
-
import "@lexical/table";
|
|
22
|
-
import "@lexical/hashtag";
|
|
23
|
-
import _sfc_main from "../../lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js";
|
|
24
|
-
import "@lexical/markdown";
|
|
25
|
-
import "../../lexical-vue/composables/useCollaborationContext.js";
|
|
26
|
-
import "../../lexical-vue/components/LexicalMenu/shared.js";
|
|
27
|
-
import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
|
|
28
|
-
import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
|
|
4
|
+
import { useLexicalComposer, useLexicalNodeSelection, useMounted } from "lexical-vue";
|
|
5
|
+
import { REMOVE_HTML_BLOCK_COMMAND, HTML_BLOCK_CHANGE } from "./index.js";
|
|
6
|
+
import { SELECTED_COMPONENT_COMMAND } from "../commands.js";
|
|
7
|
+
import _sfc_main from "./HtmlBlockTools.vue.js";
|
|
29
8
|
const DocHtmlBlockComponent = /* @__PURE__ */ defineComponent({
|
|
30
9
|
name: "DocHtmlBlockComponent",
|
|
31
|
-
props: ["baseClass", "focusClass", "nodeKey", "
|
|
10
|
+
props: ["baseClass", "focusClass", "class", "nodeKey", "html"],
|
|
32
11
|
setup(props) {
|
|
33
12
|
const editor = useLexicalComposer();
|
|
34
13
|
const {
|
|
@@ -37,54 +16,55 @@ const DocHtmlBlockComponent = /* @__PURE__ */ defineComponent({
|
|
|
37
16
|
clearSelection
|
|
38
17
|
} = useLexicalNodeSelection(props.nodeKey);
|
|
39
18
|
const selfElRef = ref(null);
|
|
19
|
+
const htmlContent = ref(props.html);
|
|
40
20
|
useMounted(() => {
|
|
41
21
|
return mergeRegister(
|
|
42
|
-
//
|
|
22
|
+
// 选中
|
|
43
23
|
editor.registerCommand(CLICK_COMMAND, (event) => {
|
|
44
|
-
console.log(event.target);
|
|
45
24
|
if (event.target === selfElRef.value) {
|
|
46
25
|
event.preventDefault();
|
|
47
26
|
if (!event.shiftKey) {
|
|
48
27
|
clearSelection();
|
|
49
28
|
}
|
|
50
29
|
setSelected(true);
|
|
30
|
+
editor.dispatchCommand(SELECTED_COMPONENT_COMMAND, {
|
|
31
|
+
el: selfElRef.value,
|
|
32
|
+
component: _sfc_main
|
|
33
|
+
});
|
|
51
34
|
return true;
|
|
52
35
|
}
|
|
36
|
+
editor.dispatchCommand(SELECTED_COMPONENT_COMMAND, null);
|
|
37
|
+
return false;
|
|
38
|
+
}, COMMAND_PRIORITY_LOW),
|
|
39
|
+
// 删除
|
|
40
|
+
editor.registerCommand(REMOVE_HTML_BLOCK_COMMAND, () => {
|
|
41
|
+
const selection = $getSelection();
|
|
42
|
+
if ($isNodeSelection(selection)) {
|
|
43
|
+
selection.getNodes().forEach((node) => node.remove());
|
|
44
|
+
editor.dispatchCommand(SELECTED_COMPONENT_COMMAND, null);
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}, COMMAND_PRIORITY_LOW),
|
|
48
|
+
// 修改
|
|
49
|
+
editor.registerCommand(HTML_BLOCK_CHANGE, (payload) => {
|
|
50
|
+
const selection = $getSelection();
|
|
51
|
+
if ($isNodeSelection(selection)) {
|
|
52
|
+
const node = selection.getNodes()[0];
|
|
53
|
+
if (node.getKey() == props.nodeKey) {
|
|
54
|
+
htmlContent.value = payload;
|
|
55
|
+
node.setHtml(payload);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
53
58
|
return false;
|
|
54
59
|
}, COMMAND_PRIORITY_LOW)
|
|
55
60
|
);
|
|
56
61
|
});
|
|
57
62
|
return () => {
|
|
58
|
-
return createVNode(
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"srcdoc": `
|
|
64
|
-
<html>
|
|
65
|
-
<head>
|
|
66
|
-
<style type="text/css">
|
|
67
|
-
${props.attrs.css}
|
|
68
|
-
</style>
|
|
69
|
-
<script>
|
|
70
|
-
${props.attrs.js}
|
|
71
|
-
<\/script>
|
|
72
|
-
</head>
|
|
73
|
-
<body>${props.attrs.content}</body>
|
|
74
|
-
</html>
|
|
75
|
-
`,
|
|
76
|
-
"style": {
|
|
77
|
-
width: "100%",
|
|
78
|
-
padding: 0,
|
|
79
|
-
margin: 0
|
|
80
|
-
}
|
|
81
|
-
}, {
|
|
82
|
-
frameborder: 0,
|
|
83
|
-
allowFullScreen: true
|
|
84
|
-
}, {
|
|
85
|
-
"allow": "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
86
|
-
}), null)]
|
|
87
|
-
});
|
|
63
|
+
return createVNode("div", {
|
|
64
|
+
"class": `${props.baseClass} ${props.class} ${isSelected.value ? props.focusClass : ""}`,
|
|
65
|
+
"ref": (el) => selfElRef.value = el,
|
|
66
|
+
"innerHTML": htmlContent.value
|
|
67
|
+
}, null);
|
|
88
68
|
};
|
|
89
69
|
}
|
|
90
70
|
});
|
package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocHtmlBlockComponent.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"DocHtmlBlockComponent.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.tsx"],"sourcesContent":["import {\r\n $getSelection,\r\n $isNodeSelection,\r\n CLICK_COMMAND,\r\n COMMAND_PRIORITY_LOW,\r\n} from \"lexical\";\r\nimport { mergeRegister } from \"@lexical/utils\";\r\nimport {\r\n useLexicalComposer,\r\n useLexicalNodeSelection,\r\n useMounted,\r\n} from \"lexical-vue\";\r\nimport { defineComponent, ref } from \"vue\";\r\nimport { REMOVE_HTML_BLOCK_COMMAND,HTML_BLOCK_CHANGE, HtmlBlockNode } from './index'\r\nimport { SELECTED_COMPONENT_COMMAND,ComponentSelectEvent } from \"../commands\"\r\nimport HtmlBlockTools from \"./HtmlBlockTools.vue\";\r\n\r\n/**\r\n * 图片渲染组件\r\n */\r\nexport default defineComponent({\r\n name: \"DocHtmlBlockComponent\",\r\n props: [\"baseClass\", \"focusClass\", \"class\",\"nodeKey\", \"html\"],\r\n setup(props) {\r\n const editor = useLexicalComposer();\r\n const { isSelected, setSelected, clearSelection } = useLexicalNodeSelection(props.nodeKey);\r\n\r\n const selfElRef = ref<any>(null);\r\n const htmlContent = ref(props.html);\r\n\r\n // 编辑器挂载的时候\r\n useMounted(() => {\r\n return mergeRegister(\r\n // 选中\r\n editor.registerCommand<MouseEvent>(CLICK_COMMAND,(event) => {\r\n if (event.target === selfElRef.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 // 选中后显示工具条\r\n editor.dispatchCommand(SELECTED_COMPONENT_COMMAND,{ \r\n el:selfElRef.value,\r\n component:HtmlBlockTools\r\n } as ComponentSelectEvent);\r\n\r\n return true;\r\n }\r\n // 没选中\r\n editor.dispatchCommand(SELECTED_COMPONENT_COMMAND,null);\r\n return false;\r\n }, COMMAND_PRIORITY_LOW),\r\n // 删除\r\n editor.registerCommand(REMOVE_HTML_BLOCK_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 editor.dispatchCommand(SELECTED_COMPONENT_COMMAND,null);\r\n }\r\n return false;\r\n },COMMAND_PRIORITY_LOW),\r\n // 修改\r\n editor.registerCommand(HTML_BLOCK_CHANGE,(payload:string) => {\r\n\r\n const selection = $getSelection();\r\n\r\n if($isNodeSelection(selection)){\r\n \r\n const node = selection.getNodes()[0] as HtmlBlockNode;\r\n\r\n if(node.getKey() == props.nodeKey){\r\n htmlContent.value = payload;\r\n node.setHtml(payload)\r\n }\r\n \r\n }\r\n \r\n return false\r\n },COMMAND_PRIORITY_LOW),\r\n );\r\n });\r\n\r\n return () => {\r\n return <div class={`${props.baseClass} ${props.class} ${isSelected.value ? props.focusClass : ''}`} \r\n ref={el=>selfElRef.value=el} v-html={htmlContent.value}>\r\n </div>\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","setup","editor","useLexicalComposer","isSelected","setSelected","clearSelection","useLexicalNodeSelection","nodeKey","selfElRef","ref","htmlContent","html","useMounted","mergeRegister","registerCommand","CLICK_COMMAND","event","target","value","preventDefault","shiftKey","dispatchCommand","SELECTED_COMPONENT_COMMAND","el","component","HtmlBlockTools","COMMAND_PRIORITY_LOW","REMOVE_HTML_BLOCK_COMMAND","selection","$getSelection","$isNodeSelection","getNodes","forEach","node","remove","HTML_BLOCK_CHANGE","payload","getKey","setHtml","_createVNode","baseClass","class","focusClass"],"mappings":";;;;;;;AAoBA,MAAeA,wDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO,CAAC,aAAa,cAAc,SAAQ,WAAW,MAAM;AAAA,EAC5DC,MAAMD,OAAO;AACX,UAAME,SAASC;AACf,UAAM;AAAA,MAAEC;AAAAA,MAAYC;AAAAA,MAAaC;AAAAA,IAAe,IAAIC,wBAAwBP,MAAMQ,OAAO;AAEzF,UAAMC,YAAYC,IAAS,IAAI;AAC/B,UAAMC,cAAcD,IAAIV,MAAMY,IAAI;AAGlCC,eAAW,MAAM;AACf,aAAOC;AAAAA;AAAAA,QAELZ,OAAOa,gBAA4BC,eAAeC,WAAU;AAC1D,cAAIA,MAAMC,WAAWT,UAAUU,OAAO;AAEpCF,kBAAMG,eAAc;AAEpB,gBAAI,CAACH,MAAMI,UAAU;AAAEf;YAAmB;AAE1CD,wBAAY,IAAI;AAGhBH,mBAAOoB,gBAAgBC,4BAA2B;AAAA,cAChDC,IAAGf,UAAUU;AAAAA,cACbM,WAAUC;AAAAA,YACZ,CAAyB;AAEzB,mBAAO;AAAA,UACT;AAEAxB,iBAAOoB,gBAAgBC,4BAA2B,IAAI;AACtD,iBAAO;AAAA,QACR,GAAEI,oBAAoB;AAAA;AAAA,QAEvBzB,OAAOa,gBAAgBa,2BAA2B,MAAM;AAEtD,gBAAMC,YAAYC;AAElB,cAAGC,iBAAiBF,SAAS,GAAE;AAE7BA,sBAAUG,SAAQ,EAAGC,QAAQC,UAAMA,KAAKC,OAAM,CAAE;AAEhDjC,mBAAOoB,gBAAgBC,4BAA2B,IAAI;AAAA,UACxD;AACA,iBAAO;AAAA,QACR,GAACI,oBAAoB;AAAA;AAAA,QAEtBzB,OAAOa,gBAAgBqB,mBAAmBC,aAAmB;AAE3D,gBAAMR,YAAYC;AAElB,cAAGC,iBAAiBF,SAAS,GAAE;AAE7B,kBAAMK,OAAOL,UAAUG,SAAU,EAAC,CAAC;AAEnC,gBAAGE,KAAKI,YAAYtC,MAAMQ,SAAQ;AAChCG,0BAAYQ,QAAQkB;AACpBH,mBAAKK,QAAQF,OAAO;AAAA,YACtB;AAAA,UAEF;AAEA,iBAAO;AAAA,WACPV,oBAAoB;AAAA,MACxB;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,aAAAa,YAAA,OAAA;AAAA,QAAA,SAAmB,GAAGxC,MAAMyC,SAAS,IAAIzC,MAAM0C,KAAK,IAAItC,WAAWe,QAAQnB,MAAM2C,aAAa,EAAE;AAAA,QAAE,OAC7FnB,QAAIf,UAAUU,QAAMK;AAAAA,QAAE,aAAUb,YAAYQ;AAAAA,MAAK,GAAA,IAAA;AAAA;EAG1D;AACF,CAAC;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { defineComponent, ref, onMounted, onUnmounted, resolveComponent, openBlock, createBlock, withCtx, createVNode, unref } from "vue";
|
|
2
|
+
import { SELECTION_CHANGE_COMMAND, $getSelection, $isNodeSelection } from "lexical";
|
|
3
|
+
import { mergeRegister } from "@lexical/utils";
|
|
4
|
+
import { useLexicalComposer } from "lexical-vue";
|
|
5
|
+
import { HtmlBlockNode, REMOVE_HTML_BLOCK_COMMAND, HTML_BLOCK_CHANGE } from "./index.js";
|
|
6
|
+
import { ShowHtmlEditPanel } from "./HtmlEditDialog.js";
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
__name: "HtmlBlockTools",
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const editor = useLexicalComposer();
|
|
11
|
+
const htmlContent = ref("");
|
|
12
|
+
const editHandle = async () => {
|
|
13
|
+
var result = await ShowHtmlEditPanel(htmlContent.value);
|
|
14
|
+
editor.dispatchCommand(HTML_BLOCK_CHANGE, result);
|
|
15
|
+
};
|
|
16
|
+
onMounted(() => {
|
|
17
|
+
const unregisterMergeListener = mergeRegister(
|
|
18
|
+
editor.registerCommand(SELECTION_CHANGE_COMMAND, (payload, newEditor) => {
|
|
19
|
+
const selection = $getSelection();
|
|
20
|
+
if ($isNodeSelection(selection)) {
|
|
21
|
+
const node = selection.getNodes()[0];
|
|
22
|
+
if (node.__type == HtmlBlockNode.getType()) {
|
|
23
|
+
htmlContent.value = node == null ? void 0 : node.__html;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}, 1)
|
|
28
|
+
);
|
|
29
|
+
onUnmounted(() => unregisterMergeListener());
|
|
30
|
+
});
|
|
31
|
+
return (_ctx, _cache) => {
|
|
32
|
+
const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
|
|
33
|
+
const _component_el_button = resolveComponent("el-button");
|
|
34
|
+
const _component_el_button_group = resolveComponent("el-button-group");
|
|
35
|
+
return openBlock(), createBlock(_component_el_button_group, null, {
|
|
36
|
+
default: withCtx(() => [
|
|
37
|
+
createVNode(_component_el_button, {
|
|
38
|
+
text: "",
|
|
39
|
+
onClick: editHandle
|
|
40
|
+
}, {
|
|
41
|
+
default: withCtx(() => [
|
|
42
|
+
createVNode(_component_MKSvgIcon, { iconClass: `Edit` })
|
|
43
|
+
]),
|
|
44
|
+
_: 1
|
|
45
|
+
}),
|
|
46
|
+
createVNode(_component_el_button, {
|
|
47
|
+
text: "",
|
|
48
|
+
type: "danger",
|
|
49
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(editor).dispatchCommand(unref(REMOVE_HTML_BLOCK_COMMAND), null))
|
|
50
|
+
}, {
|
|
51
|
+
default: withCtx(() => [
|
|
52
|
+
createVNode(_component_MKSvgIcon, { iconClass: `Delete` })
|
|
53
|
+
]),
|
|
54
|
+
_: 1
|
|
55
|
+
})
|
|
56
|
+
]),
|
|
57
|
+
_: 1
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
export {
|
|
63
|
+
_sfc_main as default
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=HtmlBlockTools.vue.js.map
|
package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlBlockTools.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { \r\n SELECTION_CHANGE_COMMAND,$getSelection,$isNodeSelection \r\n} from 'lexical'\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { onMounted, onUnmounted,ref } from 'vue'\r\nimport { useLexicalComposer } from 'lexical-vue'\r\nimport { REMOVE_HTML_BLOCK_COMMAND,HTML_BLOCK_CHANGE, HtmlBlockNode } from './index'\r\nimport { ShowHtmlEditPanel } from \"./HtmlEditDialog\"\r\n\r\n \r\nconst editor = useLexicalComposer()\r\nconst htmlContent = ref(\"\")\r\n\r\n// 编辑\r\nconst editHandle = async ()=>{\r\n var result = await ShowHtmlEditPanel(htmlContent.value);\r\n editor.dispatchCommand(HTML_BLOCK_CHANGE,result as string)\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const unregisterMergeListener = mergeRegister(\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] as HtmlBlockNode;\r\n \r\n if(node.__type == HtmlBlockNode.getType()){\r\n htmlContent.value = node?.__html\r\n }\r\n \r\n }\r\n return false;\r\n },1)\r\n )\r\n\r\n // 卸载\r\n onUnmounted(() => unregisterMergeListener())\r\n\r\n})\r\n\r\n</script>\r\n\r\n<template>\r\n <el-button-group>\r\n <el-button text @click=\"editHandle\">\r\n <MKSvgIcon :iconClass=\"`Edit`\" /> \r\n </el-button>\r\n <el-button text type=\"danger\" @click=\"editor.dispatchCommand(REMOVE_HTML_BLOCK_COMMAND,null)\">\r\n <MKSvgIcon :iconClass=\"`Delete`\" /> \r\n </el-button>\r\n </el-button-group>\r\n</template>\r\n"],"names":[],"mappings":";;;;;;;;;AAWA,UAAM,SAAS;AACT,UAAA,cAAc,IAAI,EAAE;AAG1B,UAAM,aAAa,YAAW;AAC5B,UAAI,SAAS,MAAM,kBAAkB,YAAY,KAAK;AAC/C,aAAA,gBAAgB,mBAAkB,MAAgB;AAAA,IAAA;AAG3D,cAAU,MAAI;AAEZ,YAAM,0BAA0B;AAAA,QAC9B,OAAO,gBAAgB,0BAA0B,CAAC,SAAS,cAAc;AAEvE,gBAAM,YAAY;AAEf,cAAA,iBAAiB,SAAS,GAAE;AAE7B,kBAAM,OAAO,UAAU,SAAS,EAAE,CAAC;AAEnC,gBAAG,KAAK,UAAU,cAAc,QAAA,GAAU;AACxC,0BAAY,QAAQ,6BAAM;AAAA,YAC5B;AAAA,UAEF;AACO,iBAAA;AAAA,WACP,CAAC;AAAA,MAAA;AAIO,kBAAA,MAAM,yBAAyB;AAAA,IAAA,CAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlBlockTools.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ref, createVNode, Fragment, createTextVNode } from "vue";
|
|
2
|
+
import { Dialoger } from "@maketribe/dm";
|
|
3
|
+
import { ElButton } from "element-plus";
|
|
4
|
+
import { MKCodeEditor } from "../../../code-editor/index.js";
|
|
5
|
+
import { html } from "@codemirror/lang-html";
|
|
6
|
+
const ShowHtmlEditPanel = async (content) => {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
const htmlValue = ref(content);
|
|
9
|
+
const extensions = [html()];
|
|
10
|
+
const handleCancelClick = () => {
|
|
11
|
+
dialogInstance.destroy();
|
|
12
|
+
};
|
|
13
|
+
const handleConfirmClick = () => {
|
|
14
|
+
dialogInstance.destroy();
|
|
15
|
+
resolve(htmlValue.value);
|
|
16
|
+
};
|
|
17
|
+
const dialogInstance = Dialoger.customRender({
|
|
18
|
+
title: "自定义HTML代码块",
|
|
19
|
+
class: "mk-html-editor-dialog",
|
|
20
|
+
width: "70%",
|
|
21
|
+
onClose: () => {
|
|
22
|
+
dialogInstance.destroy();
|
|
23
|
+
},
|
|
24
|
+
body: () => {
|
|
25
|
+
return createVNode(MKCodeEditor, {
|
|
26
|
+
"modelValue": htmlValue.value,
|
|
27
|
+
"onUpdate:modelValue": ($event) => htmlValue.value = $event,
|
|
28
|
+
"extensions": extensions
|
|
29
|
+
}, null);
|
|
30
|
+
},
|
|
31
|
+
footer: () => {
|
|
32
|
+
return createVNode(Fragment, null, [createVNode(ElButton, {
|
|
33
|
+
"onClick": handleCancelClick
|
|
34
|
+
}, {
|
|
35
|
+
default: () => [createTextVNode("取消")]
|
|
36
|
+
}), createVNode(ElButton, {
|
|
37
|
+
"type": "primary",
|
|
38
|
+
"onClick": handleConfirmClick
|
|
39
|
+
}, {
|
|
40
|
+
default: () => [createTextVNode("确定")]
|
|
41
|
+
})]);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
ShowHtmlEditPanel
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=HtmlEditDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlEditDialog.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.tsx"],"sourcesContent":["\r\nimport { Fragment,ref,unref } from 'vue'\r\nimport { Dialoger } from '@maketribe/dm'\r\nimport { ElButton} from \"element-plus\";\r\nimport { MKCodeEditor } from \"../../../code-editor\"\r\nimport { html } from \"@codemirror/lang-html\"\r\n/**\r\n * \r\n * @param html \r\n * @returns \r\n */\r\nexport const ShowHtmlEditPanel = async (content:any) => {\r\n return new Promise((resolve,reject) => {\r\n\r\n const htmlValue = ref(content)\r\n\r\n const extensions = [html()]\r\n\r\n // 取消编辑\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n // 确认编辑\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n resolve(htmlValue.value);\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"自定义HTML代码块\",\r\n class: \"mk-html-editor-dialog\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return <MKCodeEditor v-model={htmlValue.value} extensions={extensions} ></MKCodeEditor>\r\n },\r\n footer: () => {\r\n return <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["ShowHtmlEditPanel","content","Promise","resolve","reject","htmlValue","ref","extensions","html","handleCancelClick","dialogInstance","destroy","handleConfirmClick","value","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKCodeEditor","$event","footer","_Fragment","ElButton","default","_createTextVNode"],"mappings":";;;;;AAWaA,MAAAA,oBAAoB,OAAQC,YAAgB;AACvD,SAAO,IAAIC,QAAQ,CAACC,SAAQC,WAAW;AAErC,UAAMC,YAAYC,IAAIL,OAAO;AAE7B,UAAMM,aAAa,CAACC,KAAI,CAAE;AAG1B,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAAA;AAIxB,UAAMC,qBAAqBA,MAAM;AAC/BF,qBAAeC,QAAO;AACtBR,cAAQE,UAAUQ,KAAK;AAAA;AAGzB,UAAMH,iBAAiBI,SAASC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACbT,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDS,MAAMA,MAAM;AACV,eAAAC,YAAAC,cAAA;AAAA,UAAA,cAA8BjB,UAAUQ;AAAAA,UAAK,uBAAAU,YAAflB,UAAUQ,QAAKU;AAAAA,UAAA,cAAchB;AAAAA,QAAU,GAAA,IAAA;AAAA,MACtE;AAAA,MACDiB,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WACqBjB;AAAAA,QAAiB,GAAA;AAAA,UAAAkB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFd;AAAAA,QAAkB,GAAA;AAAA,UAAAe,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAIxD;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
|
|
@@ -1,128 +1,104 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { createCommand } from "lexical";
|
|
4
|
+
import { createCommand, DecoratorNode } from "lexical";
|
|
5
5
|
import { h } from "vue";
|
|
6
|
-
import "@lexical/text";
|
|
7
|
-
import "@lexical/utils";
|
|
8
|
-
import "@lexical/overflow";
|
|
9
|
-
import "tiny-invariant";
|
|
10
|
-
import "@lexical/history";
|
|
11
|
-
import "@lexical/list";
|
|
12
|
-
import "@lexical/dragon";
|
|
13
|
-
import "@lexical/plain-text";
|
|
14
|
-
import "@lexical/rich-text";
|
|
15
|
-
import "@lexical/yjs";
|
|
16
|
-
import "yjs";
|
|
17
|
-
import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
|
|
18
|
-
import "@lexical/html";
|
|
19
|
-
import "@lexical/link";
|
|
20
|
-
import "@lexical/mark";
|
|
21
|
-
import "@lexical/table";
|
|
22
|
-
import "@lexical/hashtag";
|
|
23
|
-
import { DecoratorBlockNode } from "../../lexical-vue/components/LexicalDecoratorBlockNode.js";
|
|
24
|
-
import "@lexical/markdown";
|
|
25
|
-
import "../../lexical-vue/composables/useCollaborationContext.js";
|
|
26
|
-
import "../../lexical-vue/components/LexicalMenu/shared.js";
|
|
27
|
-
import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
|
|
28
|
-
import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
|
|
29
6
|
import DocHtmlBlockComponent from "./DocHtmlBlockComponent.js";
|
|
30
|
-
createCommand("HTML_BLOCK_CHANGE");
|
|
31
|
-
createCommand("REMOVE_HTML_BLOCK_COMMAND");
|
|
7
|
+
const HTML_BLOCK_CHANGE = createCommand("HTML_BLOCK_CHANGE");
|
|
8
|
+
const REMOVE_HTML_BLOCK_COMMAND = createCommand("REMOVE_HTML_BLOCK_COMMAND");
|
|
32
9
|
const INSERT_HTML_BLOCK_COMMAND = createCommand("INSERT_HTML_BLOCK_COMMAND");
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this
|
|
10
|
+
const ClassMake = "mk-doc-html-block";
|
|
11
|
+
class HtmlBlockNode extends DecoratorNode {
|
|
12
|
+
constructor(html, key) {
|
|
13
|
+
super(key);
|
|
14
|
+
__publicField(this, "__html");
|
|
15
|
+
__publicField(this, "__indent");
|
|
16
|
+
this.__html = html;
|
|
17
|
+
this.__indent = 0;
|
|
38
18
|
}
|
|
39
19
|
static getType() {
|
|
40
20
|
return "HtmlBlock";
|
|
41
21
|
}
|
|
42
22
|
static clone(node) {
|
|
43
|
-
return new HtmlBlockNode(node.
|
|
23
|
+
return new HtmlBlockNode(node.__html, node.__key);
|
|
44
24
|
}
|
|
45
25
|
static importJSON(serializedNode) {
|
|
46
|
-
const node = $createHtmlBlockNode(serializedNode.
|
|
47
|
-
node.setFormat(serializedNode.format);
|
|
26
|
+
const node = $createHtmlBlockNode(serializedNode.html);
|
|
48
27
|
return node;
|
|
49
28
|
}
|
|
29
|
+
setHtml(html) {
|
|
30
|
+
this.getWritable().__html = html;
|
|
31
|
+
}
|
|
50
32
|
exportJSON() {
|
|
51
33
|
return {
|
|
52
34
|
...super.exportJSON(),
|
|
53
35
|
type: this.getType(),
|
|
54
36
|
version: 1,
|
|
55
|
-
|
|
37
|
+
indent: this.__indent,
|
|
38
|
+
html: this.__html
|
|
56
39
|
};
|
|
57
40
|
}
|
|
58
41
|
exportDOM() {
|
|
59
42
|
const element = document.createElement("div");
|
|
60
|
-
element.innerHTML = this.
|
|
61
|
-
|
|
62
|
-
const script = document.createElement("script");
|
|
63
|
-
script.innerHTML = this.__attrs.js;
|
|
64
|
-
element.append(script);
|
|
65
|
-
}
|
|
66
|
-
if (this.__attrs.css) {
|
|
67
|
-
const style = document.createElement("style");
|
|
68
|
-
style.innerHTML = this.__attrs.css;
|
|
69
|
-
element.append(style);
|
|
70
|
-
}
|
|
71
|
-
element.setAttribute("class", "mk-doc-html-block");
|
|
43
|
+
element.innerHTML = this.__html;
|
|
44
|
+
element.setAttribute("class", ClassMake);
|
|
72
45
|
return { element };
|
|
73
46
|
}
|
|
74
47
|
static importDOM() {
|
|
75
48
|
return {
|
|
76
|
-
|
|
49
|
+
div: (dn) => {
|
|
77
50
|
return {
|
|
78
|
-
conversion: (domNode) => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
node.remove();
|
|
85
|
-
} else if (node.nodeName.toLowerCase() == "script") {
|
|
86
|
-
js += "\r\n" + node.textContent;
|
|
87
|
-
node.remove();
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return domNode.classList.contains("mk-doc-html-block") ? {
|
|
91
|
-
node: $createHtmlBlockNode({
|
|
92
|
-
content: domNode.innerHTML,
|
|
93
|
-
css,
|
|
94
|
-
js
|
|
95
|
-
})
|
|
96
|
-
} : null;
|
|
97
|
-
},
|
|
98
|
-
priority: 0
|
|
51
|
+
conversion: dn.classList.contains(ClassMake) ? (domNode) => {
|
|
52
|
+
return {
|
|
53
|
+
node: $createHtmlBlockNode(domNode.innerHTML)
|
|
54
|
+
};
|
|
55
|
+
} : null,
|
|
56
|
+
priority: 10
|
|
99
57
|
};
|
|
100
58
|
}
|
|
101
59
|
};
|
|
102
60
|
}
|
|
61
|
+
createDOM() {
|
|
62
|
+
return document.createElement("div");
|
|
63
|
+
}
|
|
103
64
|
updateDOM() {
|
|
104
65
|
return false;
|
|
105
66
|
}
|
|
106
67
|
getTextContent(_includeInert, _includeDirectionless) {
|
|
107
|
-
|
|
68
|
+
const element = document.createElement("div");
|
|
69
|
+
element.innerHTML = this.__html;
|
|
70
|
+
return element.textContent;
|
|
108
71
|
}
|
|
109
72
|
decorate(_editor, config) {
|
|
110
73
|
const embedBlockTheme = config.theme.embedBlock || {};
|
|
111
74
|
return h(DocHtmlBlockComponent, {
|
|
112
75
|
baseClass: embedBlockTheme.base || "",
|
|
113
76
|
focusClass: embedBlockTheme.focus || "",
|
|
114
|
-
|
|
77
|
+
class: ClassMake,
|
|
115
78
|
nodeKey: this.getKey(),
|
|
116
|
-
|
|
79
|
+
html: this.__html
|
|
117
80
|
});
|
|
118
81
|
}
|
|
82
|
+
setIndent(indentLevel) {
|
|
83
|
+
const self = this.getWritable();
|
|
84
|
+
self.__indent = indentLevel;
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
getIndent() {
|
|
88
|
+
return this.getLatest().__indent;
|
|
89
|
+
}
|
|
90
|
+
isInline() {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
119
93
|
}
|
|
120
|
-
function $createHtmlBlockNode(
|
|
121
|
-
return new HtmlBlockNode(
|
|
94
|
+
function $createHtmlBlockNode(html) {
|
|
95
|
+
return new HtmlBlockNode(html);
|
|
122
96
|
}
|
|
123
97
|
export {
|
|
124
98
|
$createHtmlBlockNode,
|
|
99
|
+
HTML_BLOCK_CHANGE,
|
|
125
100
|
HtmlBlockNode,
|
|
126
|
-
INSERT_HTML_BLOCK_COMMAND
|
|
101
|
+
INSERT_HTML_BLOCK_COMMAND,
|
|
102
|
+
REMOVE_HTML_BLOCK_COMMAND
|
|
127
103
|
};
|
|
128
104
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.ts"],"sourcesContent":["\r\nimport type {\r\n DOMConversionMap,\r\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.ts"],"sourcesContent":["\r\nimport type {\r\n DOMConversionMap,\r\n DOMExportOutput,\r\n EditorConfig,\r\n LexicalEditor,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n LexicalCommand,\r\n SerializedLexicalNode\r\n} from 'lexical'\r\nimport { createCommand,DecoratorNode } from 'lexical'\r\nimport { h ,type Component } from 'vue'\r\nimport DocHtmlBlockComponent from \"./DocHtmlBlockComponent\"\r\n\r\n\r\n/**\r\n * html块改变\r\n */\r\nexport const HTML_BLOCK_CHANGE: LexicalCommand<string> = createCommand('HTML_BLOCK_CHANGE')\r\n\r\n/**\r\n * 删除html块\r\n */\r\nexport const REMOVE_HTML_BLOCK_COMMAND: LexicalCommand<undefined|null> = createCommand('REMOVE_HTML_BLOCK_COMMAND')\r\n\r\n/**\r\n * 插入html块指令\r\n */\r\nexport const INSERT_HTML_BLOCK_COMMAND: LexicalCommand<string> = createCommand('INSERT_HTML_BLOCK_COMMAND')\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedHtmlBlockNode = Spread<\r\n {\r\n html: string,\r\n indent:number\r\n },\r\n SerializedLexicalNode\r\n>\r\n\r\n// 类标识\r\nconst ClassMake = \"mk-doc-html-block\";\r\n\r\n/**\r\n * 定义html节点\r\n */\r\nexport class HtmlBlockNode extends DecoratorNode<Component> {\r\n __html: string\r\n __indent:number\r\n\r\n static getType(): string {\r\n return 'HtmlBlock'\r\n }\r\n\r\n static clone(node: HtmlBlockNode): HtmlBlockNode {\r\n return new HtmlBlockNode(node.__html,node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedHtmlBlockNode): HtmlBlockNode {\r\n const node = $createHtmlBlockNode(serializedNode.html)\r\n return node\r\n }\r\n\r\n constructor(html: string, key?: NodeKey) {\r\n super(key)\r\n this.__html = html\r\n this.__indent = 0;\r\n }\r\n\r\n setHtml(html:string){\r\n this.getWritable().__html = html\r\n }\r\n\r\n exportJSON(): SerializedHtmlBlockNode {\r\n\r\n return {\r\n ...super.exportJSON(),\r\n type: this.getType(),\r\n version: 1,\r\n indent:this.__indent,\r\n html: this.__html\r\n }\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n\r\n const element = document.createElement('div') \r\n\r\n // 内容\r\n element.innerHTML = this.__html;\r\n\r\n element.setAttribute(\"class\",ClassMake)\r\n \r\n return { element }\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n div: (dn: HTMLElement):any => {\r\n return {\r\n conversion: dn.classList.contains(ClassMake) ? (domNode: HTMLElement) => {\r\n return { \r\n node:$createHtmlBlockNode(domNode.innerHTML as string) \r\n };\r\n } : null,\r\n priority: 10\r\n }\r\n },\r\n }\r\n }\r\n createDOM() {\r\n return document.createElement('div')\r\n }\r\n updateDOM(): false {\r\n return false\r\n }\r\n\r\n getTextContent(\r\n _includeInert?: boolean | undefined,\r\n _includeDirectionless?: false | undefined,\r\n ): string {\r\n\r\n const element = document.createElement('div') \r\n element.innerHTML = this.__html;\r\n return element.textContent as string;\r\n }\r\n\r\n decorate(_editor: LexicalEditor, config: EditorConfig): Component {\r\n const embedBlockTheme = config.theme.embedBlock || {}\r\n return h(DocHtmlBlockComponent, {\r\n baseClass: embedBlockTheme.base || '',\r\n focusClass: embedBlockTheme.focus || '',\r\n class:ClassMake,\r\n nodeKey: this.getKey(),\r\n html: this.__html\r\n })\r\n }\r\n setIndent(indentLevel:number) {\r\n const self = this.getWritable();\r\n self.__indent = indentLevel;\r\n return this;\r\n }\r\n getIndent() {\r\n return this.getLatest().__indent;\r\n }\r\n isInline() {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createHtmlBlockNode(html: string): HtmlBlockNode {\r\n return new HtmlBlockNode(html)\r\n}\r\n\r\n/**\r\n * 判断是否是图片节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isHtmlBlockNode(\r\n node: HtmlBlockNode | LexicalNode | null | undefined,\r\n): node is HtmlBlockNode {\r\n return node instanceof HtmlBlockNode\r\n}\r\n"],"names":[],"mappings":";;;;;;AAoBa,MAAA,oBAA4C,cAAc,mBAAmB;AAK7E,MAAA,4BAA4D,cAAc,2BAA2B;AAKrG,MAAA,4BAAoD,cAAc,2BAA2B;AAc1G,MAAM,YAAY;AAKX,MAAM,sBAAsB,cAAyB;AAAA,EAiB1D,YAAY,MAAe,KAAe;AACxC,UAAM,GAAG;AAjBX;AACA;AAiBE,SAAK,SAAS;AACd,SAAK,WAAW;AAAA,EAClB;AAAA,EAjBA,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,MAAoC;AAC/C,WAAO,IAAI,cAAc,KAAK,QAAO,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,OAAO,WAAW,gBAAwD;AAClE,UAAA,OAAO,qBAAqB,eAAe,IAAI;AAC9C,WAAA;AAAA,EACT;AAAA,EAQA,QAAQ,MAAY;AACb,SAAA,YAAA,EAAc,SAAS;AAAA,EAC9B;AAAA,EAEA,aAAsC;AAE7B,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,SAAS;AAAA,MACT,QAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,YAA6B;AAErB,UAAA,UAAU,SAAS,cAAc,KAAK;AAG5C,YAAQ,YAAY,KAAK;AAEjB,YAAA,aAAa,SAAQ,SAAS;AAEtC,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAM,CAAC,OAAwB;AACrB,eAAA;AAAA,UACN,YAAY,GAAG,UAAU,SAAS,SAAS,IAAI,CAAC,YAAyB;AAChE,mBAAA;AAAA,cACL,MAAK,qBAAqB,QAAQ,SAAmB;AAAA,YAAA;AAAA,UACvD,IACE;AAAA,UACJ,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,IAAA;AAAA,EAEJ;AAAA,EACA,YAAY;AACH,WAAA,SAAS,cAAc,KAAK;AAAA,EACrC;AAAA,EACA,YAAmB;AACV,WAAA;AAAA,EACT;AAAA,EAEA,eACE,eACA,uBACQ;AAEF,UAAA,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,YAAY,KAAK;AACzB,WAAO,QAAQ;AAAA,EACjB;AAAA,EAEA,SAAS,SAAwB,QAAiC;AAChE,UAAM,kBAAkB,OAAO,MAAM,cAAc,CAAA;AACnD,WAAO,EAAE,uBAAuB;AAAA,MAC9B,WAAW,gBAAgB,QAAQ;AAAA,MACnC,YAAY,gBAAgB,SAAS;AAAA,MACrC,OAAM;AAAA,MACN,SAAS,KAAK,OAAO;AAAA,MACrB,MAAM,KAAK;AAAA,IAAA,CACZ;AAAA,EACH;AAAA,EACA,UAAU,aAAoB;AACtB,UAAA,OAAO,KAAK;AAClB,SAAK,WAAW;AACT,WAAA;AAAA,EACT;AAAA,EACA,YAAY;AACH,WAAA,KAAK,UAAY,EAAA;AAAA,EAC1B;AAAA,EACA,WAAW;AACF,WAAA;AAAA,EACT;AACF;AAOO,SAAS,qBAAqB,MAA6B;AACzD,SAAA,IAAI,cAAc,IAAI;AAC/B;"}
|
|
@@ -1,29 +1,10 @@
|
|
|
1
1
|
import { defineComponent, onMounted, onUnmounted } from "vue";
|
|
2
|
-
import "
|
|
2
|
+
import { useLexicalComposer } from "lexical-vue";
|
|
3
3
|
import { mergeRegister, $insertNodeToNearestRoot } from "@lexical/utils";
|
|
4
|
-
import "@lexical/overflow";
|
|
5
4
|
import { COMMAND_PRIORITY_EDITOR } from "lexical";
|
|
6
|
-
import "tiny-invariant";
|
|
7
|
-
import "@lexical/history";
|
|
8
|
-
import { useLexicalComposer } from "../../lexical-vue/composables/useLexicalComposer.js";
|
|
9
|
-
import "@lexical/list";
|
|
10
|
-
import "@lexical/dragon";
|
|
11
|
-
import "@lexical/plain-text";
|
|
12
|
-
import "@lexical/rich-text";
|
|
13
|
-
import "@lexical/yjs";
|
|
14
|
-
import "yjs";
|
|
15
|
-
import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
|
|
16
|
-
import "@lexical/html";
|
|
17
|
-
import "@lexical/link";
|
|
18
|
-
import "@lexical/mark";
|
|
19
|
-
import "@lexical/table";
|
|
20
|
-
import "@lexical/hashtag";
|
|
21
|
-
import "@lexical/markdown";
|
|
22
|
-
import "../../lexical-vue/composables/useCollaborationContext.js";
|
|
23
|
-
import "../../lexical-vue/components/LexicalMenu/shared.js";
|
|
24
|
-
import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
|
|
25
|
-
import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
|
|
26
5
|
import { HtmlBlockNode, INSERT_HTML_BLOCK_COMMAND, $createHtmlBlockNode } from "./index.js";
|
|
6
|
+
import { RegisterToolbarExtend } from "../ToolbarPlugin/defines.js";
|
|
7
|
+
import { ShowHtmlEditPanel } from "./HtmlEditDialog.js";
|
|
27
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
28
9
|
__name: "index",
|
|
29
10
|
setup(__props) {
|
|
@@ -32,6 +13,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
32
13
|
if (!editor.hasNodes([HtmlBlockNode])) {
|
|
33
14
|
throw new Error("HtmlBlockPlugin: 自定义HTML代码块节点未注册!");
|
|
34
15
|
}
|
|
16
|
+
RegisterToolbarExtend({
|
|
17
|
+
icon: "html-code",
|
|
18
|
+
text: "自定义代码块",
|
|
19
|
+
action: async () => {
|
|
20
|
+
var result = await ShowHtmlEditPanel("");
|
|
21
|
+
editor.dispatchCommand(INSERT_HTML_BLOCK_COMMAND, result);
|
|
22
|
+
},
|
|
23
|
+
sort: 9
|
|
24
|
+
});
|
|
35
25
|
const unregister = mergeRegister(
|
|
36
26
|
// 插入
|
|
37
27
|
editor.registerCommand(INSERT_HTML_BLOCK_COMMAND, (payload) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLexicalComposer } from '
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\n\r\nimport { useLexicalComposer } from 'lexical-vue'\r\nimport { $insertNodeToNearestRoot,mergeRegister } from '@lexical/utils'\r\nimport { \r\n $isNodeSelection, COMMAND_PRIORITY_EDITOR,COMMAND_PRIORITY_LOW,$getSelection,CLICK_COMMAND \r\n} from 'lexical'\r\n\r\nimport { onMounted, onUnmounted } from 'vue'\r\nimport { REMOVE_HTML_BLOCK_COMMAND,HTML_BLOCK_CHANGE,INSERT_HTML_BLOCK_COMMAND,HtmlBlockNode,$createHtmlBlockNode } from './index'\r\nimport { RegisterToolbarExtend,type ToolbarExtendPlugin } from \"../ToolbarPlugin/defines\"\r\nimport { ShowHtmlEditPanel } from \"./HtmlEditDialog\"\r\nimport { SELECTED_COMPONENT_COMMAND,ComponentSelectEvent } from \"../commands\"\r\n\r\n\r\nconst editor = useLexicalComposer()\r\n\r\nonMounted(() => {\r\n\r\n if (!editor.hasNodes([HtmlBlockNode])){\r\n throw new Error('HtmlBlockPlugin: 自定义HTML代码块节点未注册!')\r\n }\r\n \r\n // 注册到工具条\r\n RegisterToolbarExtend({\r\n icon:\"html-code\",\r\n text:\"自定义代码块\",\r\n action:async ()=>{\r\n\r\n var result = await ShowHtmlEditPanel(\"\");\r\n\r\n editor.dispatchCommand(INSERT_HTML_BLOCK_COMMAND,result as string)\r\n },\r\n sort:9\r\n } as ToolbarExtendPlugin)\r\n\r\n // 注册指令\r\n const unregister = mergeRegister(\r\n // 插入\r\n editor.registerCommand<string>(INSERT_HTML_BLOCK_COMMAND,(payload) => {\r\n $insertNodeToNearestRoot($createHtmlBlockNode(payload))\r\n return true\r\n },COMMAND_PRIORITY_EDITOR)\r\n );\r\n\r\n onUnmounted(() => unregister())\r\n})\r\n</script>\r\n\r\n<template />\r\n"],"names":[],"mappings":";;;;;;;;;;AAeA,UAAM,SAAS;AAEf,cAAU,MAAM;AAEd,UAAI,CAAC,OAAO,SAAS,CAAC,aAAa,CAAC,GAAE;AAC9B,cAAA,IAAI,MAAM,mCAAmC;AAAA,MACrD;AAGsB,4BAAA;AAAA,QACpB,MAAK;AAAA,QACL,MAAK;AAAA,QACL,QAAO,YAAU;AAEX,cAAA,SAAS,MAAM,kBAAkB,EAAE;AAEhC,iBAAA,gBAAgB,2BAA0B,MAAgB;AAAA,QACnE;AAAA,QACA,MAAK;AAAA,MAAA,CACiB;AAGxB,YAAM,aAAa;AAAA;AAAA,QAEjB,OAAO,gBAAwB,2BAA0B,CAAC,YAAY;AAC3C,mCAAA,qBAAqB,OAAO,CAAC;AAC/C,iBAAA;AAAA,WACP,uBAAuB;AAAA,MAAA;AAGf,kBAAA,MAAM,YAAY;AAAA,IAAA,CAC/B;;;;;;"}
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
import { defineComponent, ref, reactive, computed, watch, createVNode } from "vue";
|
|
2
2
|
import { CLICK_COMMAND, COMMAND_PRIORITY_LOW, $getSelection, $isNodeSelection } from "lexical";
|
|
3
3
|
import { mergeRegister } from "@lexical/utils";
|
|
4
|
-
import "
|
|
5
|
-
import { useMounted } from "../../lexical-vue/composables/useMounted.js";
|
|
6
|
-
import "@lexical/overflow";
|
|
7
|
-
import "tiny-invariant";
|
|
8
|
-
import "@lexical/history";
|
|
9
|
-
import { useLexicalComposer } from "../../lexical-vue/composables/useLexicalComposer.js";
|
|
10
|
-
import { useLexicalNodeSelection } from "../../lexical-vue/composables/useLexicalNodeSelection.js";
|
|
11
|
-
import "@lexical/list";
|
|
12
|
-
import "@lexical/dragon";
|
|
13
|
-
import "@lexical/plain-text";
|
|
14
|
-
import "@lexical/rich-text";
|
|
15
|
-
import "@lexical/yjs";
|
|
16
|
-
import "yjs";
|
|
17
|
-
import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
|
|
18
|
-
import "@lexical/html";
|
|
19
|
-
import "@lexical/link";
|
|
20
|
-
import "@lexical/mark";
|
|
21
|
-
import "@lexical/table";
|
|
22
|
-
import "@lexical/hashtag";
|
|
23
|
-
import "@lexical/markdown";
|
|
24
|
-
import "../../lexical-vue/composables/useCollaborationContext.js";
|
|
25
|
-
import "../../lexical-vue/components/LexicalMenu/shared.js";
|
|
26
|
-
import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
|
|
27
|
-
import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
|
|
4
|
+
import { useLexicalComposer, useLexicalNodeSelection, useMounted } from "lexical-vue";
|
|
28
5
|
import { Messager } from "@maketribe/dm";
|
|
29
6
|
import { SELECTED_COMPONENT_COMMAND, DEVICE_VIEW_MODE } from "../commands.js";
|
|
30
7
|
import { WebFileUpload } from "@maketribe/request";
|