@maketribe/ms-app 4.0.0-alpha.6 → 4.0.0-alpha.8

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 (201) hide show
  1. package/dist/cjs/{404-B7NnT2gM.cjs → 404-CwDWcTsz.cjs} +2 -2
  2. package/dist/cjs/{404-B7NnT2gM.cjs.map → 404-CwDWcTsz.cjs.map} +1 -1
  3. package/dist/cjs/{article-edit-add-page-ByMqxxgu.cjs → article-edit-add-page-VEW4RQan.cjs} +3 -3
  4. package/dist/cjs/{article-edit-add-page-ByMqxxgu.cjs.map → article-edit-add-page-VEW4RQan.cjs.map} +1 -1
  5. package/dist/cjs/{cms-settings-B5SQCWZJ.cjs → cms-settings-Dk-_N4Uf.cjs} +2 -2
  6. package/dist/cjs/{cms-settings-B5SQCWZJ.cjs.map → cms-settings-Dk-_N4Uf.cjs.map} +1 -1
  7. package/dist/cjs/{dialog-BKFMFeN8.cjs → dialog-XvgJB4Ok.cjs} +2 -2
  8. package/dist/cjs/{dialog-BKFMFeN8.cjs.map → dialog-XvgJB4Ok.cjs.map} +1 -1
  9. package/dist/cjs/{dialog-CxU-j_2o.cjs → dialog-zggytVNp.cjs} +2 -2
  10. package/dist/cjs/{dialog-CxU-j_2o.cjs.map → dialog-zggytVNp.cjs.map} +1 -1
  11. package/dist/cjs/{dialog-CzIX1Cf8.cjs → dialog-zspOK0xb.cjs} +2 -2
  12. package/dist/cjs/{dialog-CzIX1Cf8.cjs.map → dialog-zspOK0xb.cjs.map} +1 -1
  13. package/dist/cjs/{edit-B8i8ha4p.cjs → edit-CvboB56i.cjs} +2 -2
  14. package/dist/cjs/{edit-B8i8ha4p.cjs.map → edit-CvboB56i.cjs.map} +1 -1
  15. package/dist/cjs/{index-CFnMYkKP.cjs → index-18SWv3iv.cjs} +2 -2
  16. package/dist/cjs/index-18SWv3iv.cjs.map +1 -0
  17. package/dist/cjs/{index-BxG6qdNK.cjs → index-3isJpRAE.cjs} +2 -2
  18. package/dist/cjs/{index-BxG6qdNK.cjs.map → index-3isJpRAE.cjs.map} +1 -1
  19. package/dist/cjs/{index-8m_Qfcd7.cjs → index-B4rDJuiX.cjs} +2 -2
  20. package/dist/cjs/{index-8m_Qfcd7.cjs.map → index-B4rDJuiX.cjs.map} +1 -1
  21. package/dist/cjs/{index-C1XNlE_P.cjs → index-BFJJfJKx.cjs} +84 -68
  22. package/dist/cjs/{index-C1XNlE_P.cjs.map → index-BFJJfJKx.cjs.map} +1 -1
  23. package/dist/cjs/{index-j30omdZn.cjs → index-BFc7MaUC.cjs} +2 -2
  24. package/dist/cjs/{index-j30omdZn.cjs.map → index-BFc7MaUC.cjs.map} +1 -1
  25. package/dist/cjs/{index-DTFa1Ww6.cjs → index-BWUs6AKC.cjs} +2 -2
  26. package/dist/cjs/{index-DTFa1Ww6.cjs.map → index-BWUs6AKC.cjs.map} +1 -1
  27. package/dist/cjs/{index-DdpqZVD9.cjs → index-BwrHgk2-.cjs} +2 -2
  28. package/dist/cjs/{index-DdpqZVD9.cjs.map → index-BwrHgk2-.cjs.map} +1 -1
  29. package/dist/cjs/{index-DPCvcvKp.cjs → index-C8IvpcbJ.cjs} +3 -3
  30. package/dist/cjs/{index-DPCvcvKp.cjs.map → index-C8IvpcbJ.cjs.map} +1 -1
  31. package/dist/cjs/{index-CzwK5miY.cjs → index-C9HaEU_j.cjs} +2 -2
  32. package/dist/cjs/{index-CzwK5miY.cjs.map → index-C9HaEU_j.cjs.map} +1 -1
  33. package/dist/cjs/{index-ZGoUOa5V.cjs → index-CGbQD3Pn.cjs} +2 -2
  34. package/dist/cjs/{index-ZGoUOa5V.cjs.map → index-CGbQD3Pn.cjs.map} +1 -1
  35. package/dist/cjs/{index-Dnat27O8.cjs → index-CHdUHVk0.cjs} +2 -2
  36. package/dist/cjs/{index-Dnat27O8.cjs.map → index-CHdUHVk0.cjs.map} +1 -1
  37. package/dist/cjs/{index-DAwkIeXU.cjs → index-CHmSGKW5.cjs} +2 -2
  38. package/dist/cjs/{index-DAwkIeXU.cjs.map → index-CHmSGKW5.cjs.map} +1 -1
  39. package/dist/cjs/{index-CGeJ9pOk.cjs → index-CJ4ma3qH.cjs} +2 -2
  40. package/dist/cjs/{index-CGeJ9pOk.cjs.map → index-CJ4ma3qH.cjs.map} +1 -1
  41. package/dist/cjs/{index-BIMO2PR_.cjs → index-CNhWzn_s.cjs} +3 -3
  42. package/dist/cjs/{index-BIMO2PR_.cjs.map → index-CNhWzn_s.cjs.map} +1 -1
  43. package/dist/cjs/{index-C6D2ofzy.cjs → index-CRzPLRry.cjs} +3 -3
  44. package/dist/cjs/{index-C6D2ofzy.cjs.map → index-CRzPLRry.cjs.map} +1 -1
  45. package/dist/cjs/{index-weLIwAoT.cjs → index-CUmAm1dK.cjs} +3 -3
  46. package/dist/cjs/{index-weLIwAoT.cjs.map → index-CUmAm1dK.cjs.map} +1 -1
  47. package/dist/cjs/{index-Cn5Amco_.cjs → index-CXSUT_Uz.cjs} +2 -2
  48. package/dist/cjs/{index-Cn5Amco_.cjs.map → index-CXSUT_Uz.cjs.map} +1 -1
  49. package/dist/cjs/{index-B2WZSyta.cjs → index-CjpkSpph.cjs} +2 -2
  50. package/dist/cjs/{index-B2WZSyta.cjs.map → index-CjpkSpph.cjs.map} +1 -1
  51. package/dist/cjs/{index-B3e0rOJs.cjs → index-DQrE3D8M.cjs} +3 -3
  52. package/dist/cjs/{index-B3e0rOJs.cjs.map → index-DQrE3D8M.cjs.map} +1 -1
  53. package/dist/cjs/{index-phHDGoms.cjs → index-DVAgbEhd.cjs} +2 -2
  54. package/dist/cjs/index-DVAgbEhd.cjs.map +1 -0
  55. package/dist/cjs/{index-DYNaj0_Z.cjs → index-DVbuMdMG.cjs} +2 -2
  56. package/dist/cjs/{index-DYNaj0_Z.cjs.map → index-DVbuMdMG.cjs.map} +1 -1
  57. package/dist/cjs/{index-BXDEu-XA.cjs → index-Dc2RzKr4.cjs} +2 -2
  58. package/dist/cjs/{index-BXDEu-XA.cjs.map → index-Dc2RzKr4.cjs.map} +1 -1
  59. package/dist/cjs/{index-BxU_LT2e.cjs → index-DmHDhw8w.cjs} +2 -2
  60. package/dist/cjs/{index-BxU_LT2e.cjs.map → index-DmHDhw8w.cjs.map} +1 -1
  61. package/dist/cjs/{index-BBPZypJc.cjs → index-DoEGJywE.cjs} +2 -2
  62. package/dist/cjs/{index-BBPZypJc.cjs.map → index-DoEGJywE.cjs.map} +1 -1
  63. package/dist/cjs/{index-CR-upPjf.cjs → index-Ds8rwYBQ.cjs} +2 -2
  64. package/dist/cjs/{index-CR-upPjf.cjs.map → index-Ds8rwYBQ.cjs.map} +1 -1
  65. package/dist/cjs/{index-vNHmVMPt.cjs → index-E-FmA_Pc.cjs} +3 -3
  66. package/dist/cjs/{index-vNHmVMPt.cjs.map → index-E-FmA_Pc.cjs.map} +1 -1
  67. package/dist/cjs/{index-DqB49ApO.cjs → index-KkkknazQ.cjs} +2 -2
  68. package/dist/cjs/{index-DqB49ApO.cjs.map → index-KkkknazQ.cjs.map} +1 -1
  69. package/dist/cjs/{index-BxtDhN0U.cjs → index-UR9glybp.cjs} +3 -3
  70. package/dist/cjs/{index-BxtDhN0U.cjs.map → index-UR9glybp.cjs.map} +1 -1
  71. package/dist/cjs/{index-B6rRcZ6D.cjs → index-WzoO2npu.cjs} +2 -2
  72. package/dist/cjs/{index-B6rRcZ6D.cjs.map → index-WzoO2npu.cjs.map} +1 -1
  73. package/dist/cjs/{index-Bai9QQCc.cjs → index-arRrXXXo.cjs} +2 -2
  74. package/dist/cjs/index-arRrXXXo.cjs.map +1 -0
  75. package/dist/cjs/{index-TWi3oKMo.cjs → index-mi9N_6rx.cjs} +2 -2
  76. package/dist/cjs/{index-TWi3oKMo.cjs.map → index-mi9N_6rx.cjs.map} +1 -1
  77. package/dist/cjs/{index-z8zYH85G.cjs → index-y7l2Dyp9.cjs} +3 -3
  78. package/dist/cjs/{index-z8zYH85G.cjs.map → index-y7l2Dyp9.cjs.map} +1 -1
  79. package/dist/cjs/index.js +1 -1
  80. package/dist/cjs/{index.vue_vue_type_script_setup_true_lang-D9yLenYM.cjs → index.vue_vue_type_script_setup_true_lang-DTtuNBKy.cjs} +2 -2
  81. package/dist/cjs/{index.vue_vue_type_script_setup_true_lang-D9yLenYM.cjs.map → index.vue_vue_type_script_setup_true_lang-DTtuNBKy.cjs.map} +1 -1
  82. package/dist/cjs/{json-editor-4CFMkph7.cjs → json-editor-Bdv88bt4.cjs} +2 -2
  83. package/dist/cjs/{json-editor-4CFMkph7.cjs.map → json-editor-Bdv88bt4.cjs.map} +1 -1
  84. package/dist/cjs/{markdown-editor-De1onsGh.cjs → markdown-editor-CHBV086T.cjs} +2 -2
  85. package/dist/cjs/{markdown-editor-De1onsGh.cjs.map → markdown-editor-CHBV086T.cjs.map} +1 -1
  86. package/dist/cjs/{normal-BGahUaoQ.cjs → normal-BkctFtHK.cjs} +2 -2
  87. package/dist/cjs/{normal-BGahUaoQ.cjs.map → normal-BkctFtHK.cjs.map} +1 -1
  88. package/dist/cjs/{normal-CdX-Z1kF.cjs → normal-XgvBqkBN.cjs} +2 -2
  89. package/dist/cjs/{normal-CdX-Z1kF.cjs.map → normal-XgvBqkBN.cjs.map} +1 -1
  90. package/dist/cjs/{permission-manage-DfLTwZS8.cjs → permission-manage-Bcj4-Q8c.cjs} +2 -2
  91. package/dist/cjs/{permission-manage-DfLTwZS8.cjs.map → permission-manage-Bcj4-Q8c.cjs.map} +1 -1
  92. package/dist/cjs/{resource-select-input-BAe3ahDC.cjs → resource-select-input-n7ngMAey.cjs} +2 -2
  93. package/dist/cjs/{resource-select-input-BAe3ahDC.cjs.map → resource-select-input-n7ngMAey.cjs.map} +1 -1
  94. package/dist/cjs/{table-CZgeT7gE.cjs → table-xrqUjJcK.cjs} +2 -2
  95. package/dist/cjs/{table-CZgeT7gE.cjs.map → table-xrqUjJcK.cjs.map} +1 -1
  96. package/dist/esm/{404-DcBAAs1N.js → 404-DmPCe4G0.js} +2 -2
  97. package/dist/esm/{404-DcBAAs1N.js.map → 404-DmPCe4G0.js.map} +1 -1
  98. package/dist/esm/{article-edit-add-page-Dc0vmRaK.js → article-edit-add-page-rvjgk2dh.js} +3 -3
  99. package/dist/esm/{article-edit-add-page-Dc0vmRaK.js.map → article-edit-add-page-rvjgk2dh.js.map} +1 -1
  100. package/dist/esm/{cms-settings-Dz_GifCM.js → cms-settings-DfrY8Q8M.js} +2 -2
  101. package/dist/esm/{cms-settings-Dz_GifCM.js.map → cms-settings-DfrY8Q8M.js.map} +1 -1
  102. package/dist/esm/{dialog-DTQPV-3U.js → dialog-CS7m8jtq.js} +2 -2
  103. package/dist/esm/{dialog-DTQPV-3U.js.map → dialog-CS7m8jtq.js.map} +1 -1
  104. package/dist/esm/{dialog-CPKjg0DX.js → dialog-D-zdXPsa.js} +2 -2
  105. package/dist/esm/{dialog-CPKjg0DX.js.map → dialog-D-zdXPsa.js.map} +1 -1
  106. package/dist/esm/{dialog-FqmRibM1.js → dialog-r6-lVrkj.js} +2 -2
  107. package/dist/esm/{dialog-FqmRibM1.js.map → dialog-r6-lVrkj.js.map} +1 -1
  108. package/dist/esm/{edit-B6TCx0BN.js → edit-T3M44Hjk.js} +2 -2
  109. package/dist/esm/{edit-B6TCx0BN.js.map → edit-T3M44Hjk.js.map} +1 -1
  110. package/dist/esm/{index-BCB6CWfF.js → index-B5W1aijd.js} +2 -2
  111. package/dist/esm/{index-BCB6CWfF.js.map → index-B5W1aijd.js.map} +1 -1
  112. package/dist/esm/{index-Ck__G3dT.js → index-B7WlPVx_.js} +2 -2
  113. package/dist/esm/{index-Ck__G3dT.js.map → index-B7WlPVx_.js.map} +1 -1
  114. package/dist/esm/{index-CmfVxSph.js → index-BJ_92TlE.js} +3 -3
  115. package/dist/esm/{index-CmfVxSph.js.map → index-BJ_92TlE.js.map} +1 -1
  116. package/dist/esm/{index-DlVXWdE0.js → index-BKuaysIK.js} +3 -3
  117. package/dist/esm/{index-DlVXWdE0.js.map → index-BKuaysIK.js.map} +1 -1
  118. package/dist/esm/{index-eTSwO_Y8.js → index-BLecwyfT.js} +2 -2
  119. package/dist/esm/{index-eTSwO_Y8.js.map → index-BLecwyfT.js.map} +1 -1
  120. package/dist/esm/{index-D5qC56R7.js → index-BMgJCABL.js} +3 -3
  121. package/dist/esm/{index-D5qC56R7.js.map → index-BMgJCABL.js.map} +1 -1
  122. package/dist/esm/{index-BVGJ-lj0.js → index-BSRhCJAe.js} +2 -2
  123. package/dist/esm/{index-BVGJ-lj0.js.map → index-BSRhCJAe.js.map} +1 -1
  124. package/dist/esm/{index-DVOHWdtM.js → index-BTn05Xci.js} +2 -2
  125. package/dist/esm/{index-DVOHWdtM.js.map → index-BTn05Xci.js.map} +1 -1
  126. package/dist/esm/{index-DofoKQB_.js → index-BW5MxfD4.js} +2 -2
  127. package/dist/esm/{index-DofoKQB_.js.map → index-BW5MxfD4.js.map} +1 -1
  128. package/dist/esm/{index-K8aRp1Ff.js → index-BXe-scdJ.js} +2 -2
  129. package/dist/esm/{index-K8aRp1Ff.js.map → index-BXe-scdJ.js.map} +1 -1
  130. package/dist/esm/{index-Dvv0k5Vo.js → index-BbQlohGv.js} +2 -2
  131. package/dist/esm/index-BbQlohGv.js.map +1 -0
  132. package/dist/esm/{index-CQcGPTKm.js → index-BnkxcaIr.js} +2 -2
  133. package/dist/esm/{index-CQcGPTKm.js.map → index-BnkxcaIr.js.map} +1 -1
  134. package/dist/esm/{index-CjTw5oMj.js → index-BxTQwzHy.js} +84 -68
  135. package/dist/esm/{index-CjTw5oMj.js.map → index-BxTQwzHy.js.map} +1 -1
  136. package/dist/esm/{index-BMKLnXb8.js → index-C99Fc-yI.js} +2 -2
  137. package/dist/esm/{index-BMKLnXb8.js.map → index-C99Fc-yI.js.map} +1 -1
  138. package/dist/esm/{index-3gLHscRe.js → index-CR5a5u91.js} +3 -3
  139. package/dist/esm/{index-3gLHscRe.js.map → index-CR5a5u91.js.map} +1 -1
  140. package/dist/esm/{index-4YyShMO2.js → index-CUtALWhU.js} +2 -2
  141. package/dist/esm/{index-4YyShMO2.js.map → index-CUtALWhU.js.map} +1 -1
  142. package/dist/esm/{index-KI9lCmIu.js → index-CabHfr3u.js} +2 -2
  143. package/dist/esm/index-CabHfr3u.js.map +1 -0
  144. package/dist/esm/{index-DomdHZab.js → index-Cisw-IgE.js} +3 -3
  145. package/dist/esm/{index-DomdHZab.js.map → index-Cisw-IgE.js.map} +1 -1
  146. package/dist/esm/{index-YqbbF-kM.js → index-CrK1aQTQ.js} +3 -3
  147. package/dist/esm/{index-YqbbF-kM.js.map → index-CrK1aQTQ.js.map} +1 -1
  148. package/dist/esm/{index-CbUKHq9d.js → index-D0kVvBIs.js} +2 -2
  149. package/dist/esm/{index-CbUKHq9d.js.map → index-D0kVvBIs.js.map} +1 -1
  150. package/dist/esm/{index-CxiERKgx.js → index-D5RCguXQ.js} +2 -2
  151. package/dist/esm/{index-CxiERKgx.js.map → index-D5RCguXQ.js.map} +1 -1
  152. package/dist/esm/{index-Dyal-jEY.js → index-DBYYl6zK.js} +2 -2
  153. package/dist/esm/{index-Dyal-jEY.js.map → index-DBYYl6zK.js.map} +1 -1
  154. package/dist/esm/{index-GBJFK33a.js → index-DOWh3O76.js} +3 -3
  155. package/dist/esm/{index-GBJFK33a.js.map → index-DOWh3O76.js.map} +1 -1
  156. package/dist/esm/{index-CctJKPWt.js → index-DQiHmr1q.js} +2 -2
  157. package/dist/esm/{index-CctJKPWt.js.map → index-DQiHmr1q.js.map} +1 -1
  158. package/dist/esm/{index-BJ4X4ZCh.js → index-DwFig5Y9.js} +2 -2
  159. package/dist/esm/index-DwFig5Y9.js.map +1 -0
  160. package/dist/esm/{index-D6FVWHtq.js → index-EJRvs3lh.js} +2 -2
  161. package/dist/esm/{index-D6FVWHtq.js.map → index-EJRvs3lh.js.map} +1 -1
  162. package/dist/esm/{index-B9gvbtvi.js → index-S2iNGf5V.js} +2 -2
  163. package/dist/esm/{index-B9gvbtvi.js.map → index-S2iNGf5V.js.map} +1 -1
  164. package/dist/esm/{index-DVtCtPhj.js → index-_xq6z4Ng.js} +2 -2
  165. package/dist/esm/{index-DVtCtPhj.js.map → index-_xq6z4Ng.js.map} +1 -1
  166. package/dist/esm/{index-DNwOf-dv.js → index-cFGSR4AM.js} +2 -2
  167. package/dist/esm/{index-DNwOf-dv.js.map → index-cFGSR4AM.js.map} +1 -1
  168. package/dist/esm/{index-CAYL9D_L.js → index-g5Pix6Zy.js} +2 -2
  169. package/dist/esm/{index-CAYL9D_L.js.map → index-g5Pix6Zy.js.map} +1 -1
  170. package/dist/esm/{index-BEpzO-nt.js → index-nu-aGjhA.js} +2 -2
  171. package/dist/esm/{index-BEpzO-nt.js.map → index-nu-aGjhA.js.map} +1 -1
  172. package/dist/esm/{index-D7ivtDc3.js → index-x9-wldTE.js} +3 -3
  173. package/dist/esm/{index-D7ivtDc3.js.map → index-x9-wldTE.js.map} +1 -1
  174. package/dist/esm/index.js +1 -1
  175. package/dist/esm/{index.vue_vue_type_script_setup_true_lang-Da7_JQcB.js → index.vue_vue_type_script_setup_true_lang-CzZKZm3b.js} +2 -2
  176. package/dist/esm/{index.vue_vue_type_script_setup_true_lang-Da7_JQcB.js.map → index.vue_vue_type_script_setup_true_lang-CzZKZm3b.js.map} +1 -1
  177. package/dist/esm/{json-editor-BNjpvvZM.js → json-editor-D72uBI4K.js} +2 -2
  178. package/dist/esm/{json-editor-BNjpvvZM.js.map → json-editor-D72uBI4K.js.map} +1 -1
  179. package/dist/esm/{markdown-editor-Br91Y0dk.js → markdown-editor-BlQGa5_P.js} +2 -2
  180. package/dist/esm/{markdown-editor-Br91Y0dk.js.map → markdown-editor-BlQGa5_P.js.map} +1 -1
  181. package/dist/esm/{normal-5OVhMvLw.js → normal-CnxaRS3A.js} +2 -2
  182. package/dist/esm/{normal-5OVhMvLw.js.map → normal-CnxaRS3A.js.map} +1 -1
  183. package/dist/esm/{normal-DzIY0NTX.js → normal-whf3DMRk.js} +2 -2
  184. package/dist/esm/{normal-DzIY0NTX.js.map → normal-whf3DMRk.js.map} +1 -1
  185. package/dist/esm/{permission-manage-B74eWZu2.js → permission-manage-B2wzpnMF.js} +2 -2
  186. package/dist/esm/{permission-manage-B74eWZu2.js.map → permission-manage-B2wzpnMF.js.map} +1 -1
  187. package/dist/esm/{resource-select-input-FBr-Yxb5.js → resource-select-input-CFjdN3EV.js} +2 -2
  188. package/dist/esm/{resource-select-input-FBr-Yxb5.js.map → resource-select-input-CFjdN3EV.js.map} +1 -1
  189. package/dist/esm/{table-CDFn1EG8.js → table-DOpQATck.js} +2 -2
  190. package/dist/esm/{table-CDFn1EG8.js.map → table-DOpQATck.js.map} +1 -1
  191. package/dist/types/components/basic/image-cropper/image-cropper-content.d.ts +1 -1
  192. package/dist/types/components/basic/image-cropper/index.d.ts +1 -1
  193. package/dist/types/components/headless/drawer/drawer.vue.d.ts +12 -0
  194. package/dist/types/components/headless/drawer/index.d.ts +57 -0
  195. package/package.json +4 -4
  196. package/dist/cjs/index-Bai9QQCc.cjs.map +0 -1
  197. package/dist/cjs/index-CFnMYkKP.cjs.map +0 -1
  198. package/dist/cjs/index-phHDGoms.cjs.map +0 -1
  199. package/dist/esm/index-BJ4X4ZCh.js.map +0 -1
  200. package/dist/esm/index-Dvv0k5Vo.js.map +0 -1
  201. package/dist/esm/index-KI9lCmIu.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
