@maketribe/ms-app 3.2.9 → 3.2.11

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 (334) hide show
  1. package/dist/cjs/components/basic/image-cropper/image-cropper-api.js +3 -1
  2. package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  3. package/dist/cjs/components/basic/image-cropper/image-cropper-content-options.js +2 -0
  4. package/dist/cjs/components/basic/image-cropper/image-cropper-content-options.js.map +1 -1
  5. package/dist/cjs/components/basic/image-cropper/image-cropper-content.js +24 -23
  6. package/dist/cjs/components/basic/image-cropper/image-cropper-content.js.map +1 -1
  7. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +2 -0
  8. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  9. package/dist/cjs/components/business/resource-list/ResourceManager.js +36 -37
  10. package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
  11. package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js +10 -0
  12. package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
  13. package/dist/cjs/components/business/resource-list/resource-list.vue.js +43 -17
  14. package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
  15. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  16. package/dist/cjs/components/business/resource-select/resource-select-input.js +50 -0
  17. package/dist/cjs/components/business/resource-select/resource-select-input.js.map +1 -0
  18. package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer-options.js +20 -0
  19. package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -0
  20. package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer.js +68 -0
  21. package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -0
  22. package/dist/cjs/components/data-model/data-filter-drawer/index.js +11 -0
  23. package/dist/cjs/components/data-model/data-filter-drawer/index.js.map +1 -0
  24. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +8 -5
  25. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
  26. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date.js +9 -22
  27. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
  28. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/index.js +1 -0
  29. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/index.js.map +1 -1
  30. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input-options.js +4 -0
  31. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
  32. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input.js +7 -19
  33. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
  34. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/index.js +1 -0
  35. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/index.js.map +1 -1
  36. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number-options.js +7 -7
  37. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
  38. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number.js +13 -26
  39. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
  40. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/index.js +1 -0
  41. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/index.js.map +1 -1
  42. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select-options.js +2 -2
  43. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
  44. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select.js +7 -27
  45. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
  46. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/index.js +1 -1
  47. package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js +8 -38
  48. package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
  49. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js +31 -67
  50. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
  51. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js +9 -6
  52. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  53. package/dist/cjs/components/data-model/data-filter-form/index.js +1 -11
  54. package/dist/cjs/components/data-model/data-filter-form/index.js.map +1 -1
  55. package/dist/cjs/components/data-model/data-filter-form/operator-options.js +18 -28
  56. package/dist/cjs/components/data-model/data-filter-form/operator-options.js.map +1 -1
  57. package/dist/cjs/components/data-model/data-filter-form/token.js +0 -2
  58. package/dist/cjs/components/data-model/data-filter-form/token.js.map +1 -1
  59. package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js +44 -21
  60. package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
  61. package/dist/cjs/composables/use-column-component.js +3 -3
  62. package/dist/cjs/composables/use-column-component.js.map +1 -1
  63. package/dist/cjs/core/component/DataFilterComponents.js +4 -0
  64. package/dist/cjs/core/component/DataFilterComponents.js.map +1 -1
  65. package/dist/cjs/core/component/DataFormComponents.js +8 -0
  66. package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
  67. package/dist/cjs/index.js +2 -0
  68. package/dist/cjs/index.js.map +1 -1
  69. package/dist/cjs/modules/cms/cms-settings.js +43 -0
  70. package/dist/cjs/modules/cms/cms-settings.js.map +1 -0
  71. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -0
  72. package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
  73. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +3 -0
  74. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  75. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +33 -2
  76. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  77. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +5 -1
  78. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
  79. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -0
  80. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
  81. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js +4 -37
  82. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  83. package/dist/cjs/modules/cms/index.js +5 -0
  84. package/dist/cjs/modules/cms/index.js.map +1 -1
  85. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +3 -1
  86. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  87. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +143 -165
  88. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  89. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  90. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +37 -40
  91. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  92. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +63 -59
  93. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  94. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +13 -6
  95. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  96. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +2 -6
  97. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  98. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue.js +4 -0
  99. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue.js.map +1 -0
  100. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +338 -0
  101. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -0
  102. package/dist/cjs/modules/ms/components/image-select/image-select-api.js +76 -0
  103. package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -0
  104. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +111 -0
  105. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -0
  106. package/dist/cjs/modules/ms/components/image-select/index.js +7 -0
  107. package/dist/cjs/modules/ms/components/image-select/index.js.map +1 -0
  108. package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.js +2 -0
  109. package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.js.map +1 -1
  110. package/dist/cjs/modules/ms/components/material-list/material-group.js +2 -0
  111. package/dist/cjs/modules/ms/components/material-list/material-group.js.map +1 -1
  112. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -0
  113. package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
  114. package/dist/cjs/modules/ms/components/material-list/material-list.js +1 -0
  115. package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
  116. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -0
  117. package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
  118. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js +1 -0
  119. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
  120. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +34 -0
  121. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
  122. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js +12 -2
  123. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
  124. package/dist/cjs/modules/ms/image-upload-context/index.js +55 -0
  125. package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -0
  126. package/dist/cjs/modules/ms/index.js +2 -0
  127. package/dist/cjs/modules/ms/index.js.map +1 -1
  128. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +2 -0
  129. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  130. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -0
  131. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  132. package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
  133. package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
  134. package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
  135. package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
  136. package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +2 -0
  137. package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
  138. package/dist/esm/components/basic/image-cropper/image-cropper-api.js +3 -1
  139. package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  140. package/dist/esm/components/basic/image-cropper/image-cropper-content-options.js +2 -0
  141. package/dist/esm/components/basic/image-cropper/image-cropper-content-options.js.map +1 -1
  142. package/dist/esm/components/basic/image-cropper/image-cropper-content.js +25 -24
  143. package/dist/esm/components/basic/image-cropper/image-cropper-content.js.map +1 -1
  144. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +2 -0
  145. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  146. package/dist/esm/components/business/resource-list/ResourceManager.js +36 -37
  147. package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
  148. package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js +10 -0
  149. package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
  150. package/dist/esm/components/business/resource-list/resource-list.vue.js +44 -18
  151. package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
  152. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  153. package/dist/esm/components/business/resource-select/resource-select-input.js +51 -0
  154. package/dist/esm/components/business/resource-select/resource-select-input.js.map +1 -0
  155. package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer-options.js +20 -0
  156. package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -0
  157. package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer.js +69 -0
  158. package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -0
  159. package/dist/esm/components/data-model/data-filter-drawer/index.js +11 -0
  160. package/dist/esm/components/data-model/data-filter-drawer/index.js.map +1 -0
  161. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +8 -5
  162. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
  163. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date.js +10 -23
  164. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
  165. package/dist/esm/components/data-model/data-filter-form/components/condition-date/index.js +2 -1
  166. package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input-options.js +4 -0
  167. package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
  168. package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input.js +9 -21
  169. package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
  170. package/dist/esm/components/data-model/data-filter-form/components/condition-input/index.js +2 -1
  171. package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number-options.js +7 -7
  172. package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
  173. package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number.js +15 -28
  174. package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
  175. package/dist/esm/components/data-model/data-filter-form/components/condition-number/index.js +2 -1
  176. package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select-options.js +2 -2
  177. package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
  178. package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select.js +9 -29
  179. package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
  180. package/dist/esm/components/data-model/data-filter-form/components/condition-select/index.js +2 -2
  181. package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js +9 -39
  182. package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
  183. package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js +33 -69
  184. package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
  185. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js +9 -6
  186. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  187. package/dist/esm/components/data-model/data-filter-form/index.js +3 -13
  188. package/dist/esm/components/data-model/data-filter-form/operator-options.js +18 -29
  189. package/dist/esm/components/data-model/data-filter-form/operator-options.js.map +1 -1
  190. package/dist/esm/components/data-model/data-filter-form/token.js +1 -3
  191. package/dist/esm/components/data-model/data-filter-form/token.js.map +1 -1
  192. package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js +43 -20
  193. package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
  194. package/dist/esm/composables/use-column-component.js +3 -3
  195. package/dist/esm/composables/use-column-component.js.map +1 -1
  196. package/dist/esm/core/component/DataFilterComponents.js +5 -1
  197. package/dist/esm/core/component/DataFilterComponents.js.map +1 -1
  198. package/dist/esm/core/component/DataFormComponents.js +7 -0
  199. package/dist/esm/core/component/DataFormComponents.js.map +1 -1
  200. package/dist/esm/index.js +2 -0
  201. package/dist/esm/index.js.map +1 -1
  202. package/dist/esm/modules/cms/cms-settings.js +43 -0
  203. package/dist/esm/modules/cms/cms-settings.js.map +1 -0
  204. package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -0
  205. package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
  206. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +3 -0
  207. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  208. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +33 -2
  209. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  210. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +5 -1
  211. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
  212. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -0
  213. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
  214. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js +4 -37
  215. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  216. package/dist/esm/modules/cms/index.js +5 -0
  217. package/dist/esm/modules/cms/index.js.map +1 -1
  218. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +3 -1
  219. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  220. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +144 -166
  221. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  222. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  223. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +38 -41
  224. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  225. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +64 -60
  226. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  227. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +14 -7
  228. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  229. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +2 -6
  230. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  231. package/dist/esm/modules/cms/pages/cms-settigns/index.vue.js +5 -0
  232. package/dist/esm/modules/cms/pages/cms-settigns/index.vue.js.map +1 -0
  233. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +339 -0
  234. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -0
  235. package/dist/esm/modules/ms/components/image-select/image-select-api.js +77 -0
  236. package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -0
  237. package/dist/esm/modules/ms/components/image-select/image-select-panel.js +112 -0
  238. package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -0
  239. package/dist/esm/modules/ms/components/image-select/index.js +7 -0
  240. package/dist/esm/modules/ms/components/image-select/index.js.map +1 -0
  241. package/dist/esm/modules/ms/components/material-list/material-group-form-popover.js +2 -0
  242. package/dist/esm/modules/ms/components/material-list/material-group-form-popover.js.map +1 -1
  243. package/dist/esm/modules/ms/components/material-list/material-group.js +2 -0
  244. package/dist/esm/modules/ms/components/material-list/material-group.js.map +1 -1
  245. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -0
  246. package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
  247. package/dist/esm/modules/ms/components/material-list/material-list.js +1 -0
  248. package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
  249. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -0
  250. package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
  251. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js +1 -0
  252. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
  253. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +34 -0
  254. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
  255. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js +12 -2
  256. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
  257. package/dist/esm/modules/ms/image-upload-context/index.js +55 -0
  258. package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -0
  259. package/dist/esm/modules/ms/index.js +2 -0
  260. package/dist/esm/modules/ms/index.js.map +1 -1
  261. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +2 -0
  262. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  263. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -0
  264. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  265. package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
  266. package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
  267. package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
  268. package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
  269. package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +2 -0
  270. package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
  271. package/dist/style/components/data-filter-drawer.css +1 -0
  272. package/dist/style/components/index.css +1 -1
  273. package/dist/style/components/table/index.css +1 -1
  274. package/dist/style/components/table/table-filter.css +1 -1
  275. package/dist/style/index.css +1 -1
  276. package/dist/style/modules/cms/index.css +1 -1
  277. package/dist/style/modules/cms/resource-manager.css +1 -1
  278. package/dist/style/src/components/data-filter-drawer.scss +5 -0
  279. package/dist/style/src/components/index.scss +1 -0
  280. package/dist/style/src/components/table/table-filter.scss +4 -0
  281. package/dist/style/src/modules/cms/resource-manager.scss +37 -7
  282. package/dist/style/src/theme/theme.scss +26 -12
  283. package/dist/style/theme/theme.css +1 -1
  284. package/dist/types/components/basic/config-provider/config-provider-options.d.ts +5 -5
  285. package/dist/types/components/basic/config-provider/config-provider.d.ts +10 -10
  286. package/dist/types/components/basic/config-provider/index.d.ts +10 -10
  287. package/dist/types/components/basic/config-provider/use-global-config.d.ts +1 -1
  288. package/dist/types/components/basic/image-cropper/image-cropper-api.d.ts +2 -0
  289. package/dist/types/components/basic/image-cropper/image-cropper-content-options.d.ts +2 -0
  290. package/dist/types/components/basic/image-cropper/image-cropper-content.d.ts +6 -0
  291. package/dist/types/components/basic/image-cropper/index.d.ts +6 -0
  292. package/dist/types/components/business/resource-list/ResourceManager.d.ts +2 -0
  293. package/dist/types/components/business/resource-select/resource-select-input.d.ts +16 -0
  294. package/dist/types/components/data-model/data-filter-drawer/data-filter-drawer-options.d.ts +16 -0
  295. package/dist/types/components/data-model/data-filter-drawer/data-filter-drawer.d.ts +24 -0
  296. package/dist/types/components/data-model/data-filter-drawer/index.d.ts +25 -0
  297. package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date-options.d.ts +17 -1
  298. package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date.d.ts +33 -6
  299. package/dist/types/components/data-model/data-filter-form/components/condition-date/index.d.ts +33 -5
  300. package/dist/types/components/data-model/data-filter-form/components/condition-input/condition-input-options.d.ts +16 -0
  301. package/dist/types/components/data-model/data-filter-form/components/condition-input/condition-input.d.ts +30 -2
  302. package/dist/types/components/data-model/data-filter-form/components/condition-input/index.d.ts +30 -2
  303. package/dist/types/components/data-model/data-filter-form/components/condition-number/condition-number-options.d.ts +17 -1
  304. package/dist/types/components/data-model/data-filter-form/components/condition-number/condition-number.d.ts +33 -6
  305. package/dist/types/components/data-model/data-filter-form/components/condition-number/index.d.ts +33 -5
  306. package/dist/types/components/data-model/data-filter-form/components/condition-select/condition-select-options.d.ts +14 -2
  307. package/dist/types/components/data-model/data-filter-form/components/condition-select/condition-select.d.ts +30 -2
  308. package/dist/types/components/data-model/data-filter-form/components/condition-select/index.d.ts +30 -2
  309. package/dist/types/components/data-model/data-filter-form/composables/use-condition.d.ts +13 -7
  310. package/dist/types/components/data-model/data-filter-form/token.d.ts +1 -13
  311. package/dist/types/core/component/DataFilterComponents.d.ts +5 -2
  312. package/dist/types/modules/cms/cms-settings.d.ts +102 -0
  313. package/dist/types/modules/cms/dataviews/cms-articles/CmsArticlesForm.d.ts +11 -0
  314. package/dist/types/modules/cms/pages/cms-settigns/index.vue.d.ts +2 -0
  315. package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +5 -0
  316. package/dist/types/modules/ms/components/image-select/image-select-panel.d.ts +8 -0
  317. package/dist/types/modules/ms/components/image-select/index.d.ts +3 -0
  318. package/dist/types/modules/ms/dataviews/ms-config/MsConfigTable.d.ts +2 -0
  319. package/dist/types/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
  320. package/dist/types/modules/ms/image-upload-context/index.d.ts +13 -0
  321. package/dist/types/modules/ms/index.d.ts +1 -0
  322. package/package.json +2 -2
  323. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover-options.js +0 -9
  324. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover-options.js.map +0 -1
  325. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js +0 -59
  326. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js.map +0 -1
  327. package/dist/cjs/components/data-model/data-filter-popover/index.js +0 -8
  328. package/dist/cjs/components/data-model/data-filter-popover/index.js.map +0 -1
  329. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover-options.js +0 -9
  330. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover-options.js.map +0 -1
  331. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js +0 -60
  332. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js.map +0 -1
  333. package/dist/esm/components/data-model/data-filter-popover/index.js +0 -8
  334. package/dist/esm/components/data-model/data-filter-popover/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishAllHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"(route.query.pid as string)\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-if=\"partExt && activeTabName == 'part-ext'\">\r\n <el-button type=\"primary\" v-if=\"partExt.save\" text @click=\"partExt.save()\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\r\n v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown>\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"previewHandle()\" v-if=\"curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(true)\" v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\" v-loading=\"partDataForm.loading\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\" />\r\n </el-tab-pane>\r\n <el-tab-pane v-if=\"partExt\" label=\"页面扩展设置\" name=\"part-ext\">\r\n <component :is=\"partExt.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=\"btnLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, onMounted, watch } from \"vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm, CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { usePartExtension, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\n//路由\r\nconst route = useRoute();\r\nconst router = useRouter();\r\n//预览\r\nconst previewHandle = (isList = false) => {\r\n if (isList) {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`)\r\n } else {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}`)\r\n }\r\n}\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n//发布弹窗的按钮\r\nconst btnLoading = ref(false);\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExt = ref<PartExtension>();\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 挂载的时候初始化下\r\nonMounted(() => {\r\n // 需要走一下初始化\r\n partDataForm.init();\r\n})\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n if (curSelectPartItem.value != item) {\r\n curSelectPartItem.value = item;\r\n console.warn(`🚀 ~ file: index.vue:169 ~ curSelectPartItem.value:`, curSelectPartItem.value);\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n\r\n partDataForm.editRecord(curSelectPartItem.value.id)\r\n\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExt.value = usePartExtension(curSelectPartItem.value.id);\r\n }\r\n};\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n//栏目表单\r\nconst partForm = reactive(\r\n new (class extends CmsPartForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"cmsPartTypeId\",\r\n label: \"栏目类型\",\r\n componentInfo: \"MKFormDataSelect\",\r\n defaultValue: \"2\",\r\n componentProps: {\r\n dataTable: this.register(\r\n new CmsPartTypesTable()\r\n ) as CmsPartTypesTable,\r\n },\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"name\",\r\n label: \"栏目名称\",\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"title\",\r\n label: \"栏目标题\",\r\n required: true,\r\n }),\r\n ]);\r\n }\r\n })()\r\n);\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partForm.addRecord({ parentId: item.id });\r\n }\r\n};\r\n\r\nwatch(activeTabName, async () => {\r\n if (activeTabName.value == \"part\") {\r\n curSelectPartItem.value = (await partDataForm.editRecord(curSelectPartItem.value.id)).data.data\r\n }\r\n})\r\n\r\n//监听表单完成事件\r\npartForm.submittedEvent.on(() => {\r\n (partTreeRef.value! as any).dataTree?.load();\r\n});\r\n\r\nconst loading = ref(false)\r\n\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否整站全量发布?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n loading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/all`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n loading.value = false\r\n }\r\n}\r\n\r\n//栏目发布\r\nconst publishPartHandle = async () => {\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n try {\r\n btnLoading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/part`, {\r\n partIds: [\r\n curSelectPartItem.value.id\r\n ],\r\n ...optionData.value\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n showPublish.value = false;\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n 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 EditorChangeHandle = (v: any) => {\r\n partDataForm.data.content = v\r\n}\r\n</script>\r\n"],"names":["useRoute","useRouter","ref","reactive","CmsContentManPartForm","onMounted","usePartExtension","CmsPartForm","FormColumn","CmsPartTypesTable","Dialoger","watch","MSAppClient","Messager"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"publishAllHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"(route.query.pid as string)\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-if=\"partExt && activeTabName == 'part-ext'\">\r\n <el-button type=\"primary\" v-if=\"partExt.save\" text @click=\"partExt.save()\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\r\n v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"previewHandle()\" v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(true)\" v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\" v-loading=\"partDataForm.loading\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\" />\r\n </el-tab-pane>\r\n <el-tab-pane v-if=\"partExt\" label=\"页面扩展设置\" name=\"part-ext\">\r\n <component :is=\"partExt.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=\"btnLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\" >\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, onMounted, watch } from \"vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm, CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { usePartExtension, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n//预览\r\nconst previewHandle = (isList = false) => {\r\n if (isList) {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`)\r\n } else {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}`)\r\n }\r\n}\r\n\r\n// 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\nconst btnLoading = ref(false);\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExt = ref<PartExtension>();\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 挂载的时候初始化下\r\nonMounted(() => {\r\n // 需要走一下初始化\r\n partDataForm.init();\r\n})\r\n\r\n// 选择栏目\r\nconst selectPartHandle = 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\r\n partDataForm.editRecord(curSelectPartItem.value.id)\r\n\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExt.value = usePartExtension(curSelectPartItem.value.id);\r\n }\r\n};\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n//栏目表单\r\nconst partForm = reactive(\r\n new (class extends CmsPartForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"cmsPartTypeId\",\r\n label: \"栏目类型\",\r\n componentInfo: \"MKFormDataSelect\",\r\n defaultValue: \"2\",\r\n componentProps: {\r\n dataTable: this.register(\r\n new CmsPartTypesTable()\r\n ) as CmsPartTypesTable,\r\n },\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"name\",\r\n label: \"栏目名称\",\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"title\",\r\n label: \"栏目标题\",\r\n required: true,\r\n }),\r\n ]);\r\n }\r\n })()\r\n);\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partForm.addRecord({ parentId: item.id });\r\n }\r\n};\r\n\r\nwatch(activeTabName, async () => {\r\n if (activeTabName.value == \"part\") {\r\n curSelectPartItem.value = (await partDataForm.editRecord(curSelectPartItem.value.id)).data.data\r\n }\r\n})\r\n\r\n//监听表单完成事件\r\npartForm.submittedEvent.on(() => {\r\n (partTreeRef.value! as any).dataTree?.load();\r\n});\r\n\r\nconst loading = ref(false)\r\n\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否整站全量发布?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n loading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/all`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n loading.value = false\r\n }\r\n}\r\n\r\n//栏目发布\r\nconst publishPartHandle = async () => {\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n try {\r\n btnLoading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/part`, {\r\n partIds: [\r\n curSelectPartItem.value.id\r\n ],\r\n ...optionData.value\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n showPublish.value = false;\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n 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 EditorChangeHandle = (v: any) => {\r\n partDataForm.data.content = v\r\n}\r\n</script>\r\n"],"names":["useRoute","useRouter","useCmsSettings","ref","reactive","CmsContentManPartForm","onMounted","usePartExtension","CmsPartForm","FormColumn","CmsPartTypesTable","Dialoger","watch","MSAppClient","Messager"],"mappings":"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"}
@@ -38,9 +38,7 @@ const ResourceManager = require("../../../../components/business/resource-list/R
38
38
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
39
  __name: "index",
40
40
  setup(__props) {
41
- const resourceManager = vue.reactive(
42
- new ResourceManager.ResourceManager({ baseURL: "/cms" })
43
- );
41
+ const resourceManager = vue.reactive(new ResourceManager.ResourceManager({ baseURL: "/cms/template/resource" }));
44
42
  const publishAssetsHandle = async () => {
45
43
  const httpRequest = MSAppClient.MSAppClient.instance.httpRequest;
46
44
  try {
@@ -53,9 +51,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
53
51
  return;
54
52
  }
55
53
  resourceManager.loadingManager.startLoading();
56
- const response = await httpRequest.post(
57
- `${resourceManager.baseURL}/content/publish/assets`
58
- );
54
+ const response = await httpRequest.post(`/cms/content/publish/assets`);
59
55
  if (response.data.code !== 200) {
60
56
  dm.Messager.error({ message: response.data.msg });
61
57
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n <ElButton type=\"primary\" @click=\"publishAllHandle\">全站发布</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\n\r\nconst resourceManager = reactive(\r\n new ResourceManager({ baseURL: \"/cms\" })\r\n) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"发布资源\",\r\n message: \"是否发布资源?\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n const response = await httpRequest.post(\r\n `${resourceManager.baseURL}/content/publish/assets`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n//全站发布\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否整站全量发布?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n resourceManager.loadingManager.startLoading();\r\n\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/all`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n</script>\r\n"],"names":["reactive","ResourceManager","MSAppClient","Dialoger","Messager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,UAAM,kBAAkBA,IAAA;AAAA,MACtB,IAAIC,gCAAgB,EAAE,SAAS,QAAQ;AAAA,IAAA;AAIzC,UAAM,sBAAsB,YAAY;AAChC,YAAA,cAAcC,YAAAA,YAAY,SAAU;AAEtC,UAAA;AACI,cAAA,YAAY,MAAMC,GAAA,SAAS,QAAQ;AAAA,UACvC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,MAAM;AAAA,QAAA,CACP;AAED,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AAEA,wBAAgB,eAAe;AAEzB,cAAA,WAAW,MAAM,YAAY;AAAA,UACjC,GAAG,gBAAgB,OAAO;AAAA,QAAA;AAGxB,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9BC,aAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEAA,WAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UACpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;AAIF,UAAM,mBAAmB,YAAY;;AAE7B,YAAA,eAAcF,iBAAAA,YAAY,aAAZA,mBAAsB;AAEtC,UAAA;AACI,cAAA,YAAY,MAAMC,YAAS,QAAQ,EAAE,OAAO,QAAQ,SAAS,aAAa,MAAM,UAAW,CAAA;AAEjG,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AACA,wBAAgB,eAAe;AAGzB,cAAA,WAAW,MAAM,YAAY;AAAA,UACjC;AAAA,QAAA;AAGE,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9BC,aAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEAA,WAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UAEpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n <ElButton type=\"primary\" @click=\"publishAllHandle\">全站发布</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\n\r\n// 创建cms模版资源管理器\r\nconst resourceManager = reactive(new ResourceManager({ baseURL: \"/cms/template/resource\" })) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"发布资源\",\r\n message: \"是否发布资源?\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n const response = await httpRequest.post(`/cms/content/publish/assets`);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n//全站发布\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否整站全量发布?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n resourceManager.loadingManager.startLoading();\r\n\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/all`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n</script>\r\n"],"names":["reactive","ResourceManager","MSAppClient","Dialoger","Messager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBM,UAAA,kBAAkBA,IAAAA,SAAS,IAAIC,gBAAAA,gBAAgB,EAAE,SAAS,yBAA0B,CAAA,CAAC;AAG3F,UAAM,sBAAsB,YAAY;AAChC,YAAA,cAAcC,YAAAA,YAAY,SAAU;AAEtC,UAAA;AACI,cAAA,YAAY,MAAMC,GAAA,SAAS,QAAQ;AAAA,UACvC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,MAAM;AAAA,QAAA,CACP;AAED,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AAEA,wBAAgB,eAAe;AAE/B,cAAM,WAAW,MAAM,YAAY,KAAK,6BAA6B;AAEjE,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9BC,aAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEAA,WAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UACpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;AAIF,UAAM,mBAAmB,YAAY;;AAE7B,YAAA,eAAcF,iBAAAA,YAAY,aAAZA,mBAAsB;AAEtC,UAAA;AACI,cAAA,YAAY,MAAMC,YAAS,QAAQ,EAAE,OAAO,QAAQ,SAAS,aAAa,MAAM,UAAW,CAAA;AAEjG,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AACA,wBAAgB,eAAe;AAGzB,cAAA,WAAW,MAAM,YAAY;AAAA,UACjC;AAAA,QAAA;AAGE,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9BC,aAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEAA,WAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UAEpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
3
+ module.exports = index_vue_vue_type_script_setup_true_lang;
4
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const cmsSettings = require("../../cms-settings.js");
4
+ require("@maketribe/dm");
5
+ require("element-plus");
6
+ require("@maketribe/utils");
7
+ require("../../../../core/DataModelDefines.js");
8
+ require("vue-router");
9
+ require("@maketribe/request");
10
+ require("@maketribe/locale");
11
+ const MsConfigTable = require("../../../ms/dataviews/ms-config/MsConfigTable.js");
12
+ const _hoisted_1 = {
13
+ class: "mk-cms-appsettings__warp",
14
+ style: { "height": "100%", "display": "flex", "flex-direction": "column" }
15
+ };
16
+ const _hoisted_2 = { style: { "color": "var(--el-text-color-regular)", "margin-left": "10px" } };
17
+ const _hoisted_3 = {
18
+ class: "mk-cms-appsettings__form_warp",
19
+ style: { "background": "#fff", "flex": "1", "height": "100%", "padding": "10px", "margin": "10px", "overflow": "auto" }
20
+ };
21
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
+ __name: "index",
23
+ setup(__props) {
24
+ const CmsSettings = cmsSettings.useCmsSettings(true);
25
+ const activeTabName = vue.ref("publish");
26
+ const loading = vue.ref(false);
27
+ const changed = vue.ref(false);
28
+ const saveHandle = async () => {
29
+ if (changed.value) {
30
+ loading.value = true;
31
+ await MsConfigTable.MsConfigTable.setConfigValue(cmsSettings.CmsSettingsKEY, JSON.stringify(CmsSettings));
32
+ loading.value = false;
33
+ changed.value = false;
34
+ }
35
+ };
36
+ vue.onMounted(async () => {
37
+ const data = await MsConfigTable.MsConfigTable.getConfigValue(cmsSettings.CmsSettingsKEY);
38
+ if (data) {
39
+ Object.assign(CmsSettings, data);
40
+ }
41
+ setTimeout(() => {
42
+ loading.value = false;
43
+ }, 500);
44
+ vue.watch(CmsSettings, () => {
45
+ changed.value = true;
46
+ }, { deep: true });
47
+ });
48
+ return (_ctx, _cache) => {
49
+ const _component_MKSvgIcon = vue.resolveComponent("MKSvgIcon");
50
+ const _component_el_button = vue.resolveComponent("el-button");
51
+ const _component_el_button_group = vue.resolveComponent("el-button-group");
52
+ const _component_el_page_header = vue.resolveComponent("el-page-header");
53
+ const _component_el_radio = vue.resolveComponent("el-radio");
54
+ const _component_el_radio_group = vue.resolveComponent("el-radio-group");
55
+ const _component_el_form_item = vue.resolveComponent("el-form-item");
56
+ const _component_el_form = vue.resolveComponent("el-form");
57
+ const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
58
+ const _component_el_divider = vue.resolveComponent("el-divider");
59
+ const _component_el_input = vue.resolveComponent("el-input");
60
+ const _component_el_switch = vue.resolveComponent("el-switch");
61
+ const _component_el_tabs = vue.resolveComponent("el-tabs");
62
+ const _directive_loading = vue.resolveDirective("loading");
63
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
64
+ vue.createVNode(_component_el_page_header, {
65
+ style: { "background-color": "#fff", "padding": "10px" },
66
+ icon: null
67
+ }, {
68
+ title: vue.withCtx(() => [
69
+ vue.createElementVNode("h3", _hoisted_2, [
70
+ vue.createVNode(_component_MKSvgIcon, {
71
+ iconClass: "Operation",
72
+ style: { "margin-right": "5px" }
73
+ }),
74
+ vue.createTextVNode(" CMS应用设置 ")
75
+ ])
76
+ ]),
77
+ extra: vue.withCtx(() => [
78
+ vue.createElementVNode("div", null, [
79
+ vue.createVNode(_component_el_button_group, null, {
80
+ default: vue.withCtx(() => [
81
+ vue.createVNode(_component_el_button, {
82
+ type: "primary",
83
+ size: "large",
84
+ text: "",
85
+ disabled: !changed.value,
86
+ onClick: saveHandle
87
+ }, {
88
+ default: vue.withCtx(() => [
89
+ vue.createVNode(_component_MKSvgIcon, { iconClass: "save" }),
90
+ vue.createTextVNode(" 保存 ")
91
+ ]),
92
+ _: 1
93
+ }, 8, ["disabled"])
94
+ ]),
95
+ _: 1
96
+ })
97
+ ])
98
+ ]),
99
+ _: 1
100
+ }),
101
+ vue.createElementVNode("div", _hoisted_3, [
102
+ vue.createVNode(_component_el_tabs, {
103
+ modelValue: activeTabName.value,
104
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => activeTabName.value = $event),
105
+ class: "mk-cms-contents__body__right"
106
+ }, {
107
+ default: vue.withCtx(() => [
108
+ vue.createVNode(_component_el_tab_pane, {
109
+ label: "发布设置",
110
+ name: "publish"
111
+ }, {
112
+ default: vue.withCtx(() => [
113
+ vue.createVNode(_component_el_form, {
114
+ model: vue.unref(CmsSettings),
115
+ "label-width": "auto"
116
+ }, {
117
+ default: vue.withCtx(() => [
118
+ vue.createVNode(_component_el_form_item, { label: "发布模式 : " }, {
119
+ default: vue.withCtx(() => [
120
+ vue.createVNode(_component_el_radio_group, {
121
+ modelValue: vue.unref(CmsSettings).publish.mode,
122
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(CmsSettings).publish.mode = $event)
123
+ }, {
124
+ default: vue.withCtx(() => [
125
+ vue.createVNode(_component_el_radio, { value: "static" }, {
126
+ default: vue.withCtx(() => [
127
+ vue.createTextVNode("静态发布")
128
+ ]),
129
+ _: 1
130
+ }),
131
+ vue.createVNode(_component_el_radio, { value: "dynamic" }, {
132
+ default: vue.withCtx(() => [
133
+ vue.createTextVNode("动态发布")
134
+ ]),
135
+ _: 1
136
+ })
137
+ ]),
138
+ _: 1
139
+ }, 8, ["modelValue"])
140
+ ]),
141
+ _: 1
142
+ })
143
+ ]),
144
+ _: 1
145
+ }, 8, ["model"])
146
+ ]),
147
+ _: 1
148
+ }),
149
+ vue.createVNode(_component_el_tab_pane, {
150
+ label: "栏目设置",
151
+ name: "part"
152
+ }, {
153
+ default: vue.withCtx(() => [
154
+ vue.createVNode(_component_el_divider, { "content-position": "left" }, {
155
+ default: vue.withCtx(() => [
156
+ vue.createTextVNode("栏目内容文档编辑器扩展设置")
157
+ ]),
158
+ _: 1
159
+ }),
160
+ vue.createVNode(_component_el_form, {
161
+ model: vue.unref(CmsSettings),
162
+ "label-width": "auto",
163
+ "label-position": "top"
164
+ }, {
165
+ default: vue.withCtx(() => [
166
+ vue.createVNode(_component_el_form_item, { label: "引入的Css : " }, {
167
+ default: vue.withCtx(() => [
168
+ vue.createVNode(_component_el_input, {
169
+ modelValue: vue.unref(CmsSettings).part.doc.css,
170
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(CmsSettings).part.doc.css = $event),
171
+ autosize: { minRows: 2, maxRows: 4 },
172
+ type: "textarea",
173
+ placeholder: "多个css url , 号分割,逗号必须是英文逗号"
174
+ }, null, 8, ["modelValue"])
175
+ ]),
176
+ _: 1
177
+ }),
178
+ vue.createVNode(_component_el_form_item, { label: "引入的Js : " }, {
179
+ default: vue.withCtx(() => [
180
+ vue.createVNode(_component_el_input, {
181
+ modelValue: vue.unref(CmsSettings).part.doc.css,
182
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(CmsSettings).part.doc.css = $event),
183
+ autosize: { minRows: 2, maxRows: 4 },
184
+ type: "textarea",
185
+ placeholder: "多个 js url , 号分割,逗号必须是英文逗号"
186
+ }, null, 8, ["modelValue"])
187
+ ]),
188
+ _: 1
189
+ })
190
+ ]),
191
+ _: 1
192
+ }, 8, ["model"])
193
+ ]),
194
+ _: 1
195
+ }),
196
+ vue.createVNode(_component_el_tab_pane, {
197
+ label: "内容设置",
198
+ name: "content"
199
+ }, {
200
+ default: vue.withCtx(() => [
201
+ vue.createVNode(_component_el_form, {
202
+ model: vue.unref(CmsSettings),
203
+ "label-width": "auto"
204
+ }, {
205
+ default: vue.withCtx(() => [
206
+ vue.createVNode(_component_el_form_item, { label: "启用内容置顶 : " }, {
207
+ default: vue.withCtx(() => [
208
+ vue.createVNode(_component_el_switch, {
209
+ modelValue: vue.unref(CmsSettings).content.useTop,
210
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(CmsSettings).content.useTop = $event)
211
+ }, null, 8, ["modelValue"])
212
+ ]),
213
+ _: 1
214
+ }),
215
+ vue.createVNode(_component_el_form_item, { label: "启用最新内容 : " }, {
216
+ default: vue.withCtx(() => [
217
+ vue.createVNode(_component_el_switch, {
218
+ modelValue: vue.unref(CmsSettings).content.useNew,
219
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(CmsSettings).content.useNew = $event)
220
+ }, null, 8, ["modelValue"])
221
+ ]),
222
+ _: 1
223
+ }),
224
+ vue.createVNode(_component_el_form_item, { label: "启用热门推荐 : " }, {
225
+ default: vue.withCtx(() => [
226
+ vue.createVNode(_component_el_switch, {
227
+ modelValue: vue.unref(CmsSettings).content.useHotRecommend,
228
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(CmsSettings).content.useHotRecommend = $event)
229
+ }, null, 8, ["modelValue"])
230
+ ]),
231
+ _: 1
232
+ }),
233
+ vue.createVNode(_component_el_form_item, { label: "启用栏目推荐 : " }, {
234
+ default: vue.withCtx(() => [
235
+ vue.createVNode(_component_el_switch, {
236
+ modelValue: vue.unref(CmsSettings).content.usePartRecommend,
237
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(CmsSettings).content.usePartRecommend = $event)
238
+ }, null, 8, ["modelValue"])
239
+ ]),
240
+ _: 1
241
+ }),
242
+ vue.createVNode(_component_el_form_item, { label: "启用内容标签 : " }, {
243
+ default: vue.withCtx(() => [
244
+ vue.createVNode(_component_el_switch, {
245
+ modelValue: vue.unref(CmsSettings).content.useTags,
246
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(CmsSettings).content.useTags = $event)
247
+ }, null, 8, ["modelValue"])
248
+ ]),
249
+ _: 1
250
+ }),
251
+ vue.createVNode(_component_el_form_item, { label: "启用内容资源库 : " }, {
252
+ default: vue.withCtx(() => [
253
+ vue.createVNode(_component_el_switch, {
254
+ modelValue: vue.unref(CmsSettings).content.useAtlas,
255
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(CmsSettings).content.useAtlas = $event)
256
+ }, null, 8, ["modelValue"])
257
+ ]),
258
+ _: 1
259
+ }),
260
+ vue.createVNode(_component_el_form_item, { label: "内容封面图尺寸 : " }, {
261
+ default: vue.withCtx(() => [
262
+ vue.createVNode(_component_el_input, {
263
+ modelValue: vue.unref(CmsSettings).content.coverImageSize,
264
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(CmsSettings).content.coverImageSize = $event),
265
+ placeholder: "",
266
+ style: { "max-width": "200px" }
267
+ }, null, 8, ["modelValue"])
268
+ ]),
269
+ _: 1
270
+ }),
271
+ vue.createVNode(_component_el_form_item, { label: "内容Banner图尺寸 : " }, {
272
+ default: vue.withCtx(() => [
273
+ vue.createVNode(_component_el_input, {
274
+ modelValue: vue.unref(CmsSettings).content.bannerImageSize,
275
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(CmsSettings).content.bannerImageSize = $event),
276
+ placeholder: "",
277
+ style: { "max-width": "200px" }
278
+ }, null, 8, ["modelValue"])
279
+ ]),
280
+ _: 1
281
+ })
282
+ ]),
283
+ _: 1
284
+ }, 8, ["model"]),
285
+ vue.createVNode(_component_el_divider, { "content-position": "left" }, {
286
+ default: vue.withCtx(() => [
287
+ vue.createTextVNode("内容文档编辑器扩展设置")
288
+ ]),
289
+ _: 1
290
+ }),
291
+ vue.createVNode(_component_el_form, {
292
+ model: vue.unref(CmsSettings),
293
+ "label-width": "auto",
294
+ "label-position": "top"
295
+ }, {
296
+ default: vue.withCtx(() => [
297
+ vue.createVNode(_component_el_form_item, { label: "引入的Css : " }, {
298
+ default: vue.withCtx(() => [
299
+ vue.createVNode(_component_el_input, {
300
+ modelValue: vue.unref(CmsSettings).content.doc.css,
301
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(CmsSettings).content.doc.css = $event),
302
+ autosize: { minRows: 2, maxRows: 4 },
303
+ type: "textarea",
304
+ placeholder: "多个css url , 号分割,逗号必须是英文逗号"
305
+ }, null, 8, ["modelValue"])
306
+ ]),
307
+ _: 1
308
+ }),
309
+ vue.createVNode(_component_el_form_item, { label: "引入的Js : " }, {
310
+ default: vue.withCtx(() => [
311
+ vue.createVNode(_component_el_input, {
312
+ modelValue: vue.unref(CmsSettings).content.doc.css,
313
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(CmsSettings).content.doc.css = $event),
314
+ autosize: { minRows: 2, maxRows: 4 },
315
+ type: "textarea",
316
+ placeholder: "多个 js url , 号分割,逗号必须是英文逗号"
317
+ }, null, 8, ["modelValue"])
318
+ ]),
319
+ _: 1
320
+ })
321
+ ]),
322
+ _: 1
323
+ }, 8, ["model"])
324
+ ]),
325
+ _: 1
326
+ })
327
+ ]),
328
+ _: 1
329
+ }, 8, ["modelValue"])
330
+ ])
331
+ ])), [
332
+ [_directive_loading, loading.value]
333
+ ]);
334
+ };
335
+ }
336
+ });
337
+ module.exports = _sfc_main;
338
+ //# sourceMappingURL=index.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-appsettings__warp\" v-loading=\"loading\" style=\"\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\">\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=\"Operation\" style=\"margin-right: 5px\" />\r\n CMS应用设置\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div>\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text :disabled=\"!changed\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" />\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-appsettings__form_warp\" style=\"\r\n background: #fff;\r\n flex: 1;\r\n height: 100%;\r\n padding: 10px;\r\n margin: 10px;\r\n overflow: auto;\r\n \">\r\n <el-tabs v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <el-tab-pane label=\"发布设置\" name=\"publish\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"发布模式 : \">\r\n <el-radio-group v-model=\"CmsSettings.publish.mode\">\r\n <el-radio value=\"static\">静态发布</el-radio>\r\n <el-radio value=\"dynamic\">动态发布</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\">\r\n <el-divider content-position=\"left\">栏目内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.part.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.part.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"内容设置\" name=\"content\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"启用内容置顶 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTop\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用最新内容 : \">\r\n <el-switch v-model=\"CmsSettings.content.useNew\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用热门推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.useHotRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用栏目推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.usePartRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容标签 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTags\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容资源库 : \">\r\n <el-switch v-model=\"CmsSettings.content.useAtlas\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容封面图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.coverImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容Banner图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n \r\n <el-divider content-position=\"left\">内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.content.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.content.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref,onMounted,watch, } from \"vue\";\r\nimport { useCmsSettings,CmsSettingsKEY,type CmsSettings } from \"../../cms-settings\"\r\nimport { MsConfigTable } from \"../../../ms/dataviews/ms-config/\"\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true); \r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"publish\");\r\n// 激活的tab\r\nconst loading = ref(false);\r\nconst changed = ref(false);\r\n\r\n\r\nconst saveHandle = async ()=>{\r\n\r\n if(changed.value){\r\n loading.value = true;\r\n await MsConfigTable.setConfigValue(CmsSettingsKEY,JSON.stringify(CmsSettings))\r\n loading.value = false;\r\n changed.value = false;\r\n }\r\n\r\n}\r\n\r\nonMounted(async ()=>{\r\n\r\n // 初始化\r\n const data = await MsConfigTable.getConfigValue<CmsSettings>(CmsSettingsKEY);\r\n if(data){ Object.assign(CmsSettings,data) }\r\n setTimeout(() => {\r\n loading.value = false;\r\n }, 500);\r\n // 数据改变\r\n watch(CmsSettings,()=>{\r\n changed.value = true;\r\n },{ deep:true })\r\n})\r\n</script>\r\n"],"names":["useCmsSettings","ref","MsConfigTable","CmsSettingsKEY","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAyHM,UAAA,cAAcA,2BAAe,IAAI;AAGjC,UAAA,gBAAgBC,QAAI,SAAS;AAE7B,UAAA,UAAUA,QAAI,KAAK;AACnB,UAAA,UAAUA,QAAI,KAAK;AAGzB,UAAM,aAAa,YAAU;AAE3B,UAAG,QAAQ,OAAM;AACf,gBAAQ,QAAQ;AAChB,cAAMC,cAAAA,cAAc,eAAeC,YAAA,gBAAe,KAAK,UAAU,WAAW,CAAC;AAC7E,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAIFC,QAAAA,UAAU,YAAU;AAGlB,YAAM,OAAQ,MAAMF,cAAAA,cAAc,eAA4BC,YAAc,cAAA;AAC5E,UAAG,MAAK;AAAS,eAAA,OAAO,aAAY,IAAI;AAAA,MAAE;AAC1C,iBAAW,MAAM;AACf,gBAAQ,QAAQ;AAAA,SACf,GAAG;AAENE,UAAA,MAAM,aAAY,MAAI;AACpB,gBAAQ,QAAQ;AAAA,MAAA,GAChB,EAAE,MAAK,KAAA,CAAM;AAAA,IAAA,CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const dm = require("@maketribe/dm");
4
+ const elementPlus = require("element-plus");
5
+ const imageSelectPanel = require("./image-select-panel.js");
6
+ require("../../../../components/basic/image-cropper/index.js");
7
+ const imageCropperApi = require("../../../../components/basic/image-cropper/image-cropper-api.js");
8
+ async function ImageSelect(cutWidth, cutHeight) {
9
+ return new Promise((resolve) => {
10
+ const path = vue.ref("");
11
+ const handleCancelClick = () => {
12
+ dialogInstance.destroy();
13
+ resolve({
14
+ success: false,
15
+ path: ""
16
+ });
17
+ };
18
+ const handleConfirmClick = async () => {
19
+ if (path.value) {
20
+ var result = await imageCropperApi.ImageCropper({
21
+ src: path.value,
22
+ ratioOptions: cutWidth && cutHeight ? [{
23
+ value: `${cutWidth}*${cutHeight}`,
24
+ label: `${cutWidth}px*${cutHeight}px`,
25
+ width: cutWidth,
26
+ height: cutHeight
27
+ }] : [],
28
+ maxWidth: cutWidth || 0,
29
+ maxHeight: cutHeight || 0
30
+ });
31
+ if (result.data) {
32
+ path.value = result.data;
33
+ dialogInstance.destroy();
34
+ resolve({
35
+ success: true,
36
+ path: path.value
37
+ });
38
+ }
39
+ } else {
40
+ dialogInstance.destroy();
41
+ resolve({
42
+ success: true,
43
+ path: path.value
44
+ });
45
+ }
46
+ };
47
+ const dialogInstance = dm.Dialoger.customRender({
48
+ title: "图片选择",
49
+ class: "mk-material-select",
50
+ width: "70%",
51
+ onClose: () => {
52
+ dialogInstance.destroy();
53
+ },
54
+ body: () => {
55
+ return vue.createVNode(imageSelectPanel, {
56
+ "modelValue": path.value,
57
+ "onUpdate:modelValue": ($event) => path.value = $event
58
+ }, null);
59
+ },
60
+ footer: () => {
61
+ return vue.createVNode(vue.Fragment, null, [vue.createVNode(elementPlus.ElButton, {
62
+ "onClick": handleCancelClick
63
+ }, {
64
+ default: () => [vue.createTextVNode("取消")]
65
+ }), vue.createVNode(elementPlus.ElButton, {
66
+ "type": "primary",
67
+ "onClick": handleConfirmClick
68
+ }, {
69
+ default: () => [vue.createTextVNode("确定")]
70
+ })]);
71
+ }
72
+ });
73
+ });
74
+ }
75
+ module.exports = ImageSelect;
76
+ //# sourceMappingURL=image-select-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-select-api.js","sources":["../../../../../../src/modules/ms/components/image-select/image-select-api.tsx"],"sourcesContent":["import { Fragment, ref,h } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { ElButton } from \"element-plus\";\r\nimport ImageSelectPanel from \"./image-select-panel\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\"\r\n\r\nexport type MKImageSelectResult = { success: boolean; path: string; };\r\n\r\nexport default async function ImageSelect(cutWidth?:number,cutHeight?:number): Promise<MKImageSelectResult> {\r\n return new Promise((resolve) => {\r\n \r\n const path = ref<any>(\"\");\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = async () => {\r\n\r\n\r\n if(path.value){\r\n\r\n var result = await ImageCropper({ \r\n src: path.value ,\r\n ratioOptions: cutWidth && cutHeight ?[\r\n { value: `${cutWidth}*${cutHeight}`, label: `${cutWidth}px*${cutHeight}px`, width: cutWidth, height: cutHeight }\r\n ]:[],\r\n maxWidth:cutWidth || 0,\r\n maxHeight:cutHeight || 0\r\n });\r\n\r\n if(result.data){\r\n path.value = result.data;\r\n dialogInstance.destroy();\r\n resolve({ success: true, path: path.value });\r\n }\r\n else{\r\n // 取消裁切\r\n \r\n }\r\n }\r\n else{\r\n dialogInstance.destroy();\r\n resolve({ success: true, path: path.value });\r\n }\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"图片选择\",\r\n class: \"mk-material-select\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return <ImageSelectPanel v-model={path.value} />\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["ImageSelect","cutWidth","cutHeight","Promise","resolve","path","ref","handleCancelClick","dialogInstance","destroy","success","handleConfirmClick","value","result","ImageCropper","src","ratioOptions","label","width","height","maxWidth","maxHeight","data","Dialoger","customRender","title","class","onClose","body","_createVNode","ImageSelectPanel","$event","footer","_Fragment","ElButton","default","_createTextVNode"],"mappings":";;;;;;;AAQe,eAAeA,YAAYC,UAAiBC,WAAiD;AAC1G,SAAO,IAAIC,QAASC,aAAY;AAE9B,UAAMC,OAAOC,QAAS,EAAE;AAExB,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAEtBL,cAAQ;AAAA,QAAEM,SAAS;AAAA,QAAQL,MAAM;AAAA,MAAG,CAAC;AAAA;AAGvC,UAAMM,qBAAqB,YAAY;AAGrC,UAAGN,KAAKO,OAAM;AAEZ,YAAIC,SAAS,MAAMC,6BAAa;AAAA,UAC9BC,KAAKV,KAAKO;AAAAA,UACVI,cAAcf,YAAYC,YAAW,CACnC;AAAA,YAAEU,OAAO,GAAGX,QAAQ,IAAIC,SAAS;AAAA,YAAIe,OAAO,GAAGhB,QAAQ,MAAMC,SAAS;AAAA,YAAMgB,OAAOjB;AAAAA,YAAUkB,QAAQjB;AAAAA,UAAW,CAAA,IAChH,CAAE;AAAA,UACJkB,UAASnB,YAAY;AAAA,UACrBoB,WAAUnB,aAAa;AAAA,QACzB,CAAC;AAED,YAAGW,OAAOS,MAAK;AACbjB,eAAKO,QAAQC,OAAOS;AACpBd,yBAAeC,QAAO;AACtBL,kBAAQ;AAAA,YAAEM,SAAS;AAAA,YAAOL,MAAMA,KAAKO;AAAAA,UAAM,CAAC;AAAA,QAG5C;AAAA,MAGJ,OACI;AACFJ,uBAAeC,QAAO;AACtBL,gBAAQ;AAAA,UAAEM,SAAS;AAAA,UAAOL,MAAMA,KAAKO;AAAAA,QAAM,CAAC;AAAA,MAC9C;AAAA;AAGF,UAAMJ,iBAAiBe,GAAQ,SAACC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPR,OAAO;AAAA,MACPS,SAASA,MAAM;AACbnB,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDmB,MAAMA,MAAM;AACV,eAAAC,IAAAA,YAAAC,kBAAA;AAAA,UAAA,cAAkCzB,KAAKO;AAAAA,UAAK,uBAAAmB,YAAV1B,KAAKO,QAAKmB;AAAAA,QAAA,GAAA,IAAA;AAAA,MAC7C;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,IAAA,YAAAI,IAAA,UAAAJ,MAAAA,CAAAA,IAAAA,YAAAK,YAAAA,UAAA;AAAA,UAAA,WAEuB3B;AAAAA,QAAiB,GAAA;AAAA,UAAA4B,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,IAAA,YAAAK,sBAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFvB;AAAAA,QAAkB,GAAA;AAAA,UAAAwB,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAK1D;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;;"}