@maketribe/ms-app 3.2.32 → 3.2.34

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 (375) hide show
  1. package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue.js +74 -0
  2. package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue.js.map +1 -0
  3. package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue2.js +4 -0
  4. package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue2.js.map +1 -0
  5. package/dist/cjs/components/basic/doc-editor/core/composables/inject.js +5 -0
  6. package/dist/cjs/components/basic/doc-editor/core/composables/inject.js.map +1 -0
  7. package/dist/cjs/components/basic/doc-editor/core/composables/listenerManager.js +18 -0
  8. package/dist/cjs/components/basic/doc-editor/core/composables/listenerManager.js.map +1 -0
  9. package/dist/cjs/components/basic/doc-editor/core/composables/useCanShowPlaceholder.js +31 -0
  10. package/dist/cjs/components/basic/doc-editor/core/composables/useCanShowPlaceholder.js.map +1 -0
  11. package/dist/cjs/components/basic/doc-editor/core/composables/useDecorators.js +31 -0
  12. package/dist/cjs/components/basic/doc-editor/core/composables/useDecorators.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/core/composables/useHistory.js +15 -0
  14. package/dist/cjs/components/basic/doc-editor/core/composables/useHistory.js.map +1 -0
  15. package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalComposer.js +17 -0
  16. package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalComposer.js.map +1 -0
  17. package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalTextEntity.js +16 -0
  18. package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalTextEntity.js.map +1 -0
  19. package/dist/cjs/components/basic/doc-editor/core/composables/useList.js +48 -0
  20. package/dist/cjs/components/basic/doc-editor/core/composables/useList.js.map +1 -0
  21. package/dist/cjs/components/basic/doc-editor/core/composables/useMounted.js +14 -0
  22. package/dist/cjs/components/basic/doc-editor/core/composables/useMounted.js.map +1 -0
  23. package/dist/cjs/components/basic/doc-editor/core/composables/useRichTextSetup.js +16 -0
  24. package/dist/cjs/components/basic/doc-editor/core/composables/useRichTextSetup.js.map +1 -0
  25. package/dist/cjs/components/basic/doc-editor/core/element-block.js +60 -66
  26. package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -1
  27. package/dist/cjs/components/basic/doc-editor/core/index.js +14 -0
  28. package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin/nodes/RichTextNode.js → core/nodes/RichElementNode.js} +81 -35
  30. package/dist/cjs/components/basic/doc-editor/core/nodes/RichElementNode.js.map +1 -0
  31. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js +42 -0
  32. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js.map +1 -0
  33. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js +4 -0
  34. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js.map +1 -0
  35. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue.js +4 -0
  36. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue.js.map +1 -0
  37. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue2.js +37 -0
  38. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue2.js.map +1 -0
  39. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/shared.js +176 -0
  40. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/shared.js.map +1 -0
  41. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js +215 -0
  42. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js.map +1 -0
  43. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js +4 -0
  44. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js.map +1 -0
  45. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js +75 -0
  46. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js.map +1 -0
  47. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js +4 -0
  48. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js.map +1 -0
  49. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js +29 -0
  50. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js.map +1 -0
  51. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js +4 -0
  52. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js.map +1 -0
  53. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js +4 -0
  54. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js.map +1 -0
  55. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js +77 -0
  56. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js.map +1 -0
  57. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js +25 -0
  58. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js.map +1 -0
  59. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js +4 -0
  60. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js.map +1 -0
  61. package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue.js +14 -3
  62. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/ContentEditable.vue.js.map +1 -0
  63. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js +24 -0
  64. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js.map +1 -0
  65. package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue.js +20 -9
  66. package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.js.map +1 -0
  67. package/dist/cjs/components/basic/doc-editor/editor.vue.js +22 -12
  68. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  69. package/dist/cjs/components/basic/doc-editor/index.js +2 -0
  70. package/dist/cjs/components/basic/doc-editor/index.js.map +1 -1
  71. package/dist/cjs/components/basic/doc-editor/{plugins/nodes.js → nodes.js} +13 -11
  72. package/dist/cjs/components/basic/doc-editor/nodes.js.map +1 -0
  73. package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.js +5 -3
  74. package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.js.map +1 -1
  75. package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js +215 -68
  76. package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -1
  77. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +39 -39
  78. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
  79. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +8 -1
  80. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
  81. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -23
  82. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
  83. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +33 -18
  84. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
  85. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +8 -1
  86. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
  87. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +14 -54
  88. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
  89. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +4 -0
  90. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  91. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +38 -33
  92. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  93. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +2 -2
  94. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  95. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +16 -9
  96. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  97. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +11 -10
  98. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  99. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +15 -28
  100. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  101. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -1
  102. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  103. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/commands.js +6 -0
  104. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/commands.js.map +1 -0
  105. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/composables.js +127 -0
  106. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/composables.js.map +1 -0
  107. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js +36 -0
  108. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js.map +1 -0
  109. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js +4 -0
  110. package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js.map +1 -0
  111. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +9 -4
  112. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
  113. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +10 -2
  114. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  115. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +17 -4
  116. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  117. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +10 -2
  118. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  119. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  120. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  121. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +1 -2
  122. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  123. package/dist/cjs/index.js +2 -0
  124. package/dist/cjs/index.js.map +1 -1
  125. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +1 -10
  126. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  127. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +180 -48
  128. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  129. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +44 -22
  130. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  131. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +1 -11
  132. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  133. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +11 -6
  134. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  135. package/dist/cjs/modules/ms/components/rich-text-editor/index.js.map +1 -1
  136. package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor-options.js +3 -5
  137. package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
  138. package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js +5 -4
  139. package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
  140. package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue.js +75 -0
  141. package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue.js.map +1 -0
  142. package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue2.js +5 -0
  143. package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue2.js.map +1 -0
  144. package/dist/esm/components/basic/doc-editor/core/composables/inject.js +5 -0
  145. package/dist/esm/components/basic/doc-editor/core/composables/inject.js.map +1 -0
  146. package/dist/esm/components/basic/doc-editor/core/composables/listenerManager.js +18 -0
  147. package/dist/esm/components/basic/doc-editor/core/composables/listenerManager.js.map +1 -0
  148. package/dist/esm/components/basic/doc-editor/core/composables/useCanShowPlaceholder.js +31 -0
  149. package/dist/esm/components/basic/doc-editor/core/composables/useCanShowPlaceholder.js.map +1 -0
  150. package/dist/esm/components/basic/doc-editor/core/composables/useDecorators.js +31 -0
  151. package/dist/esm/components/basic/doc-editor/core/composables/useDecorators.js.map +1 -0
  152. package/dist/esm/components/basic/doc-editor/core/composables/useHistory.js +15 -0
  153. package/dist/esm/components/basic/doc-editor/core/composables/useHistory.js.map +1 -0
  154. package/dist/esm/components/basic/doc-editor/core/composables/useLexicalComposer.js +17 -0
  155. package/dist/esm/components/basic/doc-editor/core/composables/useLexicalComposer.js.map +1 -0
  156. package/dist/esm/components/basic/doc-editor/core/composables/useLexicalTextEntity.js +16 -0
  157. package/dist/esm/components/basic/doc-editor/core/composables/useLexicalTextEntity.js.map +1 -0
  158. package/dist/esm/components/basic/doc-editor/core/composables/useList.js +48 -0
  159. package/dist/esm/components/basic/doc-editor/core/composables/useList.js.map +1 -0
  160. package/dist/esm/components/basic/doc-editor/core/composables/useMounted.js +14 -0
  161. package/dist/esm/components/basic/doc-editor/core/composables/useMounted.js.map +1 -0
  162. package/dist/esm/components/basic/doc-editor/core/composables/useRichTextSetup.js +16 -0
  163. package/dist/esm/components/basic/doc-editor/core/composables/useRichTextSetup.js.map +1 -0
  164. package/dist/esm/components/basic/doc-editor/core/element-block.js +60 -66
  165. package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -1
  166. package/dist/esm/components/basic/doc-editor/core/index.js +15 -1
  167. package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
  168. package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin/nodes/RichTextNode.js → core/nodes/RichElementNode.js} +82 -36
  169. package/dist/esm/components/basic/doc-editor/core/nodes/RichElementNode.js.map +1 -0
  170. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js +43 -0
  171. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js.map +1 -0
  172. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js +5 -0
  173. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js.map +1 -0
  174. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue.js +5 -0
  175. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue.js.map +1 -0
  176. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue2.js +38 -0
  177. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue2.js.map +1 -0
  178. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/shared.js +176 -0
  179. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/shared.js.map +1 -0
  180. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js +216 -0
  181. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js.map +1 -0
  182. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js +5 -0
  183. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js.map +1 -0
  184. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js +76 -0
  185. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js.map +1 -0
  186. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js +5 -0
  187. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js.map +1 -0
  188. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js +30 -0
  189. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js.map +1 -0
  190. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js +5 -0
  191. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js.map +1 -0
  192. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js +5 -0
  193. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js.map +1 -0
  194. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js +78 -0
  195. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js.map +1 -0
  196. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js +26 -0
  197. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js.map +1 -0
  198. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js +5 -0
  199. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js.map +1 -0
  200. package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue.js +12 -1
  201. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/ContentEditable.vue.js.map +1 -0
  202. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js +25 -0
  203. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js.map +1 -0
  204. package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue.js +19 -8
  205. package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.js.map +1 -0
  206. package/dist/esm/components/basic/doc-editor/editor.vue.js +33 -23
  207. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  208. package/dist/esm/components/basic/doc-editor/index.js +3 -1
  209. package/dist/esm/components/basic/doc-editor/index.js.map +1 -1
  210. package/dist/esm/components/basic/doc-editor/{plugins/nodes.js → nodes.js} +13 -11
  211. package/dist/esm/components/basic/doc-editor/nodes.js.map +1 -0
  212. package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.js +5 -3
  213. package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.js.map +1 -1
  214. package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js +216 -69
  215. package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -1
  216. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +39 -39
  217. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
  218. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +8 -1
  219. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
  220. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -23
  221. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
  222. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +33 -18
  223. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
  224. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +8 -1
  225. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
  226. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +16 -56
  227. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
  228. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +4 -0
  229. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  230. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +31 -26
  231. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  232. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +2 -2
  233. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  234. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +16 -9
  235. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  236. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +12 -11
  237. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  238. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +16 -29
  239. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  240. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +4 -2
  241. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  242. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/commands.js +6 -0
  243. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/commands.js.map +1 -0
  244. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/composables.js +127 -0
  245. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/composables.js.map +1 -0
  246. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js +37 -0
  247. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js.map +1 -0
  248. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js +5 -0
  249. package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js.map +1 -0
  250. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +8 -3
  251. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
  252. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +9 -1
  253. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  254. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +16 -3
  255. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  256. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +9 -1
  257. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  258. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  259. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  260. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +1 -2
  261. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  262. package/dist/esm/index.js +2 -0
  263. package/dist/esm/index.js.map +1 -1
  264. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +1 -10
  265. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  266. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +181 -49
  267. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  268. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +45 -23
  269. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  270. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +1 -11
  271. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  272. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +11 -6
  273. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  274. package/dist/esm/modules/ms/components/rich-text-editor/index.js.map +1 -1
  275. package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor-options.js +3 -5
  276. package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
  277. package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js +5 -4
  278. package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
  279. package/dist/style/components/basic/doc-editor/index.css +1 -1
  280. package/dist/style/components/index.css +1 -1
  281. package/dist/style/index.css +2 -2
  282. package/dist/style/modules/cms/index.css +1 -1
  283. package/dist/style/modules/cms/pages/cms-contents/components/article-list.css +1 -1
  284. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  285. package/dist/style/modules/ms/components/rich-text-editor/index.css +1 -1
  286. package/dist/style/modules/ms/index.css +1 -1
  287. package/dist/style/src/components/basic/doc-editor/index.scss +19 -2
  288. package/dist/style/src/modules/cms/pages/cms-contents/components/article-list.scss +32 -3
  289. package/dist/style/src/modules/ms/components/rich-text-editor/index.scss +1 -1
  290. package/dist/types/components/basic/doc-editor/core/LexicalComposer.vue.d.ts +29 -0
  291. package/dist/types/components/basic/doc-editor/core/composables/index.d.ts +15 -0
  292. package/dist/types/components/basic/doc-editor/core/composables/inject.d.ts +1 -0
  293. package/dist/types/components/basic/doc-editor/core/composables/listenerManager.d.ts +1 -0
  294. package/dist/types/components/basic/doc-editor/core/composables/useCanShowPlaceholder.d.ts +2 -0
  295. package/dist/types/components/basic/doc-editor/core/composables/useCharacterLimit.d.ts +9 -0
  296. package/dist/types/components/basic/doc-editor/core/composables/useDecorators.d.ts +4 -0
  297. package/dist/types/components/basic/doc-editor/core/composables/useEffect.d.ts +5 -0
  298. package/dist/types/components/basic/doc-editor/core/composables/useHistory.d.ts +4 -0
  299. package/dist/types/components/basic/doc-editor/core/composables/useLexicalCommandsLog.d.ts +5 -0
  300. package/dist/types/components/basic/doc-editor/core/composables/useLexicalComposer.d.ts +6 -0
  301. package/dist/types/components/basic/doc-editor/core/composables/useLexicalIsTextContentEmpty.d.ts +2 -0
  302. package/dist/types/components/basic/doc-editor/core/composables/useLexicalNodeSelection.d.ts +7 -0
  303. package/dist/types/components/basic/doc-editor/core/composables/useLexicalTextEntity.d.ts +3 -0
  304. package/dist/types/components/basic/doc-editor/core/composables/useList.d.ts +2 -0
  305. package/dist/types/components/basic/doc-editor/core/composables/useMounted.d.ts +4 -0
  306. package/dist/types/components/basic/doc-editor/core/composables/usePlainTextSetup.d.ts +2 -0
  307. package/dist/types/components/basic/doc-editor/core/composables/useReactiveEditor.d.ts +2 -0
  308. package/dist/types/components/basic/doc-editor/core/composables/useRichTextSetup.d.ts +2 -0
  309. package/dist/types/components/basic/doc-editor/core/composables/useTableOfContents.d.ts +8 -0
  310. package/dist/types/components/basic/doc-editor/core/element-block.d.ts +5 -13
  311. package/dist/types/components/basic/doc-editor/core/index.d.ts +8 -1
  312. package/dist/types/components/basic/doc-editor/core/nodes/RichElementNode.d.ts +46 -0
  313. package/dist/types/components/basic/doc-editor/core/nodes/index.d.ts +1 -0
  314. package/dist/types/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.d.ts +15 -0
  315. package/dist/types/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue.d.ts +26 -0
  316. package/dist/types/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/shared.d.ts +14 -0
  317. package/dist/types/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.d.ts +2 -0
  318. package/dist/types/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.d.ts +2 -0
  319. package/dist/types/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.d.ts +16 -0
  320. package/dist/types/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.d.ts +15 -0
  321. package/dist/types/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.d.ts +2 -0
  322. package/dist/types/components/basic/doc-editor/core/types.d.ts +2 -0
  323. package/dist/types/components/basic/doc-editor/index.d.ts +2 -1
  324. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +10 -5
  325. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +5 -0
  326. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +5 -0
  327. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +5 -0
  328. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +5 -0
  329. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +5 -1
  330. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +4 -9
  331. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +1 -1
  332. package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/commands.d.ts +5 -0
  333. package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/composables.d.ts +35 -0
  334. package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.d.ts +2 -0
  335. package/dist/types/components/basic/doc-editor/plugins/index.d.ts +2 -3
  336. package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
  337. package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
  338. package/dist/types/components/data-model/data-table/views/tree/index.d.ts +1 -1
  339. package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +1 -1
  340. package/dist/types/modules/ms/components/material-list/material-item.vue.d.ts +1 -1
  341. package/dist/types/modules/ms/components/rich-text-editor/index.d.ts +4 -4
  342. package/dist/types/modules/ms/components/rich-text-editor/rich-text-editor-options.d.ts +2 -2
  343. package/dist/types/modules/ms/components/rich-text-editor/rich-text-editor.d.ts +4 -4
  344. package/package.json +22 -23
  345. package/dist/cjs/components/basic/doc-editor/core/utils.js +0 -42
  346. package/dist/cjs/components/basic/doc-editor/core/utils.js.map +0 -1
  347. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue.js.map +0 -1
  348. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js +0 -13
  349. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js.map +0 -1
  350. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +0 -1
  351. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +0 -1
  352. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +0 -1
  353. package/dist/esm/components/basic/doc-editor/core/utils.js +0 -42
  354. package/dist/esm/components/basic/doc-editor/core/utils.js.map +0 -1
  355. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue.js.map +0 -1
  356. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js +0 -14
  357. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js.map +0 -1
  358. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +0 -1
  359. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +0 -1
  360. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +0 -1
  361. package/dist/types/components/basic/doc-editor/core/utils.d.ts +0 -4
  362. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.d.ts +0 -13
  363. package/dist/types/components/basic/doc-editor/plugins/VideoPlugin/VideoNode.d.ts +0 -23
  364. /package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue2.js +0 -0
  365. /package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue2.js.map +0 -0
  366. /package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue2.js +0 -0
  367. /package/dist/cjs/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue2.js.map +0 -0
  368. /package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue2.js +0 -0
  369. /package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue2.js.map +0 -0
  370. /package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue2.js +0 -0
  371. /package/dist/esm/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue2.js.map +0 -0
  372. /package/dist/types/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/ContentEditable.vue.d.ts +0 -0
  373. /package/dist/types/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/DecoratedTeleports.d.ts +0 -0
  374. /package/dist/types/components/basic/doc-editor/{plugins/RichTextPlugin → core/plugins/LexicalRichTextPlugin}/index.vue.d.ts +0 -0
  375. /package/dist/types/components/basic/doc-editor/{plugins/nodes.d.ts → nodes.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, reactive, onMounted, watch, resolveComponent, resolveDirective, unref, withDirectives, openBlock, createElementBlock, createBlock, withCtx, Fragment, renderList, createElementVNode, createCommentVNode, toDisplayString, createVNode, createTextVNode } from "vue";
1
+ import { defineComponent, ref, reactive, computed, onMounted, watch, resolveComponent, resolveDirective, unref, withDirectives, openBlock, createElementBlock, createBlock, withCtx, Fragment, renderList, createElementVNode, createCommentVNode, toDisplayString, createVNode, createTextVNode } from "vue";
2
2
  import { useCmsSettings } from "../../../cms-settings.js";
3
3
  import { DataViewRequest, Where } from "@maketribe/request";
4
4
  import { Messager, Dialoger } from "@maketribe/dm";
@@ -56,23 +56,19 @@ import { EditPen, Plus } from "@element-plus/icons-vue";
56
56
  import "../../../../ms/material-upload-context/material-upload-context-options.js";
57
57
  import "../../../../ms/material-upload-context/material-upload-context.js";
58
58
  import "@codemirror/lang-html";
59
- const _hoisted_1 = {
60
- key: 0,
61
- class: "mk-cms-part-banner__warp"
62
- };
63
- const _hoisted_2 = { class: "mk-cms-part-banner__list_item" };
64
- const _hoisted_3 = { class: "mk-cms-part-banner__list_content" };
65
- const _hoisted_4 = /* @__PURE__ */ createElementVNode("div", {
59
+ const _hoisted_1 = { class: "mk-cms-part-banner__list_item" };
60
+ const _hoisted_2 = { class: "mk-cms-part-banner__list_content" };
61
+ const _hoisted_3 = /* @__PURE__ */ createElementVNode("div", {
66
62
  slot: "placeholder",
67
63
  class: "image-slot"
68
64
  }, [
69
65
  /* @__PURE__ */ createTextVNode(" 加载中"),
70
66
  /* @__PURE__ */ createElementVNode("span", { class: "dot" }, "...")
71
67
  ], -1);
72
- const _hoisted_5 = ["src"];
73
- const _hoisted_6 = { class: "mk-cms-part-banner__list_bottom" };
74
- const _hoisted_7 = { class: "mk-cms-part-banner__list_title" };
75
- const _hoisted_8 = { class: "mk-cms-part-banner__list_action-mask" };
68
+ const _hoisted_4 = ["src"];
69
+ const _hoisted_5 = { class: "mk-cms-part-banner__list_bottom" };
70
+ const _hoisted_6 = { class: "mk-cms-part-banner__list_title" };
71
+ const _hoisted_7 = { class: "mk-cms-part-banner__list_action-mask" };
76
72
  const _sfc_main = /* @__PURE__ */ defineComponent({
77
73
  __name: "part-banner-edit",
78
74
  props: { partId: { type: String }, title: { type: String } },
@@ -82,8 +78,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
82
78
  const props = __props;
83
79
  const partAdBanner = ref(null);
84
80
  const loading = ref(true);
81
+ const warpRef = ref();
85
82
  const adContentForm = reactive(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }));
86
83
  const adDefineForm = reactive(new CmsAdDefinesForm());
84
+ const partAdBannerHeight = computed(() => {
85
+ let proportion = 0;
86
+ const widthAndHeight = cmsSettings.part.bannerImageSize.split("*");
87
+ let settingHeight = 0;
88
+ let settingWidth = 0;
89
+ if (!!partAdBanner.value.width && !!partAdBanner.value.height) {
90
+ proportion = partAdBanner.value.width / partAdBanner.value.height;
91
+ } else {
92
+ settingWidth = widthAndHeight[0];
93
+ settingHeight = widthAndHeight[1];
94
+ proportion = settingWidth / settingHeight;
95
+ }
96
+ if (Number.isNaN(proportion)) {
97
+ return "240px";
98
+ } else {
99
+ return partAdBanner.value.height ? warpRef.value.offsetWidth / proportion + "px" : warpRef.value.offsetWidth / proportion + "px";
100
+ }
101
+ });
87
102
  adContentForm.beforeSubmitEvent.on(async ({ data }) => {
88
103
  if (partAdBanner.value) {
89
104
  data.adDefineId = partAdBanner.value.id;
@@ -168,12 +183,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
168
183
  const _component_el_text = resolveComponent("el-text");
169
184
  const _component_el_empty = resolveComponent("el-empty");
170
185
  const _directive_loading = resolveDirective("loading");
171
- return unref(cmsSettings).part.openBanner ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1, [
186
+ return unref(cmsSettings).part.openBanner ? withDirectives((openBlock(), createElementBlock("div", {
187
+ key: 0,
188
+ class: "mk-cms-part-banner__warp",
189
+ ref_key: "warpRef",
190
+ ref: warpRef,
191
+ style: { "{height": "partAdBannerHeight}" }
192
+ }, [
172
193
  partAdBanner.value && ((_a = partAdBanner.value.contents) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_el_carousel, {
173
194
  key: 0,
174
195
  autoplay: false,
175
- height: "240px",
176
- arrow: "always"
196
+ height: partAdBannerHeight.value,
197
+ arrow: "always",
198
+ ref: "carouselRef"
177
199
  }, {
178
200
  default: withCtx(() => [
179
201
  (openBlock(true), createElementBlock(Fragment, null, renderList(partAdBanner.value.contents, (item) => {
@@ -181,8 +203,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
181
203
  key: item.id
182
204
  }, {
183
205
  default: withCtx(() => [
184
- createElementVNode("div", _hoisted_2, [
185
- createElementVNode("div", _hoisted_3, [
206
+ createElementVNode("div", _hoisted_1, [
207
+ createElementVNode("div", _hoisted_2, [
186
208
  item.type == 1 ? (openBlock(), createBlock(_component_el_image, {
187
209
  key: 0,
188
210
  class: "mk-cms-part-banner__list_content_img",
@@ -191,7 +213,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
191
213
  tyle: "width: 100%;height: 100%;"
192
214
  }, {
193
215
  default: withCtx(() => [
194
- _hoisted_4
216
+ _hoisted_3
195
217
  ]),
196
218
  _: 2
197
219
  }, 1032, ["src"])) : createCommentVNode("", true),
@@ -201,13 +223,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
201
223
  src: item.path,
202
224
  style: { "width": "100%", "height": "100%" },
203
225
  controls: ""
204
- }, null, 8, _hoisted_5)) : createCommentVNode("", true)
226
+ }, null, 8, _hoisted_4)) : createCommentVNode("", true)
205
227
  ]),
206
- createElementVNode("div", _hoisted_6, [
207
- createElementVNode("div", _hoisted_7, toDisplayString(item.title), 1),
228
+ createElementVNode("div", _hoisted_5, [
229
+ createElementVNode("div", _hoisted_6, toDisplayString(item.title), 1),
208
230
  createElementVNode("div", null, toDisplayString(item.desc), 1)
209
231
  ]),
210
- createElementVNode("div", _hoisted_8, [
232
+ createElementVNode("div", _hoisted_7, [
211
233
  createVNode(_component_el_button, {
212
234
  type: "primary",
213
235
  style: { "margin-left": "10px" },
@@ -249,7 +271,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
249
271
  }), 128))
250
272
  ]),
251
273
  _: 1
252
- })) : (openBlock(), createBlock(_component_el_empty, {
274
+ }, 8, ["height"])) : (openBlock(), createBlock(_component_el_empty, {
253
275
  key: 1,
254
276
  "image-size": 80,
255
277
  style: { "height": "240px" }
@@ -1 +1 @@
1
- {"version":3,"file":"part-banner-edit.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-loading=\"loading\" v-if=\"cmsSettings.part.openBanner\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" height=\"240px\" arrow=\"always\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" style=\"height: 240px;\">\r\n <template #description>\r\n <el-text>暂无轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps } from \"vue\";\r\nimport { DataViewRequest, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete, Plus } from \"@element-plus/icons-vue\"\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconst props = defineProps({ partId: { type: String }, title: { type: String } })\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: `part_${props.partId}`, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = `part_${props.partId}`\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n//加完成则刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async (partId: any) => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", `part_${partId}`);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data[0];\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title:\"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.partId, id => {\r\n loadPartAdDefineData(id)\r\n }, { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"part-banner-edit.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-banner__warp\" ref=\"warpRef\" v-loading=\"loading\" v-if=\"cmsSettings.part.openBanner\" style=\"{height:partAdBannerHeight}\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" :height=\"partAdBannerHeight\"\r\n arrow=\"always\" ref=\"carouselRef\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" style=\"height: 240px;\">\r\n <template #description>\r\n <el-text>暂无轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps, computed, Ref } from \"vue\";\r\nimport { DataViewRequest, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete, Plus } from \"@element-plus/icons-vue\"\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconst props = defineProps({ partId: { type: String }, title: { type: String } })\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst warpRef: Ref<HTMLElement | undefined> = ref();\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\nconst partAdBannerHeight = computed(() => {\r\n //判断有没有banner属性\r\n let proportion = 0;\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n let settingHeight = 0\r\n let settingWidth = 0\r\n\r\n //设定的比例\r\n if (!!partAdBanner.value.width && !!partAdBanner.value.height) {\r\n proportion = partAdBanner.value.width / partAdBanner.value.height;\r\n } else {\r\n settingWidth = widthAndHeight[0] as any;\r\n\r\n settingHeight = widthAndHeight[1] as any;\r\n proportion = settingWidth / settingHeight\r\n }\r\n\r\n\r\n //比例是NaN,直接返回默认\r\n if (Number.isNaN(proportion)) {\r\n return \"240px\"\r\n } else {\r\n //通过比例确定高度\r\n return partAdBanner.value.height ? (warpRef.value!.offsetWidth / proportion) + \"px\" : (warpRef.value!.offsetWidth / proportion) + \"px\"\r\n }\r\n})\r\n\r\n\r\n// window.addEventListener(\"resize\", () => {\r\n// const proportion = partAdBanner.value.width / partAdBanner.value.height;\r\n// })\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: `part_${props.partId}`, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = `part_${props.partId}`\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n//加完成则刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async (partId: any) => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", `part_${partId}`);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data[0];\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n\r\n\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title: \"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.partId, id => {\r\n loadPartAdDefineData(id)\r\n }, { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":"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"}
@@ -63,9 +63,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
63
63
  setup(__props) {
64
64
  const CmsSettings = useCmsSettings();
65
65
  const props = __props;
66
- props.partDataForm.submittedEvent.on(() => {
67
- props.partDataForm.editRecord(props.part.id);
68
- });
69
66
  const hideHandle = (name) => {
70
67
  if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {
71
68
  return false;
@@ -205,14 +202,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
205
202
  key: 10,
206
203
  name: "seoDesc"
207
204
  })) : createCommentVNode("", true)
208
- ], 64)) : createCommentVNode("", true),
209
- createVNode(_component_el_divider, { "content-position": "left" }, {
210
- default: withCtx(() => [
211
- createTextVNode("其他配置")
212
- ]),
213
- _: 1
214
- }),
215
- createVNode(unref(MKDataFormItem), { name: "sortNo" })
205
+ ], 64)) : createCommentVNode("", true)
216
206
  ]),
217
207
  _: 1
218
208
  })
@@ -1 +1 @@
1
- {"version":3,"file":"part-info.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-info.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n <el-divider content-position=\"left\">其他配置</el-divider>\r\n <MKDataFormItem name=\"sortNo\"></MKDataFormItem>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\nprops.partDataForm.submittedEvent.on(() => {\r\n props.partDataForm.editRecord(props.part.id)\r\n})\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,UAAM,cAAc;AACpB,UAAM,QAAQ;AAgBR,UAAA,aAAa,eAAe,GAAG,MAAM;AACvC,YAAM,aAAa,WAAW,MAAM,KAAK,EAAE;AAAA,IAAA,CAC9C;AAKK,UAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,qBAAqB,SAAS,IAAI,GAAG;AACxF,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,kBAAkB,SAAS,IAAI,GAAG;AAC1F,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,eAAe,SAAS,IAAI,GAAG;AACxF,cAAA,aAAa,KAAK,aAAa;AAC9B,eAAA;AAAA,MAAA,OAEN;AACM,eAAA;AAAA,MACX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"part-info.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-info.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n \r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\n// props.partDataForm.submittedEvent.on(() => {\r\n// props.partDataForm.editRecord(props.part.id)\r\n// })\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,UAAM,cAAc;AACpB,UAAM,QAAQ;AAuBR,UAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,qBAAqB,SAAS,IAAI,GAAG;AACxF,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,kBAAkB,SAAS,IAAI,GAAG;AAC1F,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,eAAe,SAAS,IAAI,GAAG;AACxF,cAAA,aAAa,KAAK,aAAa;AAC9B,eAAA;AAAA,MAAA,OAEN;AACM,eAAA;AAAA,MACX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -89,11 +89,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
89
  partDataForm.init();
90
90
  let beforeInitFormPart = null;
91
91
  watchEffect(async () => {
92
- if ((activeTabName.value == "part" || activeTabName.value == "part-content") && curSelectPartItem.value != beforeInitFormPart) {
92
+ if ((activeTabName.value == "part" || activeTabName.value == "part-content") && curSelectPartItem.value != beforeInitFormPart && curSelectPartItem.value) {
93
93
  try {
94
94
  beforeInitFormPart = curSelectPartItem.value;
95
95
  await partDataForm.editRecord(curSelectPartItem.value.id);
96
96
  } catch (error) {
97
+ console.log(132);
97
98
  console.log(error);
98
99
  }
99
100
  }
@@ -130,6 +131,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
130
131
  };
131
132
  watch(showPublish, async (v) => {
132
133
  if (v) {
134
+ console.log(2);
133
135
  optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate;
134
136
  optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate;
135
137
  optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate;
@@ -163,8 +165,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
163
165
  curSelectPartItem.value = partDataForm.data;
164
166
  await partDataForm.submit();
165
167
  };
166
- const EditorChangeHandle = (v) => {
167
- partDataForm.data.content = v;
168
+ const docEditorChangeHandle = (v) => {
169
+ if (partDataForm.data) {
170
+ partDataForm.data.content = v;
171
+ }
168
172
  };
169
173
  return (_ctx, _cache) => {
170
174
  const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
@@ -359,7 +363,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
359
363
  default: withCtx(() => [
360
364
  activeTabName.value == "article-list" ? (openBlock(), createBlock(_sfc_main$1, {
361
365
  key: 0,
362
- part: curSelectPartItem.value
366
+ part: curSelectPartItem.value,
367
+ style: { "height": "99%" }
363
368
  }, null, 8, ["part"])) : createCommentVNode("", true)
364
369
  ]),
365
370
  _: 1
@@ -389,7 +394,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
389
394
  default: withCtx(() => {
390
395
  var _a, _b, _c, _d;
391
396
  return [
392
- partContentComponent.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
397
+ partContentComponent.value && activeTabName.value == "part-content" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
393
398
  ((_a = partDataForm.data) == null ? void 0 : _a.id) ? (openBlock(), createBlock(_sfc_main$3, {
394
399
  key: 0,
395
400
  partId: (_b = partDataForm.data) == null ? void 0 : _b.id,
@@ -405,7 +410,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
405
410
  loading: partDataForm.loading,
406
411
  content: (_d = partDataForm.data) == null ? void 0 : _d.content,
407
412
  placeholder: "从这里开始写正文...",
408
- onChange: EditorChangeHandle
413
+ onChange: docEditorChangeHandle
409
414
  }, {
410
415
  "before-extentions": withCtx(() => {
411
416
  var _a2, _b2, _c2;
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"publishAllPartHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-for=\"(ext,i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i+1}`\" :name=\"\">\r\n <el-button type=\"primary\" text @click=\"ext.save()\" v-if=\"activeTabName == `part-ext${i}` && ext.save\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存{{ext.title}}\r\n </el-button>\r\n </template>\r\n <template v-if=\"activeTabName == 'part' || (activeTabName == 'part-content' && !partContentComponent)\">\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id)\" v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id,'1')\" v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\" v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\r\n \r\n <template v-if=\"partContentComponent\">\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n <div style=\"background: #fff;margin-top: -10px;\">\r\n <component :is=\"partContentComponent\" />\r\n </div>\r\n </template>\r\n <template v-else-if=\"activeTabName == 'part-content'\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n \r\n </el-tab-pane>\r\n <el-tab-pane v-for=\"(ext,i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i==0 ?'':i}`\" :name=\"`part-ext${i}`\">\r\n <component :is=\"ext.component\" />\r\n </el-tab-pane>\r\n \r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\" >\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, watch,watchEffect } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtensionList,usePartContentComponent, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(()=>route.query.pid,(v:any)=>{\r\n curSelectPartId.value = v \r\n},{ immediate:true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExList = ref<Array<PartExtension>>([]);\r\nconst partContentComponent = ref<any>(null)\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart:any = null;\r\nwatchEffect(async ()=>{\r\n if((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart){\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else{\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));\r\n partContentComponent.value = usePartContentComponent(curSelectPartItem.value.id) || usePartContentComponent(curSelectPartItem.value.name) \r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if(v){\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n \r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }:any) => {\r\n if(response.data.data){\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n \r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n \r\n await CmsPartForm.publishAll()\r\n } \r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n \r\n try {\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id,optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst EditorChangeHandle = (v: any) => {\r\n partDataForm.data.content = v\r\n}\r\n</script>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\"\r\n @click=\"publishAllPartHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i+1}`\" :name=\"\">\r\n <el-button type=\"primary\" text @click=\"ext.save()\" v-if=\"activeTabName == `part-ext${i}` && ext.save\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存{{ ext.title }}\r\n </el-button>\r\n </template>\r\n <template v-if=\"activeTabName == 'part' || (activeTabName == 'part-content' && !partContentComponent)\">\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id)\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id, '1')\"\r\n v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" style=\"height: 99%;\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\r\n\r\n <template v-if=\"partContentComponent && activeTabName == 'part-content'\">\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\"\r\n :title=\"partDataForm.data?.title\" />\r\n <div style=\"background: #fff;margin-top: -10px;\">\r\n <component :is=\"partContentComponent\" />\r\n </div>\r\n </template>\r\n <template v-else-if=\"activeTabName == 'part-content'\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\"\r\n :content=\"partDataForm.data?.content\" placeholder=\"从这里开始写正文...\" @change=\"docEditorChangeHandle\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\"\r\n :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n\r\n </el-tab-pane>\r\n <el-tab-pane v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i == 0 ? '' : i}`\" :name=\"`part-ext${i}`\">\r\n <component :is=\"ext.component\" />\r\n </el-tab-pane>\r\n\r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, watch, watchEffect } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm, CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtensionList, usePartContentComponent, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(() => route.query.pid, (v: any) => {\r\n curSelectPartId.value = v\r\n}, { immediate: true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExList = ref<Array<PartExtension>>([]);\r\nconst partContentComponent = ref<any>(null)\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart: any = null;\r\nwatchEffect(async () => {\r\n if ((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart && curSelectPartItem.value) {\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(132)\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else {\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));\r\n partContentComponent.value = usePartContentComponent(curSelectPartItem.value.id) || usePartContentComponent(curSelectPartItem.value.name)\r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if (v) {\r\n console.log(2)\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n\r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }: any) => {\r\n if (response.data.data) {\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n\r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n await CmsPartForm.publishAll()\r\n }\r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n\r\n try {\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id, optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst docEditorChangeHandle = (v: any) => {\r\n if(partDataForm.data){\r\n partDataForm.data.content = v\r\n }\r\n}\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0IA,UAAM,QAAQ;AACd,UAAM,SAAS;AAGf,UAAM,kBAAkB,IAAY,MAAM,MAAM,GAAa;AAC7D,UAAM,MAAM,MAAM,MAAM,KAAK,CAAC,MAAW;AACvC,sBAAgB,QAAQ;AAAA,IAAA,GACvB,EAAE,WAAW,KAAA,CAAM;AAGtB,UAAM,eAAe,SAA0B,IAAI,gBAAiB,CAAA;AAG9D,UAAA,cAAc,eAAe,IAAI;AAGjC,UAAA,cAAc,IAAI,KAAK;AAG7B,UAAM,aAAa,IAAI;AAAA,MACrB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAAA,CACf;AAGK,UAAA,iBAAiB,IAAI,KAAK;AAG1B,UAAA,UAAU,IAAI,KAAK;AAGnB,UAAA,gBAAgB,IAAI,cAAc;AAGlC,UAAA,oBAAoB,IAAI,IAAW;AAGnC,UAAA,cAAc,IAAI,IAAI;AAGtB,UAAA,aAAa,IAA0B,CAAA,CAAE;AACzC,UAAA,uBAAuB,IAAS,IAAI;AAG1C,UAAM,eAAe,SAAS,IAAI,sBAAuB,CAAA;AAGzD,iBAAa,KAAK;AAGlB,QAAI,qBAA0B;AAC9B,gBAAY,YAAY;AACjB,WAAA,cAAc,SAAS,UAAU,cAAc,SAAS,mBAAmB,kBAAkB,SAAS,sBAAsB,kBAAkB,OAAO;AACpJ,YAAA;AACF,+BAAqB,kBAAkB;AACvC,gBAAM,aAAa,WAAW,kBAAkB,MAAM,EAAE;AAAA,iBACjD,OAAO;AACd,kBAAQ,IAAI,GAAG;AACf,kBAAQ,IAAI,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IAAA,CACD;AAGK,UAAA,mBAAmB,OAAO,SAAc;AAExC,UAAA,kBAAkB,SAAS,MAAM;AAEnC,0BAAkB,QAAQ;AAEtB,YAAA,CAAC,kBAAkB,MAAM,iBAAiB;AAC5C,wBAAc,QAAQ;AAAA,QAAA,OAEnB;AACH,wBAAc,QAAQ;AAAA,QACxB;AACO,eAAA,QAAQ,EAAE,MAAM,gBAAgB,OAAO,EAAE,KAAK,kBAAkB,MAAM,GAAG,EAAU,CAAA;AAC/E,mBAAA,QAAQ,qBAAqB,kBAAkB,MAAM,EAAE,EAAE,OAAO,qBAAqB,kBAAkB,MAAM,IAAI,CAAC;AACxG,6BAAA,QAAQ,wBAAwB,kBAAkB,MAAM,EAAE,KAAK,wBAAwB,kBAAkB,MAAM,IAAI;AAAA,MAC1I;AAAA,IAAA;AAII,UAAA,mBAAmB,CAAC,SAAc;AACtC,UAAI,KAAK,MAAM,kBAAkB,MAAM,IAAI;AACzC,0BAAkB,QAAQ;AAAA,MAC5B;AAAA,IAAA;AAII,UAAA,iBAAiB,CAAC,SAAc;AACpC,wBAAkB,QAAQ;AAC1B,oBAAc,QAAQ;AAAA,IAAA;AAMlB,UAAA,qBAAqB,OAAO,SAAe;AAC/C,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,MAAA,CACX;AAED,UAAI,KAAK,IAAI;AACX,qBAAa,UAAU,EAAE,UAAU,KAAK,GAAI,CAAA;AAAA,MAC9C;AAAA,IAAA;AAII,UAAA,aAAa,OAAO,MAAM;AAC9B,UAAI,GAAG;AACL,gBAAQ,IAAI,CAAC;AACb,mBAAW,MAAM,gBAAgB,CAAC,CAAC,kBAAkB,MAAM;AAC3D,mBAAW,MAAM,iBAAiB,CAAC,CAAC,kBAAkB,MAAM;AAC5D,mBAAW,MAAM,mBAAmB,CAAC,CAAC,kBAAkB,MAAM;AAAA,MAChE;AAAA,IAAA,CACD;AAGD,iBAAa,eAAe,GAAG,CAAC,EAAE,eAAoB;;AAChD,UAAA,SAAS,KAAK,MAAM;AAEN,wBAAA,QAAQ,SAAS,KAAK;AAErC,0BAAY,MAAe,aAA3B,mBAAqC;AAAA,MACxC;AAAA,IAAA,CAED;AAGD,UAAM,uBAAuB,YAAY;AAEnC,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,cAAM,YAAY;MAAW,UAE/B;AACE,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,oBAAoB,YAAY;AAEhC,UAAA;AAEF,uBAAe,QAAQ;AAEvB,cAAM,YAAY,QAAQ,kBAAkB,MAAM,IAAI,WAAW,KAAK;AAEtE,oBAAY,QAAQ;AAAA,MAAA,UAEpB;AACA,uBAAe,QAAQ;AAAA,MACzB;AAAA,IAAA;AAMF,UAAM,iBAAiB,YAAY;AACjC,wBAAkB,QAAQ,aAAa;AACvC,YAAM,aAAa;IAAO;AAOtB,UAAA,wBAAwB,CAAC,MAAW;AACxC,UAAG,aAAa,MAAK;AACnB,qBAAa,KAAK,UAAU;AAAA,MAC9B;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/index.ts"],"sourcesContent":["import { defineAsyncComponent } from \"vue\";\r\nimport { withInstall } from \"@maketribe/utils\";\r\nimport RichTextEditor from \"./rich-text-editor\"\r\n\r\nexport const MKRichTextEditor = withInstall(RichTextEditor );\r\n\r\nexport default MKRichTextEditor;\r\n\r\nexport * from \"./rich-text-editor-options\";\r\n"],"names":[],"mappings":";;;AAIa,MAAA,mBAAmB,YAAY,cAAe;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport RichTextEditor from \"./rich-text-editor\"\r\n\r\nexport const MKRichTextEditor = withInstall(RichTextEditor );\r\n\r\nexport default MKRichTextEditor;\r\n\r\nexport * from \"./rich-text-editor-options\";\r\n"],"names":[],"mappings":";;;AAGa,MAAA,mBAAmB,YAAY,cAAe;"}
@@ -7,19 +7,17 @@ const richTextEditorProps = buildProps({
7
7
  inline: {
8
8
  type: Boolean,
9
9
  required: false,
10
- default: true
10
+ default: false
11
11
  },
12
12
  plugins: {
13
13
  type: Array,
14
14
  required: false,
15
- // ["link", "table", "fullscreen", "code","image"],
16
- default: () => ["link", "quickbars", "lists"]
15
+ default: () => ["link", "quicklink", "quickbars", "lists", "table", "fullscreen", "code", "image"]
17
16
  },
18
17
  toolbar: {
19
18
  type: [String, Boolean],
20
19
  required: false,
21
- //"undo redo | styles | fontfamily | fontsize forecolor | bold italic underline strikethrough | alignleft aligncenter alignright | material | outdent indent | link | table | hr | removeformat | code fullscreen"
22
- default: false
20
+ default: "fontsize | forecolor | styles | quicklink | backcolor | link"
23
21
  },
24
22
  disabled: {
25
23
  type: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-editor-options.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/rich-text-editor-options.ts"],"sourcesContent":["import { buildProps } from \"@maketribe/utils\";\r\nimport { ExtractPropTypes } from \"vue\";\r\n\r\nexport const richTextEditorProps = buildProps({\r\n modelValue: {\r\n type: String,\r\n required: true,\r\n },\r\n inline : {\r\n type: Boolean,\r\n required: false,\r\n default:true\r\n },\r\n plugins:{\r\n type: Array<string>,\r\n required: false,\r\n // [\"link\", \"table\", \"fullscreen\", \"code\",\"image\"],\r\n default:()=> ['link','quickbars','lists']\r\n },\r\n toolbar:{\r\n type: [String,Boolean],\r\n required: false,\r\n //\"undo redo | styles | fontfamily | fontsize forecolor | bold italic underline strikethrough | alignleft aligncenter alignright | material | outdent indent | link | table | hr | removeformat | code fullscreen\"\r\n default:false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n} as const);\r\n\r\nexport type RichTextEditorProps = ExtractPropTypes<typeof richTextEditorProps>;\r\n\r\nexport const richTextEditorEmits = {\r\n \"update:model-value\": (modelValue: string) => true,\r\n};\r\n\r\nexport type RichTextEditorEmits = typeof richTextEditorEmits;\r\n"],"names":[],"mappings":";AAGO,MAAM,sBAAsB,WAAW;AAAA,EAC5C,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,QAAS;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAQ;AAAA,EACV;AAAA,EACA,SAAQ;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA;AAAA,IAEV,SAAQ,MAAK,CAAC,QAAO,aAAY,OAAO;AAAA,EAC1C;AAAA,EACA,SAAQ;AAAA,IACN,MAAM,CAAC,QAAO,OAAO;AAAA,IACrB,UAAU;AAAA;AAAA,IAEV,SAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAU;AAIH,MAAM,sBAAsB;AAAA,EACjC,sBAAsB,CAAC,eAAuB;AAChD;"}
1
+ {"version":3,"file":"rich-text-editor-options.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/rich-text-editor-options.ts"],"sourcesContent":["import { buildProps } from \"@maketribe/utils\";\r\nimport { ExtractPropTypes } from \"vue\";\r\n\r\nexport const richTextEditorProps = buildProps({\r\n modelValue: {\r\n type: String,\r\n required: true,\r\n },\r\n inline : {\r\n type: Boolean,\r\n required: false,\r\n default: false\r\n },\r\n plugins:{\r\n type: Array<string>,\r\n required: false,\r\n default:()=> ['link','quicklink','quickbars','lists', \"table\", \"fullscreen\", \"code\",\"image\"]\r\n },\r\n toolbar:{\r\n type: [String,Boolean],\r\n required: false, \r\n default:'fontsize | forecolor | styles | quicklink | backcolor | link'\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n} as const);\r\n\r\nexport type RichTextEditorProps = ExtractPropTypes<typeof richTextEditorProps>;\r\n\r\nexport const richTextEditorEmits = {\r\n \"update:model-value\": (modelValue: string) => true,\r\n};\r\n\r\nexport type RichTextEditorEmits = typeof richTextEditorEmits;\r\n"],"names":[],"mappings":";AAGO,MAAM,sBAAsB,WAAW;AAAA,EAC5C,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,QAAS;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,SAAQ;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAQ,MAAK,CAAC,QAAO,aAAY,aAAY,SAAS,SAAS,cAAc,QAAO,OAAO;AAAA,EAC7F;AAAA,EACA,SAAQ;AAAA,IACN,MAAM,CAAC,QAAO,OAAO;AAAA,IACrB,UAAU;AAAA,IACV,SAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAU;AAIH,MAAM,sBAAsB;AAAA,EACjC,sBAAsB,CAAC,eAAuB;AAChD;"}
@@ -31,6 +31,7 @@ const RichTextEditor = /* @__PURE__ */ defineComponent({
31
31
  promotion: false,
32
32
  menubar: false,
33
33
  plugins: props.plugins,
34
+ //"undo redo | styles | fontfamily | fontsize forecolor | bold italic underline strikethrough | alignleft aligncenter alignright | material | outdent indent | link | table | hr | removeformat | code fullscreen"
34
35
  toolbar: props.toolbar,
35
36
  inline: props.inline,
36
37
  forced_root_block: " ",
@@ -49,10 +50,10 @@ const RichTextEditor = /* @__PURE__ */ defineComponent({
49
50
  language: "zh-Hans",
50
51
  skin_url: "ms",
51
52
  content_css: "ms",
52
- quickbars_insert_toolbar: "image",
53
- quickbars_selection_toolbar: "bold italic underline | blocks | backcolor color quicklink",
54
- powerpaste_word_import: "clean",
55
- powerpaste_html_import: "clean",
53
+ // quickbars_insert_toolbar: 'image',
54
+ // quickbars_selection_toolbar: 'forecolor backcolor fontsize | bold italic underline | fontfamily | quicklink',
55
+ // powerpaste_word_import: 'clean',
56
+ // powerpaste_html_import: 'clean',
56
57
  setup: (editor) => {
57
58
  editor.on("change", function() {
58
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-editor.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { Ref, computed, defineComponent, getCurrentInstance, onBeforeUnmount, onMounted, ref, unref, watch, withCtx } from \"vue\";\r\nimport { MKMaterialSelect } from \"../material-select\";\r\nimport TinyMCE from \"tinymce\";\r\nimport \"tinymce/themes/silver/theme.js\";\r\nimport \"tinymce/models/dom/model.min.js\";\r\nimport \"tinymce/icons/default/icons.min.js\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"tinymce/plugins/image\";\r\nimport \"tinymce/plugins/quickbars\";\r\nimport \"tinymce/plugins/lists\";\r\nimport \"./langs/zh-Hans.js\";\r\n\r\nimport \"./skins/ui/ms/skin.js\";\r\nimport \"./skins/ui/ms/content.js\";\r\nimport \"./skins/content/ms/content.js\";\r\n\r\n\r\nimport { richTextEditorEmits, richTextEditorProps } from \"./rich-text-editor-options\";\r\n\r\nexport default defineComponent({\r\n\tname: \"MKRichTextEditor\",\r\n\tprops: richTextEditorProps,\r\n\temits: richTextEditorEmits,\r\n\tsetup(props, { emit }) {\r\n\t\tconst richTextEditorEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n\t\tconst instance = getCurrentInstance();\r\n\r\n // 这个方法暂时没用上\r\n\t\t// function escapeHtml(text: string) {\r\n\t\t// \treturn text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#039;\");\r\n\t\t// }\r\n\r\n\t\tonMounted(async () => {\r\n\t\t\tconst tinymceInstance = await TinyMCE.init({\r\n\t\t\t\ttarget: unref(richTextEditorEl)!,\r\n\t\t\t\tpromotion: false, \r\n menubar: false,\r\n\t\t\t\tplugins:props.plugins,\r\n toolbar: props.toolbar,\r\n inline: props.inline,\r\n\t\t\t\tforced_root_block: \" \",\r\n\t\t\t\tvalid_elements: \"*[*]\", // 允许所有元素和属性\r\n\t\t\t\textended_valid_elements: \"script[src|async|defer|type|charset]\", // 允许 script 标签的特定属性\r\n\t\t\t\tcustom_elements: \"~script\", // 允许自定义标签\r\n\t\t\t\tvalid_children: \"+body[script]\", // 允许 body 包含 script 标签\r\n\t\t\t\tcleanup: false,\r\n\t\t\t\tapply_source_formatting: false,\r\n\t\t\t\tverify_html: false,\r\n\t\t\t\tfont_family_formats:\r\n\t\t\t\t\t\"微软雅黑='微软雅黑';宋体='宋体';黑体='黑体';仿宋='仿宋';楷体='楷体';隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings\",\r\n\t\t\t\tlanguage: \"zh-Hans\",\r\n skin_url:\"ms\",\r\n content_css:\"ms\",\r\n\r\n quickbars_insert_toolbar: 'image',\r\n quickbars_selection_toolbar: 'bold italic underline | blocks | backcolor color quicklink',\r\n powerpaste_word_import: 'clean',\r\n powerpaste_html_import: 'clean',\r\n\t\t\t\tsetup: (editor) => {\r\n\t\t\t\t\t\r\n\t\t\t\t\teditor.on(\"change\", function () {\r\n\t\t\t\t\t\t// console.log(\"Content changed:\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.ui.registry.addButton(\"material\", {\r\n\t\t\t\t\t\ticon: \"image\",\r\n\t\t\t\t\t\tonAction: async () => {\r\n\t\t\t\t\t\t\tconst response = await MKMaterialSelect();\r\n\t\t\t\t\t\t\tif (!response.success) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\teditor.insertContent(`<img src=\"${response.path}\" alt=\"${response.data!.id}\">`);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"paste\", (event, ...args) => {\r\n\t\t\t\t\t\t// console.log(event, ...args);\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"change input undo redo\", () => {\r\n\t\t\t\t\t\temit(\"update:model-value\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.modelValue),\r\n\t\t\t\t(modelValue) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tif (instance.getContent() !== modelValue) {\r\n\t\t\t\t\t\t\tinstance.setContent(modelValue || \"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.disabled),\r\n\t\t\t\t(disabled) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.mode.set(disabled ? \"readonly\" : \"design\");\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\r\n\t\t\twithCtx(() => {\r\n\t\t\t\tonBeforeUnmount(() => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.destroy();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, instance);\r\n\t\t});\r\n\t\treturn () => {\r\n\t\t\treturn (\r\n\t\t\t\t<div class=\"mk-rich-text-editor\">\r\n\t\t\t\t\t<div class=\"mk-rich-text-editor__wrapper\" ref={((el: HTMLElement) => (richTextEditorEl.value = el)) as any} />\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t},\r\n});\r\n"],"names":["defineComponent","name","props","richTextEditorProps","emits","richTextEditorEmits","setup","emit","richTextEditorEl","ref","instance","getCurrentInstance","onMounted","tinymceInstance","TinyMCE","init","target","unref","promotion","menubar","plugins","toolbar","inline","forced_root_block","valid_elements","extended_valid_elements","custom_elements","valid_children","cleanup","apply_source_formatting","verify_html","font_family_formats","language","skin_url","content_css","quickbars_insert_toolbar","quickbars_selection_toolbar","powerpaste_word_import","powerpaste_html_import","editor","on","ui","registry","addButton","icon","onAction","response","MKMaterialSelect","success","insertContent","path","data","id","event","args","getContent","watch","computed","modelValue","setContent","immediate","disabled","mode","set","withCtx","onBeforeUnmount","destroy","_createVNode","el","value"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAeA,iDAAgB;AAAA,EAC9BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,OAAOC;AAAAA,EACPC,MAAMJ,OAAO;AAAA,IAAEK;AAAAA,EAAK,GAAG;AACtB,UAAMC,mBAA4CC,IAAI,IAAI;AAE1D,UAAMC,WAAWC;AAOjBC,cAAU,YAAY;AACrB,YAAMC,kBAAkB,MAAMC,QAAQC,KAAK;AAAA,QAC1CC,QAAQC,MAAMT,gBAAgB;AAAA,QAC9BU,WAAW;AAAA,QACPC,SAAS;AAAA,QACbC,SAAQlB,MAAMkB;AAAAA,QACVC,SAASnB,MAAMmB;AAAAA,QACfC,QAAQpB,MAAMoB;AAAAA,QAClBC,mBAAmB;AAAA,QACnBC,gBAAgB;AAAA;AAAA,QAChBC,yBAAyB;AAAA;AAAA,QACzBC,iBAAiB;AAAA;AAAA,QACjBC,gBAAgB;AAAA;AAAA,QAChBC,SAAS;AAAA,QACTC,yBAAyB;AAAA,QACzBC,aAAa;AAAA,QACbC,qBACC;AAAA,QACDC,UAAU;AAAA,QACNC,UAAS;AAAA,QACTC,aAAY;AAAA,QAEZC,0BAA0B;AAAA,QAC1BC,6BAA6B;AAAA,QAC7BC,wBAAwB;AAAA,QACxBC,wBAAwB;AAAA,QAC5BhC,OAAQiC,YAAW;AAElBA,iBAAOC,GAAG,UAAU,WAAY;AAAA,UAC/B,CACA;AACDD,iBAAOE,GAAGC,SAASC,UAAU,YAAY;AAAA,YACxCC,MAAM;AAAA,YACNC,UAAU,YAAY;AACrB,oBAAMC,WAAW,MAAMC;AACvB,kBAAI,CAACD,SAASE,SAAS;AACtB;AAAA,cACD;AACAT,qBAAOU,cAAc,aAAaH,SAASI,IAAI,UAAUJ,SAASK,KAAMC,EAAE,IAAI;AAAA,YAC/E;AAAA,UACD,CAAC;AACDb,iBAAOC,GAAG,SAAS,CAACa,UAAUC,SAAS;AAAA,UACtC,CACA;AACDf,iBAAOC,GAAG,0BAA0B,MAAM;AACzCjC,iBAAK,sBAAsBgC,OAAOgB,WAAY,CAAA;AAAA,UAC/C,CAAC;AAAA,QACF;AAAA,MACD,CAAC;AACDC,YACCC,SAAS,MAAMvD,MAAMwD,UAAU,GAC9BA,gBAAe;AACf,mBAAWhD,aAAYG,iBAAiB;AACvC,cAAIH,UAAS6C,WAAY,MAAKG,YAAY;AACzChD,YAAAA,UAASiD,WAAWD,cAAc,EAAE;AAAA,UACrC;AAAA,QACD;AAAA,MACD,GACA;AAAA,QAAEE,WAAW;AAAA,MAAK,CACnB;AACAJ,YACCC,SAAS,MAAMvD,MAAM2D,QAAQ,GAC5BA,cAAa;AACb,mBAAWnD,aAAYG,iBAAiB;AACvCH,UAAAA,UAASoD,KAAKC,IAAIF,WAAW,aAAa,QAAQ;AAAA,QACnD;AAAA,MACD,GACA;AAAA,QAAED,WAAW;AAAA,MAAK,CACnB;AAEAI,cAAQ,MAAM;AACbC,wBAAgB,MAAM;AACrB,qBAAWvD,aAAYG,iBAAiB;AACvCH,YAAAA,UAASwD,QAAO;AAAA,UACjB;AAAA,QACD,CAAC;AAAA,MACD,GAAExD,QAAQ;AAAA,IACZ,CAAC;AACD,WAAO,MAAM;AACZ,aAAAyD,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAEmDC,QAAqB5D,iBAAiB6D,QAAQD;AAAAA,MAAG,GAAA,IAAA,CAAA,CAAA;AAAA;EAItG;AACD,CAAC;"}
1
+ {"version":3,"file":"rich-text-editor.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { Ref, computed, defineComponent, getCurrentInstance, onBeforeUnmount, onMounted, ref, unref, watch, withCtx } from \"vue\";\r\nimport { MKMaterialSelect } from \"../material-select\";\r\nimport TinyMCE from \"tinymce\";\r\nimport \"tinymce/themes/silver/theme.js\";\r\nimport \"tinymce/models/dom/model.min.js\";\r\nimport \"tinymce/icons/default/icons.min.js\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"tinymce/plugins/image\";\r\nimport \"tinymce/plugins/quickbars\";\r\nimport \"tinymce/plugins/lists\";\r\nimport \"./langs/zh-Hans.js\";\r\n\r\nimport \"./skins/ui/ms/skin.js\";\r\nimport \"./skins/ui/ms/content.js\";\r\nimport \"./skins/content/ms/content.js\";\r\n\r\n\r\nimport { richTextEditorEmits, richTextEditorProps } from \"./rich-text-editor-options\";\r\n\r\nexport default defineComponent({\r\n\tname: \"MKRichTextEditor\",\r\n\tprops: richTextEditorProps,\r\n\temits: richTextEditorEmits,\r\n\tsetup(props, { emit }) {\r\n\t\tconst richTextEditorEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n\t\tconst instance = getCurrentInstance();\r\n\r\n // 这个方法暂时没用上\r\n\t\t// function escapeHtml(text: string) {\r\n\t\t// \treturn text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#039;\");\r\n\t\t// }\r\n\r\n\t\tonMounted(async () => {\r\n\t\t\tconst tinymceInstance = await TinyMCE.init({\r\n\t\t\t\ttarget: unref(richTextEditorEl)!,\r\n\t\t\t\tpromotion: false, \r\n menubar: false,\r\n\t\t\t\tplugins:props.plugins,\r\n //\"undo redo | styles | fontfamily | fontsize forecolor | bold italic underline strikethrough | alignleft aligncenter alignright | material | outdent indent | link | table | hr | removeformat | code fullscreen\"\r\n toolbar: props.toolbar,\r\n inline: props.inline,\r\n\t\t\t\tforced_root_block: \" \",\r\n\t\t\t\tvalid_elements: \"*[*]\", // 允许所有元素和属性\r\n\t\t\t\textended_valid_elements: \"script[src|async|defer|type|charset]\", // 允许 script 标签的特定属性\r\n\t\t\t\tcustom_elements: \"~script\", // 允许自定义标签\r\n\t\t\t\tvalid_children: \"+body[script]\", // 允许 body 包含 script 标签\r\n\t\t\t\tcleanup: false,\r\n\t\t\t\tapply_source_formatting: false,\r\n\t\t\t\tverify_html: false,\r\n\t\t\t\tfont_family_formats:\r\n\t\t\t\t\t\"微软雅黑='微软雅黑';宋体='宋体';黑体='黑体';仿宋='仿宋';楷体='楷体';隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings\",\r\n\t\t\t\tlanguage: \"zh-Hans\",\r\n skin_url:\"ms\",\r\n content_css:\"ms\",\r\n // quickbars_insert_toolbar: 'image',\r\n // quickbars_selection_toolbar: 'forecolor backcolor fontsize | bold italic underline | fontfamily | quicklink',\r\n // powerpaste_word_import: 'clean',\r\n // powerpaste_html_import: 'clean',\r\n\t\t\t\tsetup: (editor) => {\r\n\t\t\t\t\t\r\n\t\t\t\t\teditor.on(\"change\", function () {\r\n\t\t\t\t\t\t// console.log(\"Content changed:\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.ui.registry.addButton(\"material\", {\r\n\t\t\t\t\t\ticon: \"image\",\r\n\t\t\t\t\t\tonAction: async () => {\r\n\t\t\t\t\t\t\tconst response = await MKMaterialSelect();\r\n\t\t\t\t\t\t\tif (!response.success) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\teditor.insertContent(`<img src=\"${response.path}\" alt=\"${response.data!.id}\">`);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"paste\", (event, ...args) => {\r\n\t\t\t\t\t\t// console.log(event, ...args);\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"change input undo redo\", () => {\r\n\t\t\t\t\t\temit(\"update:model-value\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.modelValue),\r\n\t\t\t\t(modelValue) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tif (instance.getContent() !== modelValue) {\r\n\t\t\t\t\t\t\tinstance.setContent(modelValue || \"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.disabled),\r\n\t\t\t\t(disabled) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.mode.set(disabled ? \"readonly\" : \"design\");\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\r\n\t\t\twithCtx(() => {\r\n\t\t\t\tonBeforeUnmount(() => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.destroy();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, instance);\r\n\t\t});\r\n\t\treturn () => {\r\n\t\t\treturn (\r\n\t\t\t\t<div class=\"mk-rich-text-editor\">\r\n\t\t\t\t\t<div class=\"mk-rich-text-editor__wrapper\" ref={((el: HTMLElement) => (richTextEditorEl.value = el)) as any} />\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t},\r\n});\r\n"],"names":["defineComponent","name","props","richTextEditorProps","emits","richTextEditorEmits","setup","emit","richTextEditorEl","ref","instance","getCurrentInstance","onMounted","tinymceInstance","TinyMCE","init","target","unref","promotion","menubar","plugins","toolbar","inline","forced_root_block","valid_elements","extended_valid_elements","custom_elements","valid_children","cleanup","apply_source_formatting","verify_html","font_family_formats","language","skin_url","content_css","editor","on","ui","registry","addButton","icon","onAction","response","MKMaterialSelect","success","insertContent","path","data","id","event","args","getContent","watch","computed","modelValue","setContent","immediate","disabled","mode","set","withCtx","onBeforeUnmount","destroy","_createVNode","el","value"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAeA,iDAAgB;AAAA,EAC9BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,OAAOC;AAAAA,EACPC,MAAMJ,OAAO;AAAA,IAAEK;AAAAA,EAAK,GAAG;AACtB,UAAMC,mBAA4CC,IAAI,IAAI;AAE1D,UAAMC,WAAWC;AAOjBC,cAAU,YAAY;AACrB,YAAMC,kBAAkB,MAAMC,QAAQC,KAAK;AAAA,QAC1CC,QAAQC,MAAMT,gBAAgB;AAAA,QAC9BU,WAAW;AAAA,QACPC,SAAS;AAAA,QACbC,SAAQlB,MAAMkB;AAAAA;AAAAA,QAEVC,SAASnB,MAAMmB;AAAAA,QACfC,QAAQpB,MAAMoB;AAAAA,QAClBC,mBAAmB;AAAA,QACnBC,gBAAgB;AAAA;AAAA,QAChBC,yBAAyB;AAAA;AAAA,QACzBC,iBAAiB;AAAA;AAAA,QACjBC,gBAAgB;AAAA;AAAA,QAChBC,SAAS;AAAA,QACTC,yBAAyB;AAAA,QACzBC,aAAa;AAAA,QACbC,qBACC;AAAA,QACDC,UAAU;AAAA,QACNC,UAAS;AAAA,QACTC,aAAY;AAAA;AAAA;AAAA;AAAA;AAAA,QAKhB5B,OAAQ6B,YAAW;AAElBA,iBAAOC,GAAG,UAAU,WAAY;AAAA,UAC/B,CACA;AACDD,iBAAOE,GAAGC,SAASC,UAAU,YAAY;AAAA,YACxCC,MAAM;AAAA,YACNC,UAAU,YAAY;AACrB,oBAAMC,WAAW,MAAMC;AACvB,kBAAI,CAACD,SAASE,SAAS;AACtB;AAAA,cACD;AACAT,qBAAOU,cAAc,aAAaH,SAASI,IAAI,UAAUJ,SAASK,KAAMC,EAAE,IAAI;AAAA,YAC/E;AAAA,UACD,CAAC;AACDb,iBAAOC,GAAG,SAAS,CAACa,UAAUC,SAAS;AAAA,UACtC,CACA;AACDf,iBAAOC,GAAG,0BAA0B,MAAM;AACzC7B,iBAAK,sBAAsB4B,OAAOgB,WAAY,CAAA;AAAA,UAC/C,CAAC;AAAA,QACF;AAAA,MACD,CAAC;AACDC,YACCC,SAAS,MAAMnD,MAAMoD,UAAU,GAC9BA,gBAAe;AACf,mBAAW5C,aAAYG,iBAAiB;AACvC,cAAIH,UAASyC,WAAY,MAAKG,YAAY;AACzC5C,YAAAA,UAAS6C,WAAWD,cAAc,EAAE;AAAA,UACrC;AAAA,QACD;AAAA,MACD,GACA;AAAA,QAAEE,WAAW;AAAA,MAAK,CACnB;AACAJ,YACCC,SAAS,MAAMnD,MAAMuD,QAAQ,GAC5BA,cAAa;AACb,mBAAW/C,aAAYG,iBAAiB;AACvCH,UAAAA,UAASgD,KAAKC,IAAIF,WAAW,aAAa,QAAQ;AAAA,QACnD;AAAA,MACD,GACA;AAAA,QAAED,WAAW;AAAA,MAAK,CACnB;AAEAI,cAAQ,MAAM;AACbC,wBAAgB,MAAM;AACrB,qBAAWnD,aAAYG,iBAAiB;AACvCH,YAAAA,UAASoD,QAAO;AAAA,UACjB;AAAA,QACD,CAAC;AAAA,MACD,GAAEpD,QAAQ;AAAA,IACZ,CAAC;AACD,WAAO,MAAM;AACZ,aAAAqD,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAEmDC,QAAqBxD,iBAAiByD,QAAQD;AAAAA,MAAG,GAAA,IAAA,CAAA,CAAA;AAAA;EAItG;AACD,CAAC;"}
@@ -1 +1 @@
1
- .mk-doc-editor-decorator-module-toolbar,.mk-doc-editor-toolbar{background-color:#fff;padding:10px 20px;z-index:1;text-align:center}.mk-doc-editor-decorator-module-toolbar-content-style-item,.mk-doc-editor-toolbar-content-style-item{font-size:14px;text-align:left;margin:5px}.mk-doc-editor-decorator-module-toolbar-content-style-item.text,.mk-doc-editor-toolbar-content-style-item.text{font-size:20px}.mk-doc-editor-decorator-module-toolbar-content-style-item h1,.mk-doc-editor-decorator-module-toolbar-content-style-item h2,.mk-doc-editor-decorator-module-toolbar-content-style-item h3,.mk-doc-editor-decorator-module-toolbar-content-style-item h4,.mk-doc-editor-decorator-module-toolbar-content-style-item h5,.mk-doc-editor-decorator-module-toolbar-content-style-item h6,.mk-doc-editor-toolbar-content-style-item h1,.mk-doc-editor-toolbar-content-style-item h2,.mk-doc-editor-toolbar-content-style-item h3,.mk-doc-editor-toolbar-content-style-item h4,.mk-doc-editor-toolbar-content-style-item h5,.mk-doc-editor-toolbar-content-style-item h6{padding:0;margin:0;font-weight:400}.mk-doc-editor-decorator-module-toolbar__fontcolor,.mk-doc-editor-toolbar__fontcolor{padding:0;margin-left:0!important}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before{content:"A";font-weight:700;font-size:18px;position:absolute;width:100%;z-index:1}.mk-doc-editor-decorator-module-toolbar__bgcolor,.mk-doc-editor-toolbar__bgcolor{padding:0;margin-left:0!important;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__bgcolor>span,.mk-doc-editor-toolbar__bgcolor>span{justify-content:center}.mk-doc-editor-decorator-module-toolbar__bgcolor>span>.view,.mk-doc-editor-toolbar__bgcolor>span>.view{position:absolute;pointer-events:none;font-size:18px;top:5px}.mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button,.mk-doc-editor-toolbar>.el-dropdown .el-button{padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group button,.mk-doc-editor-toolbar>.el-button-group button{font-size:18px;padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active,.mk-doc-editor-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active{background-color:var(--el-fill-color)}.mk-doc-editor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.mk-doc-editor.mobile .mk-doc-editor__stage_body{max-width:640px}.mk-doc-editor__stage_iframe,.mk-doc-editor__stage_warp,.mk-doc-editor__view_iframe,.mk-doc-editor__view_warp{width:100%;height:100%;z-index:0;position:relative}.mk-doc-editor__stage_body{z-index:0;position:relative;max-width:1200px;width:100%;min-height:100%;margin:auto}.mk-doc-editor__stage_warp{display:flex;flex-direction:column;padding:10px;overflow:auto;box-sizing:border-box}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar{position:absolute;background-color:#fff;box-shadow:1px -3px 7px 4px #ccc;padding:5px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button{padding:8px 12px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-button-group button{padding:8px 12px}.mk-doc-editor__stage_iframe,.mk-doc-editor__view_iframe{overflow:hidden;background-color:#fff;margin:0;border:0}.mk-doc-editor__view_warp{display:flex;background-color:var(--mk-container-border-color);overflow:auto;height:calc(100vh - 50px);padding-top:10px}.mk-doc-editor__view_warp.mobile .mk-doc-editor__view_iframe{max-width:640px}.mk-doc-editor__view_iframe{max-width:1200px;margin:auto;padding:20px;overflow:auto}.mk-doc-editor__module-template_dialog_warp{height:600px;display:flex;flex-direction:column}.mk-doc-editor__module-template_dialog_list-body{flex:1;height:100%;overflow:auto;padding-top:10px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}.mk-doc-editor__module-template_dialog_list-item{width:150px;height:150px;display:flex;background-color:#dedede;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;position:relative;border:2px solid #dedede}.mk-doc-editor__module-template_dialog_list-item.active{border-color:#2196f3}.mk-doc-editor__module-template_dialog_list-item_title{text-align:center}.mk-doc-editor__module-template_dialog_list-item.cover img{-o-object-fit:contain;object-fit:contain;padding:10px;width:100%;height:100%;box-sizing:border-box}.mk-doc-editor__module-template_dialog_list-item.cover>.mk-doc-editor__module-template_dialog_list-item_title{width:100%;height:100%;display:none;background-color:rgba(13,13,13,.7019607843);align-items:center;justify-content:center;color:#fff;position:absolute;top:0;left:0}.mk-doc-editor__module-template_dialog_list-item.cover:hover>.mk-doc-editor__module-template_dialog_list-item_title{display:flex}
1
+ .mk-doc-editor-decorator-module-toolbar,.mk-doc-editor-toolbar{background-color:#fff;padding:10px 20px;z-index:1;text-align:center}.mk-doc-editor-decorator-module-toolbar-content-style-item,.mk-doc-editor-toolbar-content-style-item{font-size:14px;text-align:left;margin:5px}.mk-doc-editor-decorator-module-toolbar-content-style-item.text,.mk-doc-editor-toolbar-content-style-item.text{font-size:20px}.mk-doc-editor-decorator-module-toolbar-content-style-item h1,.mk-doc-editor-decorator-module-toolbar-content-style-item h2,.mk-doc-editor-decorator-module-toolbar-content-style-item h3,.mk-doc-editor-decorator-module-toolbar-content-style-item h4,.mk-doc-editor-decorator-module-toolbar-content-style-item h5,.mk-doc-editor-decorator-module-toolbar-content-style-item h6,.mk-doc-editor-toolbar-content-style-item h1,.mk-doc-editor-toolbar-content-style-item h2,.mk-doc-editor-toolbar-content-style-item h3,.mk-doc-editor-toolbar-content-style-item h4,.mk-doc-editor-toolbar-content-style-item h5,.mk-doc-editor-toolbar-content-style-item h6{padding:0;margin:0;font-weight:400}.mk-doc-editor-decorator-module-toolbar__fontcolor,.mk-doc-editor-toolbar__fontcolor{padding:0;margin-left:0!important}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before{content:"A";font-weight:700;font-size:18px;position:absolute;width:100%;z-index:1}.mk-doc-editor-decorator-module-toolbar__bgcolor,.mk-doc-editor-toolbar__bgcolor{padding:0;margin-left:0!important;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__bgcolor>span,.mk-doc-editor-toolbar__bgcolor>span{justify-content:center}.mk-doc-editor-decorator-module-toolbar__bgcolor>span>.view,.mk-doc-editor-toolbar__bgcolor>span>.view{position:absolute;pointer-events:none;font-size:18px;top:5px}.mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button,.mk-doc-editor-toolbar>.el-dropdown .el-button{padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group button,.mk-doc-editor-toolbar>.el-button-group button{font-size:18px;padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active,.mk-doc-editor-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active{background-color:var(--el-fill-color)}.mk-doc-selection-element-block-mark{position:absolute;box-sizing:border-box;background-color:rgba(39,118,246,.231372549);z-index:99;pointer-events:none;z-index:0}.mk-doc-selection-element-block-mark.box{outline:2px solid rgba(39,118,246,.231372549);background-color:transparent}.mk-doc-editor-decorator-module-toolbar{text-align:center}.mk-doc-editor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.mk-doc-editor.mobile .mk-doc-editor__stage_body{max-width:640px}.mk-doc-editor__stage_iframe,.mk-doc-editor__stage_warp,.mk-doc-editor__view_iframe,.mk-doc-editor__view_warp{width:100%;height:100%;z-index:0;position:relative}.mk-doc-editor__stage_body{z-index:0;position:relative;max-width:1200px;width:100%;min-height:100%;margin:auto}.mk-doc-editor__stage_warp{display:flex;flex-direction:column;padding:10px;overflow:auto;box-sizing:border-box}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar{position:absolute;background-color:#fff;box-shadow:1px -3px 7px 4px #ccc;padding:5px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button{padding:8px 12px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-button-group button{padding:8px 12px}.mk-doc-editor__stage_iframe,.mk-doc-editor__view_iframe{overflow:hidden;background-color:#fff;margin:0;border:0}.mk-doc-editor__view_warp{display:flex;background-color:var(--mk-container-border-color);overflow:auto;height:calc(100vh - 50px);padding-top:10px}.mk-doc-editor__view_warp.mobile .mk-doc-editor__view_iframe{max-width:640px}.mk-doc-editor__view_iframe{max-width:1200px;margin:auto;padding:20px;overflow:auto}.mk-doc-editor__module-template_dialog_warp{height:600px;display:flex;flex-direction:column}.mk-doc-editor__module-template_dialog_list-body{flex:1;height:100%;overflow:auto;padding-top:10px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}.mk-doc-editor__module-template_dialog_list-item{width:50%;height:150px;display:flex;background-color:#dedede;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;position:relative;border:2px solid #dedede;flex:1}.mk-doc-editor__module-template_dialog_list-item.active{border-color:#2196f3}.mk-doc-editor__module-template_dialog_list-item_title{text-align:center}.mk-doc-editor__module-template_dialog_list-item.cover img{-o-object-fit:contain;object-fit:contain;padding:10px;width:100%;height:100%;box-sizing:border-box}.mk-doc-editor__module-template_dialog_list-item.cover>.mk-doc-editor__module-template_dialog_list-item_title{width:100%;height:100%;display:none;background-color:rgba(13,13,13,.7019607843);align-items:center;justify-content:center;color:#fff;position:absolute;top:0;left:0}.mk-doc-editor__module-template_dialog_list-item.cover:hover>.mk-doc-editor__module-template_dialog_list-item_title{display:flex}