@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 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, inject, ref, unref } from \"vue\";\nimport { ElButton, ElTree } from \"element-plus\";\nimport type { NodeDropType } from \"element-plus/es/components/tree/src/tree.type\";\nimport type { DragEvents } from \"element-plus/es/components/tree/src/model/useDragNode\";\nimport type Node from \"element-plus/es/components/tree/src/model/node\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { treeEmits, treeProps } from \"./tree-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKTree\",\n props: treeProps,\n emits: treeEmits,\n setup(props, { emit }) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTree = computed(\n () => props.dataTree ?? (dataTableContext!.dataTable as DataTree)\n );\n\n const treeRef = ref<typeof ElTree | null>(null);\n\n const rootNodes = computed(() => unref(dataTree).rootNodes);\n\n const handleAdd = (dataTreeNode?: DataTreeNode) => {\n unref(dataTree).addRecord(\n dataTreeNode ? { pid: dataTreeNode.data.id } : {}\n );\n };\n\n const handleEdit = (dataTreeNode: DataTreeNode) => {\n unref(dataTree).editRecord(dataTreeNode.data);\n };\n\n const handleDelete = async (dataTreeNode: DataTreeNode) => {\n unref(dataTree).deleteRecord(dataTreeNode.data);\n };\n\n const handleLoad = async (node: Node, resolve: Function) => {\n if (node.level === 0) {\n return;\n }\n\n if (!unref(dataTree).lazy) {\n resolve(node.data.children);\n return;\n }\n\n const dataTreeNode = node.data as DataTreeNode;\n\n await dataTreeNode.load();\n\n resolve(dataTreeNode.children);\n };\n\n const filter = (value: any) => {\n unref(treeRef)?.filter(value);\n };\n\n const handleCurrentChange = (\n dataTreeNode: DataTreeNode | null,\n node: Node | null\n ) => {\n if (!dataTreeNode) {\n return;\n }\n\n const _dataTree = unref(dataTree);\n\n if (!props.allowSelectContainer && !dataTreeNode.isLeaf) {\n const current = _dataTree.getSelection()[0] ?? null;\n\n unref(treeRef)?.setCurrentKey(current);\n\n return;\n }\n\n _dataTree.setSelection([dataTreeNode.data[_dataTree.primaryKey]]);\n };\n\n const handleNodeDrop = (\n draggingNode: Node,\n dropNode: Node,\n dropType: NodeDropType,\n event: DragEvents\n ) => {\n // console.log(draggingNode, dropNode);\n unref(dataTree).handleNodeDrop(\n draggingNode.data! as any,\n dropNode.data! as any,\n dropType\n );\n };\n\n const handleNodeClick = (node: DataTreeNode<any>) => {\n emit(\"nodeClick\", node);\n };\n\n return {\n treeRef,\n innerDataTree: dataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n filter,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n };\n },\n render() {\n const {\n defaultExpandAll,\n filterNodeMethod,\n innerDataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n $slots,\n } = this;\n\n const currentNodeKey = innerDataTree.getSelection()[0] ?? \"\";\n\n return (\n <ElTree\n props={{ children: \"children\", isLeaf: \"isLeaf\" }}\n defaultExpandAll={defaultExpandAll}\n ref=\"treeRef\"\n class=\"mk-data-tree\"\n highlight-current\n data={rootNodes}\n lazy\n currentNodeKey={currentNodeKey}\n filterNodeMethod={filterNodeMethod as any}\n nodeKey=\"primaryValue\"\n expand-on-click-node={false}\n load={handleLoad}\n onCurrent-change={handleCurrentChange}\n onNode-drop={handleNodeDrop}\n draggable={this.$props.draggable}\n onNode-click={handleNodeClick}\n v-slots={{\n default: (scope: any) => {\n let children = $slots.default?.(scope);\n\n if (children) {\n return children;\n }\n\n const { data } = scope;\n\n const label = data.data[innerDataTree.props.label];\n\n const main = $slots[\"node-main\"]?.(scope) || label;\n\n const tools = $slots[\"node-tools\"]?.(scope) || (\n <Fragment>\n {$slots[\"node-tools-prefix\"]?.(scope)}\n <ElButton type=\"primary\" link onClick={() => handleAdd(data)}>\n 添加\n </ElButton>\n <ElButton type=\"primary\" link onClick={() => handleEdit(data)}>\n 编辑\n </ElButton>\n <ElButton type=\"danger\" link onClick={() => handleDelete(data)}>\n 删除\n </ElButton>\n {$slots[\"node-tools-suffix\"]?.(scope)}\n </Fragment>\n );\n\n return (\n <div class=\"mk-data-tree-node\">\n <div class=\"mk-data-tree-node_main\">{main}</div>\n\n <div\n class=\"mk-data-tree-node__tools\"\n onClick={(e) => e.stopPropagation()}\n >\n {tools}\n </div>\n </div>\n );\n },\n }}\n />\n );\n },\n});\n"],"names":["defineComponent","name","props","treeProps","emits","treeEmits","setup","emit","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTree","computed","dataTable","treeRef","ref","rootNodes","unref","handleAdd","dataTreeNode","addRecord","pid","data","id","handleEdit","editRecord","handleDelete","deleteRecord","handleLoad","node","resolve","level","lazy","children","load","filter","value","handleCurrentChange","_dataTree","allowSelectContainer","isLeaf","current","getSelection","setCurrentKey","setSelection","primaryKey","handleNodeDrop","draggingNode","dropNode","dropType","event","handleNodeClick","innerDataTree","render","defaultExpandAll","filterNodeMethod","$slots","currentNodeKey","_createVNode","ElTree","$props","draggable","default","scope","label","main","tools","_Fragment","ElButton","onClick","_createTextVNode","e","stopPropagation"],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElButton, ElTree } from \"element-plus\";\nimport type { NodeDropType } from \"element-plus/es/components/tree/src/tree.type\";\nimport type { DragEvents } from \"element-plus/es/components/tree/src/model/useDragNode\";\nimport type Node from \"element-plus/es/components/tree/src/model/node\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { treeEmits, treeProps } from \"./tree-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKTree\",\n props: treeProps,\n emits: treeEmits,\n setup(props, { emit }) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTree = computed(\n () => props.dataTree ?? (dataTableContext!.dataTable as DataTree)\n );\n\n const treeRef = ref<typeof ElTree | null>(null);\n\n const rootNodes = computed(() => unref(dataTree).rootNodes);\n\n const currentNodeKey = computed(\n () => (props.currentNodeKey || unref(dataTree).getSelection()[0]) ?? \"\"\n );\n\n onMounted(() => {\n watch(\n currentNodeKey,\n (currentNodeKey) => {\n unref(treeRef)?.setCurrentKey(currentNodeKey || null);\n },\n { immediate: true }\n );\n });\n\n unref(dataTree).afterLoadEvent.on(async () => {\n await nextTick();\n\n unref(treeRef)?.setCurrentKey(unref(currentNodeKey) || null);\n });\n\n const handleAdd = (dataTreeNode?: DataTreeNode) => {\n unref(dataTree).addRecord(\n dataTreeNode ? { pid: dataTreeNode.data.id } : {}\n );\n };\n\n const handleEdit = (dataTreeNode: DataTreeNode) => {\n unref(dataTree).editRecord(dataTreeNode.data);\n };\n\n const handleDelete = async (dataTreeNode: DataTreeNode) => {\n unref(dataTree).deleteRecord(dataTreeNode.data);\n };\n\n const handleLoad = async (node: Node, resolve: Function) => {\n if (node.level === 0) {\n return;\n }\n\n if (!unref(dataTree).lazy) {\n resolve(node.data.children);\n return;\n }\n\n const dataTreeNode = node.data as DataTreeNode;\n\n await dataTreeNode.load();\n\n resolve(dataTreeNode.children);\n };\n\n const filter = (value: any) => {\n unref(treeRef)?.filter(value);\n };\n\n const handleCurrentChange = (\n dataTreeNode: DataTreeNode | null,\n node: Node | null\n ) => {\n if (!dataTreeNode) {\n return;\n }\n\n const _dataTree = unref(dataTree);\n\n if (!props.allowSelectContainer && !dataTreeNode.isLeaf) {\n const current = _dataTree.getSelection()[0] ?? null;\n\n unref(treeRef)?.setCurrentKey(current);\n\n return;\n }\n\n _dataTree.setSelection([dataTreeNode.data[_dataTree.primaryKey]]);\n };\n\n // 没作用\n // watch(()=>props.currentNodeKey,()=>{\n // treeRef.value?.getCurrentKey(props.currentNodeKey)\n // console.log(\"props.currentNodeKey\",props.currentNodeKey)\n // },{ immediate:true })\n\n const handleNodeDrop = (\n draggingNode: Node,\n dropNode: Node,\n dropType: NodeDropType,\n event: DragEvents\n ) => {\n // console.log(draggingNode, dropNode);\n unref(dataTree).handleNodeDrop(\n draggingNode.data! as any,\n dropNode.data! as any,\n dropType\n );\n };\n\n const handleNodeClick = (node: DataTreeNode<any>) => {\n emit(\"nodeClick\", node);\n };\n\n return {\n treeRef,\n innerDataTree: dataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n filter,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n };\n },\n render() {\n const {\n defaultExpandAll,\n filterNodeMethod,\n innerDataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n $slots,\n } = this;\n\n return (\n <ElTree\n props={{ children: \"children\", isLeaf: \"isLeaf\" }}\n defaultExpandAll={defaultExpandAll}\n ref=\"treeRef\"\n class=\"mk-data-tree\"\n highlight-current\n data={rootNodes}\n lazy\n filterNodeMethod={filterNodeMethod as any}\n nodeKey=\"primaryValue\"\n expand-on-click-node={false}\n load={handleLoad}\n onCurrent-change={handleCurrentChange}\n onNode-drop={handleNodeDrop}\n draggable={this.$props.draggable}\n onNode-click={handleNodeClick}\n v-slots={{\n default: (scope: any) => {\n let children = $slots.default?.(scope);\n\n if (children) {\n return children;\n }\n\n const { data } = scope;\n\n const label = data.data[innerDataTree.props.label];\n\n const main = $slots[\"node-main\"]?.(scope) || label;\n\n const tools = $slots[\"node-tools\"]?.(scope) || (\n <Fragment>\n {$slots[\"node-tools-prefix\"]?.(scope)}\n <ElButton type=\"primary\" link onClick={() => handleAdd(data)}>\n 添加\n </ElButton>\n <ElButton type=\"primary\" link onClick={() => handleEdit(data)}>\n 编辑\n </ElButton>\n <ElButton type=\"danger\" link onClick={() => handleDelete(data)}>\n 删除\n </ElButton>\n {$slots[\"node-tools-suffix\"]?.(scope)}\n </Fragment>\n );\n\n return (\n <div class=\"mk-data-tree-node\">\n <div class=\"mk-data-tree-node_main\">{main}</div>\n\n <div\n class=\"mk-data-tree-node__tools\"\n onClick={(e) => e.stopPropagation()}\n >\n {tools}\n </div>\n </div>\n );\n },\n }}\n />\n );\n },\n});\n"],"names":["defineComponent","name","props","treeProps","emits","treeEmits","setup","emit","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTree","computed","dataTable","treeRef","ref","rootNodes","unref","currentNodeKey","getSelection","onMounted","watch","setCurrentKey","immediate","afterLoadEvent","on","nextTick","handleAdd","dataTreeNode","addRecord","pid","data","id","handleEdit","editRecord","handleDelete","deleteRecord","handleLoad","node","resolve","level","lazy","children","load","filter","value","handleCurrentChange","_dataTree","allowSelectContainer","isLeaf","current","setSelection","primaryKey","handleNodeDrop","draggingNode","dropNode","dropType","event","handleNodeClick","innerDataTree","render","defaultExpandAll","filterNodeMethod","$slots","_createVNode","ElTree","$props","draggable","default","scope","label","main","tools","_Fragment","ElButton","onClick","_createTextVNode","e","stopPropagation"],"mappings":";;;;AAmBA,MAAeA,uCAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,OAAOC;AAAAA,EACPC,MAAMJ,OAAO;AAAA,IAAEK;AAAAA,EAAK,GAAG;AACrB,UAAMC,mBAAmBC,OAAOC,sBAAsB;AAEtD,UAAMC,WAAWC,SACf,MAAMV,MAAMS,YAAaH,iBAAkBK,SAC7C;AAEA,UAAMC,UAAUC,IAA0B,IAAI;AAE9C,UAAMC,YAAYJ,SAAS,MAAMK,MAAMN,QAAQ,EAAEK,SAAS;AAE1D,UAAME,iBAAiBN,SACrB,OAAOV,MAAMgB,kBAAkBD,MAAMN,QAAQ,EAAEQ,aAAc,EAAC,CAAC,MAAM,EACvE;AAEAC,cAAU,MAAM;AACdC,YACEH,gBACCA,CAAAA,oBAAmB;;AAClBD,oBAAMH,OAAO,MAAbG,mBAAgBK,cAAcJ,mBAAkB;AAAA,MAClD,GACA;AAAA,QAAEK,WAAW;AAAA,MAAK,CACpB;AAAA,IACF,CAAC;AAEDN,UAAMN,QAAQ,EAAEa,eAAeC,GAAG,YAAY;;AAC5C,YAAMC,SAAQ;AAEdT,kBAAMH,OAAO,MAAbG,mBAAgBK,cAAcL,MAAMC,cAAc,KAAK;AAAA,IACzD,CAAC;AAED,UAAMS,YAAaC,kBAAgC;AACjDX,YAAMN,QAAQ,EAAEkB,UACdD,eAAe;AAAA,QAAEE,KAAKF,aAAaG,KAAKC;AAAAA,MAAI,IAAG,CACjD,CAAA;AAAA;AAGF,UAAMC,aAAcL,kBAA+B;AACjDX,YAAMN,QAAQ,EAAEuB,WAAWN,aAAaG,IAAI;AAAA;AAG9C,UAAMI,eAAe,OAAOP,iBAA+B;AACzDX,YAAMN,QAAQ,EAAEyB,aAAaR,aAAaG,IAAI;AAAA;AAGhD,UAAMM,aAAa,OAAOC,MAAYC,YAAsB;AAC1D,UAAID,KAAKE,UAAU,GAAG;AACpB;AAAA,MACF;AAEA,UAAI,CAACvB,MAAMN,QAAQ,EAAE8B,MAAM;AACzBF,gBAAQD,KAAKP,KAAKW,QAAQ;AAC1B;AAAA,MACF;AAEA,YAAMd,eAAeU,KAAKP;AAE1B,YAAMH,aAAae;AAEnBJ,cAAQX,aAAac,QAAQ;AAAA;AAG/B,UAAME,SAAUC,WAAe;;AAC7B5B,kBAAMH,OAAO,MAAbG,mBAAgB2B,OAAOC;AAAAA;AAGzB,UAAMC,sBAAsBA,CAC1BlB,cACAU,SACG;;AACH,UAAI,CAACV,cAAc;AACjB;AAAA,MACF;AAEA,YAAMmB,YAAY9B,MAAMN,QAAQ;AAEhC,UAAI,CAACT,MAAM8C,wBAAwB,CAACpB,aAAaqB,QAAQ;AACvD,cAAMC,UAAUH,UAAU5B,aAAc,EAAC,CAAC,KAAK;AAE/CF,oBAAMH,OAAO,MAAbG,mBAAgBK,cAAc4B;AAE9B;AAAA,MACF;AAEAH,gBAAUI,aAAa,CAACvB,aAAaG,KAAKgB,UAAUK,UAAU,CAAC,CAAC;AAAA;AASlE,UAAMC,iBAAiBA,CACrBC,cACAC,UACAC,UACAC,UACG;AAEHxC,YAAMN,QAAQ,EAAE0C,eACdC,aAAavB,MACbwB,SAASxB,MACTyB,QACF;AAAA;AAGF,UAAME,kBAAmBpB,UAA4B;AACnD/B,WAAK,aAAa+B,IAAI;AAAA;AAGxB,WAAO;AAAA,MACLxB;AAAAA,MACA6C,eAAehD;AAAAA,MACfK;AAAAA,MACAW;AAAAA,MACAM;AAAAA,MACAE;AAAAA,MACAE;AAAAA,MACAO;AAAAA,MACAE;AAAAA,MACAO;AAAAA,MACAK;AAAAA;EAEH;AAAA,EACDE,SAAS;AACP,UAAM;AAAA,MACJC;AAAAA,MACAC;AAAAA,MACAH;AAAAA,MACA3C;AAAAA,MACAW;AAAAA,MACAM;AAAAA,MACAE;AAAAA,MACAE;AAAAA,MACAS;AAAAA,MACAO;AAAAA,MACAK;AAAAA,MACAK;AAAAA,IACD,IAAG;AAEJ,WAAAC,YAAAC,QAAA;AAAA,MAAA,SAEW;AAAA,QAAEvB,UAAU;AAAA,QAAYO,QAAQ;AAAA,MAAU;AAAA,MAAA,oBAC/BY;AAAAA,MAAgB,OAAA;AAAA,MAAA,SAAA;AAAA,MAAA,qBAAA;AAAA,MAAA,QAI5B7C;AAAAA,MAAS,QAAA;AAAA,MAAA,oBAEG8C;AAAAA,MAAgB,WAAA;AAAA,MAAA,wBAEZ;AAAA,MAAK,QACrBzB;AAAAA,MAAU,oBACES;AAAAA,MAAmB,eACxBO;AAAAA,MAAc,aAChB,KAAKa,OAAOC;AAAAA,MAAS,gBAClBT;AAAAA,OACL;AAAA,MACPU,SAAUC,WAAe;;AACvB,YAAI3B,YAAWqB,YAAOK,YAAPL,gCAAiBM;AAEhC,YAAI3B,UAAU;AACZ,iBAAOA;AAAAA,QACT;AAEA,cAAM;AAAA,UAAEX;AAAAA,QAAM,IAAGsC;AAEjB,cAAMC,QAAQvC,KAAKA,KAAK4B,cAAczD,MAAMoE,KAAK;AAEjD,cAAMC,SAAOR,YAAO,iBAAPA,gCAAsBM,WAAUC;AAE7C,cAAME,UAAQT,YAAO,kBAAPA,gCAAuBM,WAAML,YAAAS,UAEtCV,MAAAA,EAAAA,YAAO,yBAAPA,gCAA8BM,QAAML,YAAAU,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACEC,MAAMhD,UAAUI,IAAI;AAAA,QAAC,GAAA;AAAA,UAAAqC,SAAAA,MAAA,CAAAQ,gBAAA,IAAA,CAAA;AAAA,SAAAZ,GAAAA,YAAAU,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WAGrBC,MAAM1C,WAAWF,IAAI;AAAA,QAAC,GAAA;AAAA,UAAAqC,SAAAA,MAAA,CAAAQ,gBAAA,IAAA,CAAA;AAAA,SAAAZ,GAAAA,YAAAU,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WAGvBC,MAAMxC,aAAaJ,IAAI;AAAA,QAAC,GAAA;AAAA,UAAAqC,SAAAA,MAAA,CAAAQ,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,IAG7Db,YAAO,yBAAPA,gCAA8BM,MAAM,CAExC;AAED,eAAAL,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,QAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,QAEyCO,GAAAA,CAAAA,IAAI,IAAAP,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,UAAA,WAI7Ba,OAAMA,EAAEC,gBAAgB;AAAA,QAAC,GAAA,CAElCN,KAAK,CAAA,CAAA,CAAA;AAAA,MAId;AAAA,KACD;AAAA,EAGP;AACF,CAAC;"}
@@ -52,6 +52,7 @@ const useSingleView = (options) => {
52
52
  watch(
53
53
  options.dataTable,
54
54
  (dataTable, _, onCleanup) => {
55
+ isShowDataForm.value = false;
55
56
  handleDataTable(dataTable);
56
57
  onCleanup(() => {
57
58
  dataTable == null ? void 0 : dataTable.clearSelection();
@@ -72,6 +73,7 @@ const useSingleView = (options) => {
72
73
  watch(
73
74
  options.dataForm,
74
75
  (dataForm, _, onCleanup) => {
76
+ isShowDataForm.value = false;
75
77
  handleDataForm(dataForm);
76
78
  onCleanup(() => {
77
79
  dataForm == null ? void 0 : dataForm.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"use-single-view.js","sources":["../../../src/composables/use-single-view.ts"],"sourcesContent":["import { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { isRef, onBeforeUnmount, Ref, ref, unref, watch } from \"vue\";\n\nexport type UseSingleViewOptions = {\n dataTable: Ref<DataTable | null> | DataTable;\n dataForm: Ref<DataForm | null> | DataForm;\n};\n\nexport const useSingleView = (options: UseSingleViewOptions) => {\n const isShowDataForm = ref(false);\n\n const handleDataTable = (dataTable: DataTable | null) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(options.dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(options.dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey as string]\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n isShowDataForm.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDataForm.value = false;\n }\n });\n }\n };\n\n const handleDataForm = (dataForm: DataForm | null) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(options.dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n });\n }\n };\n\n if (isRef(options.dataTable)) {\n watch(\n options.dataTable,\n (dataTable, _, onCleanup) => {\n handleDataTable(dataTable);\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataTable = options.dataTable;\n handleDataTable(dataTable);\n\n onBeforeUnmount(() => {\n dataTable.clearSelection();\n dataTable.dispose();\n });\n }\n\n if (isRef(options.dataForm)) {\n watch(\n options.dataForm,\n (dataForm, _, onCleanup) => {\n handleDataForm(dataForm);\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataForm = options.dataForm;\n handleDataForm(dataForm);\n\n onBeforeUnmount(() => {\n dataForm.dispose();\n });\n }\n\n return { isShowDataForm };\n};\n\nexport const useSingleViewWithDialog = (options: UseSingleViewOptions) => {\n const { isShowDataForm } = useSingleView(options);\n\n watch(isShowDataForm, async (isShowDataForm) => {\n if (isShowDataForm) {\n await Dialoger.dataFormDialog({\n dataForm: unref(options.dataForm)!,\n customDataFormStatus: true,\n });\n }\n });\n};\n"],"names":["isShowDataForm"],"mappings":";;AAQa,MAAA,gBAAgB,CAAC,YAAkC;AACxD,QAAA,iBAAiB,IAAI,KAAK;AAE1B,QAAA,kBAAkB,CAAC,cAAgC;AACvD,QAAI,WAAW;AACH,gBAAA,eAAe,GAAG,YAAY;AAChC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEvB,kBAAU,UAAU;AAAA,MAAA,CACrB;AAED,gBAAU,gBAAgB,GAAG,OAAO,EAAE,WAAW;AACzC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEnB,YAAA;AACI,gBAAA,WAAW,MAAM,UAAU;AAAA,YAC/B,KAAK,UAAU,UAAoB;AAAA,UAAA;AAGjC,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,qBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,2BAAe,QAAQ;AACvB;AAAA,UACF;AAAA,iBACO,GAAG;AACV,kBAAQ,MAAM,CAAC;AACf,yBAAe,QAAQ;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGI,QAAA,iBAAiB,CAAC,aAA8B;AACpD,QAAI,UAAU;AACH,eAAA,eAAe,GAAG,MAAM;;AAC/B,uBAAe,QAAQ;AAEjB,oBAAA,QAAQ,SAAS,MAAjB,mBAAoB;AAAA,MAAK,CAChC;AAEQ,eAAA,YAAY,GAAG,MAAM;AAC5B,uBAAe,QAAQ;AAAA,MAAA,CACxB;AAAA,IACH;AAAA,EAAA;AAGE,MAAA,MAAM,QAAQ,SAAS,GAAG;AAC5B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,WAAW,GAAG,cAAc;AAC3B,wBAAgB,SAAS;AAEzB,kBAAU,MAAM;AACd,iDAAW;AACX,iDAAW;AAAA,QAAQ,CACpB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,YAAY,QAAQ;AAC1B,oBAAgB,SAAS;AAEzB,oBAAgB,MAAM;AACpB,gBAAU,eAAe;AACzB,gBAAU,QAAQ;AAAA,IAAA,CACnB;AAAA,EACH;AAEI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AAC3B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,UAAU,GAAG,cAAc;AAC1B,uBAAe,QAAQ;AACvB,kBAAU,MAAM;AACd,+CAAU;AAAA,QAAQ,CACnB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,WAAW,QAAQ;AACzB,mBAAe,QAAQ;AAEvB,oBAAgB,MAAM;AACpB,eAAS,QAAQ;AAAA,IAAA,CAClB;AAAA,EACH;AAEA,SAAO,EAAE,eAAe;AAC1B;AAEa,MAAA,0BAA0B,CAAC,YAAkC;AACxE,QAAM,EAAE,eAAA,IAAmB,cAAc,OAAO;AAE1C,QAAA,gBAAgB,OAAOA,oBAAmB;AAC9C,QAAIA,iBAAgB;AAClB,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU,MAAM,QAAQ,QAAQ;AAAA,QAChC,sBAAsB;AAAA,MAAA,CACvB;AAAA,IACH;AAAA,EAAA,CACD;AACH;"}
1
+ {"version":3,"file":"use-single-view.js","sources":["../../../src/composables/use-single-view.ts"],"sourcesContent":["import { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { isRef, onBeforeUnmount, Ref, ref, unref, watch } from \"vue\";\n\nexport type UseSingleViewOptions = {\n dataTable: Ref<DataTable | null> | DataTable;\n dataForm: Ref<DataForm | null> | DataForm;\n};\n\nexport const useSingleView = (options: UseSingleViewOptions) => {\n const isShowDataForm = ref(false);\n\n const handleDataTable = (dataTable: DataTable | null) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(options.dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(options.dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey as string]\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n isShowDataForm.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDataForm.value = false;\n }\n });\n }\n };\n\n const handleDataForm = (dataForm: DataForm | null) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(options.dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n });\n }\n };\n\n if (isRef(options.dataTable)) {\n watch(\n options.dataTable,\n (dataTable, _, onCleanup) => {\n isShowDataForm.value = false;\n\n handleDataTable(dataTable);\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataTable = options.dataTable;\n handleDataTable(dataTable);\n\n onBeforeUnmount(() => {\n dataTable.clearSelection();\n dataTable.dispose();\n });\n }\n\n if (isRef(options.dataForm)) {\n watch(\n options.dataForm,\n (dataForm, _, onCleanup) => {\n isShowDataForm.value = false;\n\n handleDataForm(dataForm);\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataForm = options.dataForm;\n handleDataForm(dataForm);\n\n onBeforeUnmount(() => {\n dataForm.dispose();\n });\n }\n\n return { isShowDataForm };\n};\n\nexport const useSingleViewWithDialog = (options: UseSingleViewOptions) => {\n const { isShowDataForm } = useSingleView(options);\n\n watch(isShowDataForm, async (isShowDataForm) => {\n if (isShowDataForm) {\n await Dialoger.dataFormDialog({\n dataForm: unref(options.dataForm)!,\n customDataFormStatus: true,\n });\n }\n });\n};\n"],"names":["isShowDataForm"],"mappings":";;AAQa,MAAA,gBAAgB,CAAC,YAAkC;AACxD,QAAA,iBAAiB,IAAI,KAAK;AAE1B,QAAA,kBAAkB,CAAC,cAAgC;AACvD,QAAI,WAAW;AACH,gBAAA,eAAe,GAAG,YAAY;AAChC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEvB,kBAAU,UAAU;AAAA,MAAA,CACrB;AAED,gBAAU,gBAAgB,GAAG,OAAO,EAAE,WAAW;AACzC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEnB,YAAA;AACI,gBAAA,WAAW,MAAM,UAAU;AAAA,YAC/B,KAAK,UAAU,UAAoB;AAAA,UAAA;AAGjC,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,qBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,2BAAe,QAAQ;AACvB;AAAA,UACF;AAAA,iBACO,GAAG;AACV,kBAAQ,MAAM,CAAC;AACf,yBAAe,QAAQ;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGI,QAAA,iBAAiB,CAAC,aAA8B;AACpD,QAAI,UAAU;AACH,eAAA,eAAe,GAAG,MAAM;;AAC/B,uBAAe,QAAQ;AAEjB,oBAAA,QAAQ,SAAS,MAAjB,mBAAoB;AAAA,MAAK,CAChC;AAEQ,eAAA,YAAY,GAAG,MAAM;AAC5B,uBAAe,QAAQ;AAAA,MAAA,CACxB;AAAA,IACH;AAAA,EAAA;AAGE,MAAA,MAAM,QAAQ,SAAS,GAAG;AAC5B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,WAAW,GAAG,cAAc;AAC3B,uBAAe,QAAQ;AAEvB,wBAAgB,SAAS;AAEzB,kBAAU,MAAM;AACd,iDAAW;AACX,iDAAW;AAAA,QAAQ,CACpB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,YAAY,QAAQ;AAC1B,oBAAgB,SAAS;AAEzB,oBAAgB,MAAM;AACpB,gBAAU,eAAe;AACzB,gBAAU,QAAQ;AAAA,IAAA,CACnB;AAAA,EACH;AAEI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AAC3B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,UAAU,GAAG,cAAc;AAC1B,uBAAe,QAAQ;AAEvB,uBAAe,QAAQ;AAEvB,kBAAU,MAAM;AACd,+CAAU;AAAA,QAAQ,CACnB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,WAAW,QAAQ;AACzB,mBAAe,QAAQ;AAEvB,oBAAgB,MAAM;AACpB,eAAS,QAAQ;AAAA,IAAA,CAClB;AAAA,EACH;AAEA,SAAO,EAAE,eAAe;AAC1B;AAEa,MAAA,0BAA0B,CAAC,YAAkC;AACxE,QAAM,EAAE,eAAA,IAAmB,cAAc,OAAO;AAE1C,QAAA,gBAAgB,OAAOA,oBAAmB;AAC9C,QAAIA,iBAAgB;AAClB,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU,MAAM,QAAQ,QAAQ;AAAA,QAChC,sBAAsB;AAAA,MAAA,CACvB;AAAA,IACH;AAAA,EAAA,CACD;AACH;"}
@@ -146,12 +146,6 @@ class MSAppClient {
146
146
  item
147
147
  );
148
148
  }
149
- for (let item of internalModule.normalPages) {
150
- this.pageManager.addNormalPage(item);
151
- }
152
- for (let item of internalModule.extendsPages) {
153
- this.pageManager.addExtendsPage(item);
154
- }
155
149
  dataTableComponents.push(internalModule.dataTableComponents);
156
150
  dataFormComponents.push(internalModule.dataFormComponents);
157
151
  dataFilterComponents.push(internalModule.dataFilterComponents);
@@ -179,6 +173,14 @@ class MSAppClient {
179
173
  });
180
174
  this.pageManager.init();
181
175
  this.pageManager.setMSAppCLient(this);
176
+ for (let internalModule of internalModules) {
177
+ for (let item of internalModule.normalPages) {
178
+ this.pageManager.addNormalPage(item);
179
+ }
180
+ for (let item of internalModule.extendsPages) {
181
+ this.pageManager.addExtendsPage(item);
182
+ }
183
+ }
182
184
  this.httpRequest.getInterceptors().response.use((config) => {
183
185
  var _a;
184
186
  if (config.data.code === 401) {
@@ -1 +1 @@
1
- {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n ACCESS_TOKEN_HEADER,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n X_ACCESS_TOKEN_HEADER,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, Components, ComponentsCombine } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { InternalMkModule, MkModule } from \"./MkModule\";\r\nimport { DataModelDefines } from \"./DataModelDefines\";\r\nimport { App } from \"vue\";\r\nimport { DATA_MODEL_NAME } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n app: App;\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataTableHeaderComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n app: App;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n modules: MkModule[] = [];\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n dataTableComponents: IComponents;\r\n dataTableHeaderComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n i18n: I18n;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.app = options.app;\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataTableHeaderComponents = this._options.dataTableHeaderComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n HttpRequest.appID = this.appID;\r\n HttpRequest.setDefaultHttpRequest(this.httpRequest);\r\n\r\n DVQueryable.setHttpRequest(this.httpRequest);\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n app: options.app,\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataTableHeaderComponents:\r\n options.dataTableHeaderComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n const internalModules = this.modules.map((module) => {\r\n const internalModule = new InternalMkModule(this.app);\r\n\r\n module(internalModule);\r\n\r\n return internalModule;\r\n });\r\n\r\n const dataTableComponents = [];\r\n const dataFormComponents = [];\r\n const whereFilterComponents = [];\r\n const dataFilterComponents = [];\r\n\r\n for (let internalModule of internalModules) {\r\n for (let item of internalModule.dataTableClasses) {\r\n DataModelDefines.instance.registerDataTableDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.dataFormClasses) {\r\n DataModelDefines.instance.registerDataFormDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.dataTreeClasses) {\r\n DataModelDefines.instance.registerDataTreeDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.normalPages) {\r\n this.pageManager.addNormalPage(item);\r\n }\r\n\r\n for (let item of internalModule.extendsPages) {\r\n this.pageManager.addExtendsPage(item);\r\n }\r\n\r\n dataTableComponents.push(internalModule.dataTableComponents);\r\n dataFormComponents.push(internalModule.dataFormComponents);\r\n dataFilterComponents.push(internalModule.dataFilterComponents);\r\n whereFilterComponents.push(internalModule.whereFilterComponents);\r\n }\r\n\r\n this.dataTableComponents = new ComponentsCombine({\r\n componentsList: [...dataTableComponents, this.dataTableComponents],\r\n });\r\n this.dataFormComponents = new ComponentsCombine({\r\n componentsList: [...dataFormComponents, this.dataFormComponents],\r\n });\r\n this.dataFilterComponents = new ComponentsCombine({\r\n componentsList: [...dataFilterComponents, this.dataFilterComponents],\r\n });\r\n this.whereFilterComponents = new ComponentsCombine({\r\n componentsList: [...whereFilterComponents, this.whereFilterComponents],\r\n });\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.userSession?.dispose();\r\n this.vueRouter.push({ name: \"login\" });\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(username: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/login\",\r\n method: \"POST\",\r\n data: {\r\n account: username,\r\n password: md5(`mkbl#${password}`),\r\n vCode: code,\r\n },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async resetPassword(username: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/reset-password\",\r\n method: \"POST\",\r\n data: { account: username, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.setUserSession(null);\r\n }\r\n async changePassword(password: string, newPassword: string, vCode: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/modify-password\",\r\n method: \"POST\",\r\n data: {\r\n password: md5(`mkbl#${password}`),\r\n newPassword: md5(`mkbl#${newPassword}`),\r\n vCode\r\n },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n addModule(module: MkModule) {\r\n this.modules.push(module);\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n ACCESS_TOKEN_HEADER,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n X_ACCESS_TOKEN_HEADER,\n} from \"@maketribe/request\";\nimport { IComponents, Components, ComponentsCombine } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { InternalMkModule, MkModule } from \"./MkModule\";\nimport { DataModelDefines } from \"./DataModelDefines\";\nimport { App } from \"vue\";\nimport { DATA_MODEL_NAME } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n app: App;\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataTableHeaderComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n app: App;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n modules: MkModule[] = [];\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n dataTableComponents: IComponents;\n dataTableHeaderComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n i18n: I18n;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.app = options.app;\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataTableHeaderComponents = this._options.dataTableHeaderComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n this.httpRequest = this._options.httpRequest;\n\n HttpRequest.appID = this.appID;\n HttpRequest.setDefaultHttpRequest(this.httpRequest);\n\n DVQueryable.setHttpRequest(this.httpRequest);\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n app: options.app,\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataTableHeaderComponents:\n options.dataTableHeaderComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n const internalModules = this.modules.map((module) => {\n const internalModule = new InternalMkModule(this.app);\n\n module(internalModule);\n\n return internalModule;\n });\n\n const dataTableComponents = [];\n const dataFormComponents = [];\n const whereFilterComponents = [];\n const dataFilterComponents = [];\n\n for (let internalModule of internalModules) {\n for (let item of internalModule.dataTableClasses) {\n DataModelDefines.instance.registerDataTableDefine(\n (item as any)[DATA_MODEL_NAME],\n item\n );\n }\n\n for (let item of internalModule.dataFormClasses) {\n DataModelDefines.instance.registerDataFormDefine(\n (item as any)[DATA_MODEL_NAME],\n item\n );\n }\n\n for (let item of internalModule.dataTreeClasses) {\n DataModelDefines.instance.registerDataTreeDefine(\n (item as any)[DATA_MODEL_NAME],\n item\n );\n }\n\n dataTableComponents.push(internalModule.dataTableComponents);\n dataFormComponents.push(internalModule.dataFormComponents);\n dataFilterComponents.push(internalModule.dataFilterComponents);\n whereFilterComponents.push(internalModule.whereFilterComponents);\n }\n\n this.dataTableComponents = new ComponentsCombine({\n componentsList: [...dataTableComponents, this.dataTableComponents],\n });\n this.dataFormComponents = new ComponentsCombine({\n componentsList: [...dataFormComponents, this.dataFormComponents],\n });\n this.dataFilterComponents = new ComponentsCombine({\n componentsList: [...dataFilterComponents, this.dataFilterComponents],\n });\n this.whereFilterComponents = new ComponentsCombine({\n componentsList: [...whereFilterComponents, this.whereFilterComponents],\n });\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n for (let internalModule of internalModules) {\n for (let item of internalModule.normalPages) {\n this.pageManager.addNormalPage(item);\n }\n\n for (let item of internalModule.extendsPages) {\n this.pageManager.addExtendsPage(item);\n }\n }\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n this.userSession?.dispose();\n this.vueRouter.push({ name: \"login\" });\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(username: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/ms/app/login\",\n method: \"POST\",\n data: {\n account: username,\n password: md5(`mkbl#${password}`),\n vCode: code,\n },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async resetPassword(username: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/ms/app/reset-password\",\n method: \"POST\",\n data: { account: username, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.setUserSession(null);\n }\n async changePassword(password: string, newPassword: string, vCode: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/ms/app/modify-password\",\n method: \"POST\",\n data: {\n password: md5(`mkbl#${password}`),\n newPassword: md5(`mkbl#${newPassword}`),\n vCode,\n },\n });\n\n return response;\n }\n\n addModule(module: MkModule) {\n this.modules.push(module);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageManager.js","sources":["../../../src/core/PageManager.ts"],"sourcesContent":["import { RouteRecordRaw } from \"vue-router\";\r\nimport type { MSAppClient } from \"./MSAppClient\";\r\nimport { Disposable, Event, createDisposable } from \"@maketribe/utils\";\r\n\r\nexport class PageManager {\r\n normalPages: RouteRecordRaw[] = [];\r\n\r\n extendsPages: RouteRecordRaw[] = [];\r\n\r\n msAppClient: MSAppClient | null = null;\r\n\r\n msAppClientChangeEvent: Event<{ msAppClient: MSAppClient | null }> =\r\n new Event();\r\n\r\n msAppClientDisposable: Disposable | null = null;\r\n\r\n setMSAppCLient(msAppClient: MSAppClient | null) {\r\n this.msAppClientDisposable?.dispose();\r\n\r\n this.msAppClientDisposable = new Disposable();\r\n\r\n this.msAppClient = msAppClient;\r\n\r\n this.msAppClientChangeEvent.emit({ msAppClient });\r\n }\r\n\r\n addNormalPage(normalPage: RouteRecordRaw) {\r\n const index = this.normalPages.findIndex(\r\n (item) => item.name === normalPage.name\r\n );\r\n\r\n if (index > -1) {\r\n this.normalPages.splice(index, 1);\r\n }\r\n\r\n this.normalPages.push(normalPage);\r\n }\r\n\r\n addExtendsPage(extendsPage: RouteRecordRaw) {\r\n const index = this.extendsPages.findIndex(\r\n (item) => item.name === extendsPage.name\r\n );\r\n\r\n if (index > -1) {\r\n this.extendsPages.splice(index, 1);\r\n }\r\n\r\n this.extendsPages.push(extendsPage);\r\n }\r\n\r\n init() {\r\n this.addNormalPage({\r\n name: \"mk-ms-layout\",\r\n path: \"/\",\r\n component: () => import(\"../page/index.vue\"),\r\n });\r\n\r\n this.addNormalPage({\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n component: () => import(\"../page/login/index.vue\"),\r\n });\r\n\r\n this.addNormalPage({\r\n name: \"signup\",\r\n path: \"/signup\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n component: () => import(\"../page/signup/index.vue\"),\r\n });\r\n\r\n // this.addExtendsPage({\r\n // name: \"dv/ms-material/list\",\r\n // path: \"/sys/materials\",\r\n // component: () => import(\"../page/index/material/index.vue\"),\r\n // meta: { name: \"ms-material\" },\r\n // });\r\n\r\n // this.addExtendsPage({\r\n // name: \"dv/ms-member/list\",\r\n // path: \"/sys/members\",\r\n // component: () => import(\"../page/index/dv/ms-member/index.vue\"),\r\n // meta: { name: \"ms-member\" },\r\n // });\r\n\r\n // this.addExtendsPage({\r\n // name: \"dv/ms-role/single/list/dialog\",\r\n // path: \"/sys/roles\",\r\n // component: () => import(\"../page/index/dv/ms-role/index.vue\"),\r\n // meta: { name: \"ms-role\" },\r\n // });\r\n\r\n // this.addExtendsPage({\r\n // name: \"dv/local-log/single/tree/dialog\",\r\n // path: \"/log/local\",\r\n // component: () => import(\"../page/index/dv/local-log/index.vue\"),\r\n // meta: { name: \"local-log\" },\r\n // });\r\n\r\n this.msAppClientChangeEvent.on(({ msAppClient }) => {\r\n if (!msAppClient) {\r\n return;\r\n }\r\n\r\n const vueRouter = msAppClient.vueRouter;\r\n const vueRoutes = vueRouter.getRoutes();\r\n\r\n const addedNormalPageNames: string[] = [];\r\n\r\n for (const normalPage of this.normalPages) {\r\n const vueRoute = vueRoutes.find(\r\n (vueRoute) => vueRoute.name === normalPage.name\r\n );\r\n\r\n if (!vueRoute) {\r\n addedNormalPageNames.push(normalPage.name as string);\r\n vueRouter.addRoute(normalPage);\r\n }\r\n }\r\n\r\n this.msAppClientDisposable?.register(\r\n createDisposable(() => {\r\n for (const addedNormalPageName of addedNormalPageNames) {\r\n vueRouter.removeRoute(addedNormalPageName);\r\n }\r\n })\r\n );\r\n\r\n this.msAppClientDisposable?.register(\r\n msAppClient.beforeInitUserSessionEvent.on(({ userSession }) => {\r\n if (!userSession) {\r\n return;\r\n }\r\n\r\n userSession.beforeInitRouterEvent.on(() => {\r\n const router = userSession.router;\r\n\r\n const addedExtendsPageNames: string[] = [];\r\n\r\n for (const extendsPage of this.extendsPages) {\r\n const routeInfo = router.getRouteByName(\r\n extendsPage.name as string\r\n );\r\n\r\n if (!routeInfo) {\r\n continue;\r\n }\r\n\r\n const vueRoute = vueRoutes.find(\r\n (vueRoute) => vueRoute.name === extendsPage.name\r\n );\r\n\r\n if (!vueRoute) {\r\n extendsPage.path = routeInfo.route || extendsPage.path;\r\n addedExtendsPageNames.push(extendsPage.name as string);\r\n vueRouter.addRoute(\"mk-ms-layout\", extendsPage);\r\n }\r\n }\r\n\r\n if (!this.extendsPages.find((page) => page.name === \"notFound\")) {\r\n this.addExtendsPage({\r\n name: \"notFound\",\r\n // path: \":pathMatch(.*)*\",\r\n path: \"\",\r\n component: () => import(\"../page/index/404.vue\"),\r\n });\r\n }\r\n\r\n userSession.register(\r\n createDisposable(() => {\r\n for (const addedExtendsPageName of addedExtendsPageNames) {\r\n vueRouter.removeRoute(addedExtendsPageName);\r\n }\r\n })\r\n );\r\n });\r\n })\r\n );\r\n });\r\n }\r\n}\r\n"],"names":["vueRoute"],"mappings":"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"}
1
+ {"version":3,"file":"PageManager.js","sources":["../../../src/core/PageManager.ts"],"sourcesContent":["import { RouteRecordRaw } from \"vue-router\";\nimport type { MSAppClient } from \"./MSAppClient\";\nimport { Disposable, Event, createDisposable } from \"@maketribe/utils\";\n\nexport class PageManager {\n normalPages: RouteRecordRaw[] = [];\n\n extendsPages: RouteRecordRaw[] = [];\n\n msAppClient: MSAppClient | null = null;\n\n msAppClientChangeEvent: Event<{ msAppClient: MSAppClient | null }> =\n new Event();\n\n msAppClientDisposable: Disposable | null = null;\n\n setMSAppCLient(msAppClient: MSAppClient | null) {\n this.msAppClientDisposable?.dispose();\n\n this.msAppClientDisposable = new Disposable();\n\n this.msAppClient = msAppClient;\n\n this.msAppClientChangeEvent.emit({ msAppClient });\n }\n\n addNormalPage(normalPage: RouteRecordRaw) {\n const index = this.normalPages.findIndex(\n (item) => item.name === normalPage.name\n );\n\n if (index > -1) {\n this.normalPages.splice(index, 1);\n }\n\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n const index = this.extendsPages.findIndex(\n (item) => item.name === extendsPage.name\n );\n\n if (index > -1) {\n this.extendsPages.splice(index, 1);\n }\n\n this.extendsPages.push(extendsPage);\n }\n\n init() {\n this.addNormalPage({\n name: \"mk-ms-layout\",\n path: \"/\",\n component: () => import(\"../page/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/login/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/signup/index.vue\"),\n });\n\n this.msAppClientChangeEvent.on(({ msAppClient }) => {\n if (!msAppClient) {\n return;\n }\n\n const vueRouter = msAppClient.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n const addedNormalPageNames: string[] = [];\n\n for (const normalPage of this.normalPages) {\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === normalPage.name\n );\n\n if (!vueRoute) {\n addedNormalPageNames.push(normalPage.name as string);\n vueRouter.addRoute(normalPage);\n }\n }\n\n this.msAppClientDisposable?.register(\n createDisposable(() => {\n for (const addedNormalPageName of addedNormalPageNames) {\n vueRouter.removeRoute(addedNormalPageName);\n }\n })\n );\n\n this.msAppClientDisposable?.register(\n msAppClient.beforeInitUserSessionEvent.on(({ userSession }) => {\n if (!userSession) {\n return;\n }\n\n userSession.beforeInitRouterEvent.on(() => {\n const router = userSession.router;\n\n const addedExtendsPageNames: string[] = [];\n\n for (const extendsPage of this.extendsPages) {\n const routeInfo = router.getRouteByName(\n extendsPage.name as string\n );\n\n if (!routeInfo) {\n continue;\n }\n\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === extendsPage.name\n );\n\n if (!vueRoute) {\n extendsPage.path = routeInfo.route || extendsPage.path;\n addedExtendsPageNames.push(extendsPage.name as string);\n vueRouter.addRoute(\"mk-ms-layout\", extendsPage);\n }\n }\n\n if (!this.extendsPages.find((page) => page.name === \"notFound\")) {\n this.addExtendsPage({\n name: \"notFound\",\n // path: \":pathMatch(.*)*\",\n path: \"\",\n component: () => import(\"../page/index/404.vue\"),\n });\n }\n\n userSession.register(\n createDisposable(() => {\n for (const addedExtendsPageName of addedExtendsPageNames) {\n vueRouter.removeRoute(addedExtendsPageName);\n }\n })\n );\n });\n })\n );\n });\n }\n}\n"],"names":["vueRoute"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -77,7 +77,6 @@ import { MsMaterialGroupForm } from "./modules/ms/dataviews/ms-material/ms-mater
77
77
  import { MsMaterialGroupTree } from "./modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js";
78
78
  import { MsMaterialForm } from "./modules/ms/dataviews/ms-material/MsMaterialForm.js";
79
79
  import { MsMaterialTable } from "./modules/ms/dataviews/ms-material/MsMaterialTable.js";
80
- import { MsMaterialMan } from "./modules/ms/dataviews/ms-material/MsMaterialMan.js";
81
80
  import { MsMemberForm } from "./modules/ms/dataviews/ms-member/MsMemberForm.js";
82
81
  import { MsMemberTable } from "./modules/ms/dataviews/ms-member/MsMemberTable.js";
83
82
  import { MsMemberRoleTable } from "./modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js";
@@ -126,6 +125,7 @@ import { CmsPartTypesForm } from "./modules/cms/dataviews/cms-part-types/CmsPart
126
125
  import { CmsPartTypesTable } from "./modules/cms/dataviews/cms-part-types/CmsPartTypesTable.js";
127
126
  import { CmsPartForm } from "./modules/cms/dataviews/cms-parts/CmsPartForm.js";
128
127
  import { CmsPartTree } from "./modules/cms/dataviews/cms-parts/CmsPartTree.js";
128
+ import { CmsContentManPartForm } from "./modules/cms/dataviews/cms-parts/CmsContentManPartForm.js";
129
129
  import { CmsTagsTable } from "./modules/cms/dataviews/cms-tags/CmsTagsTable.js";
130
130
  import { CmsTagsForm } from "./modules/cms/dataviews/cms-tags/CmsTagsForm.js";
131
131
  import { abstractSelectEmits, abstractSelectProps } from "./components/abstract/abstract-select/abstract-select-options.js";
@@ -173,6 +173,7 @@ export {
173
173
  CmsAdDefinesTable,
174
174
  CmsArticlesForm,
175
175
  CmsArticlesTable,
176
+ CmsContentManPartForm,
176
177
  CmsPartForm,
177
178
  CmsPartTree,
178
179
  CmsPartTypesForm,
@@ -257,7 +258,6 @@ export {
257
258
  MsMaterialForm,
258
259
  MsMaterialGroupForm,
259
260
  MsMaterialGroupTree,
260
- MsMaterialMan,
261
261
  MsMaterialTable,
262
262
  MsMemberForm,
263
263
  MsMemberRoleForm,
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, reactive, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, createTextVNode, unref, withCtx, toDisplayString, createBlock, createCommentVNode } from "vue";
1
+ import { defineComponent, ref, reactive, watch, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, createTextVNode, unref, withCtx, toDisplayString, createBlock, createCommentVNode } from "vue";
2
2
  import { ElScrollbar, ElMessageBox } from "element-plus";
3
3
  import { Edit, Delete, Plus, MoreFilled } from "@element-plus/icons-vue";
4
4
  import { MKDataTable } from "../../../../components/data-model/data-table/index.js";
@@ -58,20 +58,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
58
  ...{ name: "MKPartTree" },
59
59
  __name: "index",
60
60
  props: {
61
- EnableEdit: { type: Boolean, default: true }
61
+ curSelectId: {}
62
62
  },
63
63
  emits: ["edit", "add", "deleteSuccessfully", "select"],
64
64
  setup(__props, { expose: __expose, emit: __emit }) {
65
65
  const treeRef = ref(null);
66
66
  const optionSettings = __props;
67
- const enableEdit = computed(() => optionSettings.EnableEdit);
68
67
  const emit = __emit;
69
68
  const i18n = useI18n();
70
69
  const dataTree = reactive(new CmsPartTree());
70
+ const selectNodeId = ref(optionSettings.curSelectId);
71
+ watch(() => optionSettings.curSelectId, () => {
72
+ selectNodeId.value = optionSettings.curSelectId;
73
+ });
71
74
  dataTree.listChangeEvent.once(() => {
72
- const _list = dataTree.getList();
73
- if (_list.length > 0) {
74
- treeRef.value.$el.children[0].click();
75
+ var _a;
76
+ const list = dataTree.getList();
77
+ if (list.length > 0) {
78
+ if (!selectNodeId.value) {
79
+ selectNodeId.value = list[0].id;
80
+ }
81
+ for (let i = 0; i < list.length; i++) {
82
+ let item = list[i];
83
+ if (item.id == selectNodeId.value) {
84
+ emit("select", item);
85
+ break;
86
+ }
87
+ (_a = item.children) == null ? void 0 : _a.forEach((child) => list.push(child));
88
+ }
75
89
  }
76
90
  });
77
91
  const handleAddClick = (item) => {
@@ -126,13 +140,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
126
140
  defaultExpandAll: "",
127
141
  draggable: "",
128
142
  ref_key: "treeRef",
129
- ref: treeRef
143
+ ref: treeRef,
144
+ currentNodeKey: selectNodeId.value
130
145
  }, {
131
146
  "node-main": withCtx(({ data }) => [
132
147
  createTextVNode(toDisplayString(data.data.title), 1)
133
148
  ]),
134
149
  "node-tools": withCtx(({ data }) => [
135
- enableEdit.value ? (openBlock(), createBlock(_component_el_dropdown, { key: 0 }, {
150
+ createVNode(_component_el_dropdown, null, {
136
151
  dropdown: withCtx(() => [
137
152
  createVNode(_component_el_dropdown_menu, null, {
138
153
  default: withCtx(() => [
@@ -177,10 +192,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
177
192
  })
178
193
  ]),
179
194
  _: 2
180
- }, 1024)) : createCommentVNode("", true)
195
+ }, 1024)
181
196
  ]),
182
197
  _: 1
183
- }, 8, ["data-tree"])
198
+ }, 8, ["data-tree", "currentNodeKey"])
184
199
  ]),
185
200
  _: 1
186
201
  }, 8, ["data-table"])
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../../../src/modules/cms/components/part-tree/index.vue"],"sourcesContent":["<template>\r\n <div class=\"cms-part-tree\">\r\n <div class=\"cms-part-tree__header\">\r\n <div>\r\n <MKSvgIcon iconClass=\"Notebook\" />\r\n 栏目\r\n </div>\r\n </div>\r\n <div class=\"cms-part-tree__body\">\r\n <ElScrollbar style=\"height: 100%;\">\r\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\r\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll draggable ref=\"treeRef\">\r\n <template #node-main=\"{ data }\">\r\n {{ data.data.title }}\r\n </template>\r\n <template #node-tools=\"{ data }\">\r\n <el-dropdown v-if=\"enableEdit\">\r\n <ElIcon>\r\n <MoreFilled />\r\n </ElIcon>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\r\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\r\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </template>\r\n </MKTree>\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\r\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\r\nimport { reactive, defineProps, computed, defineEmits, ref } from \"vue\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\r\nimport { CmsPartTree } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport { DataTreeNode } from \"@maketribe/dm\";\r\n\r\ndefineOptions({ name: \"MKPartTree\" });\r\nconst treeRef = ref(null);\r\n// 配置选项\r\nconst optionSettings = defineProps({\r\n EnableEdit: { type: Boolean, default: true }\r\n})\r\n\r\n// 是否启用编辑\r\nconst enableEdit = computed(() => optionSettings.EnableEdit);\r\n\r\n// 事件定义\r\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\r\n\r\nconst i18n = useI18n()!;\r\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\r\n\r\ndataTree.listChangeEvent.once(() => {\r\n const _list = dataTree.getList();\r\n if (_list.length > 0) {\r\n //默认选择第一条\r\n (treeRef.value as any).$el.children[0].click()\r\n }\r\n})\r\n\r\n/**\r\n * 点击添加栏目按钮\r\n * @param item \r\n */\r\nconst handleAddClick = (item: any) => {\r\n emit(\"add\", item);\r\n}\r\n\r\n/**\r\n * 编辑栏目\r\n * @param item \r\n */\r\nconst handleEditClick = (item: any) => {\r\n emit(\"edit\", item);\r\n}\r\n/**\r\n * 删除栏目\r\n * @param item \r\n */\r\nconst handleDeleteClick = async (item: any) => {\r\n // 删除提示\r\n const isConfirm = await ElMessageBox.confirm(\r\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\r\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n )\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n const result = await dataTree.deleteAfterRefresh(item.id);\r\n if (result.data.code == 200) {\r\n emit('deleteSuccessfully', item)\r\n }\r\n}\r\n\r\n/**\r\n * 选择栏目\r\n * @param data \r\n */\r\nconst selectPart = (data: DataTreeNode) => {\r\n emit(\"select\", data.data);\r\n}\r\n\r\ndefineExpose({ dataTree });\r\n\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CM,UAAA,UAAU,IAAI,IAAI;AAExB,UAAM,iBAAiB;AAKvB,UAAM,aAAa,SAAS,MAAM,eAAe,UAAU;AAG3D,UAAM,OAAO;AAEb,UAAM,OAAO;AACb,UAAM,WAAW,SAAS,IAAI,YAAa,CAAA;AAElC,aAAA,gBAAgB,KAAK,MAAM;AAC5B,YAAA,QAAQ,SAAS;AACnB,UAAA,MAAM,SAAS,GAAG;AAEnB,gBAAQ,MAAc,IAAI,SAAS,CAAC,EAAE;MACzC;AAAA,IAAA,CACD;AAMK,UAAA,iBAAiB,CAAC,SAAc;AACpC,WAAK,OAAO,IAAI;AAAA,IAAA;AAOZ,UAAA,kBAAkB,CAAC,SAAc;AACrC,WAAK,QAAQ,IAAI;AAAA,IAAA;AAMb,UAAA,oBAAoB,OAAO,SAAc;AAEvC,YAAA,YAAY,MAAM,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA;AAGpB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACA,YAAM,SAAS,MAAM,SAAS,mBAAmB,KAAK,EAAE;AACpD,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,aAAK,sBAAsB,IAAI;AAAA,MACjC;AAAA,IAAA;AAOI,UAAA,aAAa,CAAC,SAAuB;AACpC,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA;AAGb,aAAA,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../../src/modules/cms/components/part-tree/index.vue"],"sourcesContent":["<template>\n <div class=\"cms-part-tree\">\n <div class=\"cms-part-tree__header\">\n <div>\n <MKSvgIcon iconClass=\"Notebook\" />\n 栏目\n </div>\n </div>\n <div class=\"cms-part-tree__body\">\n <ElScrollbar style=\"height: 100%;\">\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll draggable ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\n <template #node-main=\"{ data }\">\n {{ data.data.title }}\n </template>\n <template #node-tools=\"{ data }\">\n <el-dropdown>\n <ElIcon>\n <MoreFilled />\n </ElIcon>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </template>\n </MKTree>\n </MKDataTable>\n </ElScrollbar>\n </div>\n </div>\n</template>\n<script setup lang='ts'>\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\nimport { CmsPartTree } from \"../../dataviews\";\nimport { useI18n } from \"../../../../composables\";\nimport { DataTreeNode } from \"@maketribe/dm\";\n\ndefineOptions({ name: \"MKPartTree\" });\nconst treeRef = ref(null);\n// 配置选项\nconst optionSettings = defineProps<{\n curSelectId?:string|undefined\n}>();\n\n// 事件定义\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\n\nconst i18n = useI18n()!;\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\nconst selectNodeId = ref(optionSettings.curSelectId);\n\nwatch(()=>optionSettings.curSelectId,()=>{\n selectNodeId.value = optionSettings.curSelectId\n})\n\ndataTree.listChangeEvent.once(() => {\n\n const list = dataTree.getList();\n\n if (list.length > 0) {\n //默认选择第一条\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\n\n\n for(let i=0;i<list.length;i++){\n\n let item = list[i]\n\n if(item.id == selectNodeId.value){\n emit(\"select\", item);\n break;\n }\n item.children?.forEach((child:any)=>list.push(child))\n\n }\n }\n})\n\n/**\n * 点击添加栏目按钮\n * @param item \n */\nconst handleAddClick = (item: any) => {\n emit(\"add\", item);\n}\n\n/**\n * 编辑栏目\n * @param item \n */\nconst handleEditClick = (item: any) => {\n emit(\"edit\", item);\n}\n/**\n * 删除栏目\n * @param item \n */\nconst handleDeleteClick = async (item: any) => {\n // 删除提示\n const isConfirm = await ElMessageBox.confirm(\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\n { type: \"warning\" }\n )\n\n if (!isConfirm) {\n return;\n }\n const result = await dataTree.deleteAfterRefresh(item.id);\n if (result.data.code == 200) {\n emit('deleteSuccessfully', item)\n }\n}\n\n/**\n * 选择栏目\n * @param data \n */\nconst selectPart = (data: DataTreeNode) => {\n emit(\"select\", data.data);\n}\n\ndefineExpose({ dataTree });\n\n\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CM,UAAA,UAAU,IAAI,IAAI;AAExB,UAAM,iBAAiB;AAKvB,UAAM,OAAO;AAEb,UAAM,OAAO;AACb,UAAM,WAAW,SAAS,IAAI,YAAa,CAAA;AACrC,UAAA,eAAe,IAAI,eAAe,WAAW;AAE7C,UAAA,MAAI,eAAe,aAAY,MAAI;AACvC,mBAAa,QAAQ,eAAe;AAAA,IAAA,CACrC;AAEQ,aAAA,gBAAgB,KAAK,MAAM;;AAE5B,YAAA,OAAO,SAAS;AAElB,UAAA,KAAK,SAAS,GAAG;AAEhB,YAAA,CAAC,aAAa,OAAM;AAAe,uBAAA,QAAQ,KAAK,CAAC,EAAE;AAAA,QAAI;AAG1D,iBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAExB,cAAA,OAAO,KAAK,CAAC;AAEd,cAAA,KAAK,MAAM,aAAa,OAAM;AAC/B,iBAAK,UAAU,IAAI;AACnB;AAAA,UACF;AACA,qBAAK,aAAL,mBAAe,QAAQ,CAAC,UAAY,KAAK,KAAK,KAAK;AAAA,QAErD;AAAA,MACF;AAAA,IAAA,CACD;AAMK,UAAA,iBAAiB,CAAC,SAAc;AACpC,WAAK,OAAO,IAAI;AAAA,IAAA;AAOZ,UAAA,kBAAkB,CAAC,SAAc;AACrC,WAAK,QAAQ,IAAI;AAAA,IAAA;AAMb,UAAA,oBAAoB,OAAO,SAAc;AAEvC,YAAA,YAAY,MAAM,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA;AAGpB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACA,YAAM,SAAS,MAAM,SAAS,mBAAmB,KAAK,EAAE;AACpD,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,aAAK,sBAAsB,IAAI;AAAA,MACjC;AAAA,IAAA;AAOI,UAAA,aAAa,CAAC,SAAuB;AACpC,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA;AAGb,aAAA,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,26 @@
1
+ import { CmsPartForm } from "./CmsPartForm.js";
2
+ import { MKError, Errors, DataFormType } from "@maketribe/dm";
3
+ class CmsContentManPartForm extends CmsPartForm {
4
+ async submit(data = {}) {
5
+ data = { ...this.data, ...data };
6
+ let response;
7
+ switch (this.getDataFormType()) {
8
+ case DataFormType.UPDATE:
9
+ response = await this.update(data);
10
+ break;
11
+ case DataFormType.ADD:
12
+ response = await this.add(data);
13
+ break;
14
+ default:
15
+ throw new MKError(Errors.FORM_TYPE_MISMATCH_ERROR_CODE);
16
+ }
17
+ if (response.data.code == 200) {
18
+ this.editRecord(data.id);
19
+ }
20
+ return response;
21
+ }
22
+ }
23
+ export {
24
+ CmsContentManPartForm
25
+ };
26
+ //# sourceMappingURL=CmsContentManPartForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsContentManPartForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-parts/CmsContentManPartForm.ts"],"sourcesContent":["import { CmsPartForm } from \"./CmsPartForm\"\r\nimport { ResponseConfig, R } from \"@maketribe/request\";\r\nimport { DataFormType,Errors, MKError } from \"@maketribe/dm\";\r\n\r\n/**\r\n * 内容管理的栏目表单\r\n */\r\nexport class CmsContentManPartForm extends CmsPartForm{\r\n\r\n async submit(data: Record<string, any> = {}) {\r\n data = { ...this.data, ...data };\r\n let response: ResponseConfig<R<null>, any>;\r\n\r\n switch (this.getDataFormType()) {\r\n case DataFormType.UPDATE:\r\n response = await this.update(data);\r\n break;\r\n case DataFormType.ADD:\r\n response = await this.add(data);\r\n break;\r\n default:\r\n throw new MKError(Errors.FORM_TYPE_MISMATCH_ERROR_CODE);\r\n }\r\n\r\n if(response.data.code == 200){\r\n this.editRecord(data.id)\r\n }\r\n\r\n return response;\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":";;AAOO,MAAM,8BAA8B,YAAW;AAAA,EAEpD,MAAM,OAAO,OAA4B,IAAI;AAC3C,WAAO,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK;AAC3B,QAAA;AAEI,YAAA,KAAK,gBAAmB,GAAA;AAAA,MAC9B,KAAK,aAAa;AACL,mBAAA,MAAM,KAAK,OAAO,IAAI;AACjC;AAAA,MACF,KAAK,aAAa;AACL,mBAAA,MAAM,KAAK,IAAI,IAAI;AAC9B;AAAA,MACF;AACQ,cAAA,IAAI,QAAQ,OAAO,6BAA6B;AAAA,IAC1D;AAEG,QAAA,SAAS,KAAK,QAAQ,KAAI;AACtB,WAAA,WAAW,KAAK,EAAE;AAAA,IACzB;AAEO,WAAA;AAAA,EACT;AAEF;"}
@@ -8,6 +8,7 @@ import { CmsPartTypesForm } from "./dataviews/cms-part-types/CmsPartTypesForm.js
8
8
  import { CmsPartTypesTable } from "./dataviews/cms-part-types/CmsPartTypesTable.js";
9
9
  import { CmsPartForm } from "./dataviews/cms-parts/CmsPartForm.js";
10
10
  import { CmsPartTree } from "./dataviews/cms-parts/CmsPartTree.js";
11
+ import "@maketribe/dm";
11
12
  import { CmsTagsTable } from "./dataviews/cms-tags/CmsTagsTable.js";
12
13
  import { CmsTagsForm } from "./dataviews/cms-tags/CmsTagsForm.js";
13
14
  const cmsModule = (module) => {
@@ -42,7 +43,7 @@ const cmsModule = (module) => {
42
43
  });
43
44
  module.registerExtendsPage({
44
45
  name: "cms/ad",
45
- path: "cms/ad",
46
+ path: "/cms/ad",
46
47
  component: () => import("./pages/cms-ad/index.vue.js")
47
48
  });
48
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/modules/cms/index.ts"],"sourcesContent":["import { InternalMkModule, MkModule } from \"../../core\";\n\nimport {\n CmsAdContentsTable,\n CmsAdContentsForm,\n CmsAdDefinesTable,\n CmsAdDefinesForm,\n CmsPartTree,\n CmsPartForm,\n CmsPartTypesTable,\n CmsPartTypesForm,\n CmsTagsTable,\n CmsTagsForm,\n CmsArticlesTable,\n CmsArticlesForm,\n} from \"./dataviews\";\n\nexport * from \"./dataviews\";\n\nconst cmsModule: MkModule = (module: InternalMkModule) => {\n module.registerDataTable(CmsAdContentsTable);\n module.registerDataForm(CmsAdContentsForm);\n\n module.registerDataTable(CmsAdDefinesTable);\n module.registerDataForm(CmsAdDefinesForm);\n\n module.registerDataTree(CmsPartTree);\n module.registerDataForm(CmsPartForm);\n\n module.registerDataTable(CmsPartTypesTable);\n module.registerDataForm(CmsPartTypesForm);\n\n module.registerDataTable(CmsTagsTable);\n module.registerDataForm(CmsTagsForm);\n\n module.registerDataTable(CmsArticlesTable);\n module.registerDataForm(CmsArticlesForm);\n\n module.registerExtendsPage({\n name: \"cms-resource/index\",\n path: \"/cms/resource\",\n component: () => import(\"./pages/cms-resource/index.vue\"),\n });\n\n\n // 内容管理\n module.registerExtendsPage({\n name: \"cms/contents\",\n path: \"/cms/contents\",\n component: () => import(\"./pages/cms-contents/index.vue\"),\n meta: { name: \"cms-contents\" },\n });\n\n // 栏目编辑\n module.registerExtendsPage({\n name: \"cms/article\",\n path: \"/cms/article\",\n component: () => import(\"./pages/cms-contents/article-edit-add-page.vue\"),\n meta: { name: \"cms-article\" },\n });\n\n // 广告定义页面\n module.registerExtendsPage({\n name: \"cms/ad\",\n path: \"cms/ad\",\n component: () => import(\"./pages/cms-ad/index.vue\")\n });\n\n // 发布页面\n // module.registerExtendsPage({\n // name: \"cms/publish\",\n // path: \"/cms/publish\",\n // component: () => import(\"./pages/cms-publish/index.vue\")\n // });\n};\n\nexport default cmsModule;\n"],"names":[],"mappings":";;;;;;;;;;;;AAmBM,MAAA,YAAsB,CAAC,WAA6B;AACxD,SAAO,kBAAkB,kBAAkB;AAC3C,SAAO,iBAAiB,iBAAiB;AAEzC,SAAO,kBAAkB,iBAAiB;AAC1C,SAAO,iBAAiB,gBAAgB;AAExC,SAAO,iBAAiB,WAAW;AACnC,SAAO,iBAAiB,WAAW;AAEnC,SAAO,kBAAkB,iBAAiB;AAC1C,SAAO,iBAAiB,gBAAgB;AAExC,SAAO,kBAAkB,YAAY;AACrC,SAAO,iBAAiB,WAAW;AAEnC,SAAO,kBAAkB,gBAAgB;AACzC,SAAO,iBAAiB,eAAe;AAEvC,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mCAAgC;AAAA,EAAA,CACzD;AAID,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mCAAgC;AAAA,IACxD,MAAM,EAAE,MAAM,eAAe;AAAA,EAAA,CAC9B;AAGD,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mDAAgD;AAAA,IACxE,MAAM,EAAE,MAAM,cAAc;AAAA,EAAA,CAC7B;AAGD,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,6BAA0B;AAAA,EAAA,CACnD;AAQH;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/modules/cms/index.ts"],"sourcesContent":["import { InternalMkModule, MkModule } from \"../../core\";\n\nimport {\n CmsAdContentsTable,\n CmsAdContentsForm,\n CmsAdDefinesTable,\n CmsAdDefinesForm,\n CmsPartTree,\n CmsPartForm,\n CmsPartTypesTable,\n CmsPartTypesForm,\n CmsTagsTable,\n CmsTagsForm,\n CmsArticlesTable,\n CmsArticlesForm,\n} from \"./dataviews\";\n\nexport * from \"./dataviews\";\n\nconst cmsModule: MkModule = (module: InternalMkModule) => {\n module.registerDataTable(CmsAdContentsTable);\n module.registerDataForm(CmsAdContentsForm);\n\n module.registerDataTable(CmsAdDefinesTable);\n module.registerDataForm(CmsAdDefinesForm);\n\n module.registerDataTree(CmsPartTree);\n module.registerDataForm(CmsPartForm);\n\n module.registerDataTable(CmsPartTypesTable);\n module.registerDataForm(CmsPartTypesForm);\n\n module.registerDataTable(CmsTagsTable);\n module.registerDataForm(CmsTagsForm);\n\n module.registerDataTable(CmsArticlesTable);\n module.registerDataForm(CmsArticlesForm);\n\n module.registerExtendsPage({\n name: \"cms-resource/index\",\n path: \"/cms/resource\",\n component: () => import(\"./pages/cms-resource/index.vue\"),\n });\n\n\n // 内容管理\n module.registerExtendsPage({\n name: \"cms/contents\",\n path: \"/cms/contents\",\n component: () => import(\"./pages/cms-contents/index.vue\"),\n meta: { name: \"cms-contents\" },\n });\n\n // 栏目编辑\n module.registerExtendsPage({\n name: \"cms/article\",\n path: \"/cms/article\",\n component: () => import(\"./pages/cms-contents/article-edit-add-page.vue\"),\n meta: { name: \"cms-article\" },\n });\n\n // 广告定义页面\n module.registerExtendsPage({\n name: \"cms/ad\",\n path: \"/cms/ad\",\n component: () => import(\"./pages/cms-ad/index.vue\")\n });\n\n // 发布页面\n // module.registerExtendsPage({\n // name: \"cms/publish\",\n // path: \"/cms/publish\",\n // component: () => import(\"./pages/cms-publish/index.vue\")\n // });\n};\n\nexport default cmsModule;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAmBM,MAAA,YAAsB,CAAC,WAA6B;AACxD,SAAO,kBAAkB,kBAAkB;AAC3C,SAAO,iBAAiB,iBAAiB;AAEzC,SAAO,kBAAkB,iBAAiB;AAC1C,SAAO,iBAAiB,gBAAgB;AAExC,SAAO,iBAAiB,WAAW;AACnC,SAAO,iBAAiB,WAAW;AAEnC,SAAO,kBAAkB,iBAAiB;AAC1C,SAAO,iBAAiB,gBAAgB;AAExC,SAAO,kBAAkB,YAAY;AACrC,SAAO,iBAAiB,WAAW;AAEnC,SAAO,kBAAkB,gBAAgB;AACzC,SAAO,iBAAiB,eAAe;AAEvC,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mCAAgC;AAAA,EAAA,CACzD;AAID,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mCAAgC;AAAA,IACxD,MAAM,EAAE,MAAM,eAAe;AAAA,EAAA,CAC9B;AAGD,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mDAAgD;AAAA,IACxE,MAAM,EAAE,MAAM,cAAc;AAAA,EAAA,CAC7B;AAGD,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,6BAA0B;AAAA,EAAA,CACnD;AAQH;"}