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