4
  const elementPlus = require("element-plus");
5
- const index = require("./index-Cn5Amco_.cjs");
5
+ const index = require("./index-CXSUT_Uz.cjs");
6
6
  const utils = require("@maketribe/utils");
7
7
  const dateTypes = ["date", "year", "month", "datetime"];
8
8
  const columnDateProps = utils.buildProps({
@@ -51,4 +51,4 @@ exports.MKColumnDate = MKColumnDate;
51
51
  exports.columnDateProps = columnDateProps;
52
52
  exports.dateTypes = dateTypes;
53
53
  exports.default = MKColumnDate;
54
- //# sourceMappingURL=index-j30omdZn.cjs.map
54
+ //# sourceMappingURL=index-BFc7MaUC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-j30omdZn.cjs","sources":["../../src/components/data-model/data-table/components/column-date/column-date-options.ts","../../src/components/data-model/data-table/components/column-date/column-date.tsx","../../src/components/data-model/data-table/components/column-date/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { columnTextProps } from \"../column-text\";\r\n\r\nexport const dateTypes = [\"date\", \"year\", \"month\", \"datetime\"] as const;\r\n\r\nexport const columnDateProps = buildProps({\r\n ...columnTextProps,\r\n type: { default: \"date\", values: dateTypes },\r\n});\r\n\r\nexport type ColumnDateProps = ExtractPropTypes<typeof columnDateProps>;\r\n","import { computed, defineComponent, unref } from \"vue\";\r\nimport { dayjs } from \"element-plus\";\r\n\r\nimport { MKColumnText } from \"../column-text\";\r\nimport { columnDateProps } from \"./column-date-options\";\r\n\r\nexport default defineComponent({\r\n name: \"MKColumnDate\",\r\n props: columnDateProps,\r\n setup(props) {\r\n const columnTextProps = computed(() => {\r\n const { type, ...columnTextProps } = props;\r\n return columnTextProps;\r\n });\r\n\r\n const type = computed(() => props.type);\r\n\r\n const formatValue = (value: string) => {\r\n const dayInstance = dayjs(value ?? null);\r\n\r\n if (!dayInstance.isValid()) {\r\n return;\r\n }\r\n\r\n switch (unref(type)) {\r\n case \"datetime\":\r\n return dayInstance.format(\"YYYY-MM-DD HH:mm:ss\");\r\n case \"date\":\r\n return dayInstance.format(\"YYYY-MM-DD\");\r\n case \"month\":\r\n return dayInstance.format(\"YYYY-MM\");\r\n case \"year\":\r\n return dayInstance.format(\"YYYY\");\r\n default:\r\n return props.formatValue(value);\r\n }\r\n };\r\n\r\n return () => {\r\n return (\r\n <MKColumnText {...unref(columnTextProps)} formatValue={formatValue} />\r\n );\r\n };\r\n },\r\n});\r\n","import ColumnDate from \"./column-date\";\r\n\r\nexport const MKColumnDate = ColumnDate;\r\nexport default MKColumnDate;\r\n\r\nexport * from \"./column-date-options\";\r\n"],"names":["buildProps","columnTextProps","defineComponent","name","props","columnDateProps","setup","computed","type","formatValue","value","dayInstance","dayjs","isValid","unref","format","_createVNode","MKColumnText","_mergeProps"],"mappings":";;;;;;AAIO,MAAM,YAAY,CAAC,QAAQ,QAAQ,SAAS,UAAU;AAEtD,MAAM,kBAAkBA,MAAAA,WAAW;AAAA,EACxC,GAAGC,MAAA;AAAA,EACH,MAAM,EAAE,SAAS,QAAQ,QAAQ,UAAU;AAC7C,CAAC;ACHD,MAAeC,iDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,UAAMH,kBAAkBM,IAAAA,SAAS,MAAM;AACrC,YAAM;AAAA,QAAEC,MAAAA;AAAAA,QAAM,GAAGP;AAAAA,MAAiB,IAAGG;AACrC,aAAOH;AAAAA,IACT,CAAC;AAED,UAAMO,OAAOD,IAAQ,SAAC,MAAMH,MAAMI,IAAI;AAEtC,UAAMC,cAAeC,WAAkB;AACrC,YAAMC,cAAcC,YAAAA,MAAMF,SAAS,IAAI;AAEvC,UAAI,CAACC,YAAYE,WAAW;AAC1B;AAAA,MACF;AAEA,cAAQC,IAAAA,MAAMN,IAAI,GAAC;AAAA,QACjB,KAAK;AACH,iBAAOG,YAAYI,OAAO,qBAAqB;AAAA,QACjD,KAAK;AACH,iBAAOJ,YAAYI,OAAO,YAAY;AAAA,QACxC,KAAK;AACH,iBAAOJ,YAAYI,OAAO,SAAS;AAAA,QACrC,KAAK;AACH,iBAAOJ,YAAYI,OAAO,MAAM;AAAA,QAClC;AACE,iBAAOX,MAAMK,YAAYC,KAAK;AAAA,MAClC;AAAA;AAGF,WAAO,MAAM;AACX,aAAAM,IAAA,YAAAC,MAAA,cAAAC,IAAA,WACoBJ,IAAK,MAACb,eAAe,GAAC;AAAA,QAAA,eAAeQ;AAAAA,MAAW,CAAA,GAAA,IAAA;AAAA;EAGxE;AACF,CAAC;AC1CM,MAAM,eAAe;;;;;"}
1
+ {"version":3,"file":"index-BFc7MaUC.cjs","sources":["../../src/components/data-model/data-table/components/column-date/column-date-options.ts","../../src/components/data-model/data-table/components/column-date/column-date.tsx","../../src/components/data-model/data-table/components/column-date/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { columnTextProps } from \"../column-text\";\r\n\r\nexport const dateTypes = [\"date\", \"year\", \"month\", \"datetime\"] as const;\r\n\r\nexport const columnDateProps = buildProps({\r\n ...columnTextProps,\r\n type: { default: \"date\", values: dateTypes },\r\n});\r\n\r\nexport type ColumnDateProps = ExtractPropTypes<typeof columnDateProps>;\r\n","import { computed, defineComponent, unref } from \"vue\";\r\nimport { dayjs } from \"element-plus\";\r\n\r\nimport { MKColumnText } from \"../column-text\";\r\nimport { columnDateProps } from \"./column-date-options\";\r\n\r\nexport default defineComponent({\r\n name: \"MKColumnDate\",\r\n props: columnDateProps,\r\n setup(props) {\r\n const columnTextProps = computed(() => {\r\n const { type, ...columnTextProps } = props;\r\n return columnTextProps;\r\n });\r\n\r\n const type = computed(() => props.type);\r\n\r\n const formatValue = (value: string) => {\r\n const dayInstance = dayjs(value ?? null);\r\n\r\n if (!dayInstance.isValid()) {\r\n return;\r\n }\r\n\r\n switch (unref(type)) {\r\n case \"datetime\":\r\n return dayInstance.format(\"YYYY-MM-DD HH:mm:ss\");\r\n case \"date\":\r\n return dayInstance.format(\"YYYY-MM-DD\");\r\n case \"month\":\r\n return dayInstance.format(\"YYYY-MM\");\r\n case \"year\":\r\n return dayInstance.format(\"YYYY\");\r\n default:\r\n return props.formatValue(value);\r\n }\r\n };\r\n\r\n return () => {\r\n return (\r\n <MKColumnText {...unref(columnTextProps)} formatValue={formatValue} />\r\n );\r\n };\r\n },\r\n});\r\n","import ColumnDate from \"./column-date\";\r\n\r\nexport const MKColumnDate = ColumnDate;\r\nexport default MKColumnDate;\r\n\r\nexport * from \"./column-date-options\";\r\n"],"names":["buildProps","columnTextProps","defineComponent","name","props","columnDateProps","setup","computed","type","formatValue","value","dayInstance","dayjs","isValid","unref","format","_createVNode","MKColumnText","_mergeProps"],"mappings":";;;;;;AAIO,MAAM,YAAY,CAAC,QAAQ,QAAQ,SAAS,UAAU;AAEtD,MAAM,kBAAkBA,MAAAA,WAAW;AAAA,EACxC,GAAGC,MAAA;AAAA,EACH,MAAM,EAAE,SAAS,QAAQ,QAAQ,UAAU;AAC7C,CAAC;ACHD,MAAeC,iDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,UAAMH,kBAAkBM,IAAAA,SAAS,MAAM;AACrC,YAAM;AAAA,QAAEC,MAAAA;AAAAA,QAAM,GAAGP;AAAAA,MAAiB,IAAGG;AACrC,aAAOH;AAAAA,IACT,CAAC;AAED,UAAMO,OAAOD,IAAQ,SAAC,MAAMH,MAAMI,IAAI;AAEtC,UAAMC,cAAeC,WAAkB;AACrC,YAAMC,cAAcC,YAAAA,MAAMF,SAAS,IAAI;AAEvC,UAAI,CAACC,YAAYE,WAAW;AAC1B;AAAA,MACF;AAEA,cAAQC,IAAAA,MAAMN,IAAI,GAAC;AAAA,QACjB,KAAK;AACH,iBAAOG,YAAYI,OAAO,qBAAqB;AAAA,QACjD,KAAK;AACH,iBAAOJ,YAAYI,OAAO,YAAY;AAAA,QACxC,KAAK;AACH,iBAAOJ,YAAYI,OAAO,SAAS;AAAA,QACrC,KAAK;AACH,iBAAOJ,YAAYI,OAAO,MAAM;AAAA,QAClC;AACE,iBAAOX,MAAMK,YAAYC,KAAK;AAAA,MAClC;AAAA;AAGF,WAAO,MAAM;AACX,aAAAM,IAAA,YAAAC,MAAA,cAAAC,IAAA,WACoBJ,IAAK,MAACb,eAAe,GAAC;AAAA,QAAA,eAAeQ;AAAAA,MAAW,CAAA,GAAA,IAAA;AAAA;EAGxE;AACF,CAAC;AC1CM,MAAM,eAAe;;;;;"}
@@ -8,7 +8,7 @@ const vue = require("vue");
8
8
  const elementPlus = require("element-plus");
9
9
  const dm = require("@maketribe/dm");
10
10
  require("@maketribe/utils");
11
- const index = require("./index-C1XNlE_P.cjs");
11
+ const index = require("./index-BFJJfJKx.cjs");
12
12
  const request = require("@maketribe/request");
13
13
  require("lodash-es");
14
14
  const _ToDoForm = class _ToDoForm extends (_b = dm.DataForm, _a = index.DATA_MODEL_NAME, _b) {
@@ -270,4 +270,4 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
270
270
  }
271
271
  });
272
272
  exports.default = _sfc_main;
273
- //# sourceMappingURL=index-DTFa1Ww6.cjs.map
273
+ //# sourceMappingURL=index-BWUs6AKC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DTFa1Ww6.cjs","sources":["../../src/modules/ms/pages/to-do/ToDoForm.ts","../../src/modules/ms/pages/to-do/index.vue"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { DATA_MODEL_NAME, RegionLevel } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { min, multiply } from \"lodash-es\";\r\nimport { MsMemberTable } from \"../../dataviews\";\r\n\r\nexport class ToDoForm extends DataForm {\r\n static [DATA_MODEL_NAME]: string = \"todo\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: ToDoForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n this.httpRequest = MSAppClient.instance!.httpRequest;\r\n }\r\n\r\n protected async initialize(): Promise<void> {\r\n await super.initialize();\r\n\r\n const result = await this.httpRequest.get(\"/ms/dv/todo/meta\")\r\n if (result.data.code != 200) {\r\n Messager.error({\r\n message: result.data.msg || '获取消息类型失败'\r\n })\r\n return;\r\n }\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"memberId\", label: \"处理成员id\",\r\n componentInfo: \"MKFormDataTableSelect\",\r\n componentProps: {\r\n dataTable: this.register(new MsMemberTable()),\r\n labelFieldName: \"name\",\r\n },\r\n required: true\r\n }),\r\n new FormColumn({\r\n name: \"deadline\", label: \"截止时间\",\r\n componentInfo: \"MKFormDatePicker\",\r\n }),\r\n new FormColumn({\r\n name: \"relatedMemberIds\", label: \"关联成员\",\r\n componentInfo: \"MKFormDataTableSelect\",\r\n componentProps: {\r\n dataTable: this.register(new MsMemberTable()),\r\n labelFieldName: \"name\",\r\n multiple: true\r\n },\r\n required: true\r\n }),\r\n new FormColumn({\r\n name: \"intro\", label: \"待办简介\", componentInfo: \"MKFormInput\",\r\n componentProps: {\r\n autoSize: {\r\n minRows: 5,\r\n maxRows: 20\r\n }\r\n },\r\n required: true\r\n }),\r\n\r\n new FormColumn({\r\n name: \"content\", label: \"内容\",\r\n componentInfo: \"MKFormInput\",\r\n componentProps: {\r\n type: \"textarea\",\r\n autosize: {\r\n minRows: 5,\r\n maxRows: 20\r\n }\r\n },\r\n required: true\r\n }),\r\n new FormColumn({\r\n name: \"priority\", label: \"待办优先级\",\r\n componentInfo: \"MKFormDataSelect\",\r\n componentProps: {\r\n options: result.data.data.priorityList\r\n }, required: true,\r\n defaultValue: 0\r\n }),\r\n new FormColumn({\r\n name: \"status\", label: \"待办状态\",\r\n componentInfo: \"MKFormDataSelect\",\r\n componentProps: {\r\n options: result.data.data.statusList\r\n }, required: true,\r\n defaultValue: 0\r\n }),\r\n ]);\r\n\r\n }\r\n\r\n async submit() {\r\n const res = await this.httpRequest.post(\"/ms/dv/todo/create\", this.data)\r\n return res\r\n }\r\n}","<template>\r\n <div class=\"ms-todo\">\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=\"Timer\" style=\"margin-right: 5px;\" />\r\n 待办事项\r\n </h3>\r\n </template>\r\n <template #extra>\r\n </template>\r\n </el-page-header>\r\n <div class=\"ms-todo__body-warp\">\r\n <ElCard class=\"ms-todo__body-warp__calendar\">\r\n <div class=\"ms-todo__body-warp__calendar-header\">\r\n <div class=\"ms-todo__body-warp__calendar-header-left\">\r\n <span class=\"ms-todo__body-warp__calendar-header_left-title\">今日工作</span><span\r\n class=\"ms-todo__body-warp__calendar-header_left-date\">{{\r\n selectDate.toLocaleDateString().replace(/\\//g, '-')\r\n }}</span>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-header-right\">\r\n <ElButton link type=\"primary\" @click=\"addToDo\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px;\"></MKSvgIcon>添加事项\r\n </ElButton>\r\n </div>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-body\">\r\n <div class=\"ms-todo__body-warp__calendar-body-left day-box\" @click=\"offsetValue--\">\r\n <MKSvgIcon iconClass=\"ArrowLeft\"></MKSvgIcon>\r\n </div>\r\n <div v-for=\"item in currentWeek\" class=\"ms-todo__body-warp__calendar-body_date day-box\"\r\n @click=\"selectDate = item.date; console.log(item);\">\r\n <div class=\"ms-todo__body-warp__calendar-body_date-weekDay\">\r\n {{ item.weekDay }}\r\n </div>\r\n <div\r\n :class=\"[item.date.toLocaleDateString() == selectDate.toLocaleDateString() ? 'is-active' : '', 'ms-todo__body-warp__calendar-body_date-day']\">\r\n {{ item.day }}\r\n </div>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-body-right day-box\" @click=\"offsetValue++\">\r\n <MKSvgIcon iconClass=\"ArrowRight\"></MKSvgIcon>\r\n </div>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-work\">\r\n\r\n </div>\r\n </ElCard>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { ElCard } from 'element-plus';\r\nimport { MSAppClient } from '../../../../core';\r\nimport { Ref, ref, watch } from 'vue';\r\nimport { Dialoger } from '@maketribe/dm';\r\nimport { ToDoForm } from './ToDoForm';\r\nimport { DvOpt, Group } from '@maketribe/request';\r\n\r\nconst httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"dv/ms-todo/single/list/dialog\",\r\n },\r\n})\r\n\r\nconst todoDv = DvOpt.createInstance({\r\n name: \"todo\"\r\n})\r\nconst dayGroup = new Group()\r\n\r\n\r\nconst selectDate = ref(new Date());\r\nconst offsetValue = ref(0)\r\nconst currentWeek = ref();\r\nconst todoList: Ref<any[]> = ref([{\r\n \r\n}])\r\nhttpRequest.get(\"/ms/dv/todo/meta\")\r\n//获取当前周信息\r\nconst getWeek = (offset = 0) => {\r\n const now = new Date().getTime() + offset * 86400000;\r\n const dayOfWeek = new Date(now).getDay();\r\n const startDate = new Date(now - dayOfWeek * 86400000);\r\n const weekDate = [\r\n startDate,\r\n new Date(now - (dayOfWeek - 1) * 86400000),\r\n new Date(now - (dayOfWeek - 2) * 86400000),\r\n new Date(now - (dayOfWeek - 3) * 86400000),\r\n new Date(now - (dayOfWeek - 4) * 86400000),\r\n new Date(now - (dayOfWeek - 5) * 86400000),\r\n new Date(now - (dayOfWeek - 6) * 86400000)\r\n ]\r\n return {\r\n 0: { date: weekDate[0], day: weekDate[0].getDate(), weekDay: \"日\" },\r\n 1: { date: weekDate[1], day: weekDate[1].getDate(), weekDay: \"一\" },\r\n 2: { date: weekDate[2], day: weekDate[2].getDate(), weekDay: \"二\" },\r\n 3: { date: weekDate[3], day: weekDate[3].getDate(), weekDay: \"三\" },\r\n 4: { date: weekDate[4], day: weekDate[4].getDate(), weekDay: \"四\" },\r\n 5: { date: weekDate[5], day: weekDate[5].getDate(), weekDay: \"五\" },\r\n 6: { date: weekDate[6], day: weekDate[6].getDate(), weekDay: \"六\" },\r\n }\r\n}\r\n\r\n/**\r\n * 获取当前日期的待办事项\r\n * @param Date day \r\n */\r\nconst getDayTodo = async (day: Date) => {\r\n dayGroup.clear();\r\n dayGroup.addCondition(\"createdAt\", \"<=\", day);\r\n dayGroup.addCondition(\"deadline\", \">=\", day);\r\n return await todoDv.query().addGroup((g) => g.group.addGroup(dayGroup)).list();\r\n}\r\n\r\nconst addToDo = async () => {\r\n console.log(2154);\r\n Dialoger.dataFormDialog({\r\n dataForm: new ToDoForm()\r\n })\r\n}\r\n\r\nwatch(offsetValue, (newValue, oldValue) => {\r\n //获取当前周信息\r\n currentWeek.value = getWeek(offsetValue.value * 7);\r\n //更改选中的日期\r\n selectDate.value = new Date(selectDate.value.getTime() + (newValue - oldValue! || 0) * 7 * 86400000);\r\n}, { immediate: true }\r\n)\r\n\r\nwatch(selectDate, async () => {\r\n // selectDate.value = currentWeek.value[0];\r\n //todo 获取当前日期的待办事项\r\n todoList.value = await getDayTodo(selectDate.value)\r\n}, { immediate: true })\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","MSAppClient","Messager","FormColumn","MsMemberTable","DvOpt","Group","ref","Dialoger","watch"],"mappings":"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"}
1
+ {"version":3,"file":"index-BWUs6AKC.cjs","sources":["../../src/modules/ms/pages/to-do/ToDoForm.ts","../../src/modules/ms/pages/to-do/index.vue"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { DATA_MODEL_NAME, RegionLevel } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { min, multiply } from \"lodash-es\";\r\nimport { MsMemberTable } from \"../../dataviews\";\r\n\r\nexport class ToDoForm extends DataForm {\r\n static [DATA_MODEL_NAME]: string = \"todo\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: ToDoForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n this.httpRequest = MSAppClient.instance!.httpRequest;\r\n }\r\n\r\n protected async initialize(): Promise<void> {\r\n await super.initialize();\r\n\r\n const result = await this.httpRequest.get(\"/ms/dv/todo/meta\")\r\n if (result.data.code != 200) {\r\n Messager.error({\r\n message: result.data.msg || '获取消息类型失败'\r\n })\r\n return;\r\n }\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"memberId\", label: \"处理成员id\",\r\n componentInfo: \"MKFormDataTableSelect\",\r\n componentProps: {\r\n dataTable: this.register(new MsMemberTable()),\r\n labelFieldName: \"name\",\r\n },\r\n required: true\r\n }),\r\n new FormColumn({\r\n name: \"deadline\", label: \"截止时间\",\r\n componentInfo: \"MKFormDatePicker\",\r\n }),\r\n new FormColumn({\r\n name: \"relatedMemberIds\", label: \"关联成员\",\r\n componentInfo: \"MKFormDataTableSelect\",\r\n componentProps: {\r\n dataTable: this.register(new MsMemberTable()),\r\n labelFieldName: \"name\",\r\n multiple: true\r\n },\r\n required: true\r\n }),\r\n new FormColumn({\r\n name: \"intro\", label: \"待办简介\", componentInfo: \"MKFormInput\",\r\n componentProps: {\r\n autoSize: {\r\n minRows: 5,\r\n maxRows: 20\r\n }\r\n },\r\n required: true\r\n }),\r\n\r\n new FormColumn({\r\n name: \"content\", label: \"内容\",\r\n componentInfo: \"MKFormInput\",\r\n componentProps: {\r\n type: \"textarea\",\r\n autosize: {\r\n minRows: 5,\r\n maxRows: 20\r\n }\r\n },\r\n required: true\r\n }),\r\n new FormColumn({\r\n name: \"priority\", label: \"待办优先级\",\r\n componentInfo: \"MKFormDataSelect\",\r\n componentProps: {\r\n options: result.data.data.priorityList\r\n }, required: true,\r\n defaultValue: 0\r\n }),\r\n new FormColumn({\r\n name: \"status\", label: \"待办状态\",\r\n componentInfo: \"MKFormDataSelect\",\r\n componentProps: {\r\n options: result.data.data.statusList\r\n }, required: true,\r\n defaultValue: 0\r\n }),\r\n ]);\r\n\r\n }\r\n\r\n async submit() {\r\n const res = await this.httpRequest.post(\"/ms/dv/todo/create\", this.data)\r\n return res\r\n }\r\n}","<template>\r\n <div class=\"ms-todo\">\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=\"Timer\" style=\"margin-right: 5px;\" />\r\n 待办事项\r\n </h3>\r\n </template>\r\n <template #extra>\r\n </template>\r\n </el-page-header>\r\n <div class=\"ms-todo__body-warp\">\r\n <ElCard class=\"ms-todo__body-warp__calendar\">\r\n <div class=\"ms-todo__body-warp__calendar-header\">\r\n <div class=\"ms-todo__body-warp__calendar-header-left\">\r\n <span class=\"ms-todo__body-warp__calendar-header_left-title\">今日工作</span><span\r\n class=\"ms-todo__body-warp__calendar-header_left-date\">{{\r\n selectDate.toLocaleDateString().replace(/\\//g, '-')\r\n }}</span>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-header-right\">\r\n <ElButton link type=\"primary\" @click=\"addToDo\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px;\"></MKSvgIcon>添加事项\r\n </ElButton>\r\n </div>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-body\">\r\n <div class=\"ms-todo__body-warp__calendar-body-left day-box\" @click=\"offsetValue--\">\r\n <MKSvgIcon iconClass=\"ArrowLeft\"></MKSvgIcon>\r\n </div>\r\n <div v-for=\"item in currentWeek\" class=\"ms-todo__body-warp__calendar-body_date day-box\"\r\n @click=\"selectDate = item.date; console.log(item);\">\r\n <div class=\"ms-todo__body-warp__calendar-body_date-weekDay\">\r\n {{ item.weekDay }}\r\n </div>\r\n <div\r\n :class=\"[item.date.toLocaleDateString() == selectDate.toLocaleDateString() ? 'is-active' : '', 'ms-todo__body-warp__calendar-body_date-day']\">\r\n {{ item.day }}\r\n </div>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-body-right day-box\" @click=\"offsetValue++\">\r\n <MKSvgIcon iconClass=\"ArrowRight\"></MKSvgIcon>\r\n </div>\r\n </div>\r\n <div class=\"ms-todo__body-warp__calendar-work\">\r\n\r\n </div>\r\n </ElCard>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { ElCard } from 'element-plus';\r\nimport { MSAppClient } from '../../../../core';\r\nimport { Ref, ref, watch } from 'vue';\r\nimport { Dialoger } from '@maketribe/dm';\r\nimport { ToDoForm } from './ToDoForm';\r\nimport { DvOpt, Group } from '@maketribe/request';\r\n\r\nconst httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"dv/ms-todo/single/list/dialog\",\r\n },\r\n})\r\n\r\nconst todoDv = DvOpt.createInstance({\r\n name: \"todo\"\r\n})\r\nconst dayGroup = new Group()\r\n\r\n\r\nconst selectDate = ref(new Date());\r\nconst offsetValue = ref(0)\r\nconst currentWeek = ref();\r\nconst todoList: Ref<any[]> = ref([{\r\n \r\n}])\r\nhttpRequest.get(\"/ms/dv/todo/meta\")\r\n//获取当前周信息\r\nconst getWeek = (offset = 0) => {\r\n const now = new Date().getTime() + offset * 86400000;\r\n const dayOfWeek = new Date(now).getDay();\r\n const startDate = new Date(now - dayOfWeek * 86400000);\r\n const weekDate = [\r\n startDate,\r\n new Date(now - (dayOfWeek - 1) * 86400000),\r\n new Date(now - (dayOfWeek - 2) * 86400000),\r\n new Date(now - (dayOfWeek - 3) * 86400000),\r\n new Date(now - (dayOfWeek - 4) * 86400000),\r\n new Date(now - (dayOfWeek - 5) * 86400000),\r\n new Date(now - (dayOfWeek - 6) * 86400000)\r\n ]\r\n return {\r\n 0: { date: weekDate[0], day: weekDate[0].getDate(), weekDay: \"日\" },\r\n 1: { date: weekDate[1], day: weekDate[1].getDate(), weekDay: \"一\" },\r\n 2: { date: weekDate[2], day: weekDate[2].getDate(), weekDay: \"二\" },\r\n 3: { date: weekDate[3], day: weekDate[3].getDate(), weekDay: \"三\" },\r\n 4: { date: weekDate[4], day: weekDate[4].getDate(), weekDay: \"四\" },\r\n 5: { date: weekDate[5], day: weekDate[5].getDate(), weekDay: \"五\" },\r\n 6: { date: weekDate[6], day: weekDate[6].getDate(), weekDay: \"六\" },\r\n }\r\n}\r\n\r\n/**\r\n * 获取当前日期的待办事项\r\n * @param Date day \r\n */\r\nconst getDayTodo = async (day: Date) => {\r\n dayGroup.clear();\r\n dayGroup.addCondition(\"createdAt\", \"<=\", day);\r\n dayGroup.addCondition(\"deadline\", \">=\", day);\r\n return await todoDv.query().addGroup((g) => g.group.addGroup(dayGroup)).list();\r\n}\r\n\r\nconst addToDo = async () => {\r\n console.log(2154);\r\n Dialoger.dataFormDialog({\r\n dataForm: new ToDoForm()\r\n })\r\n}\r\n\r\nwatch(offsetValue, (newValue, oldValue) => {\r\n //获取当前周信息\r\n currentWeek.value = getWeek(offsetValue.value * 7);\r\n //更改选中的日期\r\n selectDate.value = new Date(selectDate.value.getTime() + (newValue - oldValue! || 0) * 7 * 86400000);\r\n}, { immediate: true }\r\n)\r\n\r\nwatch(selectDate, async () => {\r\n // selectDate.value = currentWeek.value[0];\r\n //todo 获取当前日期的待办事项\r\n todoList.value = await getDayTodo(selectDate.value)\r\n}, { immediate: true })\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","MSAppClient","Messager","FormColumn","MsMemberTable","DvOpt","Group","ref","Dialoger","watch"],"mappings":";;;;;;;;;;;;;AAOO,MAAM,YAAN,MAAM,mBAAiBA,QAAAA,UAClBC,WAAAA,iBADkBD,IAAS;AAAA,EAGnC,YAAY,UAA2B,IAAI;AACjC,UAAA;AAAA,MACF,MAAM,UAASC,qBAAe;AAAA,MAC9B,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACN;AACI,SAAA,cAAcC,kBAAY,SAAU;AAAA,EAC7C;AAAA,EAEA,MAAgB,aAA4B;AACxC,UAAM,MAAM;AAEZ,UAAM,SAAS,MAAM,KAAK,YAAY,IAAI,kBAAkB;AACxD,QAAA,OAAO,KAAK,QAAQ,KAAK;AACzBC,SAAAA,SAAS,MAAM;AAAA,QACX,SAAS,OAAO,KAAK,OAAO;AAAA,MAAA,CAC/B;AACD;AAAA,IACJ;AAEA,SAAK,WAAW;AAAA,MACZ,IAAIC,cAAW;AAAA,QACX,MAAM;AAAA,QAAY,OAAO;AAAA,QACzB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,WAAW,KAAK,SAAS,IAAIC,qBAAe;AAAA,UAC5C,gBAAgB;AAAA,QACpB;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MACD,IAAID,cAAW;AAAA,QACX,MAAM;AAAA,QAAY,OAAO;AAAA,QACzB,eAAe;AAAA,MAAA,CAClB;AAAA,MACD,IAAIA,cAAW;AAAA,QACX,MAAM;AAAA,QAAoB,OAAO;AAAA,QACjC,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,WAAW,KAAK,SAAS,IAAIC,qBAAe;AAAA,UAC5C,gBAAgB;AAAA,UAChB,UAAU;AAAA,QACd;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MACD,IAAID,cAAW;AAAA,QACX,MAAM;AAAA,QAAS,OAAO;AAAA,QAAQ,eAAe;AAAA,QAC7C,gBAAgB;AAAA,UACZ,UAAU;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,UACb;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MAED,IAAIA,cAAW;AAAA,QACX,MAAM;AAAA,QAAW,OAAO;AAAA,QACxB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,MAAM;AAAA,UACN,UAAU;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,UACb;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MACD,IAAIA,cAAW;AAAA,QACX,MAAM;AAAA,QAAY,OAAO;AAAA,QACzB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,SAAS,OAAO,KAAK,KAAK;AAAA,QAC9B;AAAA,QAAG,UAAU;AAAA,QACb,cAAc;AAAA,MAAA,CACjB;AAAA,MACD,IAAIA,cAAW;AAAA,QACX,MAAM;AAAA,QAAU,OAAO;AAAA,QACvB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,SAAS,OAAO,KAAK,KAAK;AAAA,QAC9B;AAAA,QAAG,UAAU;AAAA,QACb,cAAc;AAAA,MAAA,CACjB;AAAA,IAAA,CACJ;AAAA,EAEL;AAAA,EAEA,MAAM,SAAS;AACX,UAAM,MAAM,MAAM,KAAK,YAAY,KAAK,sBAAsB,KAAK,IAAI;AAChE,WAAA;AAAA,EACX;AACJ;AA7FI,cADS,WACDJ,IAA2B;AADhC,IAAM,WAAN;;;;;;;;;;;;;;;;;;;;;ACqDD,UAAA,cAAcE,MAAAA,YAAY,SAAU;AAQpC,UAAA,SAASI,cAAM,eAAe;AAAA,MAChC,MAAM;AAAA,IAAA,CACT;AACK,UAAA,WAAW,IAAIC,QAAAA;AAGrB,UAAM,aAAaC,IAAAA,IAAQ,oBAAA,KAAM,CAAA;AAC3B,UAAA,cAAcA,QAAI,CAAC;AACzB,UAAM,cAAcA,IAAAA;AACpB,UAAM,WAAuBA,IAAAA,IAAI,CAAC,CAAA,CAEjC,CAAC;AACF,gBAAY,IAAI,kBAAkB;AAE5B,UAAA,UAAU,CAAC,SAAS,MAAM;AAC5B,YAAM,OAAU,oBAAA,KAAA,GAAO,YAAY,SAAS;AAC5C,YAAM,YAAY,IAAI,KAAK,GAAG,EAAE,OAAO;AACvC,YAAM,YAAY,IAAI,KAAK,MAAM,YAAY,KAAQ;AACrD,YAAM,WAAW;AAAA,QACb;AAAA,QACA,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,MAAA;AAEtC,aAAA;AAAA,QACH,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,MAAA;AAAA,IACrE;AAOE,UAAA,aAAa,OAAO,QAAc;AACpC,eAAS,MAAM;AACN,eAAA,aAAa,aAAa,MAAM,GAAG;AACnC,eAAA,aAAa,YAAY,MAAM,GAAG;AAC3C,aAAO,MAAM,OAAO,QAAQ,SAAS,CAAC,MAAM,EAAE,MAAM,SAAS,QAAQ,CAAC,EAAE,KAAK;AAAA,IAAA;AAGjF,UAAM,UAAU,YAAY;AACxB,cAAQ,IAAI,IAAI;AAChBC,SAAAA,SAAS,eAAe;AAAA,QACpB,UAAU,IAAI,SAAS;AAAA,MAAA,CAC1B;AAAA,IAAA;AAGLC,QAAA;AAAA,MAAM;AAAA,MAAa,CAAC,UAAU,aAAa;AAEvC,oBAAY,QAAQ,QAAQ,YAAY,QAAQ,CAAC;AAEtC,mBAAA,QAAQ,IAAI,KAAK,WAAW,MAAM,aAAa,WAAW,YAAa,KAAK,IAAI,KAAQ;AAAA,MACvG;AAAA,MAAG,EAAE,WAAW,KAAK;AAAA,IAAA;AAGrBA,QAAA,MAAM,YAAY,YAAY;AAG1B,eAAS,QAAQ,MAAM,WAAW,WAAW,KAAK;AAAA,IAAA,GACnD,EAAE,WAAW,KAAA,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const utils = require("@maketribe/utils");
4
4
  const vue = require("vue");
5
- const index = require("./index-C1XNlE_P.cjs");
5
+ const index = require("./index-BFJJfJKx.cjs");
6
6
  const dm = require("@maketribe/dm");
7
7
  const elementPlus = require("element-plus");
8
8
  require("@headlessui/vue");
@@ -210,4 +210,4 @@ exports.MKFormDetail = MKFormDetail;
210
210
  exports.default = MKFormDetail;
211
211
  exports.formDetailEmits = formDetailEmits;
212
212
  exports.formDetailProps = formDetailProps;
213
- //# sourceMappingURL=index-DdpqZVD9.cjs.map
213
+ //# sourceMappingURL=index-BwrHgk2-.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DdpqZVD9.cjs","sources":["../../src/components/data-model/data-form/components/form-detail/form-detail-options.ts","../../src/components/data-model/data-form/composables/use-form-item.ts","../../src/components/data-model/data-form/components/form-detail/form-detail.vue","../../src/components/data-model/data-form/components/form-detail/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { FormDetailColumn } from \"@maketribe/dm\";\r\n\r\nexport const formDetailProps = buildProps({\r\n modelValue: {\r\n type: null,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n column: { type: FormDetailColumn, required: true },\r\n formWidth: {\r\n type: String,\r\n default: \"400px\",\r\n },\r\n} as const);\r\n\r\nexport type FormDetailProps = ExtractPropTypes<typeof formDetailProps>;\r\n\r\nexport const formDetailEmits = {\r\n \"update:model-value\": (v: any) => true,\r\n};\r\n\r\nexport type FormDetailEmits = ExtractPropTypes<typeof formDetailEmits>;\r\n","import { ExtractPropTypes, computed, inject, unref } from \"vue\";\r\nimport { DATA_FORM_ITEM_CONTEXT_KEY } from \"../token\";\r\nimport { FormColumn } from \"@maketribe/dm\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const columnProps = buildProps({\r\n column: { type: FormColumn, required: true },\r\n} as const);\r\n\r\nexport type ColumnProps = ExtractPropTypes<typeof columnProps>;\r\n\r\nexport function useFormItem() {\r\n const dataFormItemContext = inject(DATA_FORM_ITEM_CONTEXT_KEY);\r\n const column = computed(() => unref(dataFormItemContext)?.column ?? null);\r\n\r\n const value = computed({\r\n get: () => {\r\n const _column = unref(column);\r\n\r\n if (!_column) {\r\n return;\r\n }\r\n\r\n return _column.getValue();\r\n },\r\n set: (v: any) => {\r\n const _column = unref(column);\r\n\r\n if (!_column) {\r\n return;\r\n }\r\n\r\n _column.setValue(v);\r\n },\r\n });\r\n\r\n const disabled = computed(() => unref(column)?.disabled ?? false);\r\n\r\n return { column, value, disabled };\r\n}\r\n","<script setup lang=\"ts\">\r\nimport {computed, defineComponent, ref, unref, watch} from \"vue\";\r\nimport {MKPageContainer} from \"../../../../basic/page-container\";\r\nimport {MKDataTable} from \"../../../data-table\";\r\nimport DataForm from \"../../data-form.vue\";\r\nimport {formDetailEmits, formDetailProps} from \"./form-detail-options\";\r\nimport {useFormItem} from \"../../composables\";\r\nimport {MKForm} from '../../views'\r\nimport {ElButton, ElEmpty} from \"element-plus\";\r\nimport {Messager} from \"@maketribe/dm\";\r\nimport {MKDrawer} from '../../../../headless'\r\n\r\nconst props = defineProps(formDetailProps);\r\n\r\nconst emit = defineEmits(formDetailEmits)\r\n\r\nconst detailTable = computed(() => props.column.detailTable);\r\nconst detailForm = computed(() => props.column.detailForm!);\r\n\r\nconst {value} = useFormItem();\r\n\r\nwatch(\r\n computed(() => unref(value)),\r\n (value) => {\r\n const _detailTable = unref(detailTable);\r\n\r\n value = Array.isArray(value) ? value : [];\r\n\r\n _detailTable.setList(\r\n value.map((item: any) => _detailTable.formatItem(item))\r\n );\r\n }\r\n);\r\n\r\nconst isShowDataForm = ref(false);\r\n\r\nwatch(\r\n detailTable,\r\n (dataTable, _, onCleanup) => {\r\n const addRecordDisposable = dataTable.addRecordEvent.on(async ({item}) => {\r\n const _dataForm = unref(detailForm);\r\n\r\n if (!_dataForm) {\r\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\r\n return;\r\n }\r\n\r\n isShowDataForm.value = true;\r\n\r\n _dataForm.addRecord(item);\r\n });\r\n\r\n const editRecordDisposable = dataTable.editRecordEvent.on(\r\n async ({item}) => {\r\n const _dataForm = unref(detailForm);\r\n\r\n if (!_dataForm) {\r\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\r\n return;\r\n }\r\n\r\n isShowDataForm.value = true;\r\n\r\n try {\r\n const response = await _dataForm.editRecord(item);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({message: response.data.msg});\r\n isShowDataForm.value = false;\r\n return;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n isShowDataForm.value = false;\r\n }\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n addRecordDisposable.dispose();\r\n editRecordDisposable.dispose();\r\n });\r\n },\r\n {immediate: true}\r\n);\r\n\r\nwatch(\r\n detailForm,\r\n (dataForm, _, onCleanup) => {\r\n const submittedDisposable = dataForm.submittedEvent.on(() => {\r\n isShowDataForm.value = false;\r\n\r\n unref(detailTable)?.load();\r\n });\r\n\r\n const cancelDisposable = dataForm.cancelEvent.on(() => {\r\n isShowDataForm.value = false;\r\n });\r\n\r\n onCleanup(() => {\r\n submittedDisposable.dispose();\r\n cancelDisposable.dispose();\r\n });\r\n },\r\n {immediate: true}\r\n);\r\n\r\nconst handleFormSave = async () => {\r\n await unref(detailForm)?.simpleSubmit();\r\n};\r\n\r\nconst handleFormCancel = () => {\r\n unref(detailForm).cancel();\r\n};\r\n\r\n\r\n</script>\r\n\r\n<template>\r\n <div class=\"mk-form-detail\">\r\n <MKDataTable\r\n :dataTable=\"detailTable\"\r\n :autoLoad=\"false\"\r\n />\r\n <MKDrawer v-model=\"isShowDataForm\" title=\"fdasfsaf\">\r\n <MKPageContainer>\r\n <DataForm :dataForm=\"detailForm\" :autoLoad=\"false\">\r\n <MKForm/>\r\n </DataForm>\r\n </MKPageContainer>\r\n\r\n <template #footer>\r\n\r\n <ElButton @click=\"handleFormCancel\">取消</ElButton>\r\n <ElButton type=\"primary\" @click=\"handleFormSave\">保存</ElButton>\r\n </template>\r\n\r\n <template #empty>\r\n <ElEmpty :image-size=\"100\"/>\r\n </template>\r\n </MKDrawer>\r\n </div>\r\n</template>\r\n","import { withInstall } from \"@maketribe/utils\";\r\nimport FormDetail from \"./form-detail.vue\";\r\n\r\nexport const MKFormDetail = withInstall(FormDetail);\r\nexport default MKFormDetail;\r\n\r\nexport * from \"./form-detail-options\";\r\n"],"names":["buildProps","FormDetailColumn","FormColumn","inject","DATA_FORM_ITEM_CONTEXT_KEY","computed","unref","watch","value","ref","Messager","withInstall","FormDetail"],"mappings":"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"}
1
+ {"version":3,"file":"index-BwrHgk2-.cjs","sources":["../../src/components/data-model/data-form/components/form-detail/form-detail-options.ts","../../src/components/data-model/data-form/composables/use-form-item.ts","../../src/components/data-model/data-form/components/form-detail/form-detail.vue","../../src/components/data-model/data-form/components/form-detail/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { FormDetailColumn } from \"@maketribe/dm\";\r\n\r\nexport const formDetailProps = buildProps({\r\n modelValue: {\r\n type: null,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n column: { type: FormDetailColumn, required: true },\r\n formWidth: {\r\n type: String,\r\n default: \"400px\",\r\n },\r\n} as const);\r\n\r\nexport type FormDetailProps = ExtractPropTypes<typeof formDetailProps>;\r\n\r\nexport const formDetailEmits = {\r\n \"update:model-value\": (v: any) => true,\r\n};\r\n\r\nexport type FormDetailEmits = ExtractPropTypes<typeof formDetailEmits>;\r\n","import { ExtractPropTypes, computed, inject, unref } from \"vue\";\r\nimport { DATA_FORM_ITEM_CONTEXT_KEY } from \"../token\";\r\nimport { FormColumn } from \"@maketribe/dm\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const columnProps = buildProps({\r\n column: { type: FormColumn, required: true },\r\n} as const);\r\n\r\nexport type ColumnProps = ExtractPropTypes<typeof columnProps>;\r\n\r\nexport function useFormItem() {\r\n const dataFormItemContext = inject(DATA_FORM_ITEM_CONTEXT_KEY);\r\n const column = computed(() => unref(dataFormItemContext)?.column ?? null);\r\n\r\n const value = computed({\r\n get: () => {\r\n const _column = unref(column);\r\n\r\n if (!_column) {\r\n return;\r\n }\r\n\r\n return _column.getValue();\r\n },\r\n set: (v: any) => {\r\n const _column = unref(column);\r\n\r\n if (!_column) {\r\n return;\r\n }\r\n\r\n _column.setValue(v);\r\n },\r\n });\r\n\r\n const disabled = computed(() => unref(column)?.disabled ?? false);\r\n\r\n return { column, value, disabled };\r\n}\r\n","<script setup lang=\"ts\">\r\nimport {computed, defineComponent, ref, unref, watch} from \"vue\";\r\nimport {MKPageContainer} from \"../../../../basic/page-container\";\r\nimport {MKDataTable} from \"../../../data-table\";\r\nimport DataForm from \"../../data-form.vue\";\r\nimport {formDetailEmits, formDetailProps} from \"./form-detail-options\";\r\nimport {useFormItem} from \"../../composables\";\r\nimport {MKForm} from '../../views'\r\nimport {ElButton, ElEmpty} from \"element-plus\";\r\nimport {Messager} from \"@maketribe/dm\";\r\nimport {MKDrawer} from '../../../../headless'\r\n\r\nconst props = defineProps(formDetailProps);\r\n\r\nconst emit = defineEmits(formDetailEmits)\r\n\r\nconst detailTable = computed(() => props.column.detailTable);\r\nconst detailForm = computed(() => props.column.detailForm!);\r\n\r\nconst {value} = useFormItem();\r\n\r\nwatch(\r\n computed(() => unref(value)),\r\n (value) => {\r\n const _detailTable = unref(detailTable);\r\n\r\n value = Array.isArray(value) ? value : [];\r\n\r\n _detailTable.setList(\r\n value.map((item: any) => _detailTable.formatItem(item))\r\n );\r\n }\r\n);\r\n\r\nconst isShowDataForm = ref(false);\r\n\r\nwatch(\r\n detailTable,\r\n (dataTable, _, onCleanup) => {\r\n const addRecordDisposable = dataTable.addRecordEvent.on(async ({item}) => {\r\n const _dataForm = unref(detailForm);\r\n\r\n if (!_dataForm) {\r\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\r\n return;\r\n }\r\n\r\n isShowDataForm.value = true;\r\n\r\n _dataForm.addRecord(item);\r\n });\r\n\r\n const editRecordDisposable = dataTable.editRecordEvent.on(\r\n async ({item}) => {\r\n const _dataForm = unref(detailForm);\r\n\r\n if (!_dataForm) {\r\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\r\n return;\r\n }\r\n\r\n isShowDataForm.value = true;\r\n\r\n try {\r\n const response = await _dataForm.editRecord(item);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({message: response.data.msg});\r\n isShowDataForm.value = false;\r\n return;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n isShowDataForm.value = false;\r\n }\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n addRecordDisposable.dispose();\r\n editRecordDisposable.dispose();\r\n });\r\n },\r\n {immediate: true}\r\n);\r\n\r\nwatch(\r\n detailForm,\r\n (dataForm, _, onCleanup) => {\r\n const submittedDisposable = dataForm.submittedEvent.on(() => {\r\n isShowDataForm.value = false;\r\n\r\n unref(detailTable)?.load();\r\n });\r\n\r\n const cancelDisposable = dataForm.cancelEvent.on(() => {\r\n isShowDataForm.value = false;\r\n });\r\n\r\n onCleanup(() => {\r\n submittedDisposable.dispose();\r\n cancelDisposable.dispose();\r\n });\r\n },\r\n {immediate: true}\r\n);\r\n\r\nconst handleFormSave = async () => {\r\n await unref(detailForm)?.simpleSubmit();\r\n};\r\n\r\nconst handleFormCancel = () => {\r\n unref(detailForm).cancel();\r\n};\r\n\r\n\r\n</script>\r\n\r\n<template>\r\n <div class=\"mk-form-detail\">\r\n <MKDataTable\r\n :dataTable=\"detailTable\"\r\n :autoLoad=\"false\"\r\n />\r\n <MKDrawer v-model=\"isShowDataForm\" title=\"fdasfsaf\">\r\n <MKPageContainer>\r\n <DataForm :dataForm=\"detailForm\" :autoLoad=\"false\">\r\n <MKForm/>\r\n </DataForm>\r\n </MKPageContainer>\r\n\r\n <template #footer>\r\n\r\n <ElButton @click=\"handleFormCancel\">取消</ElButton>\r\n <ElButton type=\"primary\" @click=\"handleFormSave\">保存</ElButton>\r\n </template>\r\n\r\n <template #empty>\r\n <ElEmpty :image-size=\"100\"/>\r\n </template>\r\n </MKDrawer>\r\n </div>\r\n</template>\r\n","import { withInstall } from \"@maketribe/utils\";\r\nimport FormDetail from \"./form-detail.vue\";\r\n\r\nexport const MKFormDetail = withInstall(FormDetail);\r\nexport default MKFormDetail;\r\n\r\nexport * from \"./form-detail-options\";\r\n"],"names":["buildProps","FormDetailColumn","FormColumn","inject","DATA_FORM_ITEM_CONTEXT_KEY","computed","unref","watch","value","ref","Messager","withInstall","FormDetail"],"mappings":"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"}
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const utils = require("@maketribe/utils");
5
5
  const elementPlus = require("element-plus");
6
6
  const elIcons = require("@element-plus/icons-vue");
7
- const index = require("./index-C1XNlE_P.cjs");
7
+ const index = require("./index-BFJJfJKx.cjs");
8
8
  const dm = require("@maketribe/dm");
9
9
  const vueRouter = require("vue-router");
10
10
  const request = require("@maketribe/request");
@@ -23,7 +23,7 @@ require("@lexical/plain-text");
23
23
  require("@headlessui/vue");
24
24
  require("overlayscrollbars-vue");
25
25
  require("@codemirror/lang-html");
26
- const cmsSettings = require("./cms-settings-B5SQCWZJ.cjs");
26
+ const cmsSettings = require("./cms-settings-Dk-_N4Uf.cjs");
27
27
  const _hoisted_1$4 = { class: "cms-part-tree" };
28
28
  const _hoisted_2$4 = { class: "cms-part-tree__header" };
29
29
  const _hoisted_3$4 = { class: "cms-part-tree__body" };
@@ -1604,4 +1604,4 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
1604
1604
  }
1605
1605
  });
1606
1606
  exports.default = _sfc_main;
1607
- //# sourceMappingURL=index-DPCvcvKp.cjs.map
1607
+ //# sourceMappingURL=index-C8IvpcbJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DPCvcvKp.cjs","sources":["../../src/modules/cms/components/part-tree/index.vue","../../src/modules/cms/components/part-tree/index.ts","../../src/modules/cms/pages/cms-contents/components/article-list.vue","../../src/modules/cms/pages/cms-contents/components/part-info.vue","../../src/modules/cms/pages/cms-contents/components/part-banner.vue","../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue","../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"cms-part-tree\">\r\n <div class=\"cms-part-tree__header\">\r\n <div>\r\n <MKSvgIcon name=\"ep:notebook\" />\r\n 栏目\r\n </div>\r\n <el-switch v-model=\"isDrag\" inline-prompt active-text=\"开启排序\"\r\n inactive-text=\"关闭排序\" />\r\n </div>\r\n <div class=\"cms-part-tree__body\">\r\n <ElScrollbar style=\"height: 100%;\">\r\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\r\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll :draggable=\"isDrag\" ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\r\n <template #node-main=\"{ data }\">\r\n {{ data.data.title }}\r\n </template>\r\n <template #node-tools=\"{ data }\">\r\n <el-dropdown>\r\n <ElIcon>\r\n <MoreFilled />\r\n </ElIcon>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\r\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\r\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </template>\r\n </MKTree>\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\r\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\r\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\r\nimport { CmsPartTree } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport { DataTreeNode } from \"@maketribe/dm\";\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n\r\ndefineOptions({ name: \"MKPartTree\" });\r\nconst treeRef = ref(null);\r\n// 配置选项\r\nconst optionSettings = defineProps<{\r\n curSelectId?:string|undefined\r\n}>();\r\n\r\n// 事件定义\r\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\r\n\r\nconst i18n = useI18n()!;\r\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\r\n\r\nconst isDrag = ref(false)\r\n\r\nconst selectNodeId = ref(optionSettings.curSelectId);\r\n\r\nwatch(()=>optionSettings.curSelectId,()=>{\r\n selectNodeId.value = optionSettings.curSelectId\r\n})\r\n\r\n// 监听数据变化\r\ndataTree.listChangeEvent.on(() => {\r\n\r\n const list = dataTree.getList();\r\n\r\n if (list.length > 0) {\r\n //默认选择第一条\r\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\r\n\r\n for(let i=0;i<list.length;i++){\r\n\r\n let item = list[i]\r\n \r\n if(item.id == selectNodeId.value){\r\n emit(\"select\", item);\r\n break;\r\n }\r\n item.children?.forEach((child:any)=>list.push(child))\r\n\r\n }\r\n }\r\n})\r\n\r\n/**\r\n * 点击添加栏目按钮\r\n * @param item \r\n */\r\nconst handleAddClick = (item: any) => {\r\n emit(\"add\", item);\r\n}\r\n\r\n/**\r\n * 编辑栏目\r\n * @param item \r\n */\r\nconst handleEditClick = (item: any) => {\r\n emit(\"edit\", item);\r\n}\r\n/**\r\n * 删除栏目\r\n * @param item \r\n */\r\nconst handleDeleteClick = async (item: any) => {\r\n // 删除提示\r\n const isConfirm = await ElMessageBox.confirm(\r\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\r\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n )\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n const result = await dataTree.deleteAfterRefresh(item.id);\r\n if (result.data.code == 200) {\r\n emit('deleteSuccessfully', item)\r\n }\r\n}\r\n\r\n/**\r\n * 选择栏目\r\n * @param data \r\n */\r\nconst selectPart = (data: DataTreeNode) => {\r\n emit(\"select\", data.data);\r\n}\r\n\r\ndefineExpose({ dataTree });\r\n\r\n\r\n</script>\r\n","import { withInstall } from \"@maketribe/utils\";\r\nimport PartTree from \"./index.vue\";\r\n\r\nexport const MKPartTree = withInstall(PartTree);\r\nexport default MKPartTree;\r\n","<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"top\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"tags\">\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useTop && article.isTop == 1\"\r\n @click=\"changeArticleStatus(article, 'isTop', 0)\">置顶</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useNew && article.isNew == 1\"\r\n @click=\"changeArticleStatus(article, 'isNew', 0)\">最新</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useHotRecommend && article.isHotRecommend == 1\"\r\n @click=\"changeArticleStatus(article, 'isHotRecommend', 0)\">热门推荐</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.usePartRecommend && article.isPartRecommend == 1\"\r\n @click=\"changeArticleStatus(article, 'isPartRecommend', 0)\">栏目推荐</el-tag>\r\n </div>\r\n </div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon>\r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\" v-if=\"article.releaseDate\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon>\r\n 新闻日期 : {{ article.releaseDate }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <!-- <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a> -->\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\"\r\n v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-dropdown>\r\n <el-button type=\"primary\" size=\"large\" text>\r\n 更多\r\n </el-button>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static' && article.url\">\r\n <a style=\"text-decoration: none;color: #606266;\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\"\r\n target=\"_blank\">\r\n 访问\r\n </a>\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useTop && article.isTop == 0\"\r\n @click=\"changeArticleStatus(article, 'isTop', 1)\">设为置顶</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useNew && article.isNew == 0\"\r\n @click=\"changeArticleStatus(article, 'isNew', 1)\">设为最新</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useHotRecommend && article.isHotRecommend == 0\"\r\n @click=\"changeArticleStatus(article, 'isHotRecommend', 1)\">设为热门推荐</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.usePartRecommend && article.isPartRecommend == 0\"\r\n @click=\"changeArticleStatus(article, 'isPartRecommend', 1)\">设为栏目推荐</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable, CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch, onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n//改变文章指定,最新,推荐状态\r\nconst changeArticleStatus = async (article: any, item: string, status: number) => {\r\n const text: Record<string, string[]> = {\r\n \"isTop\": ['取消置顶', '设为置顶'],\r\n \"isNew\": ['取消最新', '设为最新'],\r\n \"isHotRecommend\": ['取消热门推荐', '设为热门推荐'],\r\n \"isPartRecommend\": ['取消栏目推荐', '设为栏目推荐'],\r\n }\r\n\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"修改文章状态\",\r\n message: `是否${text[item][status]}?`,\r\n type: \"warning\"\r\n })\r\n if (!isConfirm) {\r\n return\r\n }\r\n try {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n await articleForm.editRecord(article.id)\r\n const isSuccess = await articleForm.simpleSubmit({\r\n id: article.id,\r\n [item]: status\r\n })\r\n\r\n if (isSuccess) {\r\n articlesDv.load();\r\n }\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n\r\n\r\n}\r\n\r\n// 初始化\r\nonMounted(() => {\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n \r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\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) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response: any = await CmsArticlesForm.publish(CmsSettings.publish.mode, article.cmsPartId, article.id);\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\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n","<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n \r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\n// props.partDataForm.submittedEvent.on(() => {\r\n// props.partDataForm.editRecord(props.part.id)\r\n// })\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n","<template>\r\n <div v-loading=\"loading\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" :height=\"partAdBannerHeight\"\r\n arrow=\"always\" ref=\"carouselRef\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"danger\" style=\"margin-left: 10px;\" :icon=\"Delete\" @click=\"deleteAdContentHandle(item.id)\">\r\n 删除当前素材\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" :style=\"{ height: partAdBannerHeight }\">\r\n <template #description>\r\n <el-text>暂无{{ title }}轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps, computed } from \"vue\";\r\nimport { DataViewRequest, DVQueryable, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, Plus, Delete } from \"@element-plus/icons-vue\"\r\n\r\nconst props = defineProps({ adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: \"\" }, viewWidth: { type: Number } })\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// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\nconst warpRef = ref<any | null>(null);\r\n// 计算广告的高度\r\nconst partAdBannerHeight = computed(() => {\r\n\r\n // 全局Banner尺寸信息\r\n const sizes = cmsSettings.part.bannerImageSize.split(\"*\") as Array<any>;\r\n\r\n // 宽高比\r\n let widthHeightRatio = 0;\r\n\r\n //设定的比例\r\n if (!!partAdBanner.value?.width && !!partAdBanner.value?.height) {\r\n widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;\r\n }\r\n else if (sizes.length && sizes[0] && sizes[1]) {\r\n widthHeightRatio = sizes[0] / sizes[1]\r\n }\r\n\r\n if (widthHeightRatio && props.viewWidth) { return (props.viewWidth / widthHeightRatio) + \"px\" }\r\n\r\n return \"240px\"\r\n\r\n})\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = props.adkey\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => loadPartAdDefineData())\r\n// 添加完成则刷新\r\nadDefineForm.submittedEvent.on(() => loadPartAdDefineData())\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", props.adkey);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data?.[0] ?? null;\r\n\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title: \"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\nconst deleteAdContentHandle = async (id: any) => {\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"确定删除?\", message: \"确定删除当前轮播吗?\", type: \"warning\" })\r\n if (!isConfirm) return;\r\n const result = await adContentRequest.delete(id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败!\" })\r\n return\r\n };\r\n loadPartAdDefineData()\r\n } catch (error) {\r\n Messager.error({ message: \"删除失败!\" })\r\n }\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n","<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-if=\"cmsSettings.part.openBanner\" ref=\"warpElRef\">\r\n <el-tabs v-model=\"activePartAdType\">\r\n <el-tab-pane label=\"PC端\" name=\"pc\" v-if=\"cmsSettings.devices.includes('pc')\">\r\n <PartBannerComponent :adkey=\"`part_${partId}`\" :title=\"`${title}PC端`\" :viewWidth=\"warpElRef?.offsetWidth\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"移动端\" name=\"mobile\" v-if=\"cmsSettings.devices.includes('mobile')\">\r\n <PartBannerComponent :adkey=\"`part_${partId}_mobile`\" :title=\"`${title}移动端`\" :viewWidth=\"750\"\r\n style=\"max-width: 750px;margin: auto;\" />\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { ref, defineProps } from \"vue\"\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport PartBannerComponent from \"./part-banner.vue\"\r\n\r\ndefineProps({ partId: { type: String }, title: { type: String } })\r\n\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconsole.log(cmsSettings.devices);\r\n// cms 配置\r\nconst warpElRef = ref<any>()\r\n// 栏目广告\r\nconst activePartAdType = ref(cmsSettings.devices[0])\r\n\r\n</script>\r\n","<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);\" m=\"l-[10px]\" flex=\"~ items-center\">\r\n <MKSvgIcon name=\"f7:doc-richtext\" m=\"r-[5px]\"/>\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\"\r\n @click=\"publishAllPartHandle\">\r\n <MKSvgIcon name=\"ep:promotion\" m=\"r-[10]x\"/>\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon name=\"ep:plus\" m=\"r-[10]x\"/>\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i+1}`\" :name=\"\">\r\n <el-button type=\"primary\" text @click=\"ext.save()\" v-if=\"activeTabName == `part-ext${i}` && ext.save\">\r\n <MKSvgIcon name=\"carbon:save\" m=\"r-[5px]\" />\r\n 保存{{ ext.title }}\r\n </el-button>\r\n </template>\r\n <template v-if=\"activeTabName == 'part' || (activeTabName == 'part-content' && !partContentExtension?.component)\">\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\">\r\n <MKSvgIcon name=\"carbon:save\" m=\"r-[5px]\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon name=\"ep:more-filled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"previewHandle()\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon name=\"ep:view\" m=\"l-[10px]\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(1)\"\r\n v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon name=\"ep:view\" m=\"l-[10px]\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon name=\"ep:promotion\" m=\"l-[10px]\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" style=\"height: 99%;\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\r\n <!-- 存在内容扩展配置 -->\r\n <template v-if=\"partContentExtension && activeTabName == 'part-content'\">\r\n\r\n <!-- 都自定义扩展的话 -->\r\n <template v-if=\"partContentExtension.component && partContentExtension.adComponent\">\r\n <div style=\"background: #fff;margin-top: -10px;padding: 10px;box-sizing: border-box;\">\r\n <component :is=\"partContentExtension.adComponent\" />\r\n </div>\r\n <div style=\"background: #fff;\">\r\n <component :is=\"partContentExtension.component\" />\r\n </div>\r\n </template>\r\n <!-- 只扩展内容 -->\r\n <template v-if=\"partContentExtension.component && !partContentExtension.adComponent\">\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n <div style=\"background: #fff;margin-top: -10px;padding: 10px;box-sizing: border-box;\" v-if=\"partContentExtension.component\">\r\n <component :is=\"partContentExtension.component\" />\r\n </div>\r\n </template>\r\n <!-- 只扩展栏目广告栏 -->\r\n <template v-if=\"!partContentExtension.component && partContentExtension.adComponent\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" namespace=\"cms-part\"\r\n :modelValue=\"partDataForm.data?.content\" placeholder=\"从这里开始写正文...\" @update:modelValue=\"docEditorChangeHandle\">\r\n <template #before-extentions>\r\n <div style=\"background: #fff;margin-bottom: 10px;\">\r\n <component :is=\"partContentExtension.adComponent\" />\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n \r\n </template>\r\n\r\n <template v-else-if=\"activeTabName == 'part-content'\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" namespace=\"cms-part\"\r\n :modelValue=\"partDataForm.data?.content\" @update:modelValue=\"docEditorChangeHandle\" placeholder=\"从这里开始写正文...\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\"\r\n :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n\r\n </el-tab-pane>\r\n <el-tab-pane v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i == 0 ? '' : i}`\" :name=\"`part-ext${i}`\">\r\n <component :is=\"ext.component\" />\r\n </el-tab-pane>\r\n\r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref,shallowRef, watch, watchEffect } from \"vue\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm, CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtensionList, usePartContentComponent, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(() => route.query.pid, (v: any) => {\r\n curSelectPartId.value = v\r\n}, { immediate: true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExList = shallowRef<Array<PartExtension>>([]);\r\nconst partContentExtension = shallowRef<any>(null)\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart: any = null;\r\nwatchEffect(async () => {\r\n if ((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart && curSelectPartItem.value) {\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(132)\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else {\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));\r\n partContentExtension.value = usePartContentComponent(curSelectPartItem.value.id) || usePartContentComponent(curSelectPartItem.value.name)\r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if (v) {\r\n console.log(2)\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n\r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }: any) => {\r\n if (response.data.data) {\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n\r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n await CmsPartForm.publishAll()\r\n }\r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n\r\n try {\r\n //表单未保存,默认保存\r\n try{\r\n if(partDataForm.isChanged){\r\n await savePartHandle()\r\n }\r\n }catch{\r\n Messager.error({\r\n message:\"保存失败\"\r\n })\r\n return \r\n }\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id, optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 预览\r\n */\r\nconst previewHandle =async (num?:string|number)=>{\r\n if(partDataForm.isChanged){\r\n await savePartHandle()\r\n }\r\n if(num){\r\n CmsPartForm.openPreview(curSelectPartItem.value.id, '1')\r\n }else{\r\n CmsPartForm.openPreview(curSelectPartItem.value.id)\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst docEditorChangeHandle = (v: any) => {\r\n if(partDataForm.data){\r\n partDataForm.data.content = v\r\n }\r\n}\r\n</script>\r\n"],"names":["ref","useI18n","reactive","CmsPartTree","watch","ElMessageBox","withInstall","PartTree","useCmsSettings","CmsArticlesTable","CmsArticlesForm","useRouter","Dialoger","onMounted","isWhereFilter","Messager","CmsPartForm","DataViewRequest","cmsSettings","CmsAdContentsForm","CmsAdDefinesForm","computed","Where","useRoute","CmsPartMiniForm","shallowRef","CmsContentManPartForm","watchEffect","usePartExtensionList","usePartContentComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index-C8IvpcbJ.cjs","sources":["../../src/modules/cms/components/part-tree/index.vue","../../src/modules/cms/components/part-tree/index.ts","../../src/modules/cms/pages/cms-contents/components/article-list.vue","../../src/modules/cms/pages/cms-contents/components/part-info.vue","../../src/modules/cms/pages/cms-contents/components/part-banner.vue","../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue","../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"cms-part-tree\">\r\n <div class=\"cms-part-tree__header\">\r\n <div>\r\n <MKSvgIcon name=\"ep:notebook\" />\r\n 栏目\r\n </div>\r\n <el-switch v-model=\"isDrag\" inline-prompt active-text=\"开启排序\"\r\n inactive-text=\"关闭排序\" />\r\n </div>\r\n <div class=\"cms-part-tree__body\">\r\n <ElScrollbar style=\"height: 100%;\">\r\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\r\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll :draggable=\"isDrag\" ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\r\n <template #node-main=\"{ data }\">\r\n {{ data.data.title }}\r\n </template>\r\n <template #node-tools=\"{ data }\">\r\n <el-dropdown>\r\n <ElIcon>\r\n <MoreFilled />\r\n </ElIcon>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\r\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\r\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </template>\r\n </MKTree>\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\r\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\r\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\r\nimport { CmsPartTree } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport { DataTreeNode } from \"@maketribe/dm\";\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n\r\ndefineOptions({ name: \"MKPartTree\" });\r\nconst treeRef = ref(null);\r\n// 配置选项\r\nconst optionSettings = defineProps<{\r\n curSelectId?:string|undefined\r\n}>();\r\n\r\n// 事件定义\r\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\r\n\r\nconst i18n = useI18n()!;\r\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\r\n\r\nconst isDrag = ref(false)\r\n\r\nconst selectNodeId = ref(optionSettings.curSelectId);\r\n\r\nwatch(()=>optionSettings.curSelectId,()=>{\r\n selectNodeId.value = optionSettings.curSelectId\r\n})\r\n\r\n// 监听数据变化\r\ndataTree.listChangeEvent.on(() => {\r\n\r\n const list = dataTree.getList();\r\n\r\n if (list.length > 0) {\r\n //默认选择第一条\r\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\r\n\r\n for(let i=0;i<list.length;i++){\r\n\r\n let item = list[i]\r\n \r\n if(item.id == selectNodeId.value){\r\n emit(\"select\", item);\r\n break;\r\n }\r\n item.children?.forEach((child:any)=>list.push(child))\r\n\r\n }\r\n }\r\n})\r\n\r\n/**\r\n * 点击添加栏目按钮\r\n * @param item \r\n */\r\nconst handleAddClick = (item: any) => {\r\n emit(\"add\", item);\r\n}\r\n\r\n/**\r\n * 编辑栏目\r\n * @param item \r\n */\r\nconst handleEditClick = (item: any) => {\r\n emit(\"edit\", item);\r\n}\r\n/**\r\n * 删除栏目\r\n * @param item \r\n */\r\nconst handleDeleteClick = async (item: any) => {\r\n // 删除提示\r\n const isConfirm = await ElMessageBox.confirm(\r\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\r\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n )\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n const result = await dataTree.deleteAfterRefresh(item.id);\r\n if (result.data.code == 200) {\r\n emit('deleteSuccessfully', item)\r\n }\r\n}\r\n\r\n/**\r\n * 选择栏目\r\n * @param data \r\n */\r\nconst selectPart = (data: DataTreeNode) => {\r\n emit(\"select\", data.data);\r\n}\r\n\r\ndefineExpose({ dataTree });\r\n\r\n\r\n</script>\r\n","import { withInstall } from \"@maketribe/utils\";\r\nimport PartTree from \"./index.vue\";\r\n\r\nexport const MKPartTree = withInstall(PartTree);\r\nexport default MKPartTree;\r\n","<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"top\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"tags\">\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useTop && article.isTop == 1\"\r\n @click=\"changeArticleStatus(article, 'isTop', 0)\">置顶</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useNew && article.isNew == 1\"\r\n @click=\"changeArticleStatus(article, 'isNew', 0)\">最新</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useHotRecommend && article.isHotRecommend == 1\"\r\n @click=\"changeArticleStatus(article, 'isHotRecommend', 0)\">热门推荐</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.usePartRecommend && article.isPartRecommend == 1\"\r\n @click=\"changeArticleStatus(article, 'isPartRecommend', 0)\">栏目推荐</el-tag>\r\n </div>\r\n </div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon>\r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\" v-if=\"article.releaseDate\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon>\r\n 新闻日期 : {{ article.releaseDate }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <!-- <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a> -->\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\"\r\n v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-dropdown>\r\n <el-button type=\"primary\" size=\"large\" text>\r\n 更多\r\n </el-button>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static' && article.url\">\r\n <a style=\"text-decoration: none;color: #606266;\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\"\r\n target=\"_blank\">\r\n 访问\r\n </a>\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useTop && article.isTop == 0\"\r\n @click=\"changeArticleStatus(article, 'isTop', 1)\">设为置顶</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useNew && article.isNew == 0\"\r\n @click=\"changeArticleStatus(article, 'isNew', 1)\">设为最新</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useHotRecommend && article.isHotRecommend == 0\"\r\n @click=\"changeArticleStatus(article, 'isHotRecommend', 1)\">设为热门推荐</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.usePartRecommend && article.isPartRecommend == 0\"\r\n @click=\"changeArticleStatus(article, 'isPartRecommend', 1)\">设为栏目推荐</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable, CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch, onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n//改变文章指定,最新,推荐状态\r\nconst changeArticleStatus = async (article: any, item: string, status: number) => {\r\n const text: Record<string, string[]> = {\r\n \"isTop\": ['取消置顶', '设为置顶'],\r\n \"isNew\": ['取消最新', '设为最新'],\r\n \"isHotRecommend\": ['取消热门推荐', '设为热门推荐'],\r\n \"isPartRecommend\": ['取消栏目推荐', '设为栏目推荐'],\r\n }\r\n\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"修改文章状态\",\r\n message: `是否${text[item][status]}?`,\r\n type: \"warning\"\r\n })\r\n if (!isConfirm) {\r\n return\r\n }\r\n try {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n await articleForm.editRecord(article.id)\r\n const isSuccess = await articleForm.simpleSubmit({\r\n id: article.id,\r\n [item]: status\r\n })\r\n\r\n if (isSuccess) {\r\n articlesDv.load();\r\n }\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n\r\n\r\n}\r\n\r\n// 初始化\r\nonMounted(() => {\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n \r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\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) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response: any = await CmsArticlesForm.publish(CmsSettings.publish.mode, article.cmsPartId, article.id);\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\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n","<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n \r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\n// props.partDataForm.submittedEvent.on(() => {\r\n// props.partDataForm.editRecord(props.part.id)\r\n// })\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n","<template>\r\n <div v-loading=\"loading\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" :height=\"partAdBannerHeight\"\r\n arrow=\"always\" ref=\"carouselRef\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"danger\" style=\"margin-left: 10px;\" :icon=\"Delete\" @click=\"deleteAdContentHandle(item.id)\">\r\n 删除当前素材\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" :style=\"{ height: partAdBannerHeight }\">\r\n <template #description>\r\n <el-text>暂无{{ title }}轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps, computed } from \"vue\";\r\nimport { DataViewRequest, DVQueryable, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, Plus, Delete } from \"@element-plus/icons-vue\"\r\n\r\nconst props = defineProps({ adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: \"\" }, viewWidth: { type: Number } })\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// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\nconst warpRef = ref<any | null>(null);\r\n// 计算广告的高度\r\nconst partAdBannerHeight = computed(() => {\r\n\r\n // 全局Banner尺寸信息\r\n const sizes = cmsSettings.part.bannerImageSize.split(\"*\") as Array<any>;\r\n\r\n // 宽高比\r\n let widthHeightRatio = 0;\r\n\r\n //设定的比例\r\n if (!!partAdBanner.value?.width && !!partAdBanner.value?.height) {\r\n widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;\r\n }\r\n else if (sizes.length && sizes[0] && sizes[1]) {\r\n widthHeightRatio = sizes[0] / sizes[1]\r\n }\r\n\r\n if (widthHeightRatio && props.viewWidth) { return (props.viewWidth / widthHeightRatio) + \"px\" }\r\n\r\n return \"240px\"\r\n\r\n})\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = props.adkey\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => loadPartAdDefineData())\r\n// 添加完成则刷新\r\nadDefineForm.submittedEvent.on(() => loadPartAdDefineData())\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", props.adkey);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data?.[0] ?? null;\r\n\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title: \"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\nconst deleteAdContentHandle = async (id: any) => {\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"确定删除?\", message: \"确定删除当前轮播吗?\", type: \"warning\" })\r\n if (!isConfirm) return;\r\n const result = await adContentRequest.delete(id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败!\" })\r\n return\r\n };\r\n loadPartAdDefineData()\r\n } catch (error) {\r\n Messager.error({ message: \"删除失败!\" })\r\n }\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n","<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-if=\"cmsSettings.part.openBanner\" ref=\"warpElRef\">\r\n <el-tabs v-model=\"activePartAdType\">\r\n <el-tab-pane label=\"PC端\" name=\"pc\" v-if=\"cmsSettings.devices.includes('pc')\">\r\n <PartBannerComponent :adkey=\"`part_${partId}`\" :title=\"`${title}PC端`\" :viewWidth=\"warpElRef?.offsetWidth\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"移动端\" name=\"mobile\" v-if=\"cmsSettings.devices.includes('mobile')\">\r\n <PartBannerComponent :adkey=\"`part_${partId}_mobile`\" :title=\"`${title}移动端`\" :viewWidth=\"750\"\r\n style=\"max-width: 750px;margin: auto;\" />\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { ref, defineProps } from \"vue\"\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport PartBannerComponent from \"./part-banner.vue\"\r\n\r\ndefineProps({ partId: { type: String }, title: { type: String } })\r\n\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconsole.log(cmsSettings.devices);\r\n// cms 配置\r\nconst warpElRef = ref<any>()\r\n// 栏目广告\r\nconst activePartAdType = ref(cmsSettings.devices[0])\r\n\r\n</script>\r\n","<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);\" m=\"l-[10px]\" flex=\"~ items-center\">\r\n <MKSvgIcon name=\"f7:doc-richtext\" m=\"r-[5px]\"/>\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\"\r\n @click=\"publishAllPartHandle\">\r\n <MKSvgIcon name=\"ep:promotion\" m=\"r-[10]x\"/>\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon name=\"ep:plus\" m=\"r-[10]x\"/>\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i+1}`\" :name=\"\">\r\n <el-button type=\"primary\" text @click=\"ext.save()\" v-if=\"activeTabName == `part-ext${i}` && ext.save\">\r\n <MKSvgIcon name=\"carbon:save\" m=\"r-[5px]\" />\r\n 保存{{ ext.title }}\r\n </el-button>\r\n </template>\r\n <template v-if=\"activeTabName == 'part' || (activeTabName == 'part-content' && !partContentExtension?.component)\">\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\">\r\n <MKSvgIcon name=\"carbon:save\" m=\"r-[5px]\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon name=\"ep:more-filled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"previewHandle()\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon name=\"ep:view\" m=\"l-[10px]\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(1)\"\r\n v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon name=\"ep:view\" m=\"l-[10px]\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon name=\"ep:promotion\" m=\"l-[10px]\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" style=\"height: 99%;\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\r\n <!-- 存在内容扩展配置 -->\r\n <template v-if=\"partContentExtension && activeTabName == 'part-content'\">\r\n\r\n <!-- 都自定义扩展的话 -->\r\n <template v-if=\"partContentExtension.component && partContentExtension.adComponent\">\r\n <div style=\"background: #fff;margin-top: -10px;padding: 10px;box-sizing: border-box;\">\r\n <component :is=\"partContentExtension.adComponent\" />\r\n </div>\r\n <div style=\"background: #fff;\">\r\n <component :is=\"partContentExtension.component\" />\r\n </div>\r\n </template>\r\n <!-- 只扩展内容 -->\r\n <template v-if=\"partContentExtension.component && !partContentExtension.adComponent\">\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n <div style=\"background: #fff;margin-top: -10px;padding: 10px;box-sizing: border-box;\" v-if=\"partContentExtension.component\">\r\n <component :is=\"partContentExtension.component\" />\r\n </div>\r\n </template>\r\n <!-- 只扩展栏目广告栏 -->\r\n <template v-if=\"!partContentExtension.component && partContentExtension.adComponent\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" namespace=\"cms-part\"\r\n :modelValue=\"partDataForm.data?.content\" placeholder=\"从这里开始写正文...\" @update:modelValue=\"docEditorChangeHandle\">\r\n <template #before-extentions>\r\n <div style=\"background: #fff;margin-bottom: 10px;\">\r\n <component :is=\"partContentExtension.adComponent\" />\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n \r\n </template>\r\n\r\n <template v-else-if=\"activeTabName == 'part-content'\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" namespace=\"cms-part\"\r\n :modelValue=\"partDataForm.data?.content\" @update:modelValue=\"docEditorChangeHandle\" placeholder=\"从这里开始写正文...\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\"\r\n :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n\r\n </el-tab-pane>\r\n <el-tab-pane v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i == 0 ? '' : i}`\" :name=\"`part-ext${i}`\">\r\n <component :is=\"ext.component\" />\r\n </el-tab-pane>\r\n\r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref,shallowRef, watch, watchEffect } from \"vue\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm, CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtensionList, usePartContentComponent, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(() => route.query.pid, (v: any) => {\r\n curSelectPartId.value = v\r\n}, { immediate: true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExList = shallowRef<Array<PartExtension>>([]);\r\nconst partContentExtension = shallowRef<any>(null)\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart: any = null;\r\nwatchEffect(async () => {\r\n if ((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart && curSelectPartItem.value) {\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(132)\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else {\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));\r\n partContentExtension.value = usePartContentComponent(curSelectPartItem.value.id) || usePartContentComponent(curSelectPartItem.value.name)\r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if (v) {\r\n console.log(2)\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n\r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }: any) => {\r\n if (response.data.data) {\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n\r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n await CmsPartForm.publishAll()\r\n }\r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n\r\n try {\r\n //表单未保存,默认保存\r\n try{\r\n if(partDataForm.isChanged){\r\n await savePartHandle()\r\n }\r\n }catch{\r\n Messager.error({\r\n message:\"保存失败\"\r\n })\r\n return \r\n }\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id, optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 预览\r\n */\r\nconst previewHandle =async (num?:string|number)=>{\r\n if(partDataForm.isChanged){\r\n await savePartHandle()\r\n }\r\n if(num){\r\n CmsPartForm.openPreview(curSelectPartItem.value.id, '1')\r\n }else{\r\n CmsPartForm.openPreview(curSelectPartItem.value.id)\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst docEditorChangeHandle = (v: any) => {\r\n if(partDataForm.data){\r\n partDataForm.data.content = v\r\n }\r\n}\r\n</script>\r\n"],"names":["ref","useI18n","reactive","CmsPartTree","watch","ElMessageBox","withInstall","PartTree","useCmsSettings","CmsArticlesTable","CmsArticlesForm","useRouter","Dialoger","onMounted","isWhereFilter","Messager","CmsPartForm","DataViewRequest","cmsSettings","CmsAdContentsForm","CmsAdDefinesForm","computed","Where","useRoute","CmsPartMiniForm","shallowRef","CmsContentManPartForm","watchEffect","usePartExtensionList","usePartContentComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDM,UAAA,UAAUA,QAAI,IAAI;AAExB,UAAM,iBAAiB;AAKvB,UAAM,OAAO;AAEb,UAAM,OAAOC,MAAAA;AACb,UAAM,WAAWC,IAAAA,SAAS,IAAIC,MAAAA,YAAa,CAAA;AAErC,UAAA,SAASH,QAAI,KAAK;AAElB,UAAA,eAAeA,IAAAA,IAAI,eAAe,WAAW;AAE7CI,cAAA,MAAI,eAAe,aAAY,MAAI;AACvC,mBAAa,QAAQ,eAAe;AAAA,IAAA,CACrC;AAGQ,aAAA,gBAAgB,GAAG,MAAM;;AAE1B,YAAA,OAAO,SAAS;AAElB,UAAA,KAAK,SAAS,GAAG;AAEhB,YAAA,CAAC,aAAa,OAAM;AAAe,uBAAA,QAAQ,KAAK,CAAC,EAAE;AAAA,QAAI;AAE1D,iBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAExB,cAAA,OAAO,KAAK,CAAC;AAEd,cAAA,KAAK,MAAM,aAAa,OAAM;AAC/B,iBAAK,UAAU,IAAI;AACnB;AAAA,UACF;AACA,qBAAK,aAAL,mBAAe,QAAQ,CAAC,UAAY,KAAK,KAAK,KAAK;AAAA,QAErD;AAAA,MACF;AAAA,IAAA,CACD;AAMK,UAAA,iBAAiB,CAAC,SAAc;AACpC,WAAK,OAAO,IAAI;AAAA,IAAA;AAOZ,UAAA,kBAAkB,CAAC,SAAc;AACrC,WAAK,QAAQ,IAAI;AAAA,IAAA;AAMb,UAAA,oBAAoB,OAAO,SAAc;AAEvC,YAAA,YAAY,MAAMC,YAAAA,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA;AAGpB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACA,YAAM,SAAS,MAAM,SAAS,mBAAmB,KAAK,EAAE;AACpD,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,aAAK,sBAAsB,IAAI;AAAA,MACjC;AAAA,IAAA;AAOI,UAAA,aAAa,CAAC,SAAuB;AACpC,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA;AAGb,aAAA,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrIZ,MAAA,aAAaC,kBAAYC,WAAQ;;;;;;;;;;;;;;;;;;;;;;;;;ACoG9C,UAAM,cAAcC,YAAAA;AAGpB,UAAM,aAAaN,IAAAA,SAAS,IAAIO,MAAAA,iBAAkB,CAAA;AAElD,UAAM,cAAcP,IAAAA,SAAS,IAAIQ,MAAAA,gBAAiB,CAAA;AAElD,UAAM,mBAAmBR,IAAAA,SAAS,IAAIQ,MAAAA,gBAAiB,CAAA;AAGvD,UAAM,QAAQ;AAId,UAAM,SAASC,UAAAA;AAGf,UAAM,sBAAsB,OAAO,SAAc,MAAc,WAAmB;AAChF,YAAM,OAAiC;AAAA,QACrC,SAAS,CAAC,QAAQ,MAAM;AAAA,QACxB,SAAS,CAAC,QAAQ,MAAM;AAAA,QACxB,kBAAkB,CAAC,UAAU,QAAQ;AAAA,QACrC,mBAAmB,CAAC,UAAU,QAAQ;AAAA,MAAA;AAGlC,YAAA,YAAY,MAAMC,GAAA,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS,KAAK,KAAK,IAAI,EAAE,MAAM,CAAC;AAAA,QAChC,MAAM;AAAA,MAAA,CACP;AACD,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACI,UAAA;AAES,mBAAA,oBAAoB;AACzB,cAAA,YAAY,WAAW,QAAQ,EAAE;AACjC,cAAA,YAAY,MAAM,YAAY,aAAa;AAAA,UAC/C,IAAI,QAAQ;AAAA,UACZ,CAAC,IAAI,GAAG;AAAA,QAAA,CACT;AAED,YAAI,WAAW;AACb,qBAAW,KAAK;AAAA,QAClB;AAAA,MAAA,UACA;AACW,mBAAA,oBAAoB;MACjC;AAAA,IAAA;AAMFC,QAAAA,UAAU,MAAM;AACd,kBAAY,KAAK;AACjB,uBAAiB,KAAK;AAGtBT,UAAAA,MAAM,MAAM,MAAM,MAAM,CAAC,SAAc;AACjC,YAAA,KAAK,iBAAiB,GAAG;AAE3B,gBAAM,aAAa,WAAW;AAE1B,cAAAU,GAAAA,cAAc,UAAU,GAAG;AAEvB,kBAAA,eAAe,WAAW;AAEhC,yBAAa,MAAM;AACnB,yBAAa,aAAa,aAAa,KAAK,KAAK,EAAE;AAEtC,yBAAA,aAAa,WAAW,KAAK,CAAC;AAAA,UAC7C;AAEA,qBAAW,KAAK;AAAA,QAClB;AAAA,MAAA,GACC,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;AAKK,UAAA,sBAAsB,OAAO,SAAc;AACzC,YAAA,YAAY,MAAMF,GAAA,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AAED,UAAI,CAAC,WAAW;AAAE;AAAA,MAAQ;AACpB,YAAA,WAAW,mBAAmB,KAAK,EAAE;AAAA,IAAA;AAM7C,UAAM,oBAAoB,CAAC,MAAW,SAAS,UAAU;AACvD,aAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,IAAI,SAAS,SAAY,KAAK,IAAI,QAAQ,SAAS,KAAK,KAAK,UAAa;AAAA,IAAA;AAIzH,eAAW,eAAe,GAAG,MAAM,kBAAkB,MAAM,MAAM,IAAI,CAAC;AAMhE,UAAA,uBAAuB,OAAO,YAAiB;AAE/C,UAAA;AAEE,YAAA,MAAMA,GAAS,SAAA,QAAQ,EAAE,OAAO,QAAQ,SAAS,WAAW,MAAM,UAAU,CAAC,GAAG;AAEvE,qBAAA,oBAAoB;AAGzB,gBAAA,WAAgB,MAAMF,sBAAgB,QAAQ,YAAY,QAAQ,MAAM,QAAQ,WAAW,QAAQ,EAAE;AAEvG,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9BK,eAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,UACF;AAEAA,aAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,QACtC;AAAA,MAAA,UAEA;AACW,mBAAA,oBAAoB;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnLF,UAAM,cAAcP,YAAAA;AACpB,UAAM,QAAQ;AAuBR,UAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,MAAM,aAAa,KAAK,iBAAiB,KAAKQ,MAAAA,YAAY,qBAAqB,SAAS,IAAI,GAAG;AACxF,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAKA,MAAAA,YAAY,kBAAkB,SAAS,IAAI,GAAG;AAC1F,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAKA,MAAAA,YAAY,eAAe,SAAS,IAAI,GAAG;AACxF,cAAA,aAAa,KAAK,aAAa;AAC9B,eAAA;AAAA,MAAA,OAEN;AACM,eAAA;AAAA,MACX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BJ,UAAM,QAAQ;AAGR,UAAA,YAAY,IAAIC,QAAAA,gBAAgB,EAAE,MAAM,aAAa,YAAY,OAAO;AACxE,UAAA,mBAAmB,IAAIA,QAAAA,gBAAgB,EAAE,MAAM,cAAc,YAAY,OAAO;AAEtF,UAAMC,gBAAcV,YAAAA;AAEd,UAAA,eAAeR,QAAgB,IAAI;AACnC,UAAA,UAAUA,QAAI,IAAI;AAClB,UAAA,gBAAgBE,aAA4B,IAAIiB,wBAAkB,EAAE,SAASD,cAAY,KAAK,gBAAiB,CAAA,CAAC;AACtH,UAAM,eAAehB,IAAAA,SAA2B,IAAIkB,MAAAA,iBAAkB,CAAA;AACtDpB,QAAAA,IAAgB,IAAI;AAE9B,UAAA,qBAAqBqB,IAAAA,SAAS,MAAM;;AAGxC,YAAM,QAAQH,cAAY,KAAK,gBAAgB,MAAM,GAAG;AAGxD,UAAI,mBAAmB;AAGnB,UAAA,CAAC,GAAC,kBAAa,UAAb,mBAAoB,UAAS,CAAC,GAAC,kBAAa,UAAb,mBAAoB,SAAQ;AAC/D,2BAAmB,aAAa,MAAM,QAAQ,aAAa,MAAM;AAAA,MAAA,WAE1D,MAAM,UAAU,MAAM,CAAC,KAAK,MAAM,CAAC,GAAG;AAC7C,2BAAmB,MAAM,CAAC,IAAI,MAAM,CAAC;AAAA,MACvC;AAEI,UAAA,oBAAoB,MAAM,WAAW;AAAU,eAAA,MAAM,YAAY,mBAAoB;AAAA,MAAK;AAEvF,aAAA;AAAA,IAAA,CAER;AAGD,kBAAc,kBAAkB,GAAG,OAAO,EAAE,WAAW;AAErD,UAAI,aAAa,OAAO;AACjB,aAAA,aAAa,aAAa,MAAM;AAAA,MAAA,OAElC;AACC,YAAA;AAEF,gBAAM,iBAAiBA,cAAY,KAAK,gBAAgB,MAAM,GAAG;AAE3D,gBAAA,SAAS,MAAM,UAAU,IAAI,EAAE,KAAK,MAAM,OAAO,MAAM,GAAG,MAAM,KAAK,WAAW,OAAO,eAAe,CAAC,GAAG,QAAQ,eAAe,CAAC,EAAA,CAAG;AAEvI,cAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,yBAAa,QAAQ,EAAE,IAAI,OAAO,KAAK;AAClC,iBAAA,aAAa,OAAO,KAAK;AAAA,UAChC;AAAA,iBAEO,OAAO;AACdH,aAAAA,SAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,QACrC;AAAA,MACF;AAAA,IAAA,CAED;AAGY,iBAAA,mBAAoB,CAAC,SAAS;AACzC,UAAI,aAAa,OAAO;AACjB,aAAA,KAAK,aAAa,MAAM;AAAA,MAAA,OACxB;AACL,aAAK,MAAM,MAAM;AACZ,aAAA,OAAO,GAAG,MAAM,KAAK;AAAA,MAC5B;AACO,aAAA;AAAA,IAAA;AAIT,kBAAc,eAAe,GAAG,MAAM,qBAAsB,CAAA;AAE5D,iBAAa,eAAe,GAAG,MAAM,qBAAsB,CAAA;AAG3D,UAAM,uBAAuB,YAAY;;AAEnC,UAAA;AAEF,gBAAQ,QAAQ;AACV,cAAA,QAAQ,IAAIO,QAAAA;AAClB,cAAM,aAAa,OAAO,KAAK,MAAM,KAAK;AAE7B,qBAAA,UAAS,YAAM,UAAU,MAAM;AAAA,UAC1C,MAAM;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,QACD,CAAA,GAAG,KAAK,SANa,mBAMN,OAAM;AAEtB,cAAI,kBAAa,UAAb,mBAAoB,YAAS,kBAAa,UAAb,mBAAoB,QAAO;AAC5C,wBAAA,cAAc,GAAG,aAAa,MAAM,KAAK,IAAI,aAAa,MAAM,MAAM,EAAE;AAAA,QACxF;AAAA,eAEO,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAII,UAAA,sBAAsB,OAAO,OAAY;AAC7C,YAAMV,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAIH,UAAM,qBAAqB,YAAY;;AACrC,YAAMA,GAAAA,SAAS,eAAe;AAAA,QAC5B,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAO,kBAAa,UAAb,mBAAoB;AAAA,MAAA,CAC5B;AACY,mBAAA,UAAU,UAAU,EAAG,UAAU;AACjC,mBAAA,UAAU,KAAK,EAAG,UAAU;AAC5B,mBAAA,UAAU,MAAM,EAAG,UAAU;AAAA,IAAA;AAGtC,UAAA,wBAAwB,OAAO,OAAY;AAC3C,UAAA;AACI,cAAA,YAAY,MAAMA,YAAS,QAAQ,EAAE,OAAO,SAAS,SAAS,cAAc,MAAM,UAAW,CAAA;AACnG,YAAI,CAAC,UAAW;AAChB,cAAM,SAAS,MAAM,iBAAiB,OAAO,EAAE;AAC3C,YAAA,OAAO,KAAK,QAAQ,KAAK;AAC3BG,sBAAS,MAAM,EAAE,SAAS,OAAO,KAAK,OAAO,SAAS;AACtD;AAAA,QACF;AAAC;AACoB;eACd,OAAO;AACdA,WAAAA,SAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,MACrC;AAAA,IAAA;AAIFF,QAAAA,UAAU,MAAM;AACRT,gBAAA,MAAM,MAAM,OAAO,MAAM,wBAAwB,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CAC3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpLD,UAAMc,gBAAcV,YAAAA;AACZ,YAAA,IAAIU,cAAY,OAAO;AAE/B,UAAM,YAAYlB,IAAAA;AAElB,UAAM,mBAAmBA,IAAAA,IAAIkB,cAAY,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0InD,UAAM,QAAQK,UAAAA;AACd,UAAM,SAASZ,UAAAA;AAGf,UAAM,kBAAkBX,IAAA,IAAY,MAAM,MAAM,GAAa;AAC7DI,QAAAA,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,MAAW;AACvC,sBAAgB,QAAQ;AAAA,IAAA,GACvB,EAAE,WAAW,KAAA,CAAM;AAGtB,UAAM,eAAeF,IAAAA,SAA0B,IAAIsB,MAAAA,gBAAiB,CAAA;AAG9D,UAAA,cAAchB,2BAAe,IAAI;AAGjC,UAAA,cAAcR,QAAI,KAAK;AAG7B,UAAM,aAAaA,IAAAA,IAAI;AAAA,MACrB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAAA,CACf;AAGK,UAAA,iBAAiBA,QAAI,KAAK;AAG1B,UAAA,UAAUA,QAAI,KAAK;AAGnB,UAAA,gBAAgBA,QAAI,cAAc;AAGlC,UAAA,oBAAoBA,QAAI,IAAW;AAGnC,UAAA,cAAcA,QAAI,IAAI;AAGtB,UAAA,aAAayB,eAAiC,CAAA,CAAE;AAChD,UAAA,uBAAuBA,eAAgB,IAAI;AAGjD,UAAM,eAAevB,IAAAA,SAAS,IAAIwB,MAAAA,sBAAuB,CAAA;AAGzD,iBAAa,KAAK;AAGlB,QAAI,qBAA0B;AAC9BC,QAAAA,YAAY,YAAY;AACjB,WAAA,cAAc,SAAS,UAAU,cAAc,SAAS,mBAAmB,kBAAkB,SAAS,sBAAsB,kBAAkB,OAAO;AACpJ,YAAA;AACF,+BAAqB,kBAAkB;AACvC,gBAAM,aAAa,WAAW,kBAAkB,MAAM,EAAE;AAAA,iBACjD,OAAO;AACd,kBAAQ,IAAI,GAAG;AACf,kBAAQ,IAAI,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IAAA,CACD;AAGK,UAAA,mBAAmB,OAAO,SAAc;AAExC,UAAA,kBAAkB,SAAS,MAAM;AAEnC,0BAAkB,QAAQ;AAEtB,YAAA,CAAC,kBAAkB,MAAM,iBAAiB;AAC5C,wBAAc,QAAQ;AAAA,QAAA,OAEnB;AACH,wBAAc,QAAQ;AAAA,QACxB;AACO,eAAA,QAAQ,EAAE,MAAM,gBAAgB,OAAO,EAAE,KAAK,kBAAkB,MAAM,GAAG,EAAU,CAAA;AAC/E,mBAAA,QAAQC,MAAAA,qBAAqB,kBAAkB,MAAM,EAAE,EAAE,OAAOA,MAAqB,qBAAA,kBAAkB,MAAM,IAAI,CAAC;AACxG,6BAAA,QAAQC,8BAAwB,kBAAkB,MAAM,EAAE,KAAKA,8BAAwB,kBAAkB,MAAM,IAAI;AAAA,MAC1I;AAAA,IAAA;AAII,UAAA,mBAAmB,CAAC,SAAc;AACtC,UAAI,KAAK,MAAM,kBAAkB,MAAM,IAAI;AACzC,0BAAkB,QAAQ;AAAA,MAC5B;AAAA,IAAA;AAII,UAAA,iBAAiB,CAAC,SAAc;AACpC,wBAAkB,QAAQ;AAC1B,oBAAc,QAAQ;AAAA,IAAA;AAMlB,UAAA,qBAAqB,OAAO,SAAe;AAC/C,YAAMjB,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,MAAA,CACX;AAED,UAAI,KAAK,IAAI;AACX,qBAAa,UAAU,EAAE,UAAU,KAAK,GAAI,CAAA;AAAA,MAC9C;AAAA,IAAA;AAIIR,cAAA,aAAa,OAAO,MAAM;AAC9B,UAAI,GAAG;AACL,gBAAQ,IAAI,CAAC;AACb,mBAAW,MAAM,gBAAgB,CAAC,CAAC,kBAAkB,MAAM;AAC3D,mBAAW,MAAM,iBAAiB,CAAC,CAAC,kBAAkB,MAAM;AAC5D,mBAAW,MAAM,mBAAmB,CAAC,CAAC,kBAAkB,MAAM;AAAA,MAChE;AAAA,IAAA,CACD;AAGD,iBAAa,eAAe,GAAG,CAAC,EAAE,eAAoB;;AAChD,UAAA,SAAS,KAAK,MAAM;AAEN,wBAAA,QAAQ,SAAS,KAAK;AAErC,0BAAY,MAAe,aAA3B,mBAAqC;AAAA,MACxC;AAAA,IAAA,CAED;AAGD,UAAM,uBAAuB,YAAY;AAEnC,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,cAAMY,MAAAA,YAAY;MAAW,UAE/B;AACE,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,oBAAoB,YAAY;AAEhC,UAAA;AAEC,YAAA;AACD,cAAG,aAAa,WAAU;AACxB,kBAAM,eAAe;AAAA,UACvB;AAAA,QAAA,QACI;AACJD,aAAAA,SAAS,MAAM;AAAA,YACb,SAAQ;AAAA,UAAA,CACT;AACD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEvB,cAAMC,MAAAA,YAAY,QAAQ,kBAAkB,MAAM,IAAI,WAAW,KAAK;AAEtE,oBAAY,QAAQ;AAAA,MAAA,UAEpB;AACA,uBAAe,QAAQ;AAAA,MACzB;AAAA,IAAA;AAMI,UAAA,gBAAe,OAAO,QAAqB;AAC/C,UAAG,aAAa,WAAU;AACxB,cAAM,eAAe;AAAA,MACvB;AACA,UAAG,KAAI;AACLA,cAAA,YAAY,YAAY,kBAAkB,MAAM,IAAI,GAAG;AAAA,MAAA,OACpD;AACSA,cAAAA,YAAA,YAAY,kBAAkB,MAAM,EAAE;AAAA,MACpD;AAAA,IAAA;AAMF,UAAM,iBAAiB,YAAY;AACjC,wBAAkB,QAAQ,aAAa;AACvC,YAAM,aAAa;IAAO;AAOtB,UAAA,wBAAwB,CAAC,MAAW;AACxC,UAAG,aAAa,MAAK;AACnB,qBAAa,KAAK,UAAU;AAAA,MAC9B;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
4
  const elementPlus = require("element-plus");
5
- const index = require("./index-C1XNlE_P.cjs");
5
+ const index = require("./index-BFJJfJKx.cjs");
6
6
  const utils = require("@maketribe/utils");
7
7
  require("vue-router");
8
8
  require("@maketribe/dm");
@@ -93,4 +93,4 @@ const MKColumnTag = ColumnTag;
93
93
  exports.MKColumnTag = MKColumnTag;
94
94
  exports.columnTagProps = columnTagProps;
95
95
  exports.default = MKColumnTag;
96
- //# sourceMappingURL=index-CzwK5miY.cjs.map
96
+ //# sourceMappingURL=index-C9HaEU_j.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CzwK5miY.cjs","sources":["../../src/components/data-model/data-table/components/column-tag/column-tag-options.ts","../../src/components/data-model/data-table/components/column-tag/column-tag.tsx","../../src/components/data-model/data-table/components/column-tag/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { columnProps } from \"../../composables\";\r\n\r\nexport const columnTagProps = buildProps({\r\n ...columnProps,\r\n type: {\r\n values: [\"success\", \"warning\", \"info\", \"danger\", \"primary\"],\r\n },\r\n effect: {\r\n default: \"light\",\r\n values: [\"light\", \"dark\"],\r\n },\r\n color: {\r\n type: String,\r\n default: \"\",\r\n },\r\n hit: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n round: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n width: {\r\n type: String,\r\n default: \"\",\r\n },\r\n options: {\r\n type: Array<{\r\n label: string;\r\n value: any;\r\n color: string;\r\n type: \"success\" | \"warning\" | \"info\" | \"danger\";\r\n }>,\r\n default: () => [],\r\n },\r\n} as const);\r\n\r\nexport type ColumnTagProps = ExtractPropTypes<typeof columnTagProps>;\r\n","import { computed, defineComponent, unref } from \"vue\";\r\nimport { ElTag } from \"element-plus\";\r\n\r\nimport { useColumn } from \"../../composables\";\r\nimport { columnTagProps } from \"./column-tag-options\";\r\n\r\nexport default defineComponent({\r\n name: \"MKColumnTag\",\r\n props: columnTagProps,\r\n setup(props) {\r\n const { value } = useColumn(props);\r\n\r\n const options = computed(() => props.options);\r\n\r\n const tagStyle = computed(() => ({ width: props.width }));\r\n\r\n const currentOption = computed(() =>\r\n unref(options).find((option) => option.value === unref(value))\r\n );\r\n\r\n return () => {\r\n const _currentOption = unref(currentOption);\r\n\r\n let content;\r\n\r\n if (!_currentOption) {\r\n content = (\r\n <ElTag\r\n style={unref(tagStyle)}\r\n disableTransitions\r\n type={props.type}\r\n effect={props.effect}\r\n hit={props.hit}\r\n color={props.color}\r\n round={props.round}\r\n >\r\n {unref(value)}\r\n </ElTag>\r\n );\r\n } else {\r\n content = (\r\n <ElTag\r\n style={unref(tagStyle)}\r\n disableTransitions\r\n type={_currentOption.type}\r\n effect={props.effect}\r\n hit={props.hit}\r\n color={_currentOption.color}\r\n round={props.round}\r\n >\r\n {_currentOption.label || _currentOption.value}\r\n </ElTag>\r\n );\r\n }\r\n\r\n return <div class=\"mk-column-tag\">{content}</div>;\r\n };\r\n },\r\n});\r\n","import ColumnTag from \"./column-tag\";\r\n\r\nexport const MKColumnTag = ColumnTag;\r\nexport default MKColumnTag;\r\n\r\nexport * from \"./column-tag-options\";\r\n"],"names":["buildProps","columnProps","_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","columnTagProps","setup","value","useColumn","options","computed","tagStyle","width","currentOption","unref","find","option","_currentOption","content","_slot","_createVNode","ElTag","type","effect","hit","color","round","default","label"],"mappings":";;;;;;;;;;;AAIO,MAAM,iBAAiBA,MAAAA,WAAW;AAAA,EACvC,GAAGC,MAAA;AAAA,EACH,MAAM;AAAA,IACJ,QAAQ,CAAC,WAAW,WAAW,QAAQ,UAAU,SAAS;AAAA,EAC5D;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,CAAC,SAAS,MAAM;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IAMN,SAAS,MAAM,CAAC;AAAA,EAClB;AACF,CAAU;AClC4C,SAAAC,QAAAC,GAAA;AAAA,SAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAAK,qBAAAA,CAAAA,IAAA,QAAAL,CAAA;AAAA;AAEtD,MAAeM,gDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,UAAM;AAAA,MAAEG;AAAAA,IAAM,IAAIC,MAAAA,UAAUJ,KAAK;AAEjC,UAAMK,UAAUC,IAAQ,SAAC,MAAMN,MAAMK,OAAO;AAE5C,UAAME,WAAWD,IAAAA,SAAS,OAAO;AAAA,MAAEE,OAAOR,MAAMQ;AAAAA,IAAO,EAAC;AAExD,UAAMC,gBAAgBH,IAAQ,SAAC,MAC7BI,IAAK,MAACL,OAAO,EAAEM,KAAMC,YAAWA,OAAOT,UAAUO,IAAK,MAACP,KAAK,CAAC,CAC/D;AAEA,WAAO,MAAM;AACX,YAAMU,iBAAiBH,UAAMD,aAAa;AAE1C,UAAIK;AAEJ,UAAI,CAACD,gBAAgB;AAAA,YAAAE;AACnBD,kBAAOE,IAAA,YAAAC,mBAAA;AAAA,UAAA,SAEIP,IAAK,MAACH,QAAQ;AAAA,UAAC,sBAAA;AAAA,UAAA,QAEhBP,MAAMkB;AAAAA,UAAI,UACRlB,MAAMmB;AAAAA,UAAM,OACfnB,MAAMoB;AAAAA,UAAG,SACPpB,MAAMqB;AAAAA,UAAK,SACXrB,MAAMsB;AAAAA,WAAK/B,QAAAwB,QAEjBL,IAAAA,MAAMP,KAAK,CAAC,IAAAY,QAAA;AAAA,UAAAQ,SAAAA,MAAA,CAAAR,KAAA;AAAA,SAEhB;AAAA,MACH,OAAO;AACLD,kBAAOE,IAAA,YAAAC,mBAAA;AAAA,UAAA,SAEIP,IAAK,MAACH,QAAQ;AAAA,UAAC,sBAAA;AAAA,UAAA,QAEhBM,eAAeK;AAAAA,UAAI,UACjBlB,MAAMmB;AAAAA,UAAM,OACfnB,MAAMoB;AAAAA,UAAG,SACPP,eAAeQ;AAAAA,UAAK,SACpBrB,MAAMsB;AAAAA,QAAK,GAAA;AAAA,UAAAC,SAAAA,MAEjBV,CAAAA,eAAeW,SAASX,eAAeV,KAAK;AAAA,SAEhD;AAAA,MACH;AAEA,aAAAa,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAmCF,OAAO,CAAA;AAAA;EAE9C;AACF,CAAC;ACxDM,MAAM,cAAc;;;;"}
1
+ {"version":3,"file":"index-C9HaEU_j.cjs","sources":["../../src/components/data-model/data-table/components/column-tag/column-tag-options.ts","../../src/components/data-model/data-table/components/column-tag/column-tag.tsx","../../src/components/data-model/data-table/components/column-tag/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { columnProps } from \"../../composables\";\r\n\r\nexport const columnTagProps = buildProps({\r\n ...columnProps,\r\n type: {\r\n values: [\"success\", \"warning\", \"info\", \"danger\", \"primary\"],\r\n },\r\n effect: {\r\n default: \"light\",\r\n values: [\"light\", \"dark\"],\r\n },\r\n color: {\r\n type: String,\r\n default: \"\",\r\n },\r\n hit: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n round: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n width: {\r\n type: String,\r\n default: \"\",\r\n },\r\n options: {\r\n type: Array<{\r\n label: string;\r\n value: any;\r\n color: string;\r\n type: \"success\" | \"warning\" | \"info\" | \"danger\";\r\n }>,\r\n default: () => [],\r\n },\r\n} as const);\r\n\r\nexport type ColumnTagProps = ExtractPropTypes<typeof columnTagProps>;\r\n","import { computed, defineComponent, unref } from \"vue\";\r\nimport { ElTag } from \"element-plus\";\r\n\r\nimport { useColumn } from \"../../composables\";\r\nimport { columnTagProps } from \"./column-tag-options\";\r\n\r\nexport default defineComponent({\r\n name: \"MKColumnTag\",\r\n props: columnTagProps,\r\n setup(props) {\r\n const { value } = useColumn(props);\r\n\r\n const options = computed(() => props.options);\r\n\r\n const tagStyle = computed(() => ({ width: props.width }));\r\n\r\n const currentOption = computed(() =>\r\n unref(options).find((option) => option.value === unref(value))\r\n );\r\n\r\n return () => {\r\n const _currentOption = unref(currentOption);\r\n\r\n let content;\r\n\r\n if (!_currentOption) {\r\n content = (\r\n <ElTag\r\n style={unref(tagStyle)}\r\n disableTransitions\r\n type={props.type}\r\n effect={props.effect}\r\n hit={props.hit}\r\n color={props.color}\r\n round={props.round}\r\n >\r\n {unref(value)}\r\n </ElTag>\r\n );\r\n } else {\r\n content = (\r\n <ElTag\r\n style={unref(tagStyle)}\r\n disableTransitions\r\n type={_currentOption.type}\r\n effect={props.effect}\r\n hit={props.hit}\r\n color={_currentOption.color}\r\n round={props.round}\r\n >\r\n {_currentOption.label || _currentOption.value}\r\n </ElTag>\r\n );\r\n }\r\n\r\n return <div class=\"mk-column-tag\">{content}</div>;\r\n };\r\n },\r\n});\r\n","import ColumnTag from \"./column-tag\";\r\n\r\nexport const MKColumnTag = ColumnTag;\r\nexport default MKColumnTag;\r\n\r\nexport * from \"./column-tag-options\";\r\n"],"names":["buildProps","columnProps","_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","columnTagProps","setup","value","useColumn","options","computed","tagStyle","width","currentOption","unref","find","option","_currentOption","content","_slot","_createVNode","ElTag","type","effect","hit","color","round","default","label"],"mappings":";;;;;;;;;;;AAIO,MAAM,iBAAiBA,MAAAA,WAAW;AAAA,EACvC,GAAGC,MAAA;AAAA,EACH,MAAM;AAAA,IACJ,QAAQ,CAAC,WAAW,WAAW,QAAQ,UAAU,SAAS;AAAA,EAC5D;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,CAAC,SAAS,MAAM;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IAMN,SAAS,MAAM,CAAC;AAAA,EAClB;AACF,CAAU;AClC4C,SAAAC,QAAAC,GAAA;AAAA,SAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAAK,qBAAAA,CAAAA,IAAA,QAAAL,CAAA;AAAA;AAEtD,MAAeM,gDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,UAAM;AAAA,MAAEG;AAAAA,IAAM,IAAIC,MAAAA,UAAUJ,KAAK;AAEjC,UAAMK,UAAUC,IAAQ,SAAC,MAAMN,MAAMK,OAAO;AAE5C,UAAME,WAAWD,IAAAA,SAAS,OAAO;AAAA,MAAEE,OAAOR,MAAMQ;AAAAA,IAAO,EAAC;AAExD,UAAMC,gBAAgBH,IAAQ,SAAC,MAC7BI,IAAK,MAACL,OAAO,EAAEM,KAAMC,YAAWA,OAAOT,UAAUO,IAAK,MAACP,KAAK,CAAC,CAC/D;AAEA,WAAO,MAAM;AACX,YAAMU,iBAAiBH,UAAMD,aAAa;AAE1C,UAAIK;AAEJ,UAAI,CAACD,gBAAgB;AAAA,YAAAE;AACnBD,kBAAOE,IAAA,YAAAC,mBAAA;AAAA,UAAA,SAEIP,IAAK,MAACH,QAAQ;AAAA,UAAC,sBAAA;AAAA,UAAA,QAEhBP,MAAMkB;AAAAA,UAAI,UACRlB,MAAMmB;AAAAA,UAAM,OACfnB,MAAMoB;AAAAA,UAAG,SACPpB,MAAMqB;AAAAA,UAAK,SACXrB,MAAMsB;AAAAA,WAAK/B,QAAAwB,QAEjBL,IAAAA,MAAMP,KAAK,CAAC,IAAAY,QAAA;AAAA,UAAAQ,SAAAA,MAAA,CAAAR,KAAA;AAAA,SAEhB;AAAA,MACH,OAAO;AACLD,kBAAOE,IAAA,YAAAC,mBAAA;AAAA,UAAA,SAEIP,IAAK,MAACH,QAAQ;AAAA,UAAC,sBAAA;AAAA,UAAA,QAEhBM,eAAeK;AAAAA,UAAI,UACjBlB,MAAMmB;AAAAA,UAAM,OACfnB,MAAMoB;AAAAA,UAAG,SACPP,eAAeQ;AAAAA,UAAK,SACpBrB,MAAMsB;AAAAA,QAAK,GAAA;AAAA,UAAAC,SAAAA,MAEjBV,CAAAA,eAAeW,SAASX,eAAeV,KAAK;AAAA,SAEhD;AAAA,MACH;AAEA,aAAAa,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAmCF,OAAO,CAAA;AAAA;EAE9C;AACF,CAAC;ACxDM,MAAM,cAAc;;;;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
4
  const elementPlus = require("element-plus");
5
- const index = require("./index-C1XNlE_P.cjs");
5
+ const index = require("./index-BFJJfJKx.cjs");
6
6
  require("@maketribe/request");
7
7
  require("@maketribe/utils");
8
8
  require("@lexical/overflow");
@@ -71,4 +71,4 @@ const BatchOpt = /* @__PURE__ */ vue.defineComponent({
71
71
  const MKBatchOpt = BatchOpt;
72
72
  exports.MKBatchOpt = MKBatchOpt;
73
73
  exports.default = MKBatchOpt;
74
- //# sourceMappingURL=index-ZGoUOa5V.cjs.map
74
+ //# sourceMappingURL=index-CGbQD3Pn.cjs.map