@maketribe/ms-app 3.2.25 → 3.2.27

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.
Files changed (310) hide show
  1. package/dist/cjs/assets/iconfonts/iconfont.js +1 -1
  2. package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/core/element-block.js +92 -0
  4. package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -0
  5. package/dist/cjs/components/basic/doc-editor/core/index.js +5 -6
  6. package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/core/utils.js +20 -13
  8. package/dist/cjs/components/basic/doc-editor/core/utils.js.map +1 -1
  9. package/dist/cjs/components/basic/doc-editor/editor.vue.js +4 -4
  10. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  11. package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  12. package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  14. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  15. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  16. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +120 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +128 -0
  20. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  21. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +94 -0
  22. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  23. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +217 -0
  24. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  25. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +140 -0
  26. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +54 -43
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +19 -16
  30. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +32 -54
  32. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  33. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
  34. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  35. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
  36. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +80 -105
  38. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  39. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
  40. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  41. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
  42. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
  43. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
  44. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +34 -7
  45. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  46. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
  47. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  48. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +41 -5
  49. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  50. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +10 -4
  51. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  52. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  53. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  54. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
  55. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  56. package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
  57. package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
  58. package/dist/cjs/components/basic/dynamic-form-panel/dialog.js +2 -2
  59. package/dist/cjs/components/basic/dynamic-form-panel/dialog.js.map +1 -1
  60. package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  61. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
  62. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  63. package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js +13 -9
  64. package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
  65. package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js +38 -0
  66. package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
  67. package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js +76 -0
  68. package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
  69. package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js +72 -1
  70. package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
  71. package/dist/cjs/components/basic/visual-page-editor/core/index.js +21 -13
  72. package/dist/cjs/components/basic/visual-page-editor/core/index.js.map +1 -1
  73. package/dist/cjs/components/basic/visual-page-editor/editor.vue.js +2 -29
  74. package/dist/cjs/components/basic/visual-page-editor/editor.vue.js.map +1 -1
  75. package/dist/cjs/components/basic/visual-page-editor/index.js +1 -1
  76. package/dist/cjs/components/basic/visual-page-editor/index.js.map +1 -1
  77. package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js +10 -0
  78. package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
  79. package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js +1 -1
  80. package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
  81. package/dist/cjs/modules/cms/cms-settings.js +4 -0
  82. package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
  83. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
  84. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  85. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  86. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  87. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +8 -6
  88. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  89. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
  90. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  91. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +58 -6
  92. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  93. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +312 -0
  94. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
  95. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +4 -0
  96. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
  97. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
  98. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  99. package/dist/cjs/modules/ms/components/image-select/image-select-api.js +14 -2
  100. package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -1
  101. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +7 -1
  102. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  103. package/dist/cjs/modules/ms/image-upload-context/index.js +1 -1
  104. package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
  105. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  106. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  107. package/dist/esm/components/basic/doc-editor/core/element-block.js +92 -0
  108. package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -0
  109. package/dist/esm/components/basic/doc-editor/core/index.js +6 -7
  110. package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
  111. package/dist/esm/components/basic/doc-editor/core/utils.js +20 -13
  112. package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
  113. package/dist/esm/components/basic/doc-editor/editor.vue.js +4 -4
  114. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  115. package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  116. package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  117. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  118. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  119. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  120. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  121. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +120 -0
  122. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  123. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +128 -0
  124. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  125. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +94 -0
  126. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  127. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +218 -0
  128. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  129. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +140 -0
  130. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  131. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +55 -44
  132. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  133. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +20 -17
  134. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  135. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +33 -55
  136. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  137. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
  138. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  139. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
  140. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  141. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +84 -109
  142. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  143. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
  144. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  145. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
  146. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
  147. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
  148. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +37 -10
  149. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  150. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
  151. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  152. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +43 -7
  153. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  154. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +10 -4
  155. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  156. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  157. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  158. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
  159. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  160. package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
  161. package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
  162. package/dist/esm/components/basic/dynamic-form-panel/dialog.js +2 -2
  163. package/dist/esm/components/basic/dynamic-form-panel/dialog.js.map +1 -1
  164. package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  165. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
  166. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  167. package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js +14 -10
  168. package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
  169. package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js +39 -0
  170. package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
  171. package/dist/esm/components/basic/visual-page-editor/core/Dialog.js +76 -0
  172. package/dist/esm/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
  173. package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js +73 -2
  174. package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
  175. package/dist/esm/components/basic/visual-page-editor/core/index.js +21 -13
  176. package/dist/esm/components/basic/visual-page-editor/core/index.js.map +1 -1
  177. package/dist/esm/components/basic/visual-page-editor/editor.vue.js +4 -31
  178. package/dist/esm/components/basic/visual-page-editor/editor.vue.js.map +1 -1
  179. package/dist/esm/components/basic/visual-page-editor/index.js +1 -1
  180. package/dist/esm/components/basic/visual-page-editor/index.js.map +1 -1
  181. package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js +9 -0
  182. package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
  183. package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js +2 -2
  184. package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
  185. package/dist/esm/modules/cms/cms-settings.js +4 -0
  186. package/dist/esm/modules/cms/cms-settings.js.map +1 -1
  187. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
  188. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  189. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  190. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  191. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +9 -7
  192. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  193. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
  194. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  195. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +58 -6
  196. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  197. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +313 -0
  198. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
  199. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +5 -0
  200. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
  201. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
  202. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  203. package/dist/esm/modules/ms/components/image-select/image-select-api.js +14 -2
  204. package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -1
  205. package/dist/esm/modules/ms/components/image-select/image-select-panel.js +9 -3
  206. package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  207. package/dist/esm/modules/ms/image-upload-context/index.js +1 -1
  208. package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
  209. package/dist/style/components/basic/doc-editor/index.css +1 -1
  210. package/dist/style/components/basic/visual-page-editor/index.css +1 -1
  211. package/dist/style/components/index.css +1 -1
  212. package/dist/style/index.css +2 -2
  213. package/dist/style/src/components/basic/doc-editor/index.scss +2 -0
  214. package/dist/style/src/components/basic/visual-page-editor/index.scss +4 -2
  215. package/dist/types/components/basic/doc-editor/core/element-block.d.ts +45 -0
  216. package/dist/types/components/basic/doc-editor/core/index.d.ts +8 -4
  217. package/dist/types/components/basic/doc-editor/core/utils.d.ts +2 -2
  218. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +88 -0
  219. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +50 -0
  220. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +72 -0
  221. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +64 -0
  222. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +51 -0
  223. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.d.ts +5 -0
  224. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/utils.d.ts +3 -0
  225. package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +24 -20
  226. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +18 -10
  227. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +5 -0
  228. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.d.ts +0 -1
  229. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +0 -6
  230. package/dist/types/components/basic/doc-editor/plugins/index.d.ts +3 -3
  231. package/dist/types/components/basic/doc-editor/utils/getSelectedNode.d.ts +1 -1
  232. package/dist/types/components/basic/dynamic-form-panel/type.d.ts +3 -2
  233. package/dist/types/components/basic/visual-page-editor/core/Dialog.d.ts +15 -0
  234. package/dist/types/components/basic/visual-page-editor/core/ModuleDefine.d.ts +12 -0
  235. package/dist/types/components/basic/visual-page-editor/core/VisvalPageEditor.d.ts +45 -1
  236. package/dist/types/components/basic/visual-page-editor/core/index.d.ts +2 -10
  237. package/dist/types/components/basic/visual-page-editor/editor.vue.d.ts +1 -0
  238. package/dist/types/components/basic/visual-page-editor/index.d.ts +2 -1
  239. package/dist/types/components/basic/visual-page-editor/modules/index.d.ts +1 -0
  240. package/dist/types/modules/cms/cms-settings.d.ts +4 -28
  241. package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +1 -0
  242. package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +45 -0
  243. package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +1 -1
  244. package/dist/types/modules/ms/image-upload-context/index.d.ts +1 -1
  245. package/package.json +9 -8
  246. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js +0 -13
  247. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  248. package/dist/cjs/components/basic/doc-editor/core/element-module.js +0 -68
  249. package/dist/cjs/components/basic/doc-editor/core/element-module.js.map +0 -1
  250. package/dist/cjs/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  251. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  252. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  253. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -45
  254. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  255. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
  256. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  257. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  258. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  259. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  260. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  261. package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js +0 -31
  262. package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
  263. package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js +0 -111
  264. package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
  265. package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -29
  266. package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
  267. package/dist/esm/components/basic/doc-editor/core/decorator-module.js +0 -13
  268. package/dist/esm/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  269. package/dist/esm/components/basic/doc-editor/core/element-module.js +0 -68
  270. package/dist/esm/components/basic/doc-editor/core/element-module.js.map +0 -1
  271. package/dist/esm/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  272. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  273. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  274. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -46
  275. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  276. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
  277. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  278. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  279. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  280. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  281. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  282. package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js +0 -32
  283. package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
  284. package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js +0 -111
  285. package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
  286. package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -28
  287. package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
  288. package/dist/types/components/basic/doc-editor/core/decorator-module.d.ts +0 -60
  289. package/dist/types/components/basic/doc-editor/core/element-module.d.ts +0 -15
  290. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.d.ts +0 -63
  291. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +0 -1
  292. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +0 -86
  293. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleRenderComponent.d.ts +0 -23
  294. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.d.ts +0 -63
  295. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.d.ts +0 -58
  296. package/dist/types/components/basic/visual-page-editor/core/RenderComponent.d.ts +0 -16
  297. package/dist/types/components/basic/visual-page-editor/utils/Dialog.d.ts +0 -15
  298. package/dist/types/components/basic/visual-page-editor/visual-components/index.d.ts +0 -1
  299. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  300. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  301. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  302. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  303. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  304. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  305. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  306. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  307. /package/dist/types/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.d.ts +0 -0
  308. /package/dist/types/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue.d.ts +0 -0
  309. /package/dist/types/components/basic/visual-page-editor/{components → core}/BlockRender.d.ts +0 -0
  310. /package/dist/types/components/basic/visual-page-editor/{visual-components/ImageRenderComponent.d.ts → modules/BaseImageModule.d.ts} +0 -0
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const lexical = require("lexical");
4
- const BaseMarkClassName = "mk-doc-block";
5
- class BaseBlockNode extends lexical.ElementNode {
6
- constructor(type, key) {
7
- super(key);
8
- this.__type = type;
9
- }
10
- /**
11
- * 获取指定类型模块类标识
12
- * @param type
13
- * @returns
14
- */
15
- static getMarkClassName(type) {
16
- return `${BaseMarkClassName}__${type}`;
17
- }
18
- /**
19
- * 是否是指定类型模块
20
- * @param dom
21
- * @param type
22
- * @returns
23
- */
24
- static hasBlockByType(dom, type) {
25
- return dom.classList.contains(BaseBlockNode.getMarkClassName(type));
26
- }
27
- /**
28
- * 导出json
29
- * @returns
30
- */
31
- exportJSON() {
32
- return {
33
- ...super.exportJSON(),
34
- type: this.__type,
35
- version: 1
36
- };
37
- }
38
- /**
39
- * 获取标识类名
40
- */
41
- getMarkClassName() {
42
- return BaseBlockNode.getMarkClassName(this.__type);
43
- }
44
- /**
45
- * 导出DOM
46
- * @returns
47
- */
48
- exportDOM() {
49
- const element = document.createElement("div");
50
- if (!element.classList.contains(this.getMarkClassName())) {
51
- element.classList.add(this.getMarkClassName());
52
- }
53
- return { element };
54
- }
55
- /**
56
- * 创建渲染DOM
57
- * @param config
58
- * @returns
59
- */
60
- createDOM(config) {
61
- const el = this.exportDOM().element;
62
- el.setAttribute("node-key", this.__key);
63
- return el;
64
- }
65
- /**
66
- * 更新DOM
67
- * @param prevNode
68
- * @param dom
69
- * @param config
70
- * @returns
71
- */
72
- updateDOM(prevNode, dom, config) {
73
- return false;
74
- }
75
- /**
76
- * 非内联
77
- * @returns
78
- */
79
- isInline() {
80
- return false;
81
- }
82
- }
83
- exports.BaseBlockNode = BaseBlockNode;
84
- //# sourceMappingURL=BaseBlockNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseBlockNode.js","sources":["../../../../../../../../src/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.ts"],"sourcesContent":["import type {\r\n DOMExportOutput,\r\n EditorConfig,\r\n NodeKey,\r\n Spread,\r\n SerializedElementNode,\r\n\r\n} from 'lexical'\r\nimport { isBlockDomNode, $isBlockElementNode,ElementNode } from 'lexical'\r\nimport { type Component} from \"vue\"\r\n \r\n/**\r\n * 可编辑组件块节点\r\n */\r\nexport type SerializedBlockNode = Spread<{},SerializedElementNode>\r\n\r\n// 基础类标识\r\nconst BaseMarkClassName = \"mk-doc-block\";\r\n\r\n/**\r\n * 定义组件块节点\r\n */\r\nexport class BaseBlockNode extends ElementNode {\r\n\r\n constructor(type: string, key?: NodeKey) {\r\n super(key)\r\n this.__type = type\r\n }\r\n\r\n /**\r\n * 获取指定类型模块类标识\r\n * @param type \r\n * @returns \r\n */\r\n static getMarkClassName(type:string): string {\r\n return `${BaseMarkClassName}__${type}`\r\n }\r\n\r\n /**\r\n * 是否是指定类型模块\r\n * @param dom \r\n * @param type \r\n * @returns \r\n */\r\n static hasBlockByType(dom: HTMLElement,type:string): boolean {\r\n return dom.classList.contains(BaseBlockNode.getMarkClassName(type))\r\n }\r\n\r\n /**\r\n * 导出json\r\n * @returns \r\n */\r\n exportJSON(): SerializedBlockNode {\r\n return {\r\n ...super.exportJSON(),\r\n type: this.__type,\r\n version: 1\r\n }\r\n }\r\n\r\n /**\r\n * 获取标识类名\r\n */\r\n getMarkClassName(){\r\n return BaseBlockNode.getMarkClassName(this.__type)\r\n }\r\n\r\n /**\r\n * 导出DOM\r\n * @returns \r\n */\r\n exportDOM(): DOMExportOutput {\r\n \r\n const element = document.createElement('div')\r\n\r\n if (!element.classList.contains(this.getMarkClassName())) {\r\n element.classList.add(this.getMarkClassName());\r\n }\r\n\r\n return { element }\r\n }\r\n\r\n /**\r\n * 创建渲染DOM\r\n * @param config \r\n * @returns \r\n */\r\n createDOM(config: EditorConfig): HTMLElement {\r\n const el = this.exportDOM().element as HTMLElement;\r\n el.setAttribute(\"node-key\",this.__key)\r\n return el;\r\n }\r\n\r\n /**\r\n * 更新DOM\r\n * @param prevNode \r\n * @param dom \r\n * @param config \r\n * @returns \r\n */\r\n updateDOM(prevNode: BaseBlockNode, dom: HTMLElement, config: EditorConfig): boolean {\r\n // console.log(\"Image Text updateDOM\",prevNode,dom);\r\n // const position = this.__pos\r\n // if (position !== prevNode.__pos) {\r\n // const className = `${config.theme.image} position-${position}`\r\n // if (className !== undefined) {\r\n // dom.className = className\r\n // }\r\n // }\r\n // const inner = dom.firstChild\r\n // if (inner === null){ return true }\r\n // super.updateDOM(prevNode, inner as HTMLElement, config)\r\n return false\r\n }\r\n\r\n /**\r\n * 非内联\r\n * @returns \r\n */\r\n isInline(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n"],"names":["ElementNode"],"mappings":";;;AAiBA,MAAM,oBAAoB;AAKnB,MAAM,sBAAsBA,QAAAA,YAAY;AAAA,EAE7C,YAAY,MAAe,KAAe;AACxC,UAAM,GAAG;AACT,SAAK,SAAS;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOC,OAAO,iBAAiB,MAAqB;AACrC,WAAA,GAAG,iBAAiB,KAAK,IAAI;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,eAAe,KAAiB,MAAsB;AAC3D,WAAO,IAAI,UAAU,SAAS,cAAc,iBAAiB,IAAI,CAAC;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAkC;AACzB,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAkB;AACT,WAAA,cAAc,iBAAiB,KAAK,MAAM;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAA6B;AAErB,UAAA,UAAU,SAAS,cAAc,KAAK;AAE5C,QAAI,CAAC,QAAQ,UAAU,SAAS,KAAK,iBAAA,CAAkB,GAAG;AACxD,cAAQ,UAAU,IAAI,KAAK,iBAAkB,CAAA;AAAA,IAC/C;AAEA,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAU,QAAmC;AACrC,UAAA,KAAK,KAAK,UAAA,EAAY;AACzB,OAAA,aAAa,YAAW,KAAK,KAAK;AAC9B,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAU,UAAyB,KAAkB,QAA+B;AAY3E,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAoB;AACX,WAAA;AAAA,EACT;AAEF;;"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- const vue = require("vue");
3
- const index = require("../core/index.js");
4
- const BlockRender = vue.defineComponent({
5
- name: "BlockRender",
6
- emits: ["click"],
7
- props: {
8
- node: { type: Object },
9
- parent: { type: Object },
10
- index: { type: Number },
11
- active: { type: Boolean }
12
- },
13
- setup: (props, { emit }) => {
14
- const { RenderComponents } = index.useRenderComponent();
15
- return () => {
16
- const content = props.node;
17
- const renderComponent = RenderComponents.find((item) => item.name == content.componentInfo);
18
- return vue.h("div", { class: "mk-visual-page-editor__stage_block" }, [
19
- vue.h(renderComponent == null ? void 0 : renderComponent.component, content.componentProps),
20
- vue.h("div", {
21
- class: { "mk-visual-page-editor__stage_block_mask": true, active: props.active },
22
- onClick: (ev) => {
23
- emit("click", { node: content, options: renderComponent, index: props.index, parent: props.parent, event: ev });
24
- }
25
- })
26
- ]);
27
- };
28
- }
29
- });
30
- module.exports = BlockRender;
31
- //# sourceMappingURL=BlockRender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRender.js","sources":["../../../../../../src/components/basic/visual-page-editor/components/BlockRender.ts"],"sourcesContent":["import { defineComponent,defineProps,defineEmits,computed,ref,onMounted,watch,h } from \"vue\"\r\nimport { ContentBlockType } from \"../core/ContentConfig\"\r\nimport { useRenderComponent } from \"../core\"\r\n\r\nexport default defineComponent({\r\n name:\"BlockRender\",\r\n emits:[\"click\"],\r\n props:{\r\n node:{type:Object},\r\n parent:{type:Object},\r\n index:{type:Number},\r\n active:{type:Boolean}\r\n },\r\n setup:(props,{ emit })=>{\r\n\r\n const { RenderComponents } = useRenderComponent();\r\n\r\n return ()=>{\r\n\r\n const content = props.node as ContentBlockType;\r\n const renderComponent = RenderComponents.find(item=>item.name == content.componentInfo);\r\n\r\n return h(\"div\",{class:\"mk-visual-page-editor__stage_block\"},[\r\n h(renderComponent?.component as any,content.componentProps),\r\n h(\"div\",{ \r\n class:{\"mk-visual-page-editor__stage_block_mask\":true,active:props.active},\r\n onClick:ev=>{\r\n emit(\"click\",{ node:content,options:renderComponent,index:props.index,parent:props.parent,event:ev })\r\n }\r\n })\r\n ])\r\n }\r\n }\r\n});\r\n"],"names":["defineComponent","useRenderComponent","h"],"mappings":";;;AAIA,MAAA,cAAeA,oBAAgB;AAAA,EAC7B,MAAK;AAAA,EACL,OAAM,CAAC,OAAO;AAAA,EACd,OAAM;AAAA,IACJ,MAAK,EAAC,MAAK,OAAM;AAAA,IACjB,QAAO,EAAC,MAAK,OAAM;AAAA,IACnB,OAAM,EAAC,MAAK,OAAM;AAAA,IAClB,QAAO,EAAC,MAAK,QAAO;AAAA,EACtB;AAAA,EACA,OAAM,CAAC,OAAM,EAAE,WAAS;AAEhB,UAAA,EAAE,qBAAqBC,MAAAA;AAE7B,WAAO,MAAI;AAET,YAAM,UAAU,MAAM;AACtB,YAAM,kBAAkB,iBAAiB,KAAK,UAAM,KAAK,QAAQ,QAAQ,aAAa;AAEtF,aAAOC,IAAE,EAAA,OAAM,EAAC,OAAM,wCAAsC;AAAA,QAC1DA,IAAAA,EAAE,mDAAiB,WAAiB,QAAQ,cAAc;AAAA,QAC1DA,IAAAA,EAAE,OAAM;AAAA,UACN,OAAM,EAAC,2CAA0C,MAAK,QAAO,MAAM,OAAM;AAAA,UACzE,SAAQ,CAAI,OAAA;AACV,iBAAK,SAAQ,EAAE,MAAK,SAAQ,SAAQ,iBAAgB,OAAM,MAAM,OAAM,QAAO,MAAM,QAAO,OAAM,IAAI;AAAA,UACtG;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EAEL;AACF,CAAC;;"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const dm = require("@maketribe/dm");
5
- const elementPlus = require("element-plus");
6
- require("../core/index.js");
7
- const ShowEditPanel = async (componentOptions, props) => {
8
- return new Promise((resolve) => {
9
- const isAdd = props == null;
10
- if (isAdd) {
11
- props = {};
12
- componentOptions.options.forEach((item) => {
13
- props[item.name] = item.defaultValue;
14
- });
15
- }
16
- const propsReactive = vue.reactive(props);
17
- const handleCancelClick = () => {
18
- dialogInstance.destroy();
19
- };
20
- const handleConfirmClick = () => {
21
- dialogInstance.destroy();
22
- resolve(props);
23
- };
24
- const dialogInstance = dm.Dialoger.customRender({
25
- title: isAdd ? `添加${componentOptions.desc}` : `编辑${componentOptions.desc}`,
26
- class: "mk-html-editor-dialog",
27
- width: "70%",
28
- onClose: () => {
29
- dialogInstance.destroy();
30
- },
31
- body: () => {
32
- return vue.h(elementPlus.ElForm, {
33
- labelPosition: "top",
34
- model: propsReactive,
35
- labelWidth: "auto"
36
- }, componentOptions.options.map((item) => {
37
- const component = typeof item.component == "string" ? vue.resolveComponent(item.component) : item.component;
38
- return vue.h(elementPlus.ElFormItem, {
39
- label: item.desc,
40
- prop: item.name
41
- }, [vue.h(component, {
42
- ...item.props,
43
- modelValue: propsReactive[item.name],
44
- "update:modelValue": (v) => propsReactive[item.name] = v
45
- })]);
46
- }));
47
- },
48
- footer: () => {
49
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(elementPlus.ElButton, {
50
- "onClick": handleCancelClick
51
- }, {
52
- default: () => [vue.createTextVNode("取消")]
53
- }), vue.createVNode(elementPlus.ElButton, {
54
- "type": "primary",
55
- "onClick": handleConfirmClick
56
- }, {
57
- default: () => [vue.createTextVNode("确定")]
58
- })]);
59
- }
60
- });
61
- });
62
- };
63
- const ShowComponentSelectPanel = async () => {
64
- return new Promise((resolve) => {
65
- const selectComponentOption = vue.ref(null);
66
- const handleCancelClick = () => {
67
- dialogInstance.destroy();
68
- };
69
- const handleConfirmClick = () => {
70
- dialogInstance.destroy();
71
- resolve(selectComponentOption.value);
72
- };
73
- const dialogInstance = dm.Dialoger.customRender({
74
- title: "组件库",
75
- class: "mk-html-editor-dialog",
76
- width: "70%",
77
- onClose: () => {
78
- dialogInstance.destroy();
79
- },
80
- body: () => {
81
- return vue.createVNode("div", null, [vue.createVNode(elementPlus.ElInput, null, null), vue.createVNode(elementPlus.ElCollapse, null, {
82
- default: () => [vue.createVNode(elementPlus.ElCollapseItem, {
83
- "title": "基础组件",
84
- "name": "base"
85
- }, null), vue.createVNode(elementPlus.ElCollapseItem, {
86
- "title": "业务组件",
87
- "name": "business"
88
- }, null), vue.createVNode(elementPlus.ElCollapseItem, {
89
- "title": "自定义组件",
90
- "name": "custom"
91
- }, null)]
92
- })]);
93
- },
94
- footer: () => {
95
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(elementPlus.ElButton, {
96
- "onClick": handleCancelClick
97
- }, {
98
- default: () => [vue.createTextVNode("取消")]
99
- }), vue.createVNode(elementPlus.ElButton, {
100
- "type": "primary",
101
- "onClick": handleConfirmClick
102
- }, {
103
- default: () => [vue.createTextVNode("确定")]
104
- })]);
105
- }
106
- });
107
- });
108
- };
109
- exports.ShowComponentSelectPanel = ShowComponentSelectPanel;
110
- exports.ShowEditPanel = ShowEditPanel;
111
- //# sourceMappingURL=Dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../../../../../src/components/basic/visual-page-editor/utils/Dialog.tsx"],"sourcesContent":["\r\nimport { Fragment, ref, unref, resolveComponent, h, reactive } from 'vue'\r\nimport { Dialoger } from '@maketribe/dm'\r\nimport { ElButton, ElForm, ElFormItem, ElCollapse, ElCollapseItem, ElInput } from \"element-plus\";\r\nimport { RenderComponentType } from \"../core/RenderComponent\"\r\nimport { useRenderComponent } from \"../core\"\r\n\r\n/**\r\n * \r\n * @param data \r\n * @param props \r\n * @returns \r\n */\r\nexport const ShowEditPanel = async (componentOptions: RenderComponentType, props: any) => {\r\n return new Promise(resolve => {\r\n\r\n const isAdd = props == null;\r\n\r\n // 新增的话\r\n if (isAdd) {\r\n props = {};\r\n componentOptions.options.forEach(item => { props[item.name] = item.defaultValue })\r\n }\r\n\r\n const propsReactive = reactive(props)\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(props);\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: isAdd ? `添加${componentOptions.desc}` : `编辑${componentOptions.desc}`,\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 h(ElForm, { labelPosition: \"top\", model: propsReactive, labelWidth: \"auto\" }, componentOptions.options.map(item => {\r\n const component = typeof item.component == \"string\" ? resolveComponent(item.component) : item.component;\r\n return h(ElFormItem, { label: item.desc, prop: item.name }, [\r\n h(component, {\r\n ...item.props,\r\n modelValue: propsReactive[item.name],\r\n \"update:modelValue\": (v: any) => propsReactive[item.name] = v\r\n })\r\n ])\r\n }))\r\n\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\r\n\r\n/**\r\n * \r\n * @param data \r\n * @param props \r\n * @returns \r\n */\r\nexport const ShowComponentSelectPanel = async () => {\r\n return new Promise(resolve => {\r\n\r\n const { RenderComponents } = useRenderComponent();\r\n\r\n const selectComponentOption = ref(null);\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(selectComponentOption.value);\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"组件库\",\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 <div>\r\n <ElInput />\r\n <ElCollapse>\r\n <ElCollapseItem title=\"基础组件\" name=\"base\">\r\n\r\n </ElCollapseItem>\r\n <ElCollapseItem title=\"业务组件\" name=\"business\">\r\n\r\n </ElCollapseItem>\r\n <ElCollapseItem title=\"自定义组件\" name=\"custom\">\r\n\r\n </ElCollapseItem>\r\n </ElCollapse>\r\n </div>\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":["ShowEditPanel","componentOptions","props","Promise","resolve","isAdd","options","forEach","item","name","defaultValue","propsReactive","reactive","handleCancelClick","dialogInstance","destroy","handleConfirmClick","Dialoger","customRender","title","desc","class","width","onClose","body","h","ElForm","labelPosition","model","labelWidth","map","component","resolveComponent","ElFormItem","label","prop","modelValue","v","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","ShowComponentSelectPanel","selectComponentOption","ref","value","ElInput","ElCollapse","ElCollapseItem"],"mappings":";;;;;;AAaO,MAAMA,gBAAgB,OAAOC,kBAAuCC,UAAe;AACxF,SAAO,IAAIC,QAAQC,aAAW;AAE5B,UAAMC,QAAQH,SAAS;AAGvB,QAAIG,OAAO;AACTH,cAAQ,CAAA;AACRD,uBAAiBK,QAAQC,QAAQC,UAAQ;AAAEN,cAAMM,KAAKC,IAAI,IAAID,KAAKE;AAAAA,MAAa,CAAC;AAAA,IACnF;AAEA,UAAMC,gBAAgBC,aAASV,KAAK;AAGpC,UAAMW,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAAA;AAIxB,UAAMC,qBAAqBA,MAAM;AAC/BF,qBAAeC,QAAO;AACtBX,cAAQF,KAAK;AAAA;AAGf,UAAMY,iBAAiBG,GAAQ,SAACC,aAAa;AAAA,MAC3CC,OAAOd,QAAQ,KAAKJ,iBAAiBmB,IAAI,KAAK,KAAKnB,iBAAiBmB,IAAI;AAAA,MACxEC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACbT,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDS,MAAMA,MAAM;AACV,eAAOC,IAAAA,EAAEC,YAAAA,QAAQ;AAAA,UAAEC,eAAe;AAAA,UAAOC,OAAOjB;AAAAA,UAAekB,YAAY;AAAA,QAAQ,GAAE5B,iBAAiBK,QAAQwB,IAAItB,UAAQ;AACxH,gBAAMuB,YAAY,OAAOvB,KAAKuB,aAAa,WAAWC,qBAAiBxB,KAAKuB,SAAS,IAAIvB,KAAKuB;AAC9F,iBAAON,IAAAA,EAAEQ,YAAAA,YAAY;AAAA,YAAEC,OAAO1B,KAAKY;AAAAA,YAAMe,MAAM3B,KAAKC;AAAAA,UAAK,GAAG,CAC1DgB,IAAC,EAACM,WAAW;AAAA,YACX,GAAGvB,KAAKN;AAAAA,YACRkC,YAAYzB,cAAcH,KAAKC,IAAI;AAAA,YACnC,qBAAsB4B,OAAW1B,cAAcH,KAAKC,IAAI,IAAI4B;AAAAA,UAC7D,CAAA,CAAC,CACH;AAAA,QACF,CAAA,CAAC;AAAA,MAEH;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAC,IAAA,YAAAC,IAAA,UAAAD,MAAAA,CAAAA,IAAAA,YAAAE,YAAAA,UAAA;AAAA,UAAA,WACqB5B;AAAAA,QAAiB,GAAA;AAAA,UAAA6B,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,SAAAJ,GAAAA,IAAA,YAAAE,sBAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFzB;AAAAA,QAAkB,GAAA;AAAA,UAAA0B,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAIxD;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AASaC,MAAAA,2BAA2B,YAAY;AAClD,SAAO,IAAIzC,QAAQC,aAAW;AAI5B,UAAMyC,wBAAwBC,QAAI,IAAI;AAGtC,UAAMjC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAAA;AAIxB,UAAMC,qBAAqBA,MAAM;AAC/BF,qBAAeC,QAAO;AACtBX,cAAQyC,sBAAsBE,KAAK;AAAA;AAGrC,UAAMjC,iBAAiBG,GAAQ,SAACC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPE,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACbT,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDS,MAAMA,MAAM;AACV,eAAAe,8BAAAA,IAAAA,YAAAS,YAAAA,SAAAT,MAAAA,IAAAA,GAAAA,gBAAAU,YAAAA,YAAA,MAAA;AAAA,UAAAP,SAAAA,MAAAH,CAAAA,IAAA,YAAAW,4BAAA;AAAA,YAAA,SAAA;AAAA,YAAA,QAAA;AAAA,aAAAX,IAAAA,GAAAA,IAAA,YAAAW,4BAAA;AAAA,YAAA,SAAA;AAAA,YAAA,QAAA;AAAA,aAAAX,IAAAA,GAAAA,IAAA,YAAAW,4BAAA;AAAA,YAAA,SAAA;AAAA,YAAA,QAAA;AAAA,UAAA,GAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAcD;AAAA,MACDZ,QAAQA,MAAM;AACZ,eAAAC,IAAA,YAAAC,IAAA,UAAAD,MAAAA,CAAAA,IAAAA,YAAAE,YAAAA,UAAA;AAAA,UAAA,WACqB5B;AAAAA,QAAiB,GAAA;AAAA,UAAA6B,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,SAAAJ,GAAAA,IAAA,YAAAE,sBAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFzB;AAAAA,QAAkB,GAAA;AAAA,UAAA0B,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAIxD;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;;;"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- const vue = require("vue");
3
- const index = require("../core/index.js");
4
- const { RegisterRenderComponent } = index.useRenderComponent();
5
- const ImageComponent = vue.defineComponent({
6
- name: "vp-image",
7
- props: ["src"],
8
- setup(props) {
9
- return () => {
10
- return vue.h("img", { src: props.src, style: { width: "100%" } });
11
- };
12
- }
13
- });
14
- RegisterRenderComponent({
15
- name: ImageComponent.name,
16
- desc: "图片",
17
- group: "base",
18
- component: ImageComponent,
19
- options: [
20
- {
21
- name: "src",
22
- desc: "图片路径",
23
- component: "MKImageSelect",
24
- defaultValue: {},
25
- props: {}
26
- }
27
- ]
28
- });
29
- //# sourceMappingURL=ImageRenderComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageRenderComponent.js","sources":["../../../../../../src/components/basic/visual-page-editor/visual-components/ImageRenderComponent.ts"],"sourcesContent":["\r\nimport { defineComponent, h } from \"vue\";\r\nimport { useRenderComponent } from \"../core\"\r\n\r\n\r\nconst { RegisterRenderComponent } = useRenderComponent();\r\nconst ImageComponent = defineComponent({\r\n name: \"vp-image\",\r\n props: [\"src\"],\r\n setup(props) {\r\n return () => {\r\n return h(\"img\", { src: props.src, style: { width: \"100%\" } })\r\n }\r\n }\r\n})\r\n\r\n// 注册图片\r\nRegisterRenderComponent({\r\n name: ImageComponent.name!,\r\n desc: \"图片\",\r\n group: \"base\",\r\n component: ImageComponent,\r\n options: [\r\n {\r\n name: \"src\",\r\n desc: \"图片路径\",\r\n component: \"MKImageSelect\",\r\n defaultValue: {},\r\n props: {}\r\n }\r\n ]\r\n})\r\n"],"names":["useRenderComponent","defineComponent","h"],"mappings":";;;AAKA,MAAM,EAAE,wBAAwB,IAAIA,MAAAA;AACpC,MAAM,iBAAiBC,IAAAA,gBAAgB;AAAA,EACrC,MAAM;AAAA,EACN,OAAO,CAAC,KAAK;AAAA,EACb,MAAM,OAAO;AACX,WAAO,MAAM;AACJ,aAAAC,MAAE,OAAO,EAAE,KAAK,MAAM,KAAK,OAAO,EAAE,OAAO,OAAO,EAAG,CAAA;AAAA,IAAA;AAAA,EAEhE;AACF,CAAC;AAGD,wBAAwB;AAAA,EACtB,MAAM,eAAe;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,IACP;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc,CAAC;AAAA,MACf,OAAO,CAAC;AAAA,IACV;AAAA,EACF;AACF,CAAC;"}
@@ -1,13 +0,0 @@
1
- import { createCommand } from "lexical";
2
- import "@lexical/utils";
3
- import "vue";
4
- import "lexical-vue";
5
- const SELECTED_DECORATORMODULE_COMMAND = createCommand("SELECTED_DECORATORMODULE_COMMAND");
6
- const REMOVE_DECORATORMODULE_COMMAND = createCommand("REMOVE_DECORATORMODULE_COMMAND");
7
- const UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND = createCommand("UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND");
8
- export {
9
- REMOVE_DECORATORMODULE_COMMAND,
10
- SELECTED_DECORATORMODULE_COMMAND,
11
- UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND
12
- };
13
- //# sourceMappingURL=decorator-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorator-module.js","sources":["../../../../../../src/components/basic/doc-editor/core/decorator-module.ts"],"sourcesContent":["\r\nimport type { BaseSelection, LexicalCommand,NodeKey } from 'lexical'\r\nimport {\r\n createCommand,DecoratorNode,\r\n $getSelection, $isNodeSelection,\r\n CLICK_COMMAND, COMMAND_PRIORITY_LOW,\r\n TextNode,\r\n EditorConfig\r\n} from \"lexical\";\r\nimport { mergeRegister } from \"@lexical/utils\";\r\nimport { type Component,watch,ref } from \"vue\"\r\nimport {\r\n useLexicalComposer,\r\n useLexicalNodeSelection,\r\n useMounted,\r\n} from \"lexical-vue\";\r\n\r\n/**\r\n * toolsbar的函数\r\n */\r\nexport type ToolsbarFunction = (selection:BaseSelection|null)=>Array<any>|null;\r\n\r\n/**\r\n * 组件选中\r\n */\r\nexport type DecoratorModuleSelectEventType = {\r\n element:HTMLElement,\r\n toolsbars:Array<any>|ToolsbarFunction\r\n}\r\n\r\n/**\r\n * 选中装饰模块\r\n */\r\nexport const SELECTED_DECORATORMODULE_COMMAND: LexicalCommand<DecoratorModuleSelectEventType|null> = createCommand('SELECTED_DECORATORMODULE_COMMAND')\r\n\r\n/**\r\n * 移除装饰器模块\r\n */\r\nexport const REMOVE_DECORATORMODULE_COMMAND: LexicalCommand<undefined|null> = createCommand('REMOVE_DECORATORMODULE_COMMAND')\r\n\r\n/**\r\n * 更新模块工具条位置信息\r\n */\r\nexport const UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND: LexicalCommand<undefined|null> = createCommand('UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND')\r\n\r\n/**\r\n * 装饰模块\r\n */\r\nexport class DecoratorModuleBlockNode extends DecoratorNode<Component> {\r\n\r\n constructor( key?: NodeKey) {\r\n super(key)\r\n }\r\n\r\n createDOM() {\r\n return document.createElement('div')\r\n }\r\n\r\n updateDOM(\r\n prevNode: TextNode,\r\n dom: HTMLElement,\r\n config: EditorConfig,\r\n ): boolean {\r\n return false\r\n }\r\n \r\n /**\r\n * 标识非行内组件\r\n * @returns \r\n */\r\n isInline() { return false; }\r\n\r\n /**\r\n * 是否隔离\r\n * @returns \r\n */\r\n isIsolated(){ return true; }\r\n \r\n /**\r\n * 允许键盘选中\r\n * @returns \r\n */\r\n isKeyboardSelectable(){ return true; }\r\n \r\n}\r\n\r\n\r\n/**\r\n * 使用装饰模块\r\n */\r\nexport const useDecoratorModule = (nodeKey:any,toolsbars:Array<any>|ToolsbarFunction)=>{\r\n\r\n // 编辑器\r\n\r\n const curSelectEl = ref<any>(null)\r\n const editor = useLexicalComposer();\r\n const { isSelected, setSelected, clearSelection } = useLexicalNodeSelection(nodeKey);\r\n\r\n // 是否选中\r\n watch(isSelected,(v)=>{\r\n if(v && curSelectEl.value != null){\r\n // 选中后显示工具条\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,{ \r\n element:curSelectEl.value,\r\n toolsbars:toolsbars\r\n });\r\n }\r\n else{\r\n // 没选中\r\n curSelectEl.value = null;\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,null);\r\n }\r\n })\r\n\r\n // 编辑器挂载的时候\r\n useMounted(() => {\r\n\r\n return mergeRegister(\r\n // \r\n // 选中\r\n editor.registerCommand<MouseEvent>(CLICK_COMMAND,(event) => {\r\n \r\n // 选中当前对象\r\n if (event.target === curSelectEl.value) {\r\n\r\n event.preventDefault();\r\n\r\n if (!event.shiftKey) { clearSelection(); }\r\n\r\n setSelected(true);\r\n\r\n return true;\r\n }\r\n \r\n return false;\r\n }, COMMAND_PRIORITY_LOW)\r\n );\r\n });\r\n\r\n return { isSelected,curSelectEl }\r\n}\r\n\r\n/**\r\n * 使用装饰模块工具条\r\n */\r\nexport const useDecoratorModuleTools = (selectFunc:Function)=>{\r\n\r\n // 编辑器\r\n const editor = useLexicalComposer();\r\n\r\n // 编辑器挂载的时候\r\n useMounted(() => {\r\n\r\n return mergeRegister(\r\n editor.registerCommand(SELECTED_DECORATORMODULE_COMMAND, () => {\r\n \r\n const selection = $getSelection();\r\n \r\n if($isNodeSelection(selection)){\r\n selectFunc(selection);\r\n }\r\n\r\n return false;\r\n },1)\r\n );\r\n });\r\n\r\n}\r\n\r\n\r\n"],"names":[],"mappings":";;;;AAiCa,MAAA,mCAAwF,cAAc,kCAAkC;AAKxI,MAAA,iCAAiE,cAAc,gCAAgC;AAK/G,MAAA,6CAA6E,cAAc,4CAA4C;"}
@@ -1,68 +0,0 @@
1
- import { mergeRegister } from "@lexical/utils";
2
- import { CLICK_COMMAND, COMMAND_PRIORITY_LOW } from "lexical";
3
- import { useLexicalComposer, useMounted } from "lexical-vue";
4
- import { ref, watch } from "vue";
5
- import { SELECTED_DECORATORMODULE_COMMAND } from "./decorator-module.js";
6
- import { isNodeSelected, clearSelection, setSelected } from "./utils.js";
7
- const useElementModule = (func, toolsbars) => {
8
- const editor = useLexicalComposer();
9
- const isSelected = ref(false);
10
- const curSelectKey = ref(null);
11
- const curSelectPos = ref(null);
12
- const curSelectEl = ref(null);
13
- const updateActiveViewState = (el) => {
14
- if (el) {
15
- const selectRect = el.getBoundingClientRect();
16
- curSelectPos.value = {
17
- top: `${selectRect.y}px`,
18
- left: `${selectRect.x}px`,
19
- width: `${selectRect.width}px`,
20
- height: `${selectRect.height}px`
21
- };
22
- editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND, {
23
- element: curSelectEl.value,
24
- toolsbars
25
- });
26
- } else {
27
- curSelectEl.value = null;
28
- curSelectKey.value = null;
29
- curSelectPos.value = null;
30
- editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND, null);
31
- }
32
- };
33
- watch(isSelected, (state) => {
34
- return updateActiveViewState(state ? curSelectEl.value : null);
35
- });
36
- useMounted(() => {
37
- return mergeRegister(
38
- // 更新选中状态
39
- editor.registerUpdateListener(() => {
40
- isSelected.value = isNodeSelected(editor, curSelectKey.value);
41
- }),
42
- // 点击选中
43
- editor.registerCommand(CLICK_COMMAND, (event) => {
44
- const el = func(event.target);
45
- const nodeKey = el == null ? void 0 : el.getAttribute("node-key");
46
- if (nodeKey != null) {
47
- event.preventDefault();
48
- if (!event.shiftKey) {
49
- clearSelection(editor);
50
- }
51
- setSelected(editor, true, nodeKey);
52
- setTimeout(() => {
53
- curSelectEl.value = el;
54
- curSelectKey.value = nodeKey;
55
- isSelected.value = isNodeSelected(editor, nodeKey);
56
- }, 1);
57
- return true;
58
- }
59
- return false;
60
- }, COMMAND_PRIORITY_LOW)
61
- );
62
- });
63
- return { isSelected, curSelectKey, curSelectPos, updateActiveViewState };
64
- };
65
- export {
66
- useElementModule
67
- };
68
- //# sourceMappingURL=element-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-module.js","sources":["../../../../../../src/components/basic/doc-editor/core/element-module.ts"],"sourcesContent":["\r\n\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { COMMAND_PRIORITY_LOW,CLICK_COMMAND } from 'lexical'\r\nimport { useLexicalComposer,useMounted } from 'lexical-vue'\r\nimport { ref,computed,watch } from 'vue'\r\nimport { \r\n SELECTED_DECORATORMODULE_COMMAND,\r\n ToolsbarFunction\r\n} from './decorator-module'\r\nimport { \r\n isNodeSelected,setSelected,clearSelection,\r\n} from './utils'\r\n\r\n/**\r\n * 判断选中的方法\r\n */\r\nexport type SelectExistFunc = (el:HTMLElement)=>HTMLElement|null\r\n\r\n/**\r\n * 使用元素模块\r\n * @param toolsbars \r\n */\r\nexport const useElementModule = (func:SelectExistFunc,toolsbars:Array<any>|ToolsbarFunction)=>{\r\n\r\n const editor = useLexicalComposer()\r\n const isSelected = ref(false)\r\n const curSelectKey = ref<any>(null)\r\n const curSelectPos = ref<any>(null)\r\n const curSelectEl = ref<any>(null)\r\n \r\n // 更新选中\r\n const updateActiveViewState = (el:Element|null)=>{\r\n \r\n if(el){\r\n \r\n const selectRect = el.getBoundingClientRect();\r\n \r\n curSelectPos.value = {\r\n top:`${selectRect.y}px`,left:`${selectRect.x}px`,\r\n width:`${selectRect.width}px`,height:`${selectRect.height}px`\r\n };\r\n \r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,{ \r\n element:curSelectEl.value,\r\n toolsbars:toolsbars\r\n });\r\n }\r\n else{\r\n curSelectEl.value = null;\r\n curSelectKey.value = null;\r\n curSelectPos.value = null;\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND,null);\r\n }\r\n }\r\n \r\n // 是否选中\r\n watch(isSelected,(state)=>{\r\n return updateActiveViewState(state ? curSelectEl.value : null);\r\n })\r\n \r\n // 编辑器挂载\r\n useMounted(()=>{\r\n // 注册事件\r\n return mergeRegister(\r\n // 更新选中状态\r\n editor.registerUpdateListener(() => {\r\n isSelected.value = isNodeSelected(editor, curSelectKey.value);\r\n }),\r\n // 点击选中\r\n editor.registerCommand<MouseEvent>(CLICK_COMMAND,(event) => {\r\n \r\n const el = func(event.target as HTMLElement);\r\n const nodeKey = el?.getAttribute(\"node-key\");\r\n\r\n // 不为null的话则视为点击选中\r\n if(nodeKey != null){\r\n \r\n event.preventDefault();\r\n \r\n if (!event.shiftKey) { clearSelection(editor); }\r\n\r\n setSelected(editor,true,nodeKey);\r\n \r\n setTimeout(() => {\r\n curSelectEl.value = el;\r\n curSelectKey.value = nodeKey;\r\n isSelected.value = isNodeSelected(editor, nodeKey);\r\n }, 1);\r\n return true;\r\n }\r\n \r\n return false;\r\n }, COMMAND_PRIORITY_LOW)\r\n )\r\n })\r\n\r\n\r\n return { isSelected, curSelectKey,curSelectPos,updateActiveViewState };\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;AAuBa,MAAA,mBAAmB,CAAC,MAAqB,cAAwC;AAE5F,QAAM,SAAS;AACT,QAAA,aAAa,IAAI,KAAK;AACtB,QAAA,eAAe,IAAS,IAAI;AAC5B,QAAA,eAAe,IAAS,IAAI;AAC5B,QAAA,cAAc,IAAS,IAAI;AAG3B,QAAA,wBAAwB,CAAC,OAAkB;AAE/C,QAAG,IAAG;AAEE,YAAA,aAAa,GAAG;AAEtB,mBAAa,QAAQ;AAAA,QACnB,KAAI,GAAG,WAAW,CAAC;AAAA,QAAK,MAAK,GAAG,WAAW,CAAC;AAAA,QAC5C,OAAM,GAAG,WAAW,KAAK;AAAA,QAAK,QAAO,GAAG,WAAW,MAAM;AAAA,MAAA;AAG3D,aAAO,gBAAgB,kCAAiC;AAAA,QACtD,SAAQ,YAAY;AAAA,QACpB;AAAA,MAAA,CACD;AAAA,IAAA,OAEC;AACF,kBAAY,QAAQ;AACpB,mBAAa,QAAQ;AACrB,mBAAa,QAAQ;AACd,aAAA,gBAAgB,kCAAiC,IAAI;AAAA,IAC9D;AAAA,EAAA;AAII,QAAA,YAAW,CAAC,UAAQ;AACxB,WAAO,sBAAsB,QAAQ,YAAY,QAAQ,IAAI;AAAA,EAAA,CAC9D;AAGD,aAAW,MAAI;AAEN,WAAA;AAAA;AAAA,MAEL,OAAO,uBAAuB,MAAM;AAClC,mBAAW,QAAQ,eAAe,QAAQ,aAAa,KAAK;AAAA,MAAA,CAC7D;AAAA;AAAA,MAED,OAAO,gBAA4B,eAAc,CAAC,UAAU;AAEpD,cAAA,KAAK,KAAK,MAAM,MAAqB;AACrC,cAAA,UAAU,yBAAI,aAAa;AAGjC,YAAG,WAAW,MAAK;AAEjB,gBAAM,eAAe;AAEjB,cAAA,CAAC,MAAM,UAAU;AAAE,2BAAe,MAAM;AAAA,UAAI;AAEpC,sBAAA,QAAO,MAAK,OAAO;AAE/B,qBAAW,MAAM;AACf,wBAAY,QAAQ;AACpB,yBAAa,QAAQ;AACV,uBAAA,QAAQ,eAAe,QAAQ,OAAO;AAAA,aAChD,CAAC;AACG,iBAAA;AAAA,QACT;AAEO,eAAA;AAAA,SACN,oBAAoB;AAAA,IAAA;AAAA,EACzB,CACD;AAGD,SAAO,EAAE,YAAY,cAAa,cAAa,sBAAsB;AAEvE;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { type CommandListenerPriority, $isNodeSelection, $getSelection } from 'lexical'\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { useLexicalComposer, useMounted } from 'lexical-vue'\r\nimport { ref, reactive, shallowRef, nextTick, watch } from 'vue'\r\nimport {\r\n UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, SELECTED_DECORATORMODULE_COMMAND, REMOVE_DECORATORMODULE_COMMAND,\r\n type DecoratorModuleSelectEventType, DEVICE_VIEW_MODE,\r\n ToolsbarFunction\r\n} from \"../../core\"\r\n\r\n// 点击工具条按钮\r\nconst lowPriority: CommandListenerPriority = 1\r\nconst editor = useLexicalComposer()\r\nconst toolbarRef = ref<HTMLDivElement | null>(null)\r\nconst selectPayload = shallowRef<DecoratorModuleSelectEventType | null>(null);\r\nconst toolsPos = reactive({ left: \"px\", top: \"0px\" });\r\n\r\nwatch(DEVICE_VIEW_MODE, () => {\r\n editor.dispatchCommand(UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, null);\r\n})\r\n\r\n\r\n// 更新工具条坐标\r\nconst updateToolsPos = () => {\r\n\r\n nextTick(() => {\r\n if (selectPayload.value != null && toolbarRef.value != null) {\r\n const editIframeRect = (toolbarRef.value.getRootNode() as any).body.querySelector(\".mk-doc-editor__stage_iframe\").getBoundingClientRect();\r\n const editBodyRect = (toolbarRef.value.getRootNode() as any).body.querySelector(\".mk-doc-editor__stage_body\").getBoundingClientRect();\r\n const baseY = editIframeRect.y - editBodyRect.y;\r\n const selectRect = selectPayload.value.element.getBoundingClientRect();\r\n const toolsRect = toolbarRef.value.getBoundingClientRect();\r\n if (toolsRect) {\r\n // 中心点\r\n toolsPos.top = Math.max(selectRect.y - toolsRect.height - 5 + baseY, 5 + baseY) + \"px\"\r\n toolsPos.left = toolsRect.width / -2 + selectRect.x + selectRect.width / 2 + \"px\";\r\n }\r\n }\r\n })\r\n return false;\r\n}\r\n\r\nuseMounted(() => {\r\n return mergeRegister(\r\n editor.registerCommand(UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, () => updateToolsPos(), lowPriority),\r\n editor.registerUpdateListener(({ editorState }) => editorState.read(() => updateToolsPos())),\r\n // 选中模块\r\n editor.registerCommand(SELECTED_DECORATORMODULE_COMMAND, (payload: DecoratorModuleSelectEventType) => {\r\n\r\n\r\n if (payload != null) {\r\n let toolsbarList = [];\r\n\r\n // 如果是函数的话\r\n if (typeof payload.toolsbars == \"function\") {\r\n\r\n const selection = $getSelection();\r\n\r\n if ($isNodeSelection(selection)) {\r\n toolsbarList = payload.toolsbars(selection) ?? [];\r\n }\r\n else {\r\n toolsbarList = payload.toolsbars(null) ?? [];\r\n }\r\n }\r\n else {\r\n toolsbarList = payload.toolsbars;\r\n }\r\n\r\n selectPayload.value = {\r\n element: payload.element,\r\n toolsbars: toolsbarList\r\n };\r\n }\r\n else {\r\n selectPayload.value = null;\r\n }\r\n\r\n return updateToolsPos();\r\n }, lowPriority),\r\n // 删除模块\r\n editor.registerCommand(REMOVE_DECORATORMODULE_COMMAND, () => {\r\n\r\n const selection = $getSelection();\r\n\r\n if ($isNodeSelection(selection)) {\r\n\r\n selection.getNodes().forEach(node => node.remove());\r\n\r\n // 没选中\r\n editor.dispatchCommand(SELECTED_DECORATORMODULE_COMMAND, null);\r\n }\r\n return false;\r\n }, lowPriority)\r\n // editor.registerCommand(SELECTION_CHANGE_COMMAND, (payload, newEditor) => {\r\n\r\n // const selection = $getSelection();\r\n\r\n // if($isNodeSelection(selection)){\r\n\r\n // const node = selection.getNodes()[0]\r\n\r\n // console.log(node,node.getTopLevelElement());\r\n // }\r\n\r\n // return updateToolsPos();\r\n // },lowPriority)\r\n )\r\n})\r\n\r\n</script>\r\n\r\n<template>\r\n <div v-if=\"selectPayload != null\" ref=\"toolbarRef\" class=\"mk-doc-editor-decorator-module-toolbar\" :style=\"toolsPos\">\r\n <el-button-group>\r\n\r\n <template v-for=\"item in selectPayload.toolsbars as any[]\">\r\n <el-tooltip effect=\"dark\" :content=\"item.title\" placement=\"top\">\r\n <el-button text @click=\"item.action()\">\r\n <MKSvgIcon :iconClass=\"item.icon\" />\r\n </el-button>\r\n </el-tooltip>\r\n </template>\r\n <el-tooltip effect=\"dark\" content=\"删除\" placement=\"top\">\r\n <el-button text type=\"danger\" @click=\"editor.dispatchCommand(REMOVE_DECORATORMODULE_COMMAND, null)\">\r\n <MKSvgIcon :iconClass=\"`Delete`\" />\r\n </el-button>\r\n </el-tooltip>\r\n\r\n </el-button-group>\r\n </div>\r\n</template>\r\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,cAAuC;;;;AAC7C,UAAM,SAAS;AACT,UAAA,aAAa,IAA2B,IAAI;AAC5C,UAAA,gBAAgB,WAAkD,IAAI;AAC5E,UAAM,WAAW,SAAS,EAAE,MAAM,MAAM,KAAK,OAAO;AAEpD,UAAM,kBAAkB,MAAM;AACrB,aAAA,gBAAgB,4CAA4C,IAAI;AAAA,IAAA,CACxE;AAID,UAAM,iBAAiB,MAAM;AAE3B,eAAS,MAAM;AACb,YAAI,cAAc,SAAS,QAAQ,WAAW,SAAS,MAAM;AACrD,gBAAA,iBAAkB,WAAW,MAAM,YAAA,EAAsB,KAAK,cAAc,8BAA8B,EAAE;AAC5G,gBAAA,eAAgB,WAAW,MAAM,YAAA,EAAsB,KAAK,cAAc,4BAA4B,EAAE;AACxG,gBAAA,QAAQ,eAAe,IAAI,aAAa;AAC9C,gBAAM,aAAa,cAAc,MAAM,QAAQ,sBAAsB;AAC/D,gBAAA,YAAY,WAAW,MAAM,sBAAsB;AACzD,cAAI,WAAW;AAEJ,qBAAA,MAAM,KAAK,IAAI,WAAW,IAAI,UAAU,SAAS,IAAI,OAAO,IAAI,KAAK,IAAI;AACzE,qBAAA,OAAO,UAAU,QAAQ,KAAK,WAAW,IAAI,WAAW,QAAQ,IAAI;AAAA,UAC/E;AAAA,QACF;AAAA,MAAA,CACD;AACM,aAAA;AAAA,IAAA;AAGT,eAAW,MAAM;AACR,aAAA;AAAA,QACL,OAAO,gBAAgB,4CAA4C,MAAM,eAAA,GAAkB,WAAW;AAAA,QACtG,OAAO,uBAAuB,CAAC,EAAE,YAAA,MAAkB,YAAY,KAAK,MAAM,eAAe,CAAC,CAAC;AAAA;AAAA,QAE3F,OAAO,gBAAgB,kCAAkC,CAAC,YAA4C;AAGpG,cAAI,WAAW,MAAM;AACnB,gBAAI,eAAe,CAAA;AAGf,gBAAA,OAAO,QAAQ,aAAa,YAAY;AAE1C,oBAAM,YAAY;AAEd,kBAAA,iBAAiB,SAAS,GAAG;AAC/B,+BAAe,QAAQ,UAAU,SAAS,KAAK,CAAA;AAAA,cAAC,OAE7C;AACH,+BAAe,QAAQ,UAAU,IAAI,KAAK,CAAA;AAAA,cAC5C;AAAA,YAAA,OAEG;AACH,6BAAe,QAAQ;AAAA,YACzB;AAEA,0BAAc,QAAQ;AAAA,cACpB,SAAS,QAAQ;AAAA,cACjB,WAAW;AAAA,YAAA;AAAA,UACb,OAEG;AACH,0BAAc,QAAQ;AAAA,UACxB;AAEA,iBAAO,eAAe;AAAA,WACrB,WAAW;AAAA;AAAA,QAEd,OAAO,gBAAgB,gCAAgC,MAAM;AAE3D,gBAAM,YAAY;AAEd,cAAA,iBAAiB,SAAS,GAAG;AAE/B,sBAAU,WAAW,QAAQ,CAAQ,SAAA,KAAK,QAAQ;AAG3C,mBAAA,gBAAgB,kCAAkC,IAAI;AAAA,UAC/D;AACO,iBAAA;AAAA,WACN,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IAchB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,106 +0,0 @@
1
- import { createCommand, ElementNode, $createParagraphNode } from "lexical";
2
- import "../ImagePlugin/commands.js";
3
- import { InlineImageNode } from "../ImagePlugin/ImageNode.js";
4
- const INSERT_IMAGETEXT_COMMAND = createCommand("INSERT_IMAGETEXT_COMMAND");
5
- const MarkClassName = "mk-doc__image-text";
6
- class ImageTextNode extends ElementNode {
7
- static getType() {
8
- return "image-text";
9
- }
10
- static clone(node) {
11
- return new ImageTextNode(node.__key);
12
- }
13
- static importJSON(serializedNode) {
14
- return $createImageTextNode();
15
- }
16
- static importDOM() {
17
- return {
18
- div: (domNode) => {
19
- return domNode.classList.contains(MarkClassName) ? {
20
- conversion: () => {
21
- return { node: $createImageTextNode() };
22
- },
23
- priority: 4
24
- } : null;
25
- }
26
- };
27
- }
28
- constructor(key) {
29
- super(key);
30
- }
31
- /**
32
- * 导出JSON
33
- * @returns
34
- */
35
- exportJSON() {
36
- return {
37
- ...super.exportJSON(),
38
- type: this.getType(),
39
- version: 1
40
- };
41
- }
42
- /**
43
- * 导出DOM
44
- * @returns
45
- */
46
- exportDOM() {
47
- const element = document.createElement("div");
48
- if (!element.classList.contains(MarkClassName)) {
49
- element.classList.add(MarkClassName);
50
- }
51
- return { element };
52
- }
53
- /**
54
- * 创建渲染DOM
55
- * @param config
56
- * @returns
57
- */
58
- createDOM(config) {
59
- const el = this.exportDOM().element;
60
- el.setAttribute("node-key", this.__key);
61
- el.setAttribute("contenteditable", "true");
62
- el.setAttribute("data-lexical-decorator", "true");
63
- return el;
64
- }
65
- /**
66
- * 更新DOM
67
- * @param prevNode
68
- * @param dom
69
- * @param config
70
- * @returns
71
- */
72
- updateDOM(prevNode, dom, config) {
73
- return false;
74
- }
75
- /* 不允许空
76
- * @returns
77
- */
78
- canBeEmpty() {
79
- return false;
80
- }
81
- /**
82
- * 非内联
83
- * @returns
84
- */
85
- isInline() {
86
- return false;
87
- }
88
- }
89
- function $createImageTextNode(attrs) {
90
- const imageText = new ImageTextNode();
91
- if (attrs != null) {
92
- imageText.append(new InlineImageNode(attrs));
93
- imageText.append($createParagraphNode());
94
- }
95
- return imageText;
96
- }
97
- function $isImageTextNode(node) {
98
- return node instanceof ImageTextNode;
99
- }
100
- export {
101
- $createImageTextNode,
102
- $isImageTextNode,
103
- INSERT_IMAGETEXT_COMMAND,
104
- ImageTextNode
105
- };
106
- //# sourceMappingURL=ImageTextNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageTextNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.ts"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\nimport type { DOMConversionMap, LexicalCommand, LexicalNode, NodeKey,EditorConfig, Spread,SerializedElementNode, DOMExportOutput } from 'lexical'\r\nimport { createCommand,$createParagraphNode,ElementNode } from 'lexical'\r\nimport { ImageAttrType,InlineImageNode } from '../ImagePlugin'\r\n\r\n/**\r\n * 插入图文\r\n */\r\nexport const INSERT_IMAGETEXT_COMMAND: LexicalCommand<ImageAttrType> = createCommand('INSERT_IMAGETEXT_COMMAND')\r\n\r\n/**\r\n * 图文节点序列化\r\n */\r\nexport type SerializedImageTextNode = Spread<{},SerializedElementNode>\r\n\r\n\r\n// 类标识\r\nconst MarkClassName = \"mk-doc__image-text\";\r\n\r\n/**\r\n * 图文节点\r\n */\r\nexport class ImageTextNode extends ElementNode{\r\n\r\n static getType(): string {\r\n return \"image-text\";\r\n }\r\n\r\n static clone(node: ImageTextNode): ImageTextNode {\r\n return new ImageTextNode(node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageTextNode): ImageTextNode {\r\n return $createImageTextNode()\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n div : (domNode: HTMLElement) => {\r\n return domNode.classList.contains(MarkClassName) ? {\r\n conversion: ()=>{ \r\n return { node:$createImageTextNode() };\r\n },\r\n priority: 4\r\n } : null;\r\n }\r\n }\r\n }\r\n\r\n constructor(key?: NodeKey) {\r\n super(key)\r\n }\r\n\r\n /**\r\n * 导出JSON\r\n * @returns \r\n */\r\n exportJSON(): SerializedImageTextNode {\r\n return {\r\n ...super.exportJSON(),\r\n type: this.getType(),\r\n version: 1\r\n }\r\n }\r\n\r\n /**\r\n * 导出DOM\r\n * @returns \r\n */\r\n exportDOM(): DOMExportOutput {\r\n \r\n const element = document.createElement('div')\r\n\r\n if (!element.classList.contains(MarkClassName)) {\r\n element.classList.add(MarkClassName);\r\n }\r\n\r\n return { element }\r\n }\r\n\r\n /**\r\n * 创建渲染DOM\r\n * @param config \r\n * @returns \r\n */\r\n createDOM(config: EditorConfig): HTMLElement {\r\n const el = this.exportDOM().element as HTMLElement;\r\n el.setAttribute(\"node-key\",this.__key)\r\n el.setAttribute(\"contenteditable\",\"true\")\r\n el.setAttribute(\"data-lexical-decorator\",\"true\")\r\n return el;\r\n }\r\n\r\n /**\r\n * 更新DOM\r\n * @param prevNode \r\n * @param dom \r\n * @param config \r\n * @returns \r\n */\r\n updateDOM(prevNode: ImageTextNode, dom: HTMLElement, config: EditorConfig): boolean {\r\n return false\r\n }\r\n\r\n /* 不允许空\r\n * @returns \r\n */\r\n canBeEmpty(): boolean {\r\n return false\r\n }\r\n\r\n /**\r\n * 非内联\r\n * @returns \r\n */\r\n isInline(): boolean {\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 $createImageTextNode(attrs?: ImageAttrType): ImageTextNode {\r\n\r\n const imageText = new ImageTextNode()\r\n\r\n if(attrs != null){\r\n imageText.append(new InlineImageNode(attrs))\r\n imageText.append($createParagraphNode())\r\n }\r\n\r\n return imageText;\r\n}\r\n\r\n/**\r\n * 判断是否是图文节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isImageTextNode(\r\n node: ImageTextNode | LexicalNode | null | undefined,\r\n): node is ImageTextNode {\r\n return node instanceof ImageTextNode\r\n}\r\n"],"names":[],"mappings":";;;AAYa,MAAA,2BAA0D,cAAc,0BAA0B;AAS/G,MAAM,gBAAgB;AAKf,MAAM,sBAAsB,YAAW;AAAA,EAE5C,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,MAAoC;AACxC,WAAA,IAAI,cAAc,KAAK,KAAK;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,gBAAwD;AACxE,WAAO,qBAAqB;AAAA,EAC9B;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAM,CAAC,YAAyB;AAC9B,eAAO,QAAQ,UAAU,SAAS,aAAa,IAAI;AAAA,UACjD,YAAY,MAAI;AACN,mBAAA,EAAE,MAAK,qBAAA;UACjB;AAAA,UACA,UAAU;AAAA,QACR,IAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,YAAY,KAAe;AACzB,UAAM,GAAG;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAsC;AAC7B,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAA6B;AAErB,UAAA,UAAU,SAAS,cAAc,KAAK;AAE5C,QAAI,CAAC,QAAQ,UAAU,SAAS,aAAa,GAAG;AACtC,cAAA,UAAU,IAAI,aAAa;AAAA,IACrC;AAEA,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAU,QAAmC;AACrC,UAAA,KAAK,KAAK,UAAA,EAAY;AACzB,OAAA,aAAa,YAAW,KAAK,KAAK;AAClC,OAAA,aAAa,mBAAkB,MAAM;AACrC,OAAA,aAAa,0BAAyB,MAAM;AACxC,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAU,UAAyB,KAAkB,QAA+B;AAC3E,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,aAAsB;AACb,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAoB;AACX,WAAA;AAAA,EACT;AACF;AAOO,SAAS,qBAAqB,OAAsC;AAEnE,QAAA,YAAY,IAAI;AAEtB,MAAG,SAAS,MAAK;AACf,cAAU,OAAO,IAAI,gBAAgB,KAAK,CAAC;AACjC,cAAA,OAAO,sBAAsB;AAAA,EACzC;AAEO,SAAA;AACT;AAOO,SAAS,iBACd,MACuB;AACvB,SAAO,gBAAgB;AACzB;"}
@@ -1,46 +0,0 @@
1
- import { defineComponent, onMounted } from "vue";
2
- import { mergeRegister, $insertNodeToNearestRoot } from "@lexical/utils";
3
- import { COMMAND_PRIORITY_EDITOR } from "lexical";
4
- import { useLexicalComposer, useMounted } from "lexical-vue";
5
- import { registerDocEditorToolbarExtend } from "../../core/index.js";
6
- import { INSERT_IMAGETEXT_COMMAND, $createImageTextNode, ImageTextNode } from "./ImageTextNode.js";
7
- const _sfc_main = /* @__PURE__ */ defineComponent({
8
- __name: "index",
9
- setup(__props) {
10
- registerDocEditorToolbarExtend({
11
- icon: "richtext-outline",
12
- text: "图文",
13
- action: async () => {
14
- editor.dispatchCommand(INSERT_IMAGETEXT_COMMAND, {
15
- src: "",
16
- float: "left",
17
- width: "200px",
18
- margin: "0 10px 10px 0"
19
- });
20
- },
21
- sort: 10
22
- });
23
- const editor = useLexicalComposer();
24
- useMounted(() => {
25
- return mergeRegister(
26
- // 插入图文
27
- editor.registerCommand(INSERT_IMAGETEXT_COMMAND, (payload) => {
28
- $insertNodeToNearestRoot($createImageTextNode(payload));
29
- return true;
30
- }, COMMAND_PRIORITY_EDITOR)
31
- );
32
- });
33
- onMounted(() => {
34
- if (!editor.hasNodes([ImageTextNode])) {
35
- throw new Error("ImageTextPlugin: 图文节点未注册!");
36
- }
37
- });
38
- return (_ctx, _cache) => {
39
- return null;
40
- };
41
- }
42
- });
43
- export {
44
- _sfc_main as default
45
- };
46
- //# sourceMappingURL=index.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { $insertNodeToNearestRoot,mergeRegister } from '@lexical/utils'\r\nimport { COMMAND_PRIORITY_EDITOR,COMMAND_PRIORITY_LOW,$getSelection,CLICK_COMMAND } from 'lexical'\r\nimport { useLexicalComposer,useMounted } from 'lexical-vue'\r\nimport { onMounted, onUnmounted } from 'vue'\r\nimport { registerDocEditorToolbarExtend,type ToolbarExtendPlugin } from \"../../core\"\r\nimport { useElementModule } from '../../core'\r\nimport { ImageAttrType } from '../ImagePlugin'\r\nimport { INSERT_IMAGETEXT_COMMAND,ImageTextNode,$createImageTextNode } from './index'\r\n\r\n\r\n// 注册到工具条\r\nregisterDocEditorToolbarExtend({\r\n icon:\"richtext-outline\",\r\n text:\"图文\",\r\n action:async ()=>{ \r\n editor.dispatchCommand(INSERT_IMAGETEXT_COMMAND,{\r\n src:\"\",\r\n float:\"left\",\r\n width:\"200px\",\r\n margin:\"0 10px 10px 0\"\r\n })\r\n },\r\n sort:10\r\n} as ToolbarExtendPlugin)\r\n\r\nconst editor = useLexicalComposer()\r\n\r\n// 使用元素模块 集成了模块选中删除以及工具条\r\n// const { isSelected, curSelectKey, curSelectPos,updateActiveViewState } = useElementModule(el=>{\r\n \r\n// var imageTextEl:any = el\r\n\r\n// while (imageTextEl != null && !imageTextEl.classList.contains(\"mk-doc-block-image-text\")) {\r\n// imageTextEl = imageTextEl.parentElement;\r\n// }\r\n\r\n// return imageTextEl\r\n\r\n// },[\r\n// {\r\n// title:\"编辑\",icon:\"Edit\",action:()=>{\r\n// // 编辑的节点\r\n// editor.getEditorState().read(async () => {\r\n \r\n \r\n// })\r\n// } \r\n// }\r\n// ])\r\n\r\n\r\nuseMounted(()=>{\r\n return mergeRegister(\r\n // 插入图文\r\n editor.registerCommand<ImageAttrType>(INSERT_IMAGETEXT_COMMAND,(payload) => {\r\n $insertNodeToNearestRoot($createImageTextNode(payload))\r\n return true\r\n },COMMAND_PRIORITY_EDITOR)\r\n )\r\n})\r\n\r\nonMounted(() => {\r\n\r\n if (!editor.hasNodes([ImageTextNode])){\r\n throw new Error('ImageTextPlugin: 图文节点未注册!')\r\n }\r\n})\r\n</script>\r\n\r\n\r\n<template>\r\n <!-- <div class=\"mk-doc-active-mark mk-doc-active-box-mark\" v-if=\"isSelected\" :style=\"curSelectPos\">\r\n \r\n </div> -->\r\n</template>\r\n\r\n"],"names":[],"mappings":";;;;;;;;;AAY+B,mCAAA;AAAA,MAC7B,MAAK;AAAA,MACL,MAAK;AAAA,MACL,QAAO,YAAU;AACf,eAAO,gBAAgB,0BAAyB;AAAA,UAC9C,KAAI;AAAA,UACJ,OAAM;AAAA,UACN,OAAM;AAAA,UACN,QAAO;AAAA,QAAA,CACR;AAAA,MACH;AAAA,MACA,MAAK;AAAA,IAAA,CACiB;AAExB,UAAM,SAAS;AA0Bf,eAAW,MAAI;AACN,aAAA;AAAA;AAAA,QAEL,OAAO,gBAA+B,0BAAyB,CAAC,YAAY;AACjD,mCAAA,qBAAqB,OAAO,CAAC;AAC/C,iBAAA;AAAA,WACP,uBAAuB;AAAA,MAAA;AAAA,IAC3B,CACD;AAED,cAAU,MAAM;AAEd,UAAI,CAAC,OAAO,SAAS,CAAC,aAAa,CAAC,GAAE;AAC9B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAC7C;AAAA,IAAA,CACD;;;;;;"}