@maketribe/ms-app 3.2.4 → 3.2.6

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 (224) hide show
  1. package/dist/cjs/assets/iconfonts/iconfont.js +1 -1
  2. package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
  4. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  5. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
  6. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  7. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  8. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  9. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
  10. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  11. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
  12. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  14. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  15. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
  16. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +26 -46
  20. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
  21. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +14 -5
  22. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  23. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js +0 -1
  24. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
  25. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -0
  26. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -1
  30. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
  32. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  33. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
  34. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  35. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
  36. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
  38. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  39. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
  40. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  41. package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
  42. package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
  43. package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
  44. package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
  45. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
  46. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  47. package/dist/cjs/components/data-model/data-table/views/table/table.js +0 -1
  48. package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
  49. package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js +12 -9
  50. package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
  51. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js +1 -0
  52. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
  53. package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
  54. package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
  55. package/dist/cjs/composables/use-single-view.js +2 -0
  56. package/dist/cjs/composables/use-single-view.js.map +1 -1
  57. package/dist/cjs/core/MSAppClient.js +8 -6
  58. package/dist/cjs/core/MSAppClient.js.map +1 -1
  59. package/dist/cjs/core/PageManager.js.map +1 -1
  60. package/dist/cjs/index.js +2 -2
  61. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
  62. package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
  63. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  64. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  65. package/dist/cjs/modules/cms/index.js +2 -1
  66. package/dist/cjs/modules/cms/index.js.map +1 -1
  67. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
  68. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  69. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  70. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  71. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
  72. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  73. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +45 -5
  74. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  75. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
  76. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  77. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
  78. package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
  79. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
  80. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  81. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  82. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  83. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  84. package/dist/cjs/modules/ms/index.js +2 -2
  85. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
  86. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  87. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +49 -7
  88. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  89. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  90. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  91. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
  92. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  93. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
  94. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  95. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  96. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  97. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
  98. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  99. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
  100. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  101. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  102. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  103. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
  104. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  105. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
  106. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  107. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +27 -47
  108. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
  109. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +14 -5
  110. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  111. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js +0 -1
  112. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
  113. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -0
  114. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  115. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  116. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  117. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -1
  118. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  119. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
  120. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  121. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
  122. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  123. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
  124. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  125. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
  126. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  127. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
  128. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  129. package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
  130. package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
  131. package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
  132. package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
  133. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
  134. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  135. package/dist/esm/components/data-model/data-table/views/table/table.js +0 -1
  136. package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
  137. package/dist/esm/components/data-model/data-table/views/table-view/header/header.js +12 -9
  138. package/dist/esm/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
  139. package/dist/esm/components/data-model/data-table/views/tree/tree-options.js +1 -0
  140. package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
  141. package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
  142. package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
  143. package/dist/esm/composables/use-single-view.js +2 -0
  144. package/dist/esm/composables/use-single-view.js.map +1 -1
  145. package/dist/esm/core/MSAppClient.js +8 -6
  146. package/dist/esm/core/MSAppClient.js.map +1 -1
  147. package/dist/esm/core/PageManager.js.map +1 -1
  148. package/dist/esm/index.js +2 -2
  149. package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
  150. package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
  151. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  152. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  153. package/dist/esm/modules/cms/index.js +2 -1
  154. package/dist/esm/modules/cms/index.js.map +1 -1
  155. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
  156. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  157. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  158. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  159. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
  160. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  161. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +46 -6
  162. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  163. package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
  164. package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  165. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
  166. package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
  167. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
  168. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  169. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  170. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  171. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  172. package/dist/esm/modules/ms/index.js +2 -2
  173. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
  174. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  175. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +50 -8
  176. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  177. package/dist/style/components/basic/doc-editor/index.css +1 -1
  178. package/dist/style/components/index.css +2 -2
  179. package/dist/style/components/material-item.css +1 -1
  180. package/dist/style/index.css +2 -2
  181. package/dist/style/modules/cms/index.css +1 -1
  182. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  183. package/dist/style/modules/cms/resource-manager.css +1 -1
  184. package/dist/style/src/components/basic/doc-editor/index.scss +22 -2
  185. package/dist/style/src/components/material-item.scss +66 -63
  186. package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
  187. package/dist/style/src/modules/cms/resource-manager.scss +63 -0
  188. package/dist/style/src/theme/theme.scss +310 -303
  189. package/dist/style/theme/theme.css +1 -1
  190. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
  191. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
  192. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
  193. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
  194. package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
  195. package/dist/types/components/business/resource-manager/index.d.ts +32 -6
  196. package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
  197. package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
  198. package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
  199. package/dist/types/components/data-model/data-table/views/tree/index.d.ts +3 -0
  200. package/dist/types/components/data-model/data-table/views/tree/tree-options.d.ts +1 -0
  201. package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +3 -0
  202. package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
  203. package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
  204. package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
  205. package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
  206. package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
  207. package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
  208. package/package.json +5 -5
  209. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  210. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
  211. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  212. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -131
  213. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  214. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
  215. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  216. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
  217. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  218. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -131
  219. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  220. package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
  221. package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
  222. package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
  223. /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
  224. /package/dist/types/{modules/cms/pages/cms-contents/part-edit-add-page.vue.d.ts → components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, reactive, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, unref, createBlock, createCommentVNode } from "vue";
1
+ import { defineComponent, ref, reactive, onMounted, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, unref, createBlock, createCommentVNode } from "vue";
2
2
  import { MKPartTree } from "../../components/part-tree/index.js";
3
3
  import _sfc_main$1 from "./components/article-list.vue.js";
4
4
  import _sfc_main$2 from "./components/part-info.vue.js";
@@ -51,7 +51,8 @@ import "../../../ms/material-upload-context/material-upload-context.js";
51
51
  import "@codemirror/lang-html";
52
52
  import { CmsPartTypesTable } from "../../dataviews/cms-part-types/CmsPartTypesTable.js";
53
53
  import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
54
- import { useRoute } from "vue-router";
54
+ import { CmsContentManPartForm } from "../../dataviews/cms-parts/CmsContentManPartForm.js";
55
+ import { useRoute, useRouter } from "vue-router";
55
56
  const _hoisted_1 = { class: "mk-cms-contents__warp" };
56
57
  const _hoisted_2 = { style: { "color": "var(--el-text-color-regular)", "margin-left": "10px" } };
57
58
  const _hoisted_3 = { class: "flex items-center" };
@@ -68,6 +69,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
68
69
  __name: "index",
69
70
  setup(__props) {
70
71
  const route = useRoute();
72
+ const router = useRouter();
71
73
  const previewHandle = (isList = false) => {
72
74
  if (isList) {
73
75
  window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`);
@@ -87,10 +89,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
89
  const activeTabName = ref("article-list");
88
90
  const curSelectPartItem = ref(null);
89
91
  const partTreeRef = ref(null);
90
- const partDataForm = reactive(new CmsPartForm());
92
+ const partDataForm = reactive(new CmsContentManPartForm());
93
+ onMounted(() => {
94
+ partDataForm.init();
95
+ });
91
96
  const selectPartHandle = (item) => {
92
- curSelectPartItem.value = item;
93
- partDataForm.editRecord(curSelectPartItem.value.id);
97
+ if (curSelectPartItem.value != item) {
98
+ curSelectPartItem.value = item;
99
+ partDataForm.editRecord(curSelectPartItem.value.id);
100
+ router.replace({ name: "cms/contents", query: { pid: curSelectPartItem.value.id } });
101
+ }
94
102
  };
95
103
  const deletePartHandle = (item) => {
96
104
  if (item.id == curSelectPartItem.value.id) {
@@ -101,9 +109,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
109
  curSelectPartItem.value = item;
102
110
  activeTabName.value = "part";
103
111
  };
104
- if (!!route.query.partId) {
105
- curSelectPartItem.value = { id: route.query.partId };
106
- }
107
112
  const partForm = reactive(
108
113
  new class extends CmsPartForm {
109
114
  async initialize() {
@@ -140,9 +145,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
140
145
  dataForm: partForm
141
146
  });
142
147
  if (item.id) {
143
- partForm.addRecord({
144
- parentId: item.id
145
- });
148
+ partForm.addRecord({ parentId: item.id });
146
149
  }
147
150
  };
148
151
  partForm.submittedEvent.on(() => {
@@ -154,7 +157,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
154
157
  var _a;
155
158
  const httpRequest = (_a = MSAppClient.instance) == null ? void 0 : _a.httpRequest;
156
159
  try {
157
- const isConfirm = await Dialoger.confirm({ title: "全量发布", message: "是否全量发布?", type: "warning" });
160
+ const isConfirm = await Dialoger.confirm({ title: "全量发布", message: "是否整站全量发布?", type: "warning" });
158
161
  if (!isConfirm) {
159
162
  return;
160
163
  }
@@ -206,6 +209,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
206
209
  return (_ctx, _cache) => {
207
210
  const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
208
211
  const _component_el_button = resolveComponent("el-button");
212
+ const _component_el_button_group = resolveComponent("el-button-group");
209
213
  const _component_el_page_header = resolveComponent("el-page-header");
210
214
  const _component_el_dropdown_item = resolveComponent("el-dropdown-item");
211
215
  const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu");
@@ -223,7 +227,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
223
227
  title: withCtx(() => [
224
228
  createElementVNode("h3", _hoisted_2, [
225
229
  createVNode(_component_MKSvgIcon, {
226
- iconClass: "Memo",
230
+ iconClass: "richtext-outline",
227
231
  style: { "margin-right": "5px" }
228
232
  }),
229
233
  createTextVNode(" 内容管理 ")
@@ -231,32 +235,37 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
231
235
  ]),
232
236
  extra: withCtx(() => [
233
237
  createElementVNode("div", _hoisted_3, [
234
- createVNode(_component_el_button, {
235
- type: "primary",
236
- size: "large",
237
- text: "",
238
- onClick: publishAllHandle
239
- }, {
238
+ createVNode(_component_el_button_group, null, {
240
239
  default: withCtx(() => [
241
- createTextVNode(" 全量发布 "),
242
- createVNode(_component_MKSvgIcon, {
243
- iconClass: "Promotion",
244
- style: { "margin-left": "10px" }
245
- })
246
- ]),
247
- _: 1
248
- }),
249
- createVNode(_component_el_button, {
250
- type: "primary",
251
- size: "large",
252
- text: "",
253
- onClick: showPartFormHandle
254
- }, {
255
- default: withCtx(() => [
256
- createTextVNode(" 添加栏目 "),
257
- createVNode(_component_MKSvgIcon, {
258
- iconClass: "Plus",
259
- style: { "margin-left": "10px" }
240
+ createVNode(_component_el_button, {
241
+ type: "primary",
242
+ size: "large",
243
+ text: "",
244
+ onClick: publishAllHandle
245
+ }, {
246
+ default: withCtx(() => [
247
+ createVNode(_component_MKSvgIcon, {
248
+ iconClass: "Promotion",
249
+ style: { "margin-right": "10px" }
250
+ }),
251
+ createTextVNode(" 整站发布 ")
252
+ ]),
253
+ _: 1
254
+ }),
255
+ createVNode(_component_el_button, {
256
+ type: "primary",
257
+ size: "large",
258
+ text: "",
259
+ onClick: showPartFormHandle
260
+ }, {
261
+ default: withCtx(() => [
262
+ createVNode(_component_MKSvgIcon, {
263
+ iconClass: "Plus",
264
+ style: { "margin-right": "10px" }
265
+ }),
266
+ createTextVNode(" 新增栏目 ")
267
+ ]),
268
+ _: 1
260
269
  })
261
270
  ]),
262
271
  _: 1
@@ -273,8 +282,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
273
282
  onAdd: showPartFormHandle,
274
283
  onDeleteSuccessfully: deletePartHandle,
275
284
  ref_key: "partTreeRef",
276
- ref: partTreeRef
277
- }, null, 512),
285
+ ref: partTreeRef,
286
+ curSelectId: unref(route).query.pid
287
+ }, null, 8, ["curSelectId"]),
278
288
  curSelectPartItem.value ? (openBlock(), createBlock(_component_el_tabs, {
279
289
  key: 0,
280
290
  modelValue: activeTabName.value,
@@ -283,84 +293,82 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
283
293
  }, {
284
294
  default: withCtx(() => [
285
295
  createElementVNode("div", _hoisted_5, [
296
+ activeTabName.value != "article-list" ? (openBlock(), createBlock(_component_el_button, {
297
+ key: 0,
298
+ type: "primary",
299
+ text: "",
300
+ onClick: _cache[0] || (_cache[0] = ($event) => savePartHandle()),
301
+ disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
302
+ }, {
303
+ default: withCtx(() => [
304
+ createVNode(_component_MKSvgIcon, {
305
+ iconClass: "save",
306
+ style: { "margin-right": "5px" }
307
+ }),
308
+ createTextVNode(" 栏目保存 ")
309
+ ]),
310
+ _: 1
311
+ }, 8, ["disabled"])) : createCommentVNode("", true),
286
312
  createVNode(_component_el_dropdown, null, {
287
313
  dropdown: withCtx(() => [
288
314
  curSelectPartItem.value.coverTemplate ? (openBlock(), createBlock(_component_el_dropdown_menu, { key: 0 }, {
289
315
  default: withCtx(() => [
290
316
  createVNode(_component_el_dropdown_item, {
291
- onClick: _cache[0] || (_cache[0] = ($event) => previewHandle())
317
+ onClick: _cache[1] || (_cache[1] = ($event) => previewHandle())
292
318
  }, {
293
319
  default: withCtx(() => [
320
+ createVNode(_component_MKSvgIcon, {
321
+ iconClass: "View",
322
+ style: { "margin-left": "10px" }
323
+ }),
294
324
  createTextVNode(" 预览封面 ")
295
325
  ]),
296
326
  _: 1
297
327
  }),
298
328
  curSelectPartItem.value.listTemplate ? (openBlock(), createBlock(_component_el_dropdown_item, {
299
329
  key: 0,
300
- onClick: _cache[1] || (_cache[1] = ($event) => previewHandle(true))
330
+ onClick: _cache[2] || (_cache[2] = ($event) => previewHandle(true))
301
331
  }, {
302
332
  default: withCtx(() => [
333
+ createVNode(_component_MKSvgIcon, {
334
+ iconClass: "View",
335
+ style: { "margin-left": "10px" }
336
+ }),
303
337
  createTextVNode(" 预览列表 ")
304
338
  ]),
305
339
  _: 1
306
- })) : createCommentVNode("", true)
340
+ })) : createCommentVNode("", true),
341
+ createVNode(_component_el_dropdown_item, {
342
+ onClick: _cache[3] || (_cache[3] = ($event) => showPublish.value = true)
343
+ }, {
344
+ default: withCtx(() => [
345
+ createVNode(_component_MKSvgIcon, {
346
+ iconClass: "Promotion",
347
+ style: { "margin-left": "10px" }
348
+ }),
349
+ createTextVNode(" 发布当前栏目 ")
350
+ ]),
351
+ _: 1
352
+ })
307
353
  ]),
308
354
  _: 1
309
355
  })) : createCommentVNode("", true)
310
356
  ]),
311
357
  default: withCtx(() => [
312
358
  createElementVNode("span", _hoisted_6, [
313
- curSelectPartItem.value.listTemplate || curSelectPartItem.value.coverTemplate ? (openBlock(), createBlock(_component_el_button, {
314
- key: 0,
359
+ createVNode(_component_el_button, {
315
360
  type: "primary",
316
- size: "large",
317
361
  text: ""
318
362
  }, {
319
363
  default: withCtx(() => [
320
- createTextVNode(" 预览 "),
321
- createVNode(_component_MKSvgIcon, {
322
- iconClass: "View",
323
- style: { "margin-left": "10px" }
324
- })
364
+ createVNode(_component_MKSvgIcon, { iconClass: "MoreFilled" })
325
365
  ]),
326
366
  _: 1
327
- })) : createCommentVNode("", true)
367
+ })
328
368
  ])
329
369
  ]),
330
370
  _: 1
331
- }),
332
- createVNode(_component_el_button, {
333
- type: "primary",
334
- size: "large",
335
- text: "",
336
- onClick: _cache[2] || (_cache[2] = ($event) => showPublish.value = true)
337
- }, {
338
- default: withCtx(() => [
339
- createTextVNode(" 栏目发布 "),
340
- createVNode(_component_MKSvgIcon, {
341
- iconClass: "Promotion",
342
- style: { "margin-left": "10px" }
343
- })
344
- ]),
345
- _: 1
346
- }),
347
- activeTabName.value != "article-list" ? (openBlock(), createBlock(_component_el_button, {
348
- key: 0,
349
- type: "primary",
350
- size: "large",
351
- text: "",
352
- onClick: _cache[3] || (_cache[3] = ($event) => savePartHandle()),
353
- disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
354
- }, {
355
- default: withCtx(() => [
356
- createTextVNode(" 栏目保存 "),
357
- createVNode(_component_MKSvgIcon, {
358
- iconClass: "save",
359
- style: { "margin-left": "10px" }
360
- })
361
- ]),
362
- _: 1
363
- }, 8, ["disabled"])) : createCommentVNode("", true)
371
+ })
364
372
  ]),
365
373
  createVNode(_component_el_tab_pane, {
366
374
  label: "文章列表",
@@ -374,7 +382,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
374
382
  ]),
375
383
  _: 1
376
384
  }),
377
- createVNode(_component_el_tab_pane, {
385
+ withDirectives((openBlock(), createBlock(_component_el_tab_pane, {
378
386
  label: "栏目信息",
379
387
  name: "part"
380
388
  }, {
@@ -387,8 +395,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
387
395
  }, null, 8, ["part", "partDataForm"])) : createCommentVNode("", true)
388
396
  ]),
389
397
  _: 1
390
- }),
391
- curSelectPartItem.value.cmsPartTypeId != 1 ? (openBlock(), createBlock(_component_el_tab_pane, {
398
+ })), [
399
+ [_directive_loading, partDataForm.loading]
400
+ ]),
401
+ curSelectPartItem.value.cmsPartTypeId != 1 ? withDirectives((openBlock(), createBlock(_component_el_tab_pane, {
392
402
  key: 0,
393
403
  label: "栏目内容",
394
404
  name: "part-content",
@@ -406,7 +416,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
406
416
  ];
407
417
  }),
408
418
  _: 1
409
- })) : createCommentVNode("", true)
419
+ })), [
420
+ [_directive_loading, partDataForm.loading]
421
+ ]) : createCommentVNode("", true)
410
422
  ]),
411
423
  _: 1
412
424
  }, 8, ["modelValue"])) : (openBlock(), createBlock(_component_el_empty, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\n <template #title>\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\n <MKSvgIcon iconClass=\"Memo\" style=\"margin-right: 5px\" />\n 内容管理\n </h3>\n </template>\n <template #extra>\n <div class=\"flex items-center\">\n <el-button type=\"primary\" size=\"large\" text @click=\"publishAllHandle\">\n 全量发布\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px\" />\n </el-button>\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\n 添加栏目\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px\" />\n </el-button>\n </div>\n </template>\n </el-page-header>\n <div class=\"mk-cms-contents__body\">\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\" />\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\n <div class=\"mk-cms-contents__body__right__action\">\n <el-dropdown>\n <span class=\"el-dropdown-link\">\n <el-button type=\"primary\" size=\"large\" text\n v-if=\"curSelectPartItem.listTemplate || curSelectPartItem.coverTemplate\">\n 预览\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\n </el-button>\n </span>\n <template #dropdown>\n <el-dropdown-menu v-if=\"curSelectPartItem.coverTemplate\">\n <el-dropdown-item @click=\"previewHandle()\">\n 预览封面\n </el-dropdown-item>\n <el-dropdown-item @click=\"previewHandle(true)\" v-if=\"curSelectPartItem.listTemplate\">\n 预览列表\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n <el-button type=\"primary\" size=\"large\" text @click=\"showPublish = true\">\n 栏目发布\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px\" />\n </el-button>\n <el-button type=\"primary\" size=\"large\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\n v-if=\"activeTabName != 'article-list'\">\n 栏目保存\n <MKSvgIcon iconClass=\"save\" style=\"margin-left: 10px\" />\n </el-button>\n </div>\n <el-tab-pane label=\"文章列表\" name=\"article-list\">\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\n </el-tab-pane>\n <el-tab-pane label=\"栏目信息\" name=\"part\">\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\n :partDataForm=\"partDataForm\" />\n </el-tab-pane>\n <el-tab-pane label=\"栏目内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :content=\"partDataForm.data?.content\"\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\" />\n </el-tab-pane>\n </el-tabs>\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\n </div>\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\n <div class=\"mk-cms-contents__publish\">\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\" /></div>\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\" /></div>\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\" /></div>\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\n </div>\n <template #footer>\n <el-button @click=\"showPublish = false\">取消</el-button>\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"btnLoading\">确定</el-button>\n </template>\n </el-dialog>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { MKPartTree } from \"../../components\";\nimport ArticleList from \"./components/article-list.vue\";\nimport PartInfo from \"./components/part-info.vue\";\nimport { MKCopyContainer, MKDocEditor } from \"../../../../components\";\nimport { h, onMounted, reactive, ref } from \"vue\";\nimport { DataForm, Dialoger, FormColumn, isWhereFilter, Messager } from \"@maketribe/dm\";\nimport { CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\nimport { useRoute } from \"vue-router\";\nimport { MSAppClient } from \"../../../../core\";\nimport { ElSwitch } from \"element-plus\";\n//路由\nconst route = useRoute();\n//c\nconst previewHandle = (isList = false) => {\n if (isList) {\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`)\n } else {\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}`)\n }\n}\n\n//发布栏目时的配置\nconst showPublish = ref(false)\n//发布配置项\nconst optionData = ref({\n isPublishList: true,\n isPublishCover: true,\n isPublishContent: true,\n isPublishAssets: true,\n isCompulsion: false\n});\n//发布弹窗的按钮\nconst btnLoading = ref(false);\n\n// 激活的tab\nconst activeTabName = ref(\"article-list\");\n\n// 当前选中的菜单\nconst curSelectPartItem = ref(null as any);\n// 栏目树ref\nconst partTreeRef = ref(null);\n//栏目数据\nconst partDataForm = reactive(new CmsPartForm()) as CmsPartForm;\n\n// 选择栏目\nconst selectPartHandle = (item: any) => {\n curSelectPartItem.value = item;\n partDataForm.editRecord(curSelectPartItem.value.id)\n};\n//删除栏目\nconst deletePartHandle = (item: any) => {\n if (item.id == curSelectPartItem.value.id) {\n curSelectPartItem.value = null;\n }\n};\n//编辑栏目\nconst editPartHandle = (item: any) => {\n curSelectPartItem.value = item;\n activeTabName.value = \"part\";\n};\n\nif (!!route.query.partId) {\n curSelectPartItem.value = { id: route.query.partId };\n}\n\n//栏目表单\nconst partForm = reactive(\n new (class extends CmsPartForm {\n protected async initialize() {\n await super.initialize();\n this.setColumns([\n new FormColumn({\n name: \"cmsPartTypeId\",\n label: \"栏目类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: \"2\",\n componentProps: {\n dataTable: this.register(\n new CmsPartTypesTable()\n ) as CmsPartTypesTable,\n },\n required: true,\n }),\n new FormColumn({\n name: \"name\",\n label: \"栏目名称\",\n required: true,\n }),\n new FormColumn({\n name: \"title\",\n label: \"栏目标题\",\n required: true,\n }),\n ]);\n }\n })()\n);\n/**\n * 显示添加栏目表单\n */\nconst showPartFormHandle = async (item?: any) => {\n await Dialoger.dataFormDialog({\n dataForm: partForm as CmsPartForm,\n });\n\n if (item.id) {\n partForm.addRecord({\n parentId: item.id,\n });\n }\n};\n//\npartForm.submittedEvent.on(() => {\n (partTreeRef.value! as any).dataTree?.load();\n});\n\nconst loading = ref(false)\n\nconst publishAllHandle = async () => {\n const httpRequest = MSAppClient.instance?.httpRequest!;\n try {\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否全量发布?\", type: \"warning\" })\n\n if (!isConfirm) {\n return;\n }\n loading.value = true\n\n const response = await httpRequest.post(\n `/cms/content/publish/all`\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n\n Messager.success({ message: \"发布成功\" });\n\n } finally {\n loading.value = false\n }\n}\n\nconst publishPartHandle = async () => {\n const httpRequest = MSAppClient.instance?.httpRequest!;\n try {\n btnLoading.value = true\n\n const response = await httpRequest.post(\n `/cms/content/publish/part`, {\n partIds: [\n curSelectPartItem.value.id\n ],\n ...optionData.value\n }\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n showPublish.value = false;\n Messager.success({ message: \"发布成功\" });\n\n } finally {\n btnLoading.value = false\n }\n}\n\n/**\n * 保存栏目信息\n */\nconst savePartHandle = async () => {\n await partDataForm.submit();\n await (partTreeRef.value! as any).dataTree?.load();\n}\n\n/**\n * 更新编辑器内容\n * @param v 内容\n */\nconst EditorChangeHandle = (v: any) => {\n partDataForm.data.content = v\n}\n</script>\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 @click=\"publishAllHandle\">\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\" :curSelectId=\"(route.query.pid as string)\" />\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 <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\" v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 栏目保存\r\n </el-button>\r\n <el-dropdown>\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 v-if=\"curSelectPartItem.coverTemplate\">\r\n <el-dropdown-item @click=\"previewHandle()\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(true)\" 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 <!-- <el-button type=\"primary\" size=\"large\" text @click=\"showPublish = true\">\r\n 栏目发布\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px\" />\r\n </el-button> -->\r\n \r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\">\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\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\" v-loading=\"partDataForm.loading\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\" />\r\n </el-tab-pane>\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\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\" /></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=\"btnLoading\">确定</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 { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref,onMounted } from \"vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\r\nimport { useRoute,useRouter } from \"vue-router\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { ElSwitch } from \"element-plus\";\r\n//路由\r\nconst route = useRoute();\r\nconst router = useRouter();\r\n//预览\r\nconst previewHandle = (isList = false) => {\r\n if (isList) {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`)\r\n } else {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}`)\r\n }\r\n}\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: true,\r\n isPublishCover: true,\r\n isPublishContent: true,\r\n isPublishAssets: true,\r\n isCompulsion: false\r\n});\r\n//发布弹窗的按钮\r\nconst btnLoading = 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 partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 挂载的时候初始化下\r\nonMounted(()=>{\r\n // 需要走一下初始化\r\n partDataForm.init();\r\n})\r\n\r\n// 选择栏目\r\nconst selectPartHandle = (item: any) => {\r\n if(curSelectPartItem.value != item){\r\n curSelectPartItem.value = item;\r\n partDataForm.editRecord(curSelectPartItem.value.id)\r\n router.replace({name:'cms/contents',query:{pid:curSelectPartItem.value.id} } as any)\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\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n//栏目表单\r\nconst partForm = reactive(\r\n new (class extends CmsPartForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"cmsPartTypeId\",\r\n label: \"栏目类型\",\r\n componentInfo: \"MKFormDataSelect\",\r\n defaultValue: \"2\",\r\n componentProps: {\r\n dataTable: this.register(\r\n new CmsPartTypesTable()\r\n ) as CmsPartTypesTable,\r\n },\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"name\",\r\n label: \"栏目名称\",\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"title\",\r\n label: \"栏目标题\",\r\n required: true,\r\n }),\r\n ]);\r\n }\r\n })()\r\n);\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partForm.addRecord({ parentId: item.id });\r\n }\r\n};\r\n\r\n//\r\npartForm.submittedEvent.on(() => {\r\n (partTreeRef.value! as any).dataTree?.load();\r\n});\r\n\r\nconst loading = ref(false)\r\n\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否整站全量发布?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n loading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/all`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n loading.value = false\r\n }\r\n}\r\n\r\nconst publishPartHandle = async () => {\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n try {\r\n btnLoading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/part`, {\r\n partIds: [\r\n curSelectPartItem.value.id\r\n ],\r\n ...optionData.value\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n showPublish.value = false;\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n await partDataForm.submit();\r\n await (partTreeRef.value! as any).dataTree?.load();\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,7 +1,12 @@
1
- import { defineComponent, reactive, openBlock, createBlock, unref, withCtx, createVNode } from "vue";
1
+ import { defineComponent, reactive, resolveComponent, openBlock, createBlock, unref, withCtx, createVNode, createTextVNode } from "vue";
2
+ import { Dialoger, Messager } from "@maketribe/dm";
3
+ import "element-plus";
4
+ import "@maketribe/utils";
5
+ import "../../../../core/DataModelDefines.js";
6
+ import { MSAppClient } from "../../../../core/MSAppClient.js";
7
+ import "@maketribe/request";
2
8
  import "../../../../components/abstract/abstract-select/abstract-select.js";
3
9
  import "../../../../components/abstract/abstract-select/abstract-select-options.js";
4
- import "element-plus";
5
10
  import "../../../../components/basic/svg-icon/index.js";
6
11
  import "../../../../components/basic/button/button-options.js";
7
12
  import "../../../../components/basic/config-provider/index.js";
@@ -15,8 +20,6 @@ import { MKPageContainer } from "../../../../components/basic/page-container/ind
15
20
  import "../../../../components/basic/date-picker/index.js";
16
21
  import "../../../../components/basic/icon-select/index.js";
17
22
  import "../../../../components/basic/upload-file/upload-file.js";
18
- import "@maketribe/request";
19
- import "@maketribe/utils";
20
23
  import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
21
24
  import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
22
25
  import "../../../../components/basic/upload-file/ui/upload-image/index.js";
@@ -30,7 +33,6 @@ import "../../../../components/data-model/data-table-pagination/index.js";
30
33
  import "../../../../components/business/verify-dialog/index.js";
31
34
  import "../../../../components/business/resource-list/index.js";
32
35
  import { MKResourceManager } from "../../../../components/business/resource-manager/index.js";
33
- import "@maketribe/dm";
34
36
  import { ResourceManager } from "../../../../components/business/resource-list/ResourceManager.js";
35
37
  const _sfc_main = /* @__PURE__ */ defineComponent({
36
38
  __name: "index",
@@ -38,10 +40,48 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
40
  const resourceManager = reactive(
39
41
  new ResourceManager({ baseURL: "/cms" })
40
42
  );
43
+ const publishAssetsHandle = async () => {
44
+ const httpRequest = MSAppClient.instance.httpRequest;
45
+ try {
46
+ const isConfirm = await Dialoger.confirm({
47
+ title: "发布资源",
48
+ message: "是否发布资源?",
49
+ type: "warning"
50
+ });
51
+ if (!isConfirm) {
52
+ return;
53
+ }
54
+ resourceManager.loadingManager.startLoading();
55
+ const response = await httpRequest.post(
56
+ `${resourceManager.baseURL}/content/publish/assets`
57
+ );
58
+ if (response.data.code !== 200) {
59
+ Messager.error({ message: response.data.msg });
60
+ return;
61
+ }
62
+ Messager.success({ message: "发布成功" });
63
+ } finally {
64
+ resourceManager.loadingManager.completeLoading();
65
+ }
66
+ };
41
67
  return (_ctx, _cache) => {
68
+ const _component_ElButton = resolveComponent("ElButton");
42
69
  return openBlock(), createBlock(unref(MKPageContainer), null, {
43
70
  default: withCtx(() => [
44
- createVNode(unref(MKResourceManager), { resourceManager }, null, 8, ["resourceManager"])
71
+ createVNode(unref(MKResourceManager), { resourceManager }, {
72
+ tools: withCtx(() => [
73
+ createVNode(_component_ElButton, {
74
+ type: "primary",
75
+ onClick: publishAssetsHandle
76
+ }, {
77
+ default: withCtx(() => [
78
+ createTextVNode("发布资产")
79
+ ]),
80
+ _: 1
81
+ })
82
+ ]),
83
+ _: 1
84
+ }, 8, ["resourceManager"])
45
85
  ]),
46
86
  _: 1
47
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\n <MKPageContainer>\n <MKResourceManager :resourceManager=\"resourceManager\"></MKResourceManager>\n </MKPageContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MKPageContainer } from \"../../../../components\";\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\n\nconst resourceManager = reactive(\n new ResourceManager({ baseURL: \"/cms\" })\n) as ResourceManager;\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,UAAM,kBAAkB;AAAA,MACtB,IAAI,gBAAgB,EAAE,SAAS,QAAQ;AAAA,IAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\n\r\nconst resourceManager = reactive(\r\n new ResourceManager({ baseURL: \"/cms\" })\r\n) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"发布资源\",\r\n message: \"是否发布资源?\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n const response = await httpRequest.post(\r\n `${resourceManager.baseURL}/content/publish/assets`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,kBAAkB;AAAA,MACtB,IAAI,gBAAgB,EAAE,SAAS,QAAQ;AAAA,IAAA;AAIzC,UAAM,sBAAuB,YAAY;AACjC,YAAA,cAAc,YAAY,SAAU;AAEtC,UAAA;AACI,cAAA,YAAY,MAAM,SAAS,QAAQ;AAAA,UACvC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,MAAM;AAAA,QAAA,CACP;AAED,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AAEA,wBAAgB,eAAe;AAEzB,cAAA,WAAW,MAAM,YAAY;AAAA,UACjC,GAAG,gBAAgB,OAAO;AAAA,QAAA;AAGxB,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,mBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEA,iBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UACpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,6 @@
1
1
  import { defineComponent, computed, toRaw, resolveComponent, openBlock, createBlock, normalizeClass, withCtx, createElementVNode, createVNode, createTextVNode, createCommentVNode, unref, toDisplayString } from "vue";
2
2
  import "@maketribe/dm";
3
3
  import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
4
- import "@maketribe/request";
5
4
  const _hoisted_1 = { class: "mk-material-item__tools" };
6
5
  const _hoisted_2 = { class: "mk-material-item__tools-item" };
7
6
  const _hoisted_3 = { class: "mk-material-item__preview" };
@@ -1 +1 @@
1
- {"version":3,"file":"material-item.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-item.vue"],"sourcesContent":["<template>\n <ElCard\n :class=\"['mk-material-item', isSelected ? 'is-selected' : '']\"\n shadow=\"never\"\n @click.capture=\"handleClick\"\n >\n <div class=\"mk-material-item__tools\">\n <div class=\"mk-material-item__tools-item\">\n <ElDropdown>\n <MKSvgIcon iconClass=\"More\" />\n\n <template #dropdown>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 1\"\n @click=\"handleCutClick\"\n >\n 裁切\n </ElDropdownItem>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 2\"\n @click=\"handleDownloadClick\"\n >\n 下载\n </ElDropdownItem>\n <ElDropdownItem @click=\"handleMoveClick\">移动分组</ElDropdownItem>\n <ElDropdownItem @click=\"handleDeleteClick\">删除</ElDropdownItem>\n </template>\n </ElDropdown>\n </div>\n </div>\n\n <div class=\"mk-material-item__preview\">\n <MaterialComponent :src=\"material.path\" />\n </div>\n <div class=\"mk-material-item__title\">{{ material.desc }}</div>\n </ElCard>\n</template>\n\n<script setup lang=\"ts\">\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews/ms-material\";\nimport { computed, toRaw } from \"vue\";\n\nconst props = defineProps({\n materialTable: { type: MsMaterialTable, required: true },\n material: { type: Object, required: true },\n});\n\nconst emit = defineEmits([\"click\", \"move\", \"cut\", \"download\"]);\n\nconst isSelected = computed(() =>\n props.materialTable.getSelection().includes(props.material.id)\n);\n\nconst currentMaterialTypeValue = computed(\n () => props.materialTable.currentMaterialType?.value ?? null\n);\n\nconst MaterialComponent = computed(() => {\n const component =\n props.materialTable.resolveMaterialComponent(\n props.material as MsMaterial\n ) || props.materialTable.materialComponents.resolveComponent(\"MKFileView\")!;\n\n return toRaw(component.component);\n});\n\nconst handleClick = (event: MouseEvent) => {\n emit(\"click\", event);\n};\n\nconst handleDeleteClick = () => {\n props.materialTable.deleteRecord(props.material);\n};\n\nconst handleMoveClick = () => {\n emit(\"move\", props.material);\n};\n\nconst handleCutClick = () => {\n emit(\"cut\", props.material);\n};\n\nconst handleDownloadClick = () => {\n emit(\"download\", props.material);\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA0CA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAEb,UAAM,aAAa;AAAA,MAAS,MAC1B,MAAM,cAAc,aAAA,EAAe,SAAS,MAAM,SAAS,EAAE;AAAA,IAAA;AAG/D,UAAM,2BAA2B;AAAA,MAC/B,MAAA;;AAAM,4BAAM,cAAc,wBAApB,mBAAyC,UAAS;AAAA;AAAA,IAAA;AAGpD,UAAA,oBAAoB,SAAS,MAAM;AACjC,YAAA,YACJ,MAAM,cAAc;AAAA,QAClB,MAAM;AAAA,MACH,KAAA,MAAM,cAAc,mBAAmB,iBAAiB,YAAY;AAEpE,aAAA,MAAM,UAAU,SAAS;AAAA,IAAA,CACjC;AAEK,UAAA,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS,KAAK;AAAA,IAAA;AAGrB,UAAM,oBAAoB,MAAM;AACxB,YAAA,cAAc,aAAa,MAAM,QAAQ;AAAA,IAAA;AAGjD,UAAM,kBAAkB,MAAM;AACvB,WAAA,QAAQ,MAAM,QAAQ;AAAA,IAAA;AAG7B,UAAM,iBAAiB,MAAM;AACtB,WAAA,OAAO,MAAM,QAAQ;AAAA,IAAA;AAG5B,UAAM,sBAAsB,MAAM;AAC3B,WAAA,YAAY,MAAM,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"material-item.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-item.vue"],"sourcesContent":["<template>\n <ElCard\n :class=\"['mk-material-item', isSelected ? 'is-selected' : '']\"\n shadow=\"never\"\n @click.capture=\"handleClick\"\n >\n <div class=\"mk-material-item__tools\">\n <div class=\"mk-material-item__tools-item\">\n <ElDropdown>\n <MKSvgIcon iconClass=\"More\" />\n\n <template #dropdown>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 1\"\n @click=\"handleCutClick\"\n >\n 裁切\n </ElDropdownItem>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 2\"\n @click=\"handleDownloadClick\"\n >\n 下载\n </ElDropdownItem>\n <ElDropdownItem @click=\"handleMoveClick\">移动分组</ElDropdownItem>\n <ElDropdownItem @click=\"handleDeleteClick\">删除</ElDropdownItem>\n </template>\n </ElDropdown>\n </div>\n </div>\n\n <div class=\"mk-material-item__preview\">\n <MaterialComponent :src=\"material.path\" />\n </div>\n <div class=\"mk-material-item__title\">{{ material.desc }}</div>\n </ElCard>\n</template>\n\n<script setup lang=\"ts\">\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews/ms-material\";\nimport { computed, toRaw } from \"vue\";\n\nconst props = defineProps({\n materialTable: { type: MsMaterialTable, required: true },\n material: { type: Object, required: true },\n});\n\nconst emit = defineEmits([\"click\", \"move\", \"cut\", \"download\"]);\n\nconst isSelected = computed(() =>\n props.materialTable.getSelection().includes(props.material.id)\n);\n\nconst currentMaterialTypeValue = computed(\n () => props.materialTable.currentMaterialType?.value ?? null\n);\n\nconst MaterialComponent = computed(() => {\n const component =\n props.materialTable.resolveMaterialComponent(\n props.material as MsMaterial\n ) || props.materialTable.materialComponents.resolveComponent(\"MKFileView\")!;\n\n return toRaw(component.component);\n});\n\nconst handleClick = (event: MouseEvent) => {\n emit(\"click\", event);\n};\n\nconst handleDeleteClick = () => {\n props.materialTable.deleteRecord(props.material);\n};\n\nconst handleMoveClick = () => {\n emit(\"move\", props.material);\n};\n\nconst handleCutClick = () => {\n emit(\"cut\", props.material);\n};\n\nconst handleDownloadClick = () => {\n emit(\"download\", props.material);\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA0CA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAEb,UAAM,aAAa;AAAA,MAAS,MAC1B,MAAM,cAAc,aAAA,EAAe,SAAS,MAAM,SAAS,EAAE;AAAA,IAAA;AAG/D,UAAM,2BAA2B;AAAA,MAC/B,MAAA;;AAAM,4BAAM,cAAc,wBAApB,mBAAyC,UAAS;AAAA;AAAA,IAAA;AAGpD,UAAA,oBAAoB,SAAS,MAAM;AACjC,YAAA,YACJ,MAAM,cAAc;AAAA,QAClB,MAAM;AAAA,MACH,KAAA,MAAM,cAAc,mBAAmB,iBAAiB,YAAY;AAEpE,aAAA,MAAM,UAAU,SAAS;AAAA,IAAA,CACjC;AAEK,UAAA,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS,KAAK;AAAA,IAAA;AAGrB,UAAM,oBAAoB,MAAM;AACxB,YAAA,cAAc,aAAa,MAAM,QAAQ;AAAA,IAAA;AAGjD,UAAM,kBAAkB,MAAM;AACvB,WAAA,QAAQ,MAAM,QAAQ;AAAA,IAAA;AAG7B,UAAM,iBAAiB,MAAM;AACtB,WAAA,OAAO,MAAM,QAAQ;AAAA,IAAA;AAG5B,UAAM,sBAAsB,MAAM;AAC3B,WAAA,YAAY,MAAM,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,11 @@
1
1
  import { buildProps } from "@maketribe/utils";
2
2
  import "@maketribe/dm";
3
3
  import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
4
- import "@maketribe/request";
5
4
  import "vue";
6
5
  import "element-plus";
7
6
  import "../../../../core/DataModelDefines.js";
8
7
  import "vue-router";
8
+ import "@maketribe/request";
9
9
  import "@maketribe/locale";
10
10
  import "../../../../components/basic/svg-icon/index.js";
11
11
  import "../../../../components/data-model/data-form/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { MsMaterial, MsMaterialMan, MsMaterialTable } from \"../../dataviews\";\n\nexport const materialListProps = buildProps({\n materialTable: {\n type: MsMaterialTable,\n },\n selectable: {\n type: Boolean,\n default: false,\n },\n selectedPath: {\n type: String,\n },\n} as const);\n\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,EACR;AACF,CAAU;"}
1
+ {"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\n\nexport const materialListProps = buildProps({\n materialTable: {\n type: MsMaterialTable,\n },\n selectable: {\n type: Boolean,\n default: false,\n },\n selectedPath: {\n type: String,\n },\n} as const);\n\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,EACR;AACF,CAAU;"}
@@ -2,11 +2,11 @@ import { reactive, createVNode, Fragment, createTextVNode } from "vue";
2
2
  import { Dialoger } from "@maketribe/dm";
3
3
  import { MKMaterialList } from "../material-list/index.js";
4
4
  import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
5
- import "@maketribe/request";
6
5
  import "@maketribe/utils";
7
6
  import { ElButton } from "element-plus";
8
7
  import "../../../../core/DataModelDefines.js";
9
8
  import "vue-router";
9
+ import "@maketribe/request";
10
10
  import "@maketribe/locale";
11
11
  import "../../../../components/basic/svg-icon/index.js";
12
12
  import "../../../../components/data-model/data-form/index.js";
@@ -6,6 +6,7 @@ import { DataTree, TableColumn, TableActionColumn } from "@maketribe/dm";
6
6
  import { DATA_MODEL_NAME } from "../../../../constants/data-model.js";
7
7
  import { MenuType } from "../../../../constants/menu.js";
8
8
  import { MODULE_NAME } from "../../constants/index.js";
9
+ import { MSAppClient } from "../../../../core/MSAppClient.js";
9
10
  const _MsMenuTree = class _MsMenuTree extends (_b = DataTree, _a = DATA_MODEL_NAME, _b) {
10
11
  constructor(options = {}) {
11
12
  super({
@@ -38,6 +39,23 @@ const _MsMenuTree = class _MsMenuTree extends (_b = DataTree, _a = DATA_MODEL_NA
38
39
  formatItem(item) {
39
40
  item.type += "";
40
41
  item.children = item.children || [];
42
+ item.targetUrl = "";
43
+ if (!item.targetUrl) {
44
+ const route = item.routes.find((route2) => route2.id === item.routeId);
45
+ item.targetUrl = (route == null ? void 0 : route.route) || "";
46
+ if (!item.targetUrl && route) {
47
+ const pageRoute = MSAppClient.instance.pageManager.extendsPages.find(
48
+ (item2) => item2.name === route.name
49
+ );
50
+ item.targetUrl = (pageRoute == null ? void 0 : pageRoute.path) ?? "";
51
+ }
52
+ if (!item.targetUrl && route) {
53
+ const match = route.name.match(/^dv\/([^/]+)\/(edit|.+)$/i);
54
+ if (match) {
55
+ item.targetUrl = match[2] === "edit" ? `/dv/${match[1]}/edit` : `/dv/${match[1]}`;
56
+ }
57
+ }
58
+ }
41
59
  return item;
42
60
  }
43
61
  nodeHasChildren(node) {
@@ -1 +1 @@
1
- {"version":3,"file":"MsMenuTree.js","sources":["../../../../../../src/modules/ms/dataviews/ms-menu/MsMenuTree.ts"],"sourcesContent":["import {\n DataTableOptions,\n DataTree,\n DataTreeNode,\n TableActionColumn,\n TableColumn,\n} from \"@maketribe/dm\";\nimport type { MsMenuItem } from \"./MsMenuForm\";\nimport { DATA_MODEL_NAME, MenuType } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsMenuItemNode = MsMenuItem & { children: MsMenuItemNode[] };\n\nexport class MsMenuTree extends DataTree<MsMenuItemNode> {\n static [DATA_MODEL_NAME]: string = \"ms-menu\";\n\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\n super({\n name: MsMenuTree[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n sortFieldName: \"sort\",\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"data.title\", label: \"菜单描述\", align: \"left\" }),\n new TableColumn({\n name: \"data.type\",\n width: \"100px\",\n label: \"菜单类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping: {\n [MenuType.Container]: \"菜单组\",\n [MenuType.Menu]: \"菜单\",\n [MenuType.SystemSettings]: \"系统设置\",\n },\n },\n }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: MsMenuItemNode): MsMenuItemNode {\n item.type += \"\";\n item.children = item.children || [];\n\n return item;\n }\n\n public nodeHasChildren(node: DataTreeNode<MsMenuItemNode>): boolean {\n return ([MenuType.Container, MenuType.SystemSettings] as string[]).includes(\n node.data?.type as string\n );\n }\n\n async load(params?: Record<string, any>) {\n return super.loadAll(params);\n }\n}\n"],"names":["_a"],"mappings":";;;;;;;;AAaO,MAAM,cAAN,MAAM,qBAAmB,eACtB,sBADsB,IAAyB;AAAA,EAGvD,YAAY,UAA0C,IAAI;AAClD,UAAA;AAAA,MACJ,MAAM,YAAW,eAAe;AAAA,MAChC,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,cAAc,OAAO,QAAQ,OAAO,QAAQ;AAAA,MACpE,IAAI,YAAY;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,CAAC,SAAS,SAAS,GAAG;AAAA,YACtB,CAAC,SAAS,IAAI,GAAG;AAAA,YACjB,CAAC,SAAS,cAAc,GAAG;AAAA,UAC7B;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,IAAI,kBAAkB;AAAA,IAAA,CACvB;AAAA,EACH;AAAA,EAEA,WAAW,MAAsC;AAC/C,SAAK,QAAQ;AACR,SAAA,WAAW,KAAK,YAAY,CAAA;AAE1B,WAAA;AAAA,EACT;AAAA,EAEO,gBAAgB,MAA6C;;AAClE,WAAQ,CAAC,SAAS,WAAW,SAAS,cAAc,EAAe;AAAA,OACjEA,MAAA,KAAK,SAAL,gBAAAA,IAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,MAAM,KAAK,QAA8B;AAChC,WAAA,MAAM,QAAQ,MAAM;AAAA,EAC7B;AACF;AAjDE,cADW,aACH,IAA2B;AAD9B,IAAM,aAAN;"}
1
+ {"version":3,"file":"MsMenuTree.js","sources":["../../../../../../src/modules/ms/dataviews/ms-menu/MsMenuTree.ts"],"sourcesContent":["import {\n DataTableOptions,\n DataTree,\n DataTreeNode,\n TableActionColumn,\n TableColumn,\n} from \"@maketribe/dm\";\nimport type { MsMenuItem } from \"./MsMenuForm\";\nimport { DATA_MODEL_NAME, MenuType } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\nimport { MSAppClient } from \"../../../../core/MSAppClient\";\n\nexport type MsMenuItemNode = MsMenuItem & {\n children: MsMenuItemNode[];\n targetUrl: string;\n};\n\nexport class MsMenuTree extends DataTree<MsMenuItemNode> {\n static [DATA_MODEL_NAME]: string = \"ms-menu\";\n\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\n super({\n name: MsMenuTree[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n sortFieldName: \"sort\",\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"data.title\", label: \"菜单描述\", align: \"left\" }),\n new TableColumn({\n name: \"data.type\",\n width: \"100px\",\n label: \"菜单类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping: {\n [MenuType.Container]: \"菜单组\",\n [MenuType.Menu]: \"菜单\",\n [MenuType.SystemSettings]: \"系统设置\",\n },\n },\n }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: MsMenuItemNode): MsMenuItemNode {\n item.type += \"\";\n item.children = item.children || [];\n\n item.targetUrl = \"\";\n\n if (!item.targetUrl) {\n const route = item.routes.find((route) => route.id === item.routeId);\n item.targetUrl = route?.route || \"\";\n\n if (!item.targetUrl && route) {\n const pageRoute = MSAppClient.instance!.pageManager.extendsPages.find(\n (item) => item.name === route.name\n );\n\n item.targetUrl = pageRoute?.path ?? \"\";\n }\n\n if (!item.targetUrl && route) {\n const match = route.name.match(/^dv\\/([^/]+)\\/(edit|.+)$/i);\n\n if (match) {\n item.targetUrl =\n match[2] === \"edit\" ? `/dv/${match[1]}/edit` : `/dv/${match[1]}`;\n }\n }\n }\n\n return item;\n }\n\n public nodeHasChildren(node: DataTreeNode<MsMenuItemNode>): boolean {\n return ([MenuType.Container, MenuType.SystemSettings] as string[]).includes(\n node.data?.type as string\n );\n }\n\n async load(params?: Record<string, any>) {\n return super.loadAll(params);\n }\n}\n"],"names":["route","item","_a"],"mappings":";;;;;;;;;AAiBO,MAAM,cAAN,MAAM,qBAAmB,eACtB,sBADsB,IAAyB;AAAA,EAGvD,YAAY,UAA0C,IAAI;AAClD,UAAA;AAAA,MACJ,MAAM,YAAW,eAAe;AAAA,MAChC,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,cAAc,OAAO,QAAQ,OAAO,QAAQ;AAAA,MACpE,IAAI,YAAY;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,CAAC,SAAS,SAAS,GAAG;AAAA,YACtB,CAAC,SAAS,IAAI,GAAG;AAAA,YACjB,CAAC,SAAS,cAAc,GAAG;AAAA,UAC7B;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,IAAI,kBAAkB;AAAA,IAAA,CACvB;AAAA,EACH;AAAA,EAEA,WAAW,MAAsC;AAC/C,SAAK,QAAQ;AACR,SAAA,WAAW,KAAK,YAAY,CAAA;AAEjC,SAAK,YAAY;AAEb,QAAA,CAAC,KAAK,WAAW;AACb,YAAA,QAAQ,KAAK,OAAO,KAAK,CAACA,WAAUA,OAAM,OAAO,KAAK,OAAO;AAC9D,WAAA,aAAY,+BAAO,UAAS;AAE7B,UAAA,CAAC,KAAK,aAAa,OAAO;AAC5B,cAAM,YAAY,YAAY,SAAU,YAAY,aAAa;AAAA,UAC/D,CAACC,UAASA,MAAK,SAAS,MAAM;AAAA,QAAA;AAG3B,aAAA,aAAY,uCAAW,SAAQ;AAAA,MACtC;AAEI,UAAA,CAAC,KAAK,aAAa,OAAO;AAC5B,cAAM,QAAQ,MAAM,KAAK,MAAM,2BAA2B;AAE1D,YAAI,OAAO;AACT,eAAK,YACH,MAAM,CAAC,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,UAAU,OAAO,MAAM,CAAC,CAAC;AAAA,QAClE;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EACT;AAAA,EAEO,gBAAgB,MAA6C;;AAClE,WAAQ,CAAC,SAAS,WAAW,SAAS,cAAc,EAAe;AAAA,OACjEC,MAAA,KAAK,SAAL,gBAAAA,IAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,MAAM,KAAK,QAA8B;AAChC,WAAA,MAAM,QAAQ,MAAM;AAAA,EAC7B;AACF;AAzEE,cADW,aACH,IAA2B;AAD9B,IAAM,aAAN;"}
@@ -6,9 +6,12 @@ import "@maketribe/dm";
6
6
  import { MsMenuTable } from "../ms-menu/MsMenuTable.js";
7
7
  import { MsRouteTable } from "../ms-menu/ms-route/MsRouteTable.js";
8
8
  import { MsPermissionPointDefineTable } from "../ms-menu/ms-permission-point/MsPermissionPointDefineTable.js";
9
+ import "vue-router";
10
+ import "@maketribe/locale";
11
+ import { postTraverse } from "@maketribe/utils";
12
+ import "../../../../core/DataModelDefines.js";
9
13
  import { MsRoleRouteTable } from "./ms-role-route/MsRoleRouteTable.js";
10
14
  import { MsRolePermissionPointTable } from "./ms-role-permission-point/MsRolePermissionPointTable.js";
11
- import { postTraverse } from "@maketribe/utils";
12
15
  class RolePermissionConfigTable extends MsMenuTable {
13
16
  constructor(options = {}) {
14
17
  super({ ...options });