@maketribe/ms-app 4.0.0-beta.1 → 4.0.0-beta.2

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 (274) hide show
  1. package/dist/cjs/{404-BLjjFiPC.cjs → 404-zuaTnedJ.cjs} +2 -2
  2. package/dist/cjs/{404-BLjjFiPC.cjs.map → 404-zuaTnedJ.cjs.map} +1 -1
  3. package/dist/cjs/{dialog-B9gDOGH7.cjs → dialog-B0Ugyk9M.cjs} +2 -2
  4. package/dist/cjs/{dialog-B9gDOGH7.cjs.map → dialog-B0Ugyk9M.cjs.map} +1 -1
  5. package/dist/cjs/{dialog-C3SD87uY.cjs → dialog-D5iprOvp.cjs} +2 -2
  6. package/dist/cjs/{dialog-C3SD87uY.cjs.map → dialog-D5iprOvp.cjs.map} +1 -1
  7. package/dist/cjs/{dialog-B8fGi0y_.cjs → dialog-eN_30WY3.cjs} +2 -2
  8. package/dist/cjs/{dialog-B8fGi0y_.cjs.map → dialog-eN_30WY3.cjs.map} +1 -1
  9. package/dist/cjs/{edit-FgCiEZTp.cjs → edit-BZ0RJiMw.cjs} +2 -2
  10. package/dist/cjs/{edit-FgCiEZTp.cjs.map → edit-BZ0RJiMw.cjs.map} +1 -1
  11. package/dist/cjs/{index-Uf_SF_Do.cjs → index-02h91zxG.cjs} +2 -2
  12. package/dist/cjs/{index-Uf_SF_Do.cjs.map → index-02h91zxG.cjs.map} +1 -1
  13. package/dist/cjs/{index-B_yj5cRD.cjs → index-B-qD2ABb.cjs} +2 -2
  14. package/dist/cjs/{index-B_yj5cRD.cjs.map → index-B-qD2ABb.cjs.map} +1 -1
  15. package/dist/cjs/{index-DYe4VYfx.cjs → index-BQ-pFo41.cjs} +2 -2
  16. package/dist/cjs/index-BQ-pFo41.cjs.map +1 -0
  17. package/dist/cjs/{index-CuQ1S-Jk.cjs → index-BRjxz_zs.cjs} +2 -2
  18. package/dist/cjs/{index-CuQ1S-Jk.cjs.map → index-BRjxz_zs.cjs.map} +1 -1
  19. package/dist/cjs/{index-Cv8xCuqB.cjs → index-BSFBqbJu.cjs} +2 -2
  20. package/dist/cjs/{index-Cv8xCuqB.cjs.map → index-BSFBqbJu.cjs.map} +1 -1
  21. package/dist/cjs/{index-BoHtMP0u.cjs → index-BtVXWF1b.cjs} +2 -2
  22. package/dist/cjs/{index-BoHtMP0u.cjs.map → index-BtVXWF1b.cjs.map} +1 -1
  23. package/dist/cjs/{index-DmDkzklD.cjs → index-Bv2cbo_e.cjs} +3 -3
  24. package/dist/cjs/{index-DmDkzklD.cjs.map → index-Bv2cbo_e.cjs.map} +1 -1
  25. package/dist/cjs/{index-Dp0uf4OA.cjs → index-BxVB9eoW.cjs} +2 -2
  26. package/dist/cjs/{index-Dp0uf4OA.cjs.map → index-BxVB9eoW.cjs.map} +1 -1
  27. package/dist/cjs/{index-DAN-V2W2.cjs → index-C1PQoR8l.cjs} +13 -2
  28. package/dist/cjs/{index-DAN-V2W2.cjs.map → index-C1PQoR8l.cjs.map} +1 -1
  29. package/dist/cjs/{index-CB-k5J93.cjs → index-C4POD5Pe.cjs} +3 -3
  30. package/dist/cjs/{index-CB-k5J93.cjs.map → index-C4POD5Pe.cjs.map} +1 -1
  31. package/dist/cjs/{index-CvLoEFhT.cjs → index-C5jDhm54.cjs} +5 -5
  32. package/dist/cjs/{index-CvLoEFhT.cjs.map → index-C5jDhm54.cjs.map} +1 -1
  33. package/dist/cjs/{index-DJR8wNp6.cjs → index-CA77ueMZ.cjs} +5 -5
  34. package/dist/cjs/{index-DJR8wNp6.cjs.map → index-CA77ueMZ.cjs.map} +1 -1
  35. package/dist/cjs/{index-bLFLjrAU.cjs → index-CABfy1N4.cjs} +2 -2
  36. package/dist/cjs/{index-bLFLjrAU.cjs.map → index-CABfy1N4.cjs.map} +1 -1
  37. package/dist/cjs/{index-BfWagFfi.cjs → index-CKAGpQbN.cjs} +3 -3
  38. package/dist/cjs/{index-BfWagFfi.cjs.map → index-CKAGpQbN.cjs.map} +1 -1
  39. package/dist/cjs/{index-D1rwP_XD.cjs → index-CLMfKLc4.cjs} +2 -2
  40. package/dist/cjs/index-CLMfKLc4.cjs.map +1 -0
  41. package/dist/cjs/{index-BKHmJq9t.cjs → index-CTGlpcXK.cjs} +7 -7
  42. package/dist/cjs/{index-BKHmJq9t.cjs.map → index-CTGlpcXK.cjs.map} +1 -1
  43. package/dist/cjs/{index-02NQSY_C.cjs → index-D30kdshE.cjs} +2 -2
  44. package/dist/cjs/{index-02NQSY_C.cjs.map → index-D30kdshE.cjs.map} +1 -1
  45. package/dist/cjs/{index-yY6nqi0P.cjs → index-D8_FnPhG.cjs} +2 -2
  46. package/dist/cjs/index-D8_FnPhG.cjs.map +1 -0
  47. package/dist/cjs/{index-D9bZ9D5l.cjs → index-DHcGlzqK.cjs} +2 -2
  48. package/dist/cjs/{index-D9bZ9D5l.cjs.map → index-DHcGlzqK.cjs.map} +1 -1
  49. package/dist/cjs/{index-DXRQ5Ssv.cjs → index-DMxUNSvR.cjs} +2 -2
  50. package/dist/cjs/{index-DXRQ5Ssv.cjs.map → index-DMxUNSvR.cjs.map} +1 -1
  51. package/dist/cjs/{index-DPxvVnMV.cjs → index-DRSq5s22.cjs} +3 -3
  52. package/dist/cjs/{index-DPxvVnMV.cjs.map → index-DRSq5s22.cjs.map} +1 -1
  53. package/dist/cjs/{index-B0lo8WAq.cjs → index-D_tdj7p4.cjs} +2 -2
  54. package/dist/cjs/{index-B0lo8WAq.cjs.map → index-D_tdj7p4.cjs.map} +1 -1
  55. package/dist/cjs/{index-VsQhouOO.cjs → index-DdRjucjv.cjs} +2 -2
  56. package/dist/cjs/{index-VsQhouOO.cjs.map → index-DdRjucjv.cjs.map} +1 -1
  57. package/dist/cjs/{index-Cqx6has-.cjs → index-DmP5adrX.cjs} +4675 -5159
  58. package/dist/cjs/index-DmP5adrX.cjs.map +1 -0
  59. package/dist/cjs/{index-zTzCVKVY.cjs → index-Dmimx6gu.cjs} +16 -29
  60. package/dist/cjs/index-Dmimx6gu.cjs.map +1 -0
  61. package/dist/cjs/{index-bmb2snX4.cjs → index-DpSWO-Os.cjs} +2 -2
  62. package/dist/cjs/{index-bmb2snX4.cjs.map → index-DpSWO-Os.cjs.map} +1 -1
  63. package/dist/cjs/{index-DMz-Jp1a.cjs → index-KUQdm9RI.cjs} +2 -2
  64. package/dist/cjs/{index-DMz-Jp1a.cjs.map → index-KUQdm9RI.cjs.map} +1 -1
  65. package/dist/cjs/{index-Bsx_khJ-.cjs → index-MgphQFMz.cjs} +2 -2
  66. package/dist/cjs/{index-Bsx_khJ-.cjs.map → index-MgphQFMz.cjs.map} +1 -1
  67. package/dist/cjs/{index-CgY5IPuU.cjs → index-QP7R7FE5.cjs} +4 -4
  68. package/dist/cjs/{index-CgY5IPuU.cjs.map → index-QP7R7FE5.cjs.map} +1 -1
  69. package/dist/cjs/{index-bLuJXybo.cjs → index-uI8UzsQO.cjs} +3 -3
  70. package/dist/cjs/{index-bLuJXybo.cjs.map → index-uI8UzsQO.cjs.map} +1 -1
  71. package/dist/cjs/index.js +5 -17
  72. package/dist/cjs/index.js.map +1 -1
  73. package/dist/cjs/{index.vue_vue_type_script_setup_true_lang-CEEFTQ9-.cjs → index.vue_vue_type_script_setup_true_lang-DUifnKYE.cjs} +2 -2
  74. package/dist/cjs/{index.vue_vue_type_script_setup_true_lang-CEEFTQ9-.cjs.map → index.vue_vue_type_script_setup_true_lang-DUifnKYE.cjs.map} +1 -1
  75. package/dist/cjs/{json-editor-BsH6BSd6.cjs → json-editor-Dx4Gp7AZ.cjs} +2 -2
  76. package/dist/cjs/{json-editor-BsH6BSd6.cjs.map → json-editor-Dx4Gp7AZ.cjs.map} +1 -1
  77. package/dist/cjs/{markdown-editor-Ct8Osg84.cjs → markdown-editor-B_V6sqXv.cjs} +2 -2
  78. package/dist/cjs/{markdown-editor-Ct8Osg84.cjs.map → markdown-editor-B_V6sqXv.cjs.map} +1 -1
  79. package/dist/cjs/{normal-D7Rp95AR.cjs → normal-Npyye6Sj.cjs} +2 -2
  80. package/dist/cjs/{normal-D7Rp95AR.cjs.map → normal-Npyye6Sj.cjs.map} +1 -1
  81. package/dist/cjs/{normal-dqEGDOGY.cjs → normal-xeNGK8cc.cjs} +2 -2
  82. package/dist/cjs/{normal-dqEGDOGY.cjs.map → normal-xeNGK8cc.cjs.map} +1 -1
  83. package/dist/cjs/{permission-manage-B3iyzdss.cjs → permission-manage-DKl1wSVX.cjs} +2 -2
  84. package/dist/cjs/{permission-manage-B3iyzdss.cjs.map → permission-manage-DKl1wSVX.cjs.map} +1 -1
  85. package/dist/cjs/{resource-select-input-CDZgQch4.cjs → resource-select-input-C5-NOlTc.cjs} +2 -2
  86. package/dist/cjs/{resource-select-input-CDZgQch4.cjs.map → resource-select-input-C5-NOlTc.cjs.map} +1 -1
  87. package/dist/cjs/style.css +224 -742
  88. package/dist/cjs/{table-ClUbbr-e.cjs → table-qvNc9v7R.cjs} +2 -2
  89. package/dist/cjs/{table-ClUbbr-e.cjs.map → table-qvNc9v7R.cjs.map} +1 -1
  90. package/dist/esm/{404-RkNqwMKN.js → 404-8yXrporP.js} +2 -2
  91. package/dist/esm/{404-RkNqwMKN.js.map → 404-8yXrporP.js.map} +1 -1
  92. package/dist/esm/{dialog-rkNJ6ASL.js → dialog-Bw004c5J.js} +2 -2
  93. package/dist/esm/{dialog-rkNJ6ASL.js.map → dialog-Bw004c5J.js.map} +1 -1
  94. package/dist/esm/{dialog-B-I18GZi.js → dialog-CCxhgDIB.js} +2 -2
  95. package/dist/esm/{dialog-B-I18GZi.js.map → dialog-CCxhgDIB.js.map} +1 -1
  96. package/dist/esm/{dialog-BdLPb4lA.js → dialog-DUTAUZMP.js} +2 -2
  97. package/dist/esm/{dialog-BdLPb4lA.js.map → dialog-DUTAUZMP.js.map} +1 -1
  98. package/dist/esm/{edit-DbgetOeZ.js → edit-B7jGDIaC.js} +2 -2
  99. package/dist/esm/{edit-DbgetOeZ.js.map → edit-B7jGDIaC.js.map} +1 -1
  100. package/dist/esm/{index-B9JJR2kb.js → index-2RCu0-17.js} +2 -2
  101. package/dist/esm/{index-B9JJR2kb.js.map → index-2RCu0-17.js.map} +1 -1
  102. package/dist/esm/{index-C42dLA9d.js → index-B0ZGjMD_.js} +2 -2
  103. package/dist/esm/{index-C42dLA9d.js.map → index-B0ZGjMD_.js.map} +1 -1
  104. package/dist/esm/{index-DVQ4uHey.js → index-BX3SqRT1.js} +2 -2
  105. package/dist/esm/index-BX3SqRT1.js.map +1 -0
  106. package/dist/esm/{index-Bz1GMIuS.js → index-Be1JSUzM.js} +2 -2
  107. package/dist/esm/{index-Bz1GMIuS.js.map → index-Be1JSUzM.js.map} +1 -1
  108. package/dist/esm/{index-DBPdHhnJ.js → index-Bu3W0bi_.js} +3 -3
  109. package/dist/esm/{index-DBPdHhnJ.js.map → index-Bu3W0bi_.js.map} +1 -1
  110. package/dist/esm/{index-DmWaO9cf.js → index-C-uyvLdt.js} +3 -3
  111. package/dist/esm/{index-DmWaO9cf.js.map → index-C-uyvLdt.js.map} +1 -1
  112. package/dist/esm/{index-B9YALjzh.js → index-CMXsCso6.js} +2 -2
  113. package/dist/esm/{index-B9YALjzh.js.map → index-CMXsCso6.js.map} +1 -1
  114. package/dist/esm/{index-CIcMtB-s.js → index-CMeVFJX2.js} +2 -2
  115. package/dist/esm/{index-CIcMtB-s.js.map → index-CMeVFJX2.js.map} +1 -1
  116. package/dist/esm/{index-Cq7SIfSQ.js → index-CNC_FYEx.js} +2 -2
  117. package/dist/esm/index-CNC_FYEx.js.map +1 -0
  118. package/dist/esm/{index-CtiIWsZ3.js → index-COrXuIRR.js} +3 -3
  119. package/dist/esm/{index-CtiIWsZ3.js.map → index-COrXuIRR.js.map} +1 -1
  120. package/dist/esm/{index-BDH5T7gf.js → index-CT-Oa0Bg.js} +2 -2
  121. package/dist/esm/{index-BDH5T7gf.js.map → index-CT-Oa0Bg.js.map} +1 -1
  122. package/dist/esm/{index-yv8R8mhU.js → index-CtXkrAoG.js} +2 -2
  123. package/dist/esm/{index-yv8R8mhU.js.map → index-CtXkrAoG.js.map} +1 -1
  124. package/dist/esm/{index-D7NWJqQD.js → index-D8zCYhI4.js} +2 -2
  125. package/dist/esm/{index-D7NWJqQD.js.map → index-D8zCYhI4.js.map} +1 -1
  126. package/dist/esm/{index-CEw1aqJR.js → index-DA2goxjc.js} +3 -3
  127. package/dist/esm/{index-CEw1aqJR.js.map → index-DA2goxjc.js.map} +1 -1
  128. package/dist/esm/{index-CffE92oq.js → index-DHMmzyq_.js} +2 -2
  129. package/dist/esm/{index-CffE92oq.js.map → index-DHMmzyq_.js.map} +1 -1
  130. package/dist/esm/{index-BUZk09qi.js → index-DJoFV8g7.js} +2 -2
  131. package/dist/esm/{index-BUZk09qi.js.map → index-DJoFV8g7.js.map} +1 -1
  132. package/dist/esm/{index-Jh3JnsYu.js → index-DQYusiAJ.js} +16 -12
  133. package/dist/esm/index-DQYusiAJ.js.map +1 -0
  134. package/dist/esm/{index-DL9Z0m-9.js → index-D_mVkEk2.js} +3 -3
  135. package/dist/esm/{index-DL9Z0m-9.js.map → index-D_mVkEk2.js.map} +1 -1
  136. package/dist/esm/{index-D4y4KL7W.js → index-ZEMeN-AR.js} +13 -2
  137. package/dist/esm/{index-D4y4KL7W.js.map → index-ZEMeN-AR.js.map} +1 -1
  138. package/dist/esm/{index-Bja6wZ1k.js → index-b08F-lTz.js} +2 -2
  139. package/dist/esm/{index-Bja6wZ1k.js.map → index-b08F-lTz.js.map} +1 -1
  140. package/dist/esm/{index-B9QqVCIZ.js → index-bR-HzMoJ.js} +2 -2
  141. package/dist/esm/{index-B9QqVCIZ.js.map → index-bR-HzMoJ.js.map} +1 -1
  142. package/dist/esm/{index-ZHtzpWRH.js → index-kVzy9K8U.js} +2 -2
  143. package/dist/esm/{index-ZHtzpWRH.js.map → index-kVzy9K8U.js.map} +1 -1
  144. package/dist/esm/{index-BJVZ0yS1.js → index-oNusTZPx.js} +4863 -5347
  145. package/dist/esm/index-oNusTZPx.js.map +1 -0
  146. package/dist/esm/{index-DDi06DRi.js → index-pIn6VnFw.js} +2 -2
  147. package/dist/esm/{index-DDi06DRi.js.map → index-pIn6VnFw.js.map} +1 -1
  148. package/dist/esm/{index-Zd8aDHyM.js → index-rNapVQ5C.js} +2 -2
  149. package/dist/esm/index-rNapVQ5C.js.map +1 -0
  150. package/dist/esm/{index-B2zPAvcK.js → index-sRNeuMwn.js} +3 -3
  151. package/dist/esm/{index-B2zPAvcK.js.map → index-sRNeuMwn.js.map} +1 -1
  152. package/dist/esm/{index-CnlhRGCS.js → index-twmTScS3.js} +2 -2
  153. package/dist/esm/{index-CnlhRGCS.js.map → index-twmTScS3.js.map} +1 -1
  154. package/dist/esm/{index-DXo-05N5.js → index-uLsLeHIc.js} +2 -2
  155. package/dist/esm/{index-DXo-05N5.js.map → index-uLsLeHIc.js.map} +1 -1
  156. package/dist/esm/index.js +200 -212
  157. package/dist/esm/{index.vue_vue_type_script_setup_true_lang-ZuOpqJUd.js → index.vue_vue_type_script_setup_true_lang-D6Do3yMG.js} +2 -2
  158. package/dist/esm/{index.vue_vue_type_script_setup_true_lang-ZuOpqJUd.js.map → index.vue_vue_type_script_setup_true_lang-D6Do3yMG.js.map} +1 -1
  159. package/dist/esm/{json-editor-DsM_FDfo.js → json-editor-BwH3lug0.js} +2 -2
  160. package/dist/esm/{json-editor-DsM_FDfo.js.map → json-editor-BwH3lug0.js.map} +1 -1
  161. package/dist/esm/{markdown-editor-CUiWKbbs.js → markdown-editor-b9Ta5OxT.js} +2 -2
  162. package/dist/esm/{markdown-editor-CUiWKbbs.js.map → markdown-editor-b9Ta5OxT.js.map} +1 -1
  163. package/dist/esm/{normal-CnXnNfbw.js → normal-C2ZX1aeN.js} +2 -2
  164. package/dist/esm/{normal-CnXnNfbw.js.map → normal-C2ZX1aeN.js.map} +1 -1
  165. package/dist/esm/{normal-CZXCM1-D.js → normal-RTcgi-xa.js} +2 -2
  166. package/dist/esm/{normal-CZXCM1-D.js.map → normal-RTcgi-xa.js.map} +1 -1
  167. package/dist/esm/{permission-manage-DA6XtD6L.js → permission-manage-D7MGM9ft.js} +2 -2
  168. package/dist/esm/{permission-manage-DA6XtD6L.js.map → permission-manage-D7MGM9ft.js.map} +1 -1
  169. package/dist/esm/{resource-select-input-DDxljeSs.js → resource-select-input-CQRocpsN.js} +2 -2
  170. package/dist/esm/{resource-select-input-DDxljeSs.js.map → resource-select-input-CQRocpsN.js.map} +1 -1
  171. package/dist/esm/style.css +224 -742
  172. package/dist/esm/{table-B_CNvs27.js → table-1uXSdF6K.js} +2 -2
  173. package/dist/esm/{table-B_CNvs27.js.map → table-1uXSdF6K.js.map} +1 -1
  174. package/dist/types/components/basic/lexical-editor/composables/lexicalEditor.d.ts +4 -2
  175. package/dist/types/components/basic/lexical-editor/composables/useLexicalCommandsLog.d.ts +1 -1
  176. package/dist/types/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.d.ts +5 -5
  177. package/dist/types/components/basic/lexical-editor/nodes/HtmlElementNode.d.ts +3 -3
  178. package/dist/types/components/business/resource-list/components/resource-item/index.vue.d.ts +13 -1
  179. package/dist/types/components/business/resource-manager/index.d.ts +4 -4
  180. package/dist/types/core/MSAppClient.d.ts +2 -0
  181. package/dist/types/index.d.ts +1 -2
  182. package/dist/types/init-application.d.ts +3 -1
  183. package/dist/types/layouts/new/components/Topbar/Toolbar/Message/index.d.ts +3 -0
  184. package/dist/types/layouts/new/components/Topbar/Toolbar/Message/message-list.vue.d.ts +27 -0
  185. package/dist/types/layouts/new/components/Topbar/Toolbar/Message/message.d.ts +1 -0
  186. package/dist/types/layouts/new/components/Topbar/Toolbar/Message/notify.d.ts +13 -0
  187. package/dist/types/layouts/new/ui-kit/HInput.vue.d.ts +2 -2
  188. package/dist/types/layouts/new/ui-kit/HTabList.vue.d.ts +2 -2
  189. package/dist/types/message-impl/DialogerImpl.d.ts +3 -1
  190. package/dist/types/modules/ms/dataviews/index.d.ts +1 -0
  191. package/dist/types/modules/ms/dataviews/ms-message/MsMessageNotifyTable.d.ts +18 -0
  192. package/dist/types/modules/ms/dataviews/ms-message/MsMessageTable.d.ts +1 -0
  193. package/dist/types/modules/ms/dataviews/ms-message/SendForm.d.ts +1 -1
  194. package/dist/types/modules/ms/dataviews/ms-message/index.d.ts +3 -2
  195. package/dist/types/modules/{cms/dataviews/cms-tags/CmsTagsTable.d.ts → ms/dataviews/request-log/MsRequestLogTable.d.ts} +3 -2
  196. package/dist/types/modules/ms/dataviews/request-log/index.d.ts +1 -0
  197. package/dist/types/store/modules/tabbar.d.ts +6 -6
  198. package/package.json +6 -8
  199. package/dist/cjs/article-edit-add-page-DOHWFoYx.cjs +0 -882
  200. package/dist/cjs/article-edit-add-page-DOHWFoYx.cjs.map +0 -1
  201. package/dist/cjs/cms-settings-CreshwVH.cjs +0 -49
  202. package/dist/cjs/cms-settings-CreshwVH.cjs.map +0 -1
  203. package/dist/cjs/index-CCRCg477.cjs +0 -393
  204. package/dist/cjs/index-CCRCg477.cjs.map +0 -1
  205. package/dist/cjs/index-Cqx6has-.cjs.map +0 -1
  206. package/dist/cjs/index-D1rwP_XD.cjs.map +0 -1
  207. package/dist/cjs/index-D6oqYqr5.cjs +0 -406
  208. package/dist/cjs/index-D6oqYqr5.cjs.map +0 -1
  209. package/dist/cjs/index-DYe4VYfx.cjs.map +0 -1
  210. package/dist/cjs/index-bjNfIJ9l.cjs +0 -79
  211. package/dist/cjs/index-bjNfIJ9l.cjs.map +0 -1
  212. package/dist/cjs/index-mI0uOelq.cjs +0 -1605
  213. package/dist/cjs/index-mI0uOelq.cjs.map +0 -1
  214. package/dist/cjs/index-yY6nqi0P.cjs.map +0 -1
  215. package/dist/cjs/index-zTzCVKVY.cjs.map +0 -1
  216. package/dist/esm/article-edit-add-page-CdwMEUo9.js +0 -882
  217. package/dist/esm/article-edit-add-page-CdwMEUo9.js.map +0 -1
  218. package/dist/esm/cms-settings-Drin7wFi.js +0 -50
  219. package/dist/esm/cms-settings-Drin7wFi.js.map +0 -1
  220. package/dist/esm/index-BJVZ0yS1.js.map +0 -1
  221. package/dist/esm/index-CEnaU3CC.js +0 -406
  222. package/dist/esm/index-CEnaU3CC.js.map +0 -1
  223. package/dist/esm/index-CmlDmGjs.js +0 -1605
  224. package/dist/esm/index-CmlDmGjs.js.map +0 -1
  225. package/dist/esm/index-Cq7SIfSQ.js.map +0 -1
  226. package/dist/esm/index-DVQ4uHey.js.map +0 -1
  227. package/dist/esm/index-DWQX_Oq-.js +0 -393
  228. package/dist/esm/index-DWQX_Oq-.js.map +0 -1
  229. package/dist/esm/index-Jh3JnsYu.js.map +0 -1
  230. package/dist/esm/index-Zd8aDHyM.js.map +0 -1
  231. package/dist/esm/index-mTGOVfMi.js +0 -79
  232. package/dist/esm/index-mTGOVfMi.js.map +0 -1
  233. package/dist/types/modules/cms/cms-settings.d.ts +0 -85
  234. package/dist/types/modules/cms/components/index.d.ts +0 -1
  235. package/dist/types/modules/cms/components/part-tree/index.d.ts +0 -22
  236. package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +0 -28
  237. package/dist/types/modules/cms/composables/part-extensions.d.ts +0 -34
  238. package/dist/types/modules/cms/constants/index.d.ts +0 -1
  239. package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +0 -11
  240. package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.d.ts +0 -7
  241. package/dist/types/modules/cms/dataviews/cms-ad-contents/index.d.ts +0 -2
  242. package/dist/types/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.d.ts +0 -7
  243. package/dist/types/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesTable.d.ts +0 -7
  244. package/dist/types/modules/cms/dataviews/cms-ad-defines/index.d.ts +0 -2
  245. package/dist/types/modules/cms/dataviews/cms-articles/CmsArticlesForm.d.ts +0 -22
  246. package/dist/types/modules/cms/dataviews/cms-articles/CmsArticlesTable.d.ts +0 -7
  247. package/dist/types/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.d.ts +0 -7
  248. package/dist/types/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.d.ts +0 -7
  249. package/dist/types/modules/cms/dataviews/cms-articles/cms-article-atlas/index.d.ts +0 -2
  250. package/dist/types/modules/cms/dataviews/cms-articles/index.d.ts +0 -2
  251. package/dist/types/modules/cms/dataviews/cms-part-types/CmsPartTypesForm.d.ts +0 -7
  252. package/dist/types/modules/cms/dataviews/cms-part-types/CmsPartTypesTable.d.ts +0 -7
  253. package/dist/types/modules/cms/dataviews/cms-part-types/index.d.ts +0 -2
  254. package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +0 -8
  255. package/dist/types/modules/cms/dataviews/cms-parts/CmsPartForm.d.ts +0 -35
  256. package/dist/types/modules/cms/dataviews/cms-parts/CmsPartMiniForm.d.ts +0 -4
  257. package/dist/types/modules/cms/dataviews/cms-parts/CmsPartTree.d.ts +0 -13
  258. package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +0 -4
  259. package/dist/types/modules/cms/dataviews/cms-tags/CmsTagsForm.d.ts +0 -7
  260. package/dist/types/modules/cms/dataviews/cms-tags/index.d.ts +0 -2
  261. package/dist/types/modules/cms/dataviews/index.d.ts +0 -6
  262. package/dist/types/modules/cms/index.d.ts +0 -6
  263. package/dist/types/modules/cms/pages/cms-ad/index.vue.d.ts +0 -2
  264. package/dist/types/modules/cms/pages/cms-contents/article-edit-add-page.vue.d.ts +0 -2
  265. package/dist/types/modules/cms/pages/cms-contents/components/article-atlas.vue.d.ts +0 -57
  266. package/dist/types/modules/cms/pages/cms-contents/components/article-list.vue.d.ts +0 -14
  267. package/dist/types/modules/cms/pages/cms-contents/components/part-banner-edit.vue.d.ts +0 -16
  268. package/dist/types/modules/cms/pages/cms-contents/components/part-banner.vue.d.ts +0 -32
  269. package/dist/types/modules/cms/pages/cms-contents/components/part-info.vue.d.ts +0 -24
  270. package/dist/types/modules/cms/pages/cms-contents/index.vue.d.ts +0 -2
  271. package/dist/types/modules/cms/pages/cms-resource/index.vue.d.ts +0 -2
  272. package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +0 -44
  273. package/dist/types/modules/cms/pages/cms-settigns/index.vue.d.ts +0 -2
  274. package/dist/types/modules/cms/pages/test/index.vue.d.ts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"article-edit-add-page-DOHWFoYx.cjs","sources":["../../src/modules/cms/pages/cms-contents/components/article-atlas.vue","../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <el-card class=\"cms-article-atlas\">\r\n <template #header>\r\n <div @click=\"showAtlasFormHandle()\" class=\"cms-article-atlas__header\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Picture\" style=\"margin-right: 5px;\" />\r\n 文章媒体库\r\n </span>\r\n <MKSvgIcon class=\"cms-article-atlas__header__btn\" iconClass=\"Plus\" style=\"color: #409EFF;\" />\r\n </div>\r\n </template>\r\n <el-empty v-if=\"atlas.length <= 0\" description=\"暂无内容\" />\r\n <el-scrollbar class=\"cms-article-atlas__list\" v-else>\r\n <el-card class=\"cms-article-atlas__list__item\" v-for=\"(item, index) in atlas\" :key=\"item.id\">\r\n <el-image class=\"images\" :src=\"item.path\" v-if=\"item.type == 1\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" controls></video>\r\n <div class=\"cms-article-atlas__list__item__desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"item.title\">{{ item.title }}</span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"item.link\" target=\"_blank\" :title=\"item.path\">{{ item.link }}</a>\r\n </div>\r\n </div>\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\" @click=\"editHandle(item)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandle(index)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </el-card>\r\n <el-dialog v-model=\"formVisible\" append-to-body>\r\n <MKDataForm :dataForm=\"atlasDv\">\r\n <MKForm></MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <el-button type=\"primary\" @click=\"saveAlatsHandle\">保存</el-button>\r\n <el-button @click=\"formVisible = false\"> 取消 </el-button>\r\n </template>\r\n </el-dialog>\r\n\r\n </el-scrollbar>\r\n </el-card>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, computed, ref, defineProps, watch, reactive } from \"vue\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport { CmsArticleAtlasForm } from \"../../../dataviews/cms-articles/cms-article-atlas\";\r\nimport { MKDataForm, MKForm } from \"../../../../../components\";\r\n\r\n// 参数\r\nconst props = defineProps({\r\n articleId: { type: Number, default: \"\" },\r\n modelValue: { type: Array<any>, default: () => [] },\r\n})\r\nconst emit = defineEmits([\"update:modelValue\"])\r\n//atlas表单\r\nconst atlasDv = reactive(new CmsArticleAtlasForm()) as CmsArticleAtlasForm;\r\nconst formVisible = ref(false);\r\n\r\nconst imgExtension = [\".jpg\", \".png\", \".gif\", \".jpeg\", \".bmp\", \".webp\", \".svg\", \".tiff\", \".tif\", \".ico\", \".jfif\", \".jpe\"]\r\nconst videoExtension = [\".mp4\", \".avi\", \".rmvb\", \".flv\", \".mkv\", \".wmv\", \".mov\", \".webm\", \".m4v\", \".mpg\", \".mpeg\", \".mts\", \".m2ts\", \".m2v\", \".mpe\", \".mpv\", \".vob\", \".ogv\", \".3gp\", \".3g2\", \".3gpp\", \".3gpp2\", \".3gp2\"]\r\n\r\n\r\n//图集数据\r\nconst atlas = computed(\r\n () => {\r\n const _arr = props.modelValue.map((item, index) => {\r\n const extension = item.path.slice(item.path.lastIndexOf(\".\"))\r\n let type = 0;\r\n if (imgExtension.includes(extension)) {\r\n type = 1\r\n } else if (videoExtension.includes(extension)) {\r\n type = 2\r\n }\r\n return { ...item, type, uid: item.title + index }\r\n })\r\n return _arr\r\n },\r\n);\r\n\r\n\r\n(window as any).atlasDv = atlasDv;\r\n(window as any).atlas = atlas;\r\n(window as any).modelValue = props.modelValue;\r\n/***\r\n * 展示atlas表单\r\n */\r\nconst showAtlasFormHandle = () => {\r\n formVisible.value = true;\r\n atlasDv.addRecord({\r\n cmsArticlesId: props.articleId\r\n })\r\n}\r\n\r\n//重置atlas表单\r\nwatch(formVisible, (v) => {\r\n atlasDv.reset();\r\n})\r\n\r\n/**\r\n * 保存\r\n */\r\nconst saveAlatsHandle = async () => {\r\n if (atlasDv.data.uid) {\r\n const index = atlas.value.findIndex(item => item.uid == atlasDv.data.uid)\r\n atlas.value[index] = { ...atlas.value[index], ...atlasDv.data }\r\n } else {\r\n atlas.value.push(atlasDv.data)\r\n }\r\n\r\n emit(\"update:modelValue\", atlas.value)\r\n formVisible.value = false;\r\n}\r\n/**\r\n * 删除\r\n */\r\nconst deleteHandle = (index: number) => {\r\n atlas.value.splice(index, 1)\r\n emit(\"update:modelValue\", atlas.value)\r\n}\r\n\r\nconst editHandle = (item: any) => {\r\n atlasDv.addRecord(item)\r\n formVisible.value = true;\r\n}\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n await atlasDv.init();\r\n})\r\n\r\n</script>\r\n","<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"ArrowLeftBold\" title=\"返回\"\r\n @back=\"() => router.push({ name: 'cms/contents', query: { pid: articleForm?.data?.cmsPartId } })\">\r\n <template #content>\r\n <template v-if=\"!articleForm.loading\">\r\n <el-text v-if=\"!articleForm.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleForm.data?.modifierName }} 于 {{ articleForm.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n\r\n <template v-if=\"!articleForm.loading\">\r\n <el-tag v-if=\"!articleForm.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleForm.data?.publishTime }}</el-text>\r\n </template>\r\n\r\n <el-dropdown split-button type=\"primary\" style=\"margin-left: 10px;\" @click=\"saveHandle\">\r\n <MKSvgIcon name=\"carbon:save\" style=\"margin-right: 10px;\" />\r\n 保存\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"saveAndViewHandle\">\r\n <MKSvgIcon name=\"ep:view\" style=\"margin-right: 5px;\" />\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"saveAndPublishHandle\">\r\n <MKSvgIcon name=\"ep:share\" style=\"margin-right: 5px;\" />\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleForm.loading\">\r\n\r\n <MKDocEditor v-if=\"articleForm.data\" :css=\"CmsSettings.content.doc.css\" namespace=\"cms-article\"\r\n :js=\"CmsSettings.content.doc.js\" :modelValue=\"content\" @update:modelValue=\"docEditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: closeExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon name=\"ep:arrow-left\" class=\"open\" @click=\"closeExtentionsHandle\" v-if=\"closeExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else name=\"ep:arrow-right\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleForm\">\r\n <MKForm :dataForm=\"articleForm\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row v-if=\"CmsSettings.content.useTop\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useNew\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useHotRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.usePartRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <!-- <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row> -->\r\n <!-- <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row> -->\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleForm.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon name=\"ep:user-filled\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleForm.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon name=\"ep:location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useTags\">\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon name=\"ep:collection-tag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-divider content-position=\"left\">\r\n 文章封面/简介\r\n <el-switch v-model=\"descAutoCreate\" style=\"margin-left: 10px;\" inline-prompt active-text=\"自动生成\"\r\n inactive-text=\"手动撰写\" />\r\n </el-divider>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadImage style=\"margin-right: 10px;\" v-model=\"articleForm.data.cover\" width=\"115px\" height=\"115px\" \r\n :uploadContext=\"new ImageUploadContext(CmsSettings.content.coverImageSize)\">\r\n\r\n </MKUploadImage>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 30 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章Banner图</el-divider>\r\n <el-row>\r\n <MKUploadImage v-model=\"articleForm.data.banner\" style=\"width: 100%;\" height=\"300px\" :uploadContext=\"new ImageUploadContext(CmsSettings.content.bannerImageSize)\">\r\n\r\n </MKUploadImage>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\" v-if=\"CmsSettings.content.useAtlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleForm.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\" v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <MKDataForm :dataForm=\"articleForm\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleForm\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, computed } from \"vue\";\r\nimport { ArrowLeftBold } from \"@element-plus/icons-vue\"\r\nimport { MKDocEditor, MKSvgIcon, MKUploadImage } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\nconst route = useRoute()\r\nconst router = useRouter();\r\n\r\n\r\n// 文章请求\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleForm.data?.title || \"\"; },\r\n set(val) { articleForm.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleForm.data?.subTitle || \"\"; },\r\n set(val) { articleForm.data.subTitle = val; }\r\n});\r\n// 获取默认简介\r\nconst getDefaultDescContent = () => {\r\n if (!descAutoCreate.value) {\r\n return \"\";\r\n }\r\n let val: any = \"\";\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = content.value;\r\n val = div.textContent?.substring(0, 700);\r\n if (div.textContent!.length > 700) {\r\n val += \"...\";\r\n }\r\n return val;\r\n}\r\nconst descAutoCreate = ref(true)\r\n// 简介\r\nconst desc = computed({\r\n get() {\r\n return articleForm.data?.desc || getDefaultDescContent();\r\n },\r\n set(val) {\r\n articleForm.data.desc = val;\r\n }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleForm.data?.releaseDate || articleForm.data?.publishTime; },\r\n set(val) { articleForm.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleForm.data?.tags || [] }, \r\n// set(val) { articleForm.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleForm.data?.content || \"\"; },\r\n set(val) { articleForm.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleForm.data?.atlas\r\n },\r\n set(val) { articleForm.data.atlas = val; }\r\n});\r\n\r\n// 表单初始化\r\nconst formInitDataInfo = ()=>{\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleForm.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleForm.addRecord({ cmsPartId: route.query.partId,isDraft:1 });\r\n }\r\n else {\r\n articleForm.addRecord({ isDraft:1 });\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n formInitDataInfo();\r\n articleForm.init();\r\n\r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n // 简介不存在的时候使用自动生成的\r\n if (!articleForm.data?.desc) {\r\n desc.value = getDefaultDescContent();\r\n }\r\n\r\n let result = await articleForm.submit();\r\n\r\n router.back();\r\n\r\n return result;\r\n}\r\n\r\n// 保存并预览\r\nconst saveAndViewHandle = async ()=>{\r\n const partId = articleForm.data.cmsPartId;\r\n const data = await saveHandle();\r\n if(data.data.code == 200 && data.data.data){\r\n window.open('/api/cms/content/preview/content/' + partId + '/' + data.data.data)\r\n }\r\n}\r\n\r\n// 保存并发布\r\nconst saveAndPublishHandle = async ()=>{\r\n const result:any = await articleForm.saveAndPublish(CmsSettings.publish.mode);\r\n if(result.data.code == 200){\r\n router.back();\r\n }\r\n}\r\n\r\n// 隐藏扩展\r\nconst closeExtentions = ref(true);\r\nconst extentionsRef = ref();\r\nconst hideExtentionsHandle = () => {\r\n closeExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst closeExtentionsHandle = () => {\r\n closeExtentions.value = false;\r\n}\r\n\r\nconst docEditorChangeHandle = (v: any) => {\r\n articleForm.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":["reactive","CmsArticleAtlasForm","ref","computed","index","watch","onMounted","useCmsSettings","useRoute","useRouter","CmsArticlesForm"],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- const vue = require("vue");
3
- const index = require("./index-Cqx6has-.cjs");
4
- const CmsSettings = vue.reactive({
5
- publish: {
6
- mode: "dynamic"
7
- },
8
- devices: ["pc"],
9
- part: {
10
- openBanner: true,
11
- bannerImageSize: "1440*560",
12
- docModules: [],
13
- docTemplates: [],
14
- doc: {
15
- js: "",
16
- css: ""
17
- }
18
- },
19
- content: {
20
- doc: {
21
- js: "",
22
- css: ""
23
- },
24
- docModules: [],
25
- docTemplates: [],
26
- useTop: true,
27
- useNew: true,
28
- useHotRecommend: false,
29
- usePartRecommend: false,
30
- useTags: false,
31
- useAtlas: false,
32
- coverImageSize: "300*300",
33
- bannerImageSize: "1440*560"
34
- }
35
- });
36
- const CmsSettingsKEY = "cms:content:man:settings";
37
- const useCmsSettings = function(load = false) {
38
- if (load) {
39
- index.MsConfigTable.getConfigValue(CmsSettingsKEY).then((data) => {
40
- if (data) {
41
- Object.assign(CmsSettings, data);
42
- }
43
- });
44
- }
45
- return CmsSettings;
46
- };
47
- exports.CmsSettingsKEY = CmsSettingsKEY;
48
- exports.useCmsSettings = useCmsSettings;
49
- //# sourceMappingURL=cms-settings-CreshwVH.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cms-settings-CreshwVH.cjs","sources":["../../src/modules/cms/cms-settings.ts"],"sourcesContent":["import { reactive } from \"vue\"\r\nimport { MsConfigTable } from \"../ms/dataviews/ms-config/MsConfigTable\"\r\nimport { registerLexicalEditorModule,unRegisterLexicalEditorModule } from \"../../components/basic/lexical-editor\"\r\n\r\n/**\r\n * 发布配置\r\n */\r\ntype PublishSettings = {\r\n // 发布模式 静态发布和动态发布\r\n mode:'static' | 'dynamic'\r\n}\r\n\r\n/**\r\n * cms 文档编辑设置\r\n */\r\ntype CmsDocSettings = {\r\n css:string,\r\n js:string\r\n}\r\n\r\n/**\r\n * 栏目配置\r\n */\r\ntype PartSettings = {\r\n doc:CmsDocSettings\r\n openBanner:boolean,\r\n bannerImageSize:string,\r\n // 文档模块\r\n docModules:Array<any>,\r\n // 文档模版\r\n docTemplates:Array<any>\r\n}\r\n\r\n/**\r\n * 内容设置\r\n */\r\ntype ContentSettings = {\r\n /**\r\n * 内容文档设置\r\n */\r\n doc:CmsDocSettings,\r\n /**\r\n * 开启文档置顶功能\r\n */\r\n useTop:boolean,\r\n /**\r\n * 开启最新文档功能\r\n */\r\n useNew:boolean,\r\n /**\r\n * 开启热点推荐功能\r\n */\r\n useHotRecommend:boolean,\r\n /**\r\n * 开启栏目推荐功能\r\n */\r\n usePartRecommend:boolean,\r\n /**\r\n * 开启内容标签\r\n */\r\n useTags:boolean,\r\n /**\r\n * 开启媒体库\r\n */\r\n useAtlas:boolean,\r\n /**\r\n * 封面图的尺寸 默认 300 * 300\r\n */\r\n coverImageSize:string,\r\n /**\r\n * banner图的尺寸 默认 1440 * 560\r\n */\r\n bannerImageSize:string,\r\n // 文档模块\r\n docModules:Array<any>,\r\n // 文档模版\r\n docTemplates:Array<any>\r\n}\r\n\r\n/**\r\n * cms 系统设置\r\n */\r\nexport type CmsSettingsType = {\r\n // 发布配置\r\n publish:PublishSettings,\r\n devices:Array<'pc' | 'mobile'>,\r\n part:PartSettings,\r\n content:ContentSettings\r\n}\r\n\r\n/**\r\n * cms 配置\r\n */\r\nconst CmsSettings = reactive<CmsSettingsType>({\r\n publish:{\r\n mode:\"dynamic\"\r\n },\r\n devices:[\"pc\"],\r\n part:{\r\n openBanner:true,\r\n bannerImageSize:\"1440*560\",\r\n docModules:[],\r\n docTemplates:[],\r\n doc:{\r\n js:\"\",\r\n css:\"\"\r\n }\r\n },\r\n content:{\r\n doc:{\r\n js:\"\",\r\n css:\"\"\r\n },\r\n docModules:[],\r\n docTemplates:[],\r\n useTop:true,\r\n useNew:true,\r\n useHotRecommend:false,\r\n usePartRecommend:false,\r\n useTags:false,\r\n useAtlas:false,\r\n coverImageSize:\"300*300\",\r\n bannerImageSize:\"1440*560\"\r\n }\r\n})\r\n\r\n/**\r\n * \r\n */\r\nexport const CmsSettingsKEY = \"cms:content:man:settings\";\r\n\r\n/**\r\n * 使用cms配置\r\n * @param load \r\n */\r\nexport const useCmsSettings = function(load:boolean|undefined = false):CmsSettingsType{\r\n\r\n if(load){\r\n \r\n MsConfigTable.getConfigValue<CmsSettingsType>(CmsSettingsKEY).then(data=>{\r\n if(data){ \r\n // 卸载掉老旧模块\r\n // CmsSettings.docModules.forEach(item=> unRegisterDocModule(item.name) );\r\n Object.assign(CmsSettings,data);\r\n // 加载新内容安装新模块\r\n // CmsSettings.docModules.forEach(item=>registerLexicalEditorModule(item,\"\"));\r\n }\r\n });\r\n\r\n }\r\n\r\n return CmsSettings;\r\n}\r\n"],"names":["reactive","MsConfigTable"],"mappings":";;;AA6FA,MAAM,cAAcA,IAAAA,SAA0B;AAAA,EAC5C,SAAQ;AAAA,IACN,MAAK;AAAA,EACP;AAAA,EACA,SAAQ,CAAC,IAAI;AAAA,EACb,MAAK;AAAA,IACH,YAAW;AAAA,IACX,iBAAgB;AAAA,IAChB,YAAW,CAAC;AAAA,IACZ,cAAa,CAAC;AAAA,IACd,KAAI;AAAA,MACF,IAAG;AAAA,MACH,KAAI;AAAA,IACN;AAAA,EACF;AAAA,EACA,SAAQ;AAAA,IACN,KAAI;AAAA,MACF,IAAG;AAAA,MACH,KAAI;AAAA,IACN;AAAA,IACA,YAAW,CAAC;AAAA,IACZ,cAAa,CAAC;AAAA,IACd,QAAO;AAAA,IACP,QAAO;AAAA,IACP,iBAAgB;AAAA,IAChB,kBAAiB;AAAA,IACjB,SAAQ;AAAA,IACR,UAAS;AAAA,IACT,gBAAe;AAAA,IACf,iBAAgB;AAAA,EAClB;AACF,CAAC;AAKM,MAAM,iBAAiB;AAMjB,MAAA,iBAAkB,SAAS,OAAyB,OAAsB;AAErF,MAAG,MAAK;AAENC,UAAAA,cAAc,eAAgC,cAAc,EAAE,KAAK,CAAM,SAAA;AACvE,UAAG,MAAK;AAGC,eAAA,OAAO,aAAY,IAAI;AAAA,MAGhC;AAAA,IAAA,CACD;AAAA,EAEH;AAEO,SAAA;AACT;;;"}
@@ -1,393 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const request = require("@maketribe/request");
5
- const dm = require("@maketribe/dm");
6
- const index = require("./index-Cqx6has-.cjs");
7
- require("element-plus");
8
- require("@maketribe/utils");
9
- require("vue-router");
10
- require("@maketribe/locale");
11
- require("lodash-es");
12
- require("@lexical/overflow");
13
- require("@lexical/text");
14
- require("@lexical/utils");
15
- require("lexical");
16
- require("@lexical/selection");
17
- require("@lexical/link");
18
- require("@lexical/rich-text");
19
- const elIcons = require("@element-plus/icons-vue");
20
- require("@lexical/history");
21
- require("@lexical/dragon");
22
- require("@lexical/plain-text");
23
- require("@codemirror/lang-html");
24
- const _hoisted_1 = { class: "mk-cms-ad__warp" };
25
- const _hoisted_2 = {
26
- style: { "color": "var(--el-text-color-regular)" },
27
- m: "l-[10px]",
28
- flex: "~ items-center"
29
- };
30
- const _hoisted_3 = { class: "flex items-center" };
31
- const _hoisted_4 = { class: "mk-cms-ad__body" };
32
- const _hoisted_5 = { class: "mk-cms-ad__card__header clearfix" };
33
- const _hoisted_6 = { class: "btn-box" };
34
- const _hoisted_7 = { class: "mk-cms-ad__card__body" };
35
- const _hoisted_8 = /* @__PURE__ */ vue.createElementVNode("div", {
36
- slot: "placeholder",
37
- class: "image-slot"
38
- }, [
39
- /* @__PURE__ */ vue.createTextVNode(" 加载中"),
40
- /* @__PURE__ */ vue.createElementVNode("span", { class: "dot" }, "...")
41
- ], -1);
42
- const _hoisted_9 = ["src"];
43
- const _hoisted_10 = { class: "item-desc" };
44
- const _hoisted_11 = { class: "item-desc-left" };
45
- const _hoisted_12 = { class: "title ellipsis" };
46
- const _hoisted_13 = ["title"];
47
- const _hoisted_14 = { class: "desc" };
48
- const _hoisted_15 = { class: "external-links ellipsis" };
49
- const _hoisted_16 = ["href", "title"];
50
- const _hoisted_17 = { class: "item-desc-right" };
51
- const _hoisted_18 = { class: "el-dropdown-link" };
52
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
53
- __name: "index",
54
- setup(__props) {
55
- const adRequest = new request.DataViewRequest({ name: "ad-define", moduleName: "cms" });
56
- const adContentRequest = new request.DataViewRequest({ name: "ad-content", moduleName: "cms" });
57
- const adSearchWord = vue.ref("");
58
- const adDefineList = vue.ref([]);
59
- const loading = vue.ref(true);
60
- const setAdDefineList = async (condition) => {
61
- try {
62
- loading.value = true;
63
- if (!condition) {
64
- condition = new request.Group();
65
- }
66
- condition == null ? void 0 : condition.addCondition("key", "nolike", "part_");
67
- adDefineList.value = (await adRequest.allList({
68
- data: {
69
- condition
70
- }
71
- })).data.data;
72
- } catch (e) {
73
- console.error(e);
74
- } finally {
75
- loading.value = false;
76
- }
77
- };
78
- const adContentForm = vue.reactive(new index.CmsAdContentsForm());
79
- adContentForm.submittedEvent.on(() => {
80
- setAdDefineList();
81
- });
82
- const showAdContentHandler = async (item, isEdit) => {
83
- await dm.Dialoger.dataFormDialog({
84
- dataForm: adContentForm,
85
- recId: isEdit ? item.id : void 0
86
- });
87
- if (!isEdit) {
88
- adContentForm.addRecord({ adDefineId: item.id });
89
- }
90
- };
91
- const adDefineForm = vue.reactive(new class extends index.CmsAdDefinesForm {
92
- //去掉广告内容
93
- async initialize() {
94
- await super.initialize();
95
- this.setColumns([
96
- new dm.FormColumn({ name: "key", label: "广告位KEY", required: true }),
97
- new dm.FormColumn({ name: "desc", label: "广告位描述", required: true })
98
- ]);
99
- }
100
- }());
101
- adDefineForm.submittedEvent.on(() => {
102
- setAdDefineList();
103
- });
104
- const showAdDefineHandle = (item) => {
105
- dm.Dialoger.dataFormDialog({
106
- dataForm: adDefineForm,
107
- recId: item == null ? void 0 : item.id
108
- });
109
- };
110
- const deleteHandler = async (request2, field, item) => {
111
- const isConfirm = await dm.Dialoger.confirm({
112
- title: "是否删除?",
113
- message: `确定删除【${item[field]}】广告位?`,
114
- type: "warning"
115
- });
116
- if (!isConfirm) {
117
- return;
118
- }
119
- try {
120
- loading.value = true;
121
- const result = await request2.delete(item.id);
122
- if (result.data.code != 200) {
123
- dm.Messager.error({ message: result.data.msg || "删除失败" });
124
- return;
125
- }
126
- await setAdDefineList();
127
- } catch (e) {
128
- dm.Messager.error({ message: e });
129
- } finally {
130
- loading.value = false;
131
- }
132
- };
133
- vue.onMounted(async () => {
134
- await setAdDefineList();
135
- });
136
- let timer = null;
137
- vue.watch(adSearchWord, async () => {
138
- if (!!timer) {
139
- clearTimeout(timer);
140
- }
141
- timer = setTimeout(async () => {
142
- const condition = new request.Group();
143
- condition.addCondition("desc", "like", `%${adSearchWord.value}%`);
144
- await setAdDefineList(condition);
145
- }, 500);
146
- });
147
- return (_ctx, _cache) => {
148
- var _a, _b;
149
- const _component_el_input = vue.resolveComponent("el-input");
150
- const _component_el_button = vue.resolveComponent("el-button");
151
- const _component_el_page_header = vue.resolveComponent("el-page-header");
152
- const _component_el_empty = vue.resolveComponent("el-empty");
153
- const _component_el_image = vue.resolveComponent("el-image");
154
- const _component_el_icon = vue.resolveComponent("el-icon");
155
- const _component_el_dropdown_item = vue.resolveComponent("el-dropdown-item");
156
- const _component_el_dropdown_menu = vue.resolveComponent("el-dropdown-menu");
157
- const _component_el_dropdown = vue.resolveComponent("el-dropdown");
158
- const _component_el_card = vue.resolveComponent("el-card");
159
- const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
160
- const _directive_loading = vue.resolveDirective("loading");
161
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
162
- vue.createVNode(_component_el_page_header, {
163
- style: { "background-color": "#fff", "padding": "10px" },
164
- icon: null
165
- }, {
166
- title: vue.withCtx(() => [
167
- vue.createElementVNode("h3", _hoisted_2, [
168
- vue.createVNode(vue.unref(index.MKSvgIcon), {
169
- name: "ep:guide",
170
- m: "r-[5px]"
171
- }),
172
- vue.createTextVNode(" 广告位管理 ")
173
- ])
174
- ]),
175
- content: vue.withCtx(() => [
176
- vue.createVNode(_component_el_input, {
177
- style: { "width": "240px" },
178
- placeholder: "请输入广告位描述",
179
- modelValue: adSearchWord.value,
180
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => adSearchWord.value = $event)
181
- }, {
182
- prefix: vue.withCtx(() => [
183
- vue.createVNode(vue.unref(index.MKSvgIcon), { name: "material-symbols:search" })
184
- ]),
185
- _: 1
186
- }, 8, ["modelValue"])
187
- ]),
188
- extra: vue.withCtx(() => [
189
- vue.createElementVNode("div", _hoisted_3, [
190
- vue.createVNode(_component_el_button, {
191
- type: "primary",
192
- size: "large",
193
- text: "",
194
- onClick: showAdDefineHandle
195
- }, {
196
- default: vue.withCtx(() => [
197
- vue.createTextVNode(" 添加广告位 "),
198
- vue.createVNode(vue.unref(index.MKSvgIcon), {
199
- name: "ep:plus",
200
- style: { "margin-left": "10px" }
201
- })
202
- ]),
203
- _: 1
204
- })
205
- ])
206
- ]),
207
- _: 1
208
- }),
209
- vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
210
- ((_a = adDefineList.value) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_component_el_scrollbar, {
211
- key: 0,
212
- class: "mk-cms-ad__body__scrollbar"
213
- }, {
214
- default: vue.withCtx(() => [
215
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(adDefineList.value, (item) => {
216
- return vue.openBlock(), vue.createBlock(_component_el_card, {
217
- key: item.id,
218
- class: "mk-cms-ad__card"
219
- }, {
220
- header: vue.withCtx(() => [
221
- vue.createElementVNode("div", _hoisted_5, [
222
- vue.createElementVNode("span", null, [
223
- vue.createVNode(vue.unref(index.MKSvgIcon), {
224
- name: "ep:guide",
225
- style: { "margin-right": "5px" }
226
- }),
227
- vue.createTextVNode(" " + vue.toDisplayString(item.desc), 1)
228
- ]),
229
- vue.createElementVNode("div", _hoisted_6, [
230
- vue.createVNode(vue.unref(index.MKSvgIcon), {
231
- class: "btn",
232
- name: "ep:plus",
233
- style: { "color": "#409EFF" },
234
- onClick: ($event) => showAdContentHandler(item, false)
235
- }, null, 8, ["onClick"]),
236
- vue.createVNode(vue.unref(index.MKSvgIcon), {
237
- class: "btn",
238
- name: "ep:edit-pen",
239
- style: { "color": "#409EFF" },
240
- onClick: ($event) => showAdDefineHandle(item)
241
- }, null, 8, ["onClick"]),
242
- item.contents.length == 0 ? (vue.openBlock(), vue.createBlock(vue.unref(index.MKSvgIcon), {
243
- key: 0,
244
- class: "btn",
245
- name: "ep:delete",
246
- style: { "color": "#F56C6C" },
247
- onClick: ($event) => deleteHandler(vue.unref(adRequest), "desc", item)
248
- }, null, 8, ["onClick"])) : vue.createCommentVNode("", true)
249
- ])
250
- ])
251
- ]),
252
- default: vue.withCtx(() => [
253
- item.contents.length <= 0 ? (vue.openBlock(), vue.createBlock(_component_el_empty, {
254
- key: 0,
255
- description: "暂无内容"
256
- })) : vue.createCommentVNode("", true),
257
- vue.createElementVNode("div", _hoisted_7, [
258
- vue.createVNode(_component_el_scrollbar, { class: "mk-cms-ad__card__body__scrollbar" }, {
259
- default: vue.withCtx(() => [
260
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(item.contents, (adContent) => {
261
- return vue.openBlock(), vue.createBlock(_component_el_card, {
262
- class: "mk-cms-ad__card__body__item",
263
- key: adContent.id
264
- }, {
265
- default: vue.withCtx(() => [
266
- adContent.type == 1 ? (vue.openBlock(), vue.createBlock(_component_el_image, {
267
- key: 0,
268
- class: "images",
269
- src: adContent.path,
270
- "preview-src-list": [adContent.path],
271
- fit: "contain"
272
- }, {
273
- default: vue.withCtx(() => [
274
- _hoisted_8
275
- ]),
276
- _: 2
277
- }, 1032, ["src", "preview-src-list"])) : vue.createCommentVNode("", true),
278
- adContent.type == 2 ? (vue.openBlock(), vue.createElementBlock("video", {
279
- key: 1,
280
- class: "video",
281
- src: adContent.path,
282
- style: { "width": "100%", "height": "200px" },
283
- controls: ""
284
- }, null, 8, _hoisted_9)) : vue.createCommentVNode("", true),
285
- vue.createElementVNode("div", _hoisted_10, [
286
- vue.createElementVNode("div", _hoisted_11, [
287
- vue.createElementVNode("div", _hoisted_12, [
288
- adContent.type == 1 ? (vue.openBlock(), vue.createBlock(vue.unref(index.MKSvgIcon), {
289
- key: 0,
290
- class: "icon",
291
- name: "ep:picture"
292
- })) : vue.createCommentVNode("", true),
293
- adContent.type == 2 ? (vue.openBlock(), vue.createBlock(vue.unref(index.MKSvgIcon), {
294
- key: 1,
295
- class: "icon",
296
- name: "ep:video-camera"
297
- })) : vue.createCommentVNode("", true),
298
- vue.createElementVNode("span", {
299
- title: adContent.title + "(" + adContent.desc + ")"
300
- }, [
301
- vue.createTextVNode(vue.toDisplayString(adContent.title), 1),
302
- vue.createElementVNode("span", _hoisted_14, vue.toDisplayString(adContent.desc ? `(${adContent.desc})` : ""), 1)
303
- ], 8, _hoisted_13)
304
- ]),
305
- vue.createElementVNode("div", _hoisted_15, [
306
- adContent.link ? (vue.openBlock(), vue.createBlock(vue.unref(index.MKSvgIcon), {
307
- key: 0,
308
- class: "icon",
309
- name: "ep:link"
310
- })) : vue.createCommentVNode("", true),
311
- vue.createElementVNode("a", {
312
- href: adContent.link,
313
- target: "_blank",
314
- title: adContent.link
315
- }, vue.toDisplayString(adContent.link), 9, _hoisted_16)
316
- ])
317
- ]),
318
- vue.createElementVNode("div", _hoisted_17, [
319
- vue.createVNode(_component_el_dropdown, {
320
- trigger: "click",
321
- teleported: false,
322
- class: "item-desc-right__more"
323
- }, {
324
- dropdown: vue.withCtx(() => [
325
- vue.createVNode(_component_el_dropdown_menu, null, {
326
- default: vue.withCtx(() => [
327
- vue.createVNode(_component_el_dropdown_item, {
328
- class: "edit-button",
329
- icon: vue.unref(elIcons.EditPen),
330
- onClick: ($event) => showAdContentHandler(adContent, true)
331
- }, {
332
- default: vue.withCtx(() => [
333
- vue.createTextVNode("编辑")
334
- ]),
335
- _: 2
336
- }, 1032, ["icon", "onClick"]),
337
- vue.createVNode(_component_el_dropdown_item, {
338
- class: "delete-button",
339
- icon: vue.unref(elIcons.Delete),
340
- onClick: ($event) => deleteHandler(vue.unref(adContentRequest), "title", adContent)
341
- }, {
342
- default: vue.withCtx(() => [
343
- vue.createTextVNode("删除")
344
- ]),
345
- _: 2
346
- }, 1032, ["icon", "onClick"])
347
- ]),
348
- _: 2
349
- }, 1024)
350
- ]),
351
- default: vue.withCtx(() => [
352
- vue.createElementVNode("span", _hoisted_18, [
353
- vue.createTextVNode(" 更多"),
354
- vue.createVNode(_component_el_icon, { class: "el-icon--right" }, {
355
- default: vue.withCtx(() => [
356
- vue.createVNode(vue.unref(elIcons.ArrowDown))
357
- ]),
358
- _: 1
359
- })
360
- ])
361
- ]),
362
- _: 2
363
- }, 1024)
364
- ])
365
- ])
366
- ]),
367
- _: 2
368
- }, 1024);
369
- }), 128))
370
- ]),
371
- _: 2
372
- }, 1024)
373
- ])
374
- ]),
375
- _: 2
376
- }, 1024);
377
- }), 128))
378
- ]),
379
- _: 1
380
- })) : vue.createCommentVNode("", true),
381
- ((_b = adDefineList.value) == null ? void 0 : _b.length) <= 0 ? (vue.openBlock(), vue.createBlock(_component_el_empty, {
382
- key: 1,
383
- description: "“暂无内容”"
384
- })) : vue.createCommentVNode("", true)
385
- ])), [
386
- [_directive_loading, loading.value]
387
- ])
388
- ]);
389
- };
390
- }
391
- });
392
- exports.default = _sfc_main;
393
- //# sourceMappingURL=index-CCRCg477.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CCRCg477.cjs","sources":["../../src/modules/cms/pages/cms-ad/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-ad__warp\">\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);\" m=\"l-[10px]\" flex=\"~ items-center\">\r\n <MKSvgIcon name=\"ep:guide\" m=\"r-[5px]\"/>\r\n 广告位管理\r\n </h3>\r\n </template>\r\n <template #content>\r\n <el-input style=\"width: 240px\" placeholder=\"请输入广告位描述\" v-model=\"adSearchWord\">\r\n <template #prefix>\r\n <MKSvgIcon name=\"material-symbols:search\" />\r\n </template>\r\n </el-input>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showAdDefineHandle\">\r\n 添加广告位\r\n <MKSvgIcon name=\"ep:plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-ad__body\" v-loading=\"loading\">\r\n <el-scrollbar class=\"mk-cms-ad__body__scrollbar\" v-if=\"adDefineList?.length\">\r\n <el-card v-for=\"item in adDefineList\" :key=\"item.id\" class=\"mk-cms-ad__card\">\r\n <template #header>\r\n <div class=\"mk-cms-ad__card__header clearfix\">\r\n <span>\r\n <MKSvgIcon name=\"ep:guide\" style=\"margin-right: 5px;\" />\r\n {{ item.desc }}\r\n </span>\r\n <div class=\"btn-box\">\r\n <MKSvgIcon class=\"btn\" name=\"ep:plus\" style=\"color: #409EFF;\"\r\n @click=\"showAdContentHandler(item, false)\" />\r\n <MKSvgIcon class=\"btn\" name=\"ep:edit-pen\" style=\"color: #409EFF;\" @click=\"showAdDefineHandle(item)\" />\r\n <MKSvgIcon class=\"btn\" name=\"ep:delete\" style=\"color: #F56C6C;\"\r\n @click=\"deleteHandler(adRequest, 'desc', item)\" v-if=\"item.contents.length == 0\" />\r\n </div>\r\n </div>\r\n </template>\r\n <el-empty v-if=\"item.contents.length <= 0\" description=\"暂无内容\" />\r\n <div class=\"mk-cms-ad__card__body\">\r\n <el-scrollbar class=\"mk-cms-ad__card__body__scrollbar\">\r\n <el-card class=\"mk-cms-ad__card__body__item\" v-for=\"adContent in item.contents\" :key=\"adContent.id\">\r\n <el-image class=\"images\" v-if=\"adContent.type == 1\" :src=\"adContent.path\"\r\n :preview-src-list=\"[adContent.path]\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"adContent.type == 2\" :src=\"adContent.path\" style=\"width: 100%;height: 200px;\"\r\n controls></video>\r\n <div class=\"item-desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 1\" name=\"ep:picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 2\" name=\"ep:video-camera\"></MKSvgIcon>\r\n <span :title=\"adContent.title + '(' + adContent.desc + ')'\">{{ adContent.title }}<span\r\n class=\"desc\">{{\r\n adContent.desc ? `(${adContent.desc})` : \"\" }}</span></span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.link\" name=\"ep:link\"></MKSvgIcon>\r\n <a :href=\"adContent.link\" target=\"_blank\" :title=\"adContent.link\">{{ adContent.link }}</a>\r\n </div>\r\n </div>\r\n <div class=\"item-desc-right\">\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right__more\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\"\r\n @click=\"showAdContentHandler(adContent, true)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandler(adContentRequest, 'title', adContent)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n\r\n <el-empty v-if=\"adDefineList?.length <= 0\" description=“暂无内容” />\r\n </div>\r\n </div>\r\n\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, watch } from \"vue\";\r\nimport { DataViewRequest, Group } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n//广告位搜索词\r\nconst adSearchWord = ref(\"\")\r\n// 广告定义列表\r\nconst adDefineList = ref([] as any[]);\r\nconst loading = ref(true);\r\n\r\n//更新列表数据\r\nconst setAdDefineList = async (condition?: Group) => {\r\n try {\r\n loading.value = true;\r\n\r\n if(!condition){ condition = new Group(); }\r\n\r\n // 栏目的广告不查\r\n condition?.addCondition(\"key\",\"nolike\",\"part_\")\r\n\r\n // console.log(condition);\r\n\r\n adDefineList.value = (await adRequest.allList({\r\n data: {\r\n condition: condition\r\n }\r\n })).data.data;\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n// 广告内容表单\r\nconst adContentForm = reactive(new CmsAdContentsForm())\r\n//监听广告内容表单保存事件\r\nadContentForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n// 添加广告内容\r\nconst showAdContentHandler = async (item: any, isEdit: boolean) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: isEdit ? item.id : undefined\r\n })\r\n if (!isEdit) {\r\n adContentForm.addRecord({ adDefineId: item.id })\r\n }\r\n}\r\n\r\n//广告定义表单\r\nconst adDefineForm = reactive(new (class extends CmsAdDefinesForm {\r\n //去掉广告内容\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n ]);\r\n }\r\n}))\r\n//监听广告保存完成进行刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n//增加广告位\r\nconst showAdDefineHandle = (item: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adDefineForm as DataForm,\r\n recId: item?.id\r\n })\r\n}\r\n\r\n//删除\r\nconst deleteHandler = async (request: DataViewRequest, field: string, item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"是否删除?\",\r\n message: `确定删除【${item[field]}】广告位?`,\r\n type: \"warning\"\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n try {\r\n loading.value = true\r\n const result = await request.delete(item.id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败\" })\r\n return;\r\n }\r\n await setAdDefineList()\r\n } catch (e: any) {\r\n Messager.error({ message: e })\r\n } finally {\r\n loading.value = false\r\n\r\n }\r\n}\r\n\r\n// 加载广告定义\r\nonMounted(async () => {\r\n await setAdDefineList();\r\n})\r\n\r\n//timer\r\nlet timer: any = null\r\n\r\n//监听adSearchWord变化进行搜索\r\nwatch(adSearchWord, async () => {\r\n\r\n if (!!timer) {\r\n clearTimeout(timer)\r\n }\r\n\r\n timer = setTimeout(async () => {\r\n const condition = new Group()\r\n condition.addCondition(\"desc\", \"like\", `%${adSearchWord.value}%`)\r\n await setAdDefineList(condition);\r\n }, 500)\r\n\r\n\r\n})\r\n\r\n</script>\r\n"],"names":["DataViewRequest","ref","Group","reactive","CmsAdContentsForm","Dialoger","CmsAdDefinesForm","FormColumn","request","Messager","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyGM,UAAA,YAAY,IAAIA,QAAAA,gBAAgB,EAAE,MAAM,aAAa,YAAY,OAAO;AACxE,UAAA,mBAAmB,IAAIA,QAAAA,gBAAgB,EAAE,MAAM,cAAc,YAAY,OAAO;AAEhF,UAAA,eAAeC,QAAI,EAAE;AAErB,UAAA,eAAeA,QAAI,CAAA,CAAW;AAC9B,UAAA,UAAUA,QAAI,IAAI;AAGlB,UAAA,kBAAkB,OAAO,cAAsB;AAC/C,UAAA;AACF,gBAAQ,QAAQ;AAEhB,YAAG,CAAC,WAAU;AAAE,sBAAY,IAAIC,QAAAA;QAAU;AAG/B,+CAAA,aAAa,OAAM,UAAS;AAI1B,qBAAA,SAAS,MAAM,UAAU,QAAQ;AAAA,UAC5C,MAAM;AAAA,YACJ;AAAA,UACF;AAAA,QAAA,CACD,GAAG,KAAK;AAAA,eAEF,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,gBAAgBC,IAAAA,SAAS,IAAIC,MAAAA,kBAAmB,CAAA;AAExC,kBAAA,eAAe,GAAG,MAAM;AACpB;IAAA,CACjB;AAEK,UAAA,uBAAuB,OAAO,MAAW,WAAoB;AACjE,YAAMC,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,QACV,OAAO,SAAS,KAAK,KAAK;AAAA,MAAA,CAC3B;AACD,UAAI,CAAC,QAAQ;AACX,sBAAc,UAAU,EAAE,YAAY,KAAK,GAAI,CAAA;AAAA,MACjD;AAAA,IAAA;AAIF,UAAM,eAAeF,IAAAA,SAAS,IAAK,cAAcG,uBAAiB;AAAA;AAAA,MAEhE,MAAgB,aAAa;AAC3B,cAAM,MAAM;AACZ,aAAK,WAAW;AAAA,UACd,IAAIC,cAAW,EAAE,MAAM,OAAO,OAAO,UAAU,UAAU,MAAM;AAAA,UAC/D,IAAIA,cAAW,EAAE,MAAM,QAAQ,OAAO,SAAS,UAAU,MAAM;AAAA,QAAA,CAChE;AAAA,MACH;AAAA,IACA,EAAA,CAAA;AAEW,iBAAA,eAAe,GAAG,MAAM;AACnB;IAAA,CACjB;AAEK,UAAA,qBAAqB,CAAC,SAAc;AACxCF,SAAAA,SAAS,eAAe;AAAA,QACtB,UAAU;AAAA,QACV,OAAO,6BAAM;AAAA,MAAA,CACd;AAAA,IAAA;AAIH,UAAM,gBAAgB,OAAOG,UAA0B,OAAe,SAAc;AAC5E,YAAA,YAAY,MAAMH,GAAA,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS,QAAQ,KAAK,KAAK,CAAC;AAAA,QAC5B,MAAM;AAAA,MAAA,CACP;AACD,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACI,UAAA;AACF,gBAAQ,QAAQ;AAChB,cAAM,SAAS,MAAMG,SAAQ,OAAO,KAAK,EAAE;AACvC,YAAA,OAAO,KAAK,QAAQ,KAAK;AAC3BC,sBAAS,MAAM,EAAE,SAAS,OAAO,KAAK,OAAO,QAAQ;AACrD;AAAA,QACF;AACA,cAAM,gBAAgB;AAAA,eACf,GAAQ;AACfA,WAAAA,SAAS,MAAM,EAAE,SAAS,EAAG,CAAA;AAAA,MAAA,UAC7B;AACA,gBAAQ,QAAQ;AAAA,MAElB;AAAA,IAAA;AAIFC,QAAAA,UAAU,YAAY;AACpB,YAAM,gBAAgB;AAAA,IAAA,CACvB;AAGD,QAAI,QAAa;AAGjBC,QAAA,MAAM,cAAc,YAAY;AAE1B,UAAA,CAAC,CAAC,OAAO;AACX,qBAAa,KAAK;AAAA,MACpB;AAEA,cAAQ,WAAW,YAAY;AACvB,cAAA,YAAY,IAAIT,QAAAA;AACtB,kBAAU,aAAa,QAAQ,QAAQ,IAAI,aAAa,KAAK,GAAG;AAChE,cAAM,gBAAgB,SAAS;AAAA,SAC9B,GAAG;AAAA,IAAA,CAGP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}