@maketribe/ms-app 3.2.26 → 3.2.27

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 (194) hide show
  1. package/dist/cjs/components/basic/doc-editor/core/element-block.js +18 -13
  2. package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/core/utils.js +20 -13
  4. package/dist/cjs/components/basic/doc-editor/core/utils.js.map +1 -1
  5. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  6. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
  8. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -1
  9. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
  10. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +13 -0
  11. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
  12. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +11 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
  14. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +87 -13
  15. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
  16. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +114 -7
  17. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -1
  18. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +51 -37
  19. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  20. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +3 -5
  21. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  22. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +32 -54
  23. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  24. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
  25. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  26. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +40 -3
  27. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  28. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
  30. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +8 -7
  32. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  33. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  34. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  35. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  36. package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
  37. package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
  38. package/dist/cjs/components/basic/dynamic-form-panel/dialog.js +2 -2
  39. package/dist/cjs/components/basic/dynamic-form-panel/dialog.js.map +1 -1
  40. package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  41. package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js +13 -9
  42. package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
  43. package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js +38 -0
  44. package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
  45. package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js +76 -0
  46. package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
  47. package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js +72 -1
  48. package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
  49. package/dist/cjs/components/basic/visual-page-editor/core/index.js +21 -13
  50. package/dist/cjs/components/basic/visual-page-editor/core/index.js.map +1 -1
  51. package/dist/cjs/components/basic/visual-page-editor/editor.vue.js +2 -29
  52. package/dist/cjs/components/basic/visual-page-editor/editor.vue.js.map +1 -1
  53. package/dist/cjs/components/basic/visual-page-editor/index.js +1 -1
  54. package/dist/cjs/components/basic/visual-page-editor/index.js.map +1 -1
  55. package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js +10 -0
  56. package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
  57. package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js +1 -1
  58. package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
  59. package/dist/cjs/modules/cms/cms-settings.js +4 -0
  60. package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
  61. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +0 -1
  62. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  63. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
  64. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  65. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +27 -4
  66. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  67. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +312 -0
  68. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
  69. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +4 -0
  70. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
  71. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
  72. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  73. package/dist/cjs/modules/ms/components/image-select/image-select-api.js +14 -2
  74. package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -1
  75. package/dist/cjs/modules/ms/image-upload-context/index.js +1 -1
  76. package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
  77. package/dist/esm/components/basic/doc-editor/core/element-block.js +18 -13
  78. package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -1
  79. package/dist/esm/components/basic/doc-editor/core/utils.js +20 -13
  80. package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
  81. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  82. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
  83. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
  84. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -1
  85. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
  86. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +13 -0
  87. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
  88. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +11 -0
  89. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
  90. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +87 -13
  91. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
  92. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +114 -7
  93. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -1
  94. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +52 -38
  95. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  96. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +3 -5
  97. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  98. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +33 -55
  99. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  100. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
  101. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  102. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +40 -3
  103. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  104. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
  105. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
  106. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
  107. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +11 -10
  108. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  109. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  110. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  111. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  112. package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
  113. package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
  114. package/dist/esm/components/basic/dynamic-form-panel/dialog.js +2 -2
  115. package/dist/esm/components/basic/dynamic-form-panel/dialog.js.map +1 -1
  116. package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  117. package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js +14 -10
  118. package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
  119. package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js +39 -0
  120. package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
  121. package/dist/esm/components/basic/visual-page-editor/core/Dialog.js +76 -0
  122. package/dist/esm/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
  123. package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js +73 -2
  124. package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
  125. package/dist/esm/components/basic/visual-page-editor/core/index.js +21 -13
  126. package/dist/esm/components/basic/visual-page-editor/core/index.js.map +1 -1
  127. package/dist/esm/components/basic/visual-page-editor/editor.vue.js +4 -31
  128. package/dist/esm/components/basic/visual-page-editor/editor.vue.js.map +1 -1
  129. package/dist/esm/components/basic/visual-page-editor/index.js +1 -1
  130. package/dist/esm/components/basic/visual-page-editor/index.js.map +1 -1
  131. package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js +9 -0
  132. package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
  133. package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js +2 -2
  134. package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
  135. package/dist/esm/modules/cms/cms-settings.js +4 -0
  136. package/dist/esm/modules/cms/cms-settings.js.map +1 -1
  137. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +0 -1
  138. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  139. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
  140. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  141. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +27 -4
  142. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  143. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +313 -0
  144. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
  145. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +5 -0
  146. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
  147. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
  148. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  149. package/dist/esm/modules/ms/components/image-select/image-select-api.js +14 -2
  150. package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -1
  151. package/dist/esm/modules/ms/image-upload-context/index.js +1 -1
  152. package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
  153. package/dist/style/components/basic/visual-page-editor/index.css +1 -1
  154. package/dist/style/components/index.css +1 -1
  155. package/dist/style/index.css +1 -1
  156. package/dist/style/src/components/basic/visual-page-editor/index.scss +4 -2
  157. package/dist/types/components/basic/doc-editor/core/element-block.d.ts +1 -0
  158. package/dist/types/components/basic/doc-editor/core/utils.d.ts +2 -2
  159. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +1 -1
  160. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +16 -2
  161. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +7 -1
  162. package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +25 -12
  163. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +5 -0
  164. package/dist/types/components/basic/doc-editor/utils/getSelectedNode.d.ts +1 -1
  165. package/dist/types/components/basic/dynamic-form-panel/type.d.ts +1 -0
  166. package/dist/types/components/basic/visual-page-editor/core/Dialog.d.ts +15 -0
  167. package/dist/types/components/basic/visual-page-editor/core/ModuleDefine.d.ts +12 -0
  168. package/dist/types/components/basic/visual-page-editor/core/VisvalPageEditor.d.ts +45 -1
  169. package/dist/types/components/basic/visual-page-editor/core/index.d.ts +2 -10
  170. package/dist/types/components/basic/visual-page-editor/editor.vue.d.ts +1 -0
  171. package/dist/types/components/basic/visual-page-editor/index.d.ts +2 -1
  172. package/dist/types/components/basic/visual-page-editor/modules/index.d.ts +1 -0
  173. package/dist/types/modules/cms/cms-settings.d.ts +4 -28
  174. package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +45 -0
  175. package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +1 -1
  176. package/dist/types/modules/ms/image-upload-context/index.d.ts +1 -1
  177. package/package.json +7 -6
  178. package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js +0 -31
  179. package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
  180. package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js +0 -111
  181. package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
  182. package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -29
  183. package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
  184. package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js +0 -32
  185. package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
  186. package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js +0 -111
  187. package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
  188. package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -28
  189. package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
  190. package/dist/types/components/basic/visual-page-editor/core/RenderComponent.d.ts +0 -16
  191. package/dist/types/components/basic/visual-page-editor/utils/Dialog.d.ts +0 -15
  192. package/dist/types/components/basic/visual-page-editor/visual-components/index.d.ts +0 -1
  193. /package/dist/types/components/basic/visual-page-editor/{components → core}/BlockRender.d.ts +0 -0
  194. /package/dist/types/components/basic/visual-page-editor/{visual-components/ImageRenderComponent.d.ts → modules/BaseImageModule.d.ts} +0 -0
@@ -0,0 +1,313 @@
1
+ import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, Fragment, renderList, createBlock, withCtx, createElementVNode, toDisplayString, createVNode, createTextVNode, unref, createCommentVNode } from "vue";
2
+ import "@maketribe/dm";
3
+ import { ElMessageBox, ElMessage } from "element-plus";
4
+ import "@maketribe/utils";
5
+ import "../../../../core/DataModelDefines.js";
6
+ import "vue-router";
7
+ import "@maketribe/request";
8
+ import "@maketribe/locale";
9
+ import "../../../ms/dataviews/ms-config/MsConfigTable.js";
10
+ import "lodash-es";
11
+ import "../../../../components/basic/svg-icon/index.js";
12
+ import "../../../../components/data-model/data-form/index.js";
13
+ import "../../../../components/data-model/data-table/index.js";
14
+ import "../../../../components/data-model/data-table-pagination/index.js";
15
+ import "../../../../components/abstract/abstract-select/abstract-select.js";
16
+ import "../../../../components/abstract/abstract-select/abstract-select-options.js";
17
+ import "../../../../components/basic/button/button-options.js";
18
+ import "../../../../components/basic/config-provider/index.js";
19
+ import "../../../../components/basic/data-table-select/index.js";
20
+ import "../../../../components/basic/data-select/index.js";
21
+ import "../../../../components/basic/pagination/index.js";
22
+ import "../../../../components/basic/system-provider/index.js";
23
+ import { MKCodeEditor } from "../../../../components/basic/code-editor/index.js";
24
+ import "../../../../components/basic/json-editor/index.js";
25
+ import "../../../../components/basic/page-container/index.js";
26
+ import "../../../../components/basic/date-picker/index.js";
27
+ import "../../../../components/basic/icon-select/index.js";
28
+ import "../../../../components/basic/upload-file/upload-file.js";
29
+ import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
30
+ import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
31
+ import "../../../../components/basic/upload-file/ui/upload-image/index.js";
32
+ import "../../../../components/basic/upload-file/ui/upload-file/index.js";
33
+ import "../../../../components/basic/upload-file/ui/upload-video/index.js";
34
+ import "../../../../components/basic/upload-file/upload-file-options.js";
35
+ import "../../../../components/basic/doc-editor/index.js";
36
+ import "../../../../components/basic/copy-container/index.js";
37
+ import "../../../../components/basic/image-cropper/index.js";
38
+ import "../../../../components/basic/visual-page-editor/index.js";
39
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
40
+ import "../../../../components/business/resource-list/index.js";
41
+ import "../../../../components/business/resource-manager/index.js";
42
+ import "../../../ms/dataviews/department/DepartmentForm.js";
43
+ import "../../../ms/dataviews/department/DepartmentTable.js";
44
+ import "../../../ms/dataviews/department/DepartmentTree.js";
45
+ import "../../../ms/dataviews/log/operate-log/OperateLogTable.js";
46
+ import "../../../ms/dataviews/log/login-log/LoginLogTable.js";
47
+ import "../../../ms/dataviews/log/request-log/RequestLogTable.js";
48
+ import "../../../ms/dataviews/log/local-log/LocalLogTree.js";
49
+ import "../../../ms/components/material-list/index.js";
50
+ import "../../../ms/components/markdown-editor/index.js";
51
+ import "../../../ms/components/rich-text-editor/index.js";
52
+ import "@element-plus/icons-vue";
53
+ import "../../../ms/material-upload-context/material-upload-context-options.js";
54
+ import "../../../ms/material-upload-context/material-upload-context.js";
55
+ import { ImageUploadContext } from "../../../ms/image-upload-context/index.js";
56
+ import { json } from "@codemirror/lang-json";
57
+ import { html } from "@codemirror/lang-html";
58
+ import { css } from "@codemirror/lang-css";
59
+ const _hoisted_1 = { style: { "width": "500px", "max-height": "700px", "overflow": "auto" } };
60
+ const _hoisted_2 = { style: { "display": "flex", "justify-content": "space-between" } };
61
+ const _hoisted_3 = { class: "dialog-footer" };
62
+ const _sfc_main = /* @__PURE__ */ defineComponent({
63
+ __name: "DocModuleEditForm",
64
+ props: { modules: { type: Array, default() {
65
+ return [];
66
+ } } },
67
+ setup(__props) {
68
+ const props = __props;
69
+ const dialogVisible = ref(false);
70
+ const dialogTitle = ref("添加模块");
71
+ const curEditModule = ref(null);
72
+ const disabledName = ref(false);
73
+ const addModuleHandle = () => {
74
+ dialogTitle.value = "添加模块";
75
+ curEditModule.value = {
76
+ name: "",
77
+ title: "新增模块",
78
+ cover: "",
79
+ template: "",
80
+ editorCss: "",
81
+ options: ""
82
+ };
83
+ dialogVisible.value = true;
84
+ disabledName.value = false;
85
+ };
86
+ const editModuleHandle = (data) => {
87
+ dialogTitle.value = `编辑模块【${data.name}】`;
88
+ curEditModule.value = Object.assign({}, data, {
89
+ options: JSON.stringify(data.options, null, 4)
90
+ });
91
+ dialogVisible.value = true;
92
+ disabledName.value = true;
93
+ };
94
+ const deleteModuleHandle = (data) => {
95
+ ElMessageBox.confirm(`确认删除模块【${data.name}】?`).then(() => {
96
+ let modules = props.modules;
97
+ for (let i = 0; i < modules.length; i++) {
98
+ if (modules[i].name == data.name) {
99
+ modules.splice(i, 1);
100
+ console.log(modules);
101
+ break;
102
+ }
103
+ }
104
+ dialogVisible.value = false;
105
+ }).catch((e) => {
106
+ console.log(e);
107
+ ElMessage.error({ message: "删除失败!" });
108
+ });
109
+ };
110
+ const saveModuleHandle = () => {
111
+ var _a, _b;
112
+ try {
113
+ if (curEditModule.value) {
114
+ const oldModule = (_a = props.modules) == null ? void 0 : _a.find((item) => curEditModule.value.name == item.name);
115
+ if (oldModule != null) {
116
+ Object.assign(oldModule, curEditModule.value, {
117
+ options: JSON.parse(curEditModule.value.options)
118
+ });
119
+ } else {
120
+ (_b = props.modules) == null ? void 0 : _b.push(Object.assign({}, curEditModule.value, {
121
+ options: JSON.parse(curEditModule.value.options)
122
+ }));
123
+ }
124
+ }
125
+ curEditModule.value = null;
126
+ dialogVisible.value = false;
127
+ } catch (error) {
128
+ console.log(error);
129
+ ElMessage.error({ message: "配置有误,保存失败!" });
130
+ }
131
+ };
132
+ return (_ctx, _cache) => {
133
+ const _component_el_button = resolveComponent("el-button");
134
+ const _component_el_card = resolveComponent("el-card");
135
+ const _component_el_input = resolveComponent("el-input");
136
+ const _component_el_form_item = resolveComponent("el-form-item");
137
+ const _component_MKUploadImage = resolveComponent("MKUploadImage");
138
+ const _component_el_form = resolveComponent("el-form");
139
+ const _component_el_dialog = resolveComponent("el-dialog");
140
+ return openBlock(), createElementBlock("div", _hoisted_1, [
141
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.modules, (mod) => {
142
+ return openBlock(), createBlock(_component_el_card, {
143
+ style: { "width": "100%", "margin-top": "10px", "box-sizing": "border-box" },
144
+ shadow: "hover"
145
+ }, {
146
+ default: withCtx(() => [
147
+ createElementVNode("div", _hoisted_2, [
148
+ createElementVNode("div", null, toDisplayString(mod.title) + " [" + toDisplayString(mod.name) + "]", 1),
149
+ createElementVNode("div", null, [
150
+ createVNode(_component_el_button, {
151
+ type: "primary",
152
+ text: "",
153
+ onClick: ($event) => editModuleHandle(mod)
154
+ }, {
155
+ default: withCtx(() => [
156
+ createTextVNode("编辑")
157
+ ]),
158
+ _: 2
159
+ }, 1032, ["onClick"]),
160
+ createVNode(_component_el_button, {
161
+ type: "danger",
162
+ text: "",
163
+ onClick: ($event) => deleteModuleHandle(mod)
164
+ }, {
165
+ default: withCtx(() => [
166
+ createTextVNode("删除")
167
+ ]),
168
+ _: 2
169
+ }, 1032, ["onClick"])
170
+ ])
171
+ ])
172
+ ]),
173
+ _: 2
174
+ }, 1024);
175
+ }), 256)),
176
+ createVNode(_component_el_button, {
177
+ type: "primary",
178
+ onClick: addModuleHandle,
179
+ style: { "width": "100%", "margin-top": "10px", "box-sizing": "border-box" }
180
+ }, {
181
+ default: withCtx(() => [
182
+ createTextVNode("添加模块")
183
+ ]),
184
+ _: 1
185
+ }),
186
+ createVNode(_component_el_dialog, {
187
+ modelValue: dialogVisible.value,
188
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => dialogVisible.value = $event),
189
+ title: dialogTitle.value,
190
+ width: 800
191
+ }, {
192
+ footer: withCtx(() => [
193
+ createElementVNode("div", _hoisted_3, [
194
+ createVNode(_component_el_button, {
195
+ onClick: _cache[6] || (_cache[6] = ($event) => dialogVisible.value = false)
196
+ }, {
197
+ default: withCtx(() => [
198
+ createTextVNode("取消")
199
+ ]),
200
+ _: 1
201
+ }),
202
+ createVNode(_component_el_button, {
203
+ type: "primary",
204
+ onClick: saveModuleHandle
205
+ }, {
206
+ default: withCtx(() => [
207
+ createTextVNode(" 保存 ")
208
+ ]),
209
+ _: 1
210
+ })
211
+ ])
212
+ ]),
213
+ default: withCtx(() => [
214
+ curEditModule.value ? (openBlock(), createBlock(_component_el_form, {
215
+ key: 0,
216
+ model: curEditModule.value,
217
+ "label-width": "auto",
218
+ "label-position": "top",
219
+ style: { "max-height": "500px", "overflow": "auto", "padding": "20px" }
220
+ }, {
221
+ default: withCtx(() => [
222
+ createVNode(_component_el_form_item, { label: "模块名称 : " }, {
223
+ default: withCtx(() => [
224
+ createVNode(_component_el_input, {
225
+ modelValue: curEditModule.value.name,
226
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => curEditModule.value.name = $event),
227
+ disabled: disabledName.value,
228
+ clearable: ""
229
+ }, null, 8, ["modelValue", "disabled"])
230
+ ]),
231
+ _: 1
232
+ }),
233
+ createVNode(_component_el_form_item, {
234
+ label: "模块描述 : ",
235
+ style: { "margin-bottom": "20px" }
236
+ }, {
237
+ default: withCtx(() => [
238
+ createVNode(_component_el_input, {
239
+ modelValue: curEditModule.value.title,
240
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => curEditModule.value.title = $event),
241
+ clearable: ""
242
+ }, null, 8, ["modelValue"])
243
+ ]),
244
+ _: 1
245
+ }),
246
+ createVNode(_component_el_form_item, {
247
+ label: "模块封面图 : ",
248
+ style: { "margin-bottom": "20px" }
249
+ }, {
250
+ default: withCtx(() => [
251
+ createVNode(_component_MKUploadImage, {
252
+ modelValue: curEditModule.value.cover,
253
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => curEditModule.value.cover = $event),
254
+ width: "700px",
255
+ height: "300px",
256
+ uploadContext: new (unref(ImageUploadContext))("")
257
+ }, null, 8, ["modelValue", "uploadContext"])
258
+ ]),
259
+ _: 1
260
+ }),
261
+ createVNode(_component_el_form_item, {
262
+ label: "模块HTML模版 : ",
263
+ style: { "margin-bottom": "20px" }
264
+ }, {
265
+ default: withCtx(() => [
266
+ createVNode(unref(MKCodeEditor), {
267
+ modelValue: curEditModule.value.template,
268
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => curEditModule.value.template = $event),
269
+ extensions: [unref(html)()],
270
+ style: { "border": "1px solid #ccc" }
271
+ }, null, 8, ["modelValue", "extensions"])
272
+ ]),
273
+ _: 1
274
+ }),
275
+ createVNode(_component_el_form_item, {
276
+ label: "模块配置面板 : ",
277
+ style: { "margin-bottom": "20px" }
278
+ }, {
279
+ default: withCtx(() => [
280
+ createVNode(unref(MKCodeEditor), {
281
+ modelValue: curEditModule.value.options,
282
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => curEditModule.value.options = $event),
283
+ extensions: [unref(json)()],
284
+ style: { "border": "1px solid #ccc" }
285
+ }, null, 8, ["modelValue", "extensions"])
286
+ ]),
287
+ _: 1
288
+ }),
289
+ createVNode(_component_el_form_item, { label: "模块编辑样式 : " }, {
290
+ default: withCtx(() => [
291
+ createVNode(unref(MKCodeEditor), {
292
+ modelValue: curEditModule.value.editorCss,
293
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => curEditModule.value.editorCss = $event),
294
+ extensions: [unref(css)()],
295
+ style: { "border": "1px solid #ccc" }
296
+ }, null, 8, ["modelValue", "extensions"])
297
+ ]),
298
+ _: 1
299
+ })
300
+ ]),
301
+ _: 1
302
+ }, 8, ["model"])) : createCommentVNode("", true)
303
+ ]),
304
+ _: 1
305
+ }, 8, ["modelValue", "title"])
306
+ ]);
307
+ };
308
+ }
309
+ });
310
+ export {
311
+ _sfc_main as default
312
+ };
313
+ //# sourceMappingURL=DocModuleEditForm.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocModuleEditForm.vue.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/DocModuleEditForm.vue"],"sourcesContent":["<template>\r\n <div style=\" width: 500px;max-height: 700px;overflow: auto;\">\r\n <el-card v-for=\"mod in modules\" style=\"width: 100%;margin-top: 10px;box-sizing: border-box;\" shadow=\"hover\">\r\n <div style=\"display: flex; justify-content: space-between;\">\r\n <div>{{mod.title}} [{{mod.name}}]</div>\r\n <div>\r\n <el-button type=\"primary\" text @click=\"editModuleHandle(mod)\">编辑</el-button>\r\n <el-button type=\"danger\" text @click=\"deleteModuleHandle(mod)\">删除</el-button>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-button type=\"primary\" @click=\"addModuleHandle\" style=\"width: 100%;margin-top: 10px;box-sizing: border-box;\">添加模块</el-button>\r\n <el-dialog v-model=\"dialogVisible\" :title=\"dialogTitle\" :width=\"800\">\r\n <el-form v-if=\"curEditModule\" :model=\"curEditModule\" label-width=\"auto\" label-position=\"top\" style=\"max-height: 500px;overflow: auto;padding: 20px;\">\r\n <el-form-item label=\"模块名称 : \">\r\n <el-input v-model=\"curEditModule.name\" :disabled=\"disabledName\" clearable />\r\n </el-form-item>\r\n <el-form-item label=\"模块描述 : \" style=\"margin-bottom: 20px;\">\r\n <el-input v-model=\"curEditModule.title\" clearable />\r\n </el-form-item>\r\n <el-form-item label=\"模块封面图 : \" style=\"margin-bottom: 20px;\">\r\n <MKUploadImage v-model=\"curEditModule.cover\" width=\"700px\" height=\"300px\" :uploadContext=\"new ImageUploadContext('')\">\r\n\r\n </MKUploadImage>\r\n </el-form-item>\r\n <el-form-item label=\"模块HTML模版 : \" style=\"margin-bottom: 20px;\">\r\n <MKCodeEditor v-model=\"curEditModule.template\" :extensions=\"[html()]\" style=\"border: 1px solid #ccc;\">\r\n\r\n </MKCodeEditor>\r\n </el-form-item>\r\n <el-form-item label=\"模块配置面板 : \" style=\"margin-bottom: 20px;\">\r\n <MKCodeEditor v-model=\"curEditModule.options\" :extensions=\"[json()]\" style=\"border: 1px solid #ccc;\">\r\n\r\n </MKCodeEditor>\r\n </el-form-item>\r\n <el-form-item label=\"模块编辑样式 : \">\r\n <MKCodeEditor v-model=\"curEditModule.editorCss\" :extensions=\"[css()]\" style=\"border: 1px solid #ccc;\">\r\n\r\n </MKCodeEditor>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n <div class=\"dialog-footer\">\r\n <el-button @click=\"dialogVisible = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"saveModuleHandle\"> 保存 </el-button>\r\n </div>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n \r\n<script setup lang=\"ts\">\r\nimport { defineProps,watch,ref } from \"vue\"\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { ModuleType } from \"../../../../components/basic/doc-editor/plugins/ModulePlugin/composables\"\r\nimport { MKCodeEditor } from \"../../../../components/basic/code-editor\";\r\nimport { ElMessageBox,ElMessage } from 'element-plus'\r\nimport { json } from \"@codemirror/lang-json\";\r\nimport { html } from \"@codemirror/lang-html\";\r\nimport { css } from \"@codemirror/lang-css\";\r\n\r\nconst props = defineProps({ modules:{ type:Array<ModuleType>,default(){ return [] } } })\r\nconst dialogVisible = ref<boolean>(false)\r\nconst dialogTitle = ref<string>(\"添加模块\")\r\nconst curEditModule = ref<any>(null)\r\nconst disabledName = ref<boolean>(false)\r\n \r\n// 添加模块\r\nconst addModuleHandle = ()=>{\r\n dialogTitle.value = \"添加模块\";\r\n curEditModule.value = {\r\n name:\"\",\r\n title:\"新增模块\",\r\n cover:\"\",\r\n template:\"\",\r\n editorCss:\"\",\r\n options:\"\"\r\n };\r\n dialogVisible.value = true;\r\n disabledName.value = false;\r\n}\r\n\r\n// 编辑模块\r\nconst editModuleHandle = (data:any)=>{\r\n dialogTitle.value = `编辑模块【${data.name}】`;\r\n curEditModule.value = Object.assign({},data,{\r\n options:JSON.stringify(data.options,null,4)\r\n });\r\n dialogVisible.value = true;\r\n disabledName.value = true;\r\n}\r\n\r\n// 删除模块\r\nconst deleteModuleHandle = (data:any)=>{\r\n\r\n ElMessageBox.confirm(`确认删除模块【${data.name}】?`).then(() => {\r\n\r\n let modules = props.modules;\r\n\r\n for(let i = 0;i < modules.length; i++){\r\n if(modules[i].name == data.name){\r\n modules.splice(i,1);\r\n console.log(modules);\r\n break;\r\n }\r\n }\r\n\r\n dialogVisible.value = false;\r\n })\r\n .catch(e => {\r\n // catch error\r\n console.log(e);\r\n ElMessage.error({ message:\"删除失败!\"});\r\n })\r\n}\r\n\r\n// 保存模块\r\nconst saveModuleHandle = ()=>{\r\n \r\n try {\r\n if(curEditModule.value){\r\n\r\n const oldModule = props.modules?.find(item=>curEditModule.value.name == item.name)\r\n\r\n if(oldModule != null){\r\n Object.assign(oldModule,curEditModule.value,{\r\n options:JSON.parse(curEditModule.value.options)\r\n })\r\n }\r\n else{\r\n props.modules?.push(Object.assign({},curEditModule.value,{\r\n options:JSON.parse(curEditModule.value.options)\r\n }))\r\n }\r\n }\r\n\r\n curEditModule.value = null;\r\n dialogVisible.value = false;\r\n } catch (error) {\r\n console.log(error)\r\n ElMessage.error({ message:\"配置有误,保存失败!\"});\r\n }\r\n}\r\n\r\n </script>\r\n "],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,UAAM,QAAQ;AACR,UAAA,gBAAgB,IAAa,KAAK;AAClC,UAAA,cAAc,IAAY,MAAM;AAChC,UAAA,gBAAgB,IAAS,IAAI;AAC7B,UAAA,eAAe,IAAa,KAAK;AAGvC,UAAM,kBAAkB,MAAI;AAC1B,kBAAY,QAAQ;AACpB,oBAAc,QAAQ;AAAA,QACpB,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAM;AAAA,QACN,UAAS;AAAA,QACT,WAAU;AAAA,QACV,SAAQ;AAAA,MAAA;AAEV,oBAAc,QAAQ;AACtB,mBAAa,QAAQ;AAAA,IAAA;AAIjB,UAAA,mBAAmB,CAAC,SAAW;AACvB,kBAAA,QAAQ,QAAQ,KAAK,IAAI;AACrC,oBAAc,QAAQ,OAAO,OAAO,CAAA,GAAG,MAAK;AAAA,QACtC,SAAQ,KAAK,UAAU,KAAK,SAAQ,MAAK,CAAC;AAAA,MAAA,CAC3C;AACL,oBAAc,QAAQ;AACtB,mBAAa,QAAQ;AAAA,IAAA;AAIjB,UAAA,qBAAqB,CAAC,SAAW;AAErC,mBAAa,QAAQ,UAAU,KAAK,IAAI,IAAI,EAAE,KAAK,MAAM;AAEvD,YAAI,UAAU,MAAM;AAEpB,iBAAQ,IAAI,GAAE,IAAI,QAAQ,QAAQ,KAAI;AACpC,cAAG,QAAQ,CAAC,EAAE,QAAQ,KAAK,MAAK;AACtB,oBAAA,OAAO,GAAE,CAAC;AAClB,oBAAQ,IAAI,OAAO;AACnB;AAAA,UACF;AAAA,QACF;AAEA,sBAAc,QAAQ;AAAA,MAAA,CACvB,EACA,MAAM,CAAK,MAAA;AAEV,gBAAQ,IAAI,CAAC;AACb,kBAAU,MAAM,EAAE,SAAQ,QAAQ,CAAA;AAAA,MAAA,CACnC;AAAA,IAAA;AAIH,UAAM,mBAAmB,MAAI;;AAEvB,UAAA;AACF,YAAG,cAAc,OAAM;AAEf,gBAAA,aAAY,WAAM,YAAN,mBAAe,KAAK,UAAM,cAAc,MAAM,QAAQ,KAAK;AAE7E,cAAG,aAAa,MAAK;AACZ,mBAAA,OAAO,WAAU,cAAc,OAAM;AAAA,cAC1C,SAAQ,KAAK,MAAM,cAAc,MAAM,OAAO;AAAA,YAAA,CAC/C;AAAA,UAAA,OAEC;AACF,wBAAM,YAAN,mBAAe,KAAK,OAAO,OAAO,CAAC,GAAE,cAAc,OAAM;AAAA,cACvD,SAAQ,KAAK,MAAM,cAAc,MAAM,OAAO;AAAA,YAC/C,CAAA;AAAA,UACH;AAAA,QACF;AAEA,sBAAc,QAAQ;AACtB,sBAAc,QAAQ;AAAA,eACf,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,kBAAU,MAAM,EAAE,SAAQ,aAAa,CAAA;AAAA,MACzC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./DocModuleEditForm.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
5
+ //# sourceMappingURL=DocModuleEditForm.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocModuleEditForm.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -8,6 +8,7 @@ import "vue-router";
8
8
  import "@maketribe/request";
9
9
  import "@maketribe/locale";
10
10
  import { MsConfigTable } from "../../../ms/dataviews/ms-config/MsConfigTable.js";
11
+ import _sfc_main$1 from "./DocModuleEditForm.vue.js";
11
12
  const _hoisted_1 = {
12
13
  class: "mk-cms-appsettings__warp",
13
14
  style: { "height": "100%", "display": "flex", "flex-direction": "column" }
@@ -141,6 +142,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
141
142
  })
142
143
  ]),
143
144
  _: 1
145
+ }, 8, ["model"]),
146
+ createVNode(_component_el_form, {
147
+ model: unref(CmsSettings),
148
+ "label-width": "auto",
149
+ "label-position": "top"
150
+ }, {
151
+ default: withCtx(() => [
152
+ createVNode(_component_el_form_item, { label: "文档模块 : " }, {
153
+ default: withCtx(() => [
154
+ createVNode(_sfc_main$1, {
155
+ modules: unref(CmsSettings).docModules
156
+ }, null, 8, ["modules"])
157
+ ]),
158
+ _: 1
159
+ })
160
+ ]),
161
+ _: 1
144
162
  }, 8, ["model"])
145
163
  ]),
146
164
  _: 1
@@ -1 +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\">\r\n <el-form-item label=\"开启栏目轮播图 : \">\r\n <el-switch v-model=\"CmsSettings.part.openBanner\" />\r\n </el-form-item>\r\n\r\n <el-form-item v-if=\"CmsSettings.part.openBanner\" label=\"轮播图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.part.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n \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.js\"\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.js\"\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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmIM,UAAA,cAAc,eAAe,IAAI;AAGjC,UAAA,gBAAgB,IAAI,SAAS;AAE7B,UAAA,UAAU,IAAI,KAAK;AACnB,UAAA,UAAU,IAAI,KAAK;AAGzB,UAAM,aAAa,YAAU;AAE3B,UAAG,QAAQ,OAAM;AACf,gBAAQ,QAAQ;AAChB,cAAM,cAAc,eAAe,gBAAe,KAAK,UAAU,WAAW,CAAC;AAC7E,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAIF,cAAU,YAAU;AAGlB,YAAM,OAAQ,MAAM,cAAc,eAA4B,cAAc;AAC5E,UAAG,MAAK;AAAS,eAAA,OAAO,aAAY,IAAI;AAAA,MAAE;AAC1C,iBAAW,MAAM;AACf,gBAAQ,QAAQ;AAAA,SACf,GAAG;AAEN,YAAM,aAAY,MAAI;AACpB,gBAAQ,QAAQ;AAAA,MAAA,GAChB,EAAE,MAAK,KAAA,CAAM;AAAA,IAAA,CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"文档模块 : \">\r\n <DocModuleEditForm :modules=\"CmsSettings.docModules\"></DocModuleEditForm>\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\">\r\n <el-form-item label=\"开启栏目轮播图 : \">\r\n <el-switch v-model=\"CmsSettings.part.openBanner\" />\r\n </el-form-item>\r\n\r\n <el-form-item v-if=\"CmsSettings.part.openBanner\" label=\"轮播图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.part.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n \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.js\"\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.js\"\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 CmsSettingsType } from \"../../cms-settings\"\r\nimport { MsConfigTable } from \"../../../ms/dataviews/ms-config/\"\r\nimport DocModuleEditForm from \"./DocModuleEditForm.vue\"\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<CmsSettingsType>(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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAyIM,UAAA,cAAc,eAAe,IAAI;AAGjC,UAAA,gBAAgB,IAAI,SAAS;AAE7B,UAAA,UAAU,IAAI,KAAK;AACnB,UAAA,UAAU,IAAI,KAAK;AAGzB,UAAM,aAAa,YAAU;AAE3B,UAAG,QAAQ,OAAM;AACf,gBAAQ,QAAQ;AAChB,cAAM,cAAc,eAAe,gBAAe,KAAK,UAAU,WAAW,CAAC;AAC7E,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAIF,cAAU,YAAU;AAGlB,YAAM,OAAQ,MAAM,cAAc,eAAgC,cAAc;AAChF,UAAG,MAAK;AAAS,eAAA,OAAO,aAAY,IAAI;AAAA,MAAE;AAC1C,iBAAW,MAAM;AACf,gBAAQ,QAAQ;AAAA,SACf,GAAG;AAEN,YAAM,aAAY,MAAI;AACpB,gBAAQ,QAAQ;AAAA,MAAA,GAChB,EAAE,MAAK,KAAA,CAAM;AAAA,IAAA,CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ import { ElButton } from "element-plus";
4
4
  import ImageSelectPanel from "./image-select-panel.js";
5
5
  import "../../../../components/basic/image-cropper/index.js";
6
6
  import { ImageCropper } from "../../../../components/basic/image-cropper/image-cropper-api.js";
7
- async function ImageSelect(cutWidth, cutHeight) {
7
+ async function ImageSelect(cutWidth, cutHeight, isCut) {
8
8
  return new Promise((resolve) => {
9
9
  const path = ref("");
10
10
  const handleCancelClick = () => {
@@ -14,7 +14,7 @@ async function ImageSelect(cutWidth, cutHeight) {
14
14
  path: ""
15
15
  });
16
16
  };
17
- const handleConfirmClick = async () => {
17
+ const handleCutClick = async () => {
18
18
  if (path.value) {
19
19
  var result = await ImageCropper({
20
20
  src: path.value,
@@ -43,6 +43,13 @@ async function ImageSelect(cutWidth, cutHeight) {
43
43
  });
44
44
  }
45
45
  };
46
+ const handleConfirmClick = async () => {
47
+ dialogInstance.destroy();
48
+ resolve({
49
+ success: true,
50
+ path: path.value
51
+ });
52
+ };
46
53
  const dialogInstance = Dialoger.customRender({
47
54
  title: "图片选择",
48
55
  class: "mk-material-select",
@@ -61,6 +68,11 @@ async function ImageSelect(cutWidth, cutHeight) {
61
68
  "onClick": handleCancelClick
62
69
  }, {
63
70
  default: () => [createTextVNode("取消")]
71
+ }), createVNode(ElButton, {
72
+ "type": "primary",
73
+ "onClick": handleCutClick
74
+ }, {
75
+ default: () => [createTextVNode("裁切")]
64
76
  }), createVNode(ElButton, {
65
77
  "type": "primary",
66
78
  "onClick": handleConfirmClick
@@ -1 +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,IAAS,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,aAAa;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,SAASC,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,YAAAC,kBAAA;AAAA,UAAA,cAAkCzB,KAAKO;AAAAA,UAAK,uBAAAmB,YAAV1B,KAAKO,QAAKmB;AAAAA,QAAA,GAAA,IAAA;AAAA,MAC7C;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WAEuB3B;AAAAA,QAAiB,GAAA;AAAA,UAAA4B,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFvB;AAAAA,QAAkB,GAAA;AAAA,UAAAwB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAK1D;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
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, isCut?: boolean): 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 //裁剪\r\n const handleCutClick = 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 //原图输出\r\n const handleConfirmClick = async () => {\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={handleCutClick}>\r\n 裁切\r\n </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","isCut","Promise","resolve","path","ref","handleCancelClick","dialogInstance","destroy","success","handleCutClick","value","result","ImageCropper","src","ratioOptions","label","width","height","maxWidth","maxHeight","data","handleConfirmClick","Dialoger","customRender","title","class","onClose","body","_createVNode","ImageSelectPanel","$event","footer","_Fragment","ElButton","default","_createTextVNode"],"mappings":";;;;;;AAQe,eAAeA,YAAYC,UAAmBC,WAAoBC,OAA+C;AAC9H,SAAO,IAAIC,QAASC,aAAY;AAE9B,UAAMC,OAAOC,IAAS,EAAE;AAExB,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAEtBL,cAAQ;AAAA,QAAEM,SAAS;AAAA,QAAOL,MAAM;AAAA,MAAG,CAAC;AAAA;AAItC,UAAMM,iBAAiB,YAAY;AAGjC,UAAIN,KAAKO,OAAO;AAEd,YAAIC,SAAS,MAAMC,aAAa;AAAA,UAC9BC,KAAKV,KAAKO;AAAAA,UACVI,cAAchB,YAAYC,YAAY,CACpC;AAAA,YAAEW,OAAO,GAAGZ,QAAQ,IAAIC,SAAS;AAAA,YAAIgB,OAAO,GAAGjB,QAAQ,MAAMC,SAAS;AAAA,YAAMiB,OAAOlB;AAAAA,YAAUmB,QAAQlB;AAAAA,UAAW,CAAA,IAC9G,CAAE;AAAA,UACNmB,UAAUpB,YAAY;AAAA,UACtBqB,WAAWpB,aAAa;AAAA,QAC1B,CAAC;AAED,YAAIY,OAAOS,MAAM;AACfjB,eAAKO,QAAQC,OAAOS;AACpBd,yBAAeC,QAAO;AACtBL,kBAAQ;AAAA,YAAEM,SAAS;AAAA,YAAML,MAAMA,KAAKO;AAAAA,UAAM,CAAC;AAAA,QAG3C;AAAA,MAGJ,OACK;AACHJ,uBAAeC,QAAO;AACtBL,gBAAQ;AAAA,UAAEM,SAAS;AAAA,UAAML,MAAMA,KAAKO;AAAAA,QAAM,CAAC;AAAA,MAC7C;AAAA;AAIF,UAAMW,qBAAqB,YAAY;AACrCf,qBAAeC,QAAO;AACtBL,cAAQ;AAAA,QAAEM,SAAS;AAAA,QAAML,MAAMA,KAAKO;AAAAA,MAAM,CAAC;AAAA;AAI7C,UAAMJ,iBAAiBgB,SAASC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPT,OAAO;AAAA,MACPU,SAASA,MAAM;AACbpB,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDoB,MAAMA,MAAM;AACV,eAAAC,YAAAC,kBAAA;AAAA,UAAA,cAAkC1B,KAAKO;AAAAA,UAAK,uBAAAoB,YAAV3B,KAAKO,QAAKoB;AAAAA,QAAA,GAAA,IAAA;AAAA,MAC7C;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WAEuB5B;AAAAA,QAAiB,GAAA;AAAA,UAAA6B,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFxB;AAAAA,QAAc,GAAA;AAAA,UAAAyB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WAGdZ;AAAAA,QAAkB,GAAA;AAAA,UAAAa,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAK1D;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
@@ -22,7 +22,7 @@ class ImageUploadContext extends UploadContext {
22
22
  __publicField(this, "cutSise");
23
23
  this.cutSise = cutSise;
24
24
  }
25
- async selectFile() {
25
+ async selectFile(isCut) {
26
26
  let cutWidth = 0;
27
27
  let cutHeight = 0;
28
28
  if (this.cutSise) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/modules/ms/image-upload-context/index.ts"],"sourcesContent":["import { MKImageSelect } from \"../components/image-select\";\r\nimport { UploadContext, UploadResult } from \"../../../components/basic/upload-file\";\r\nimport { base64ToBlob,md5 } from \"@maketribe/utils\";\r\nimport { WebFileUpload } from \"@maketribe/request\";\r\n\r\n\r\n/**\r\n * 图片上传上下文\r\n */\r\nexport class ImageUploadContext extends UploadContext {\r\n cutSise?:string;\r\n\r\n /**\r\n * \r\n * @param cutSise 裁切尺寸 \r\n */\r\n\tconstructor(cutSise?:string) {\r\n\t\tsuper();\r\n this.cutSise = cutSise;\r\n\t}\r\n\r\n\tasync selectFile(): Promise<UploadResult> {\r\n\r\n let cutWidth = 0;\r\n let cutHeight = 0;\r\n\r\n if(this.cutSise){\r\n let cutInfo = this.cutSise.split(\"*\");\r\n cutWidth = parseInt(cutInfo[0]) || 0;\r\n cutHeight = parseInt(cutInfo[1]) || cutWidth;\r\n }\r\n\r\n\r\n\t\tconst result = await MKImageSelect(cutWidth,cutHeight);\r\n\r\n let path:any = result.path;\r\n\r\n // base 64 则上传\r\n if(path && path.indexOf(\"data:image/\") == 0){\r\n\r\n const webFileUpload = new WebFileUpload();\r\n // 开始上传\r\n const blob = base64ToBlob(path); \r\n\r\n // 上传\r\n const uploadResult = await webFileUpload.upload(\r\n new File([blob], `${md5(Math.random().toString())}.${blob.type.toString().replace(\"image/\",\"\") || \"png\"}`, { type: blob.type })\r\n );\r\n\r\n if (uploadResult.data.code !== 200) {\r\n \r\n return {\r\n success: false, path: \"\", msg: uploadResult.data.msg,\r\n };\r\n }\r\n else{\r\n path = uploadResult.data.data.path;\r\n }\r\n }\r\n\r\n\t\treturn { success: true, path: path, msg: \"\", };\r\n\t}\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASO,MAAM,2BAA2B,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAOrD,YAAY,SAAiB;AACtB;AAPN;AAQE,SAAK,UAAU;AAAA,EAClB;AAAA,EAEA,MAAM,aAAoC;AAEvC,QAAI,WAAW;AACf,QAAI,YAAY;AAEhB,QAAG,KAAK,SAAQ;AACd,UAAI,UAAU,KAAK,QAAQ,MAAM,GAAG;AACpC,iBAAW,SAAS,QAAQ,CAAC,CAAC,KAAK;AACnC,kBAAY,SAAS,QAAQ,CAAC,CAAC,KAAK;AAAA,IACtC;AAGF,UAAM,SAAS,MAAM,cAAc,UAAS,SAAS;AAEnD,QAAI,OAAW,OAAO;AAGtB,QAAG,QAAQ,KAAK,QAAQ,aAAa,KAAK,GAAE;AAEpC,YAAA,gBAAgB,IAAI;AAEpB,YAAA,OAAO,aAAa,IAAI;AAGxB,YAAA,eAAe,MAAM,cAAc;AAAA,QACvC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,KAAK,OAAO,EAAE,SAAU,CAAA,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ,UAAS,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,KAAK,KAAA,CAAM;AAAA,MAAA;AAG5H,UAAA,aAAa,KAAK,SAAS,KAAK;AAE3B,eAAA;AAAA,UACL,SAAS;AAAA,UAAO,MAAM;AAAA,UAAK,KAAM,aAAa,KAAK;AAAA,QAAA;AAAA,MACrD,OAEE;AACK,eAAA,aAAa,KAAK,KAAK;AAAA,MAChC;AAAA,IACF;AAEF,WAAO,EAAE,SAAS,MAAM,MAAY,KAAK,GAAI;AAAA,EAC9C;AACD;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/modules/ms/image-upload-context/index.ts"],"sourcesContent":["import { MKImageSelect } from \"../components/image-select\";\r\nimport { UploadContext, UploadResult } from \"../../../components/basic/upload-file\";\r\nimport { base64ToBlob, md5 } from \"@maketribe/utils\";\r\nimport { WebFileUpload } from \"@maketribe/request\";\r\n\r\n\r\n/**\r\n * 图片上传上下文\r\n */\r\nexport class ImageUploadContext extends UploadContext {\r\n cutSise?: string;\r\n\r\n /**\r\n * \r\n * @param cutSise 裁切尺寸 \r\n */\r\n constructor(cutSise?: string) {\r\n super();\r\n this.cutSise = cutSise;\r\n }\r\n\r\n async selectFile(isCut?: boolean): Promise<UploadResult> {\r\n\r\n let cutWidth = 0;\r\n let cutHeight = 0;\r\n\r\n if (this.cutSise) {\r\n let cutInfo = this.cutSise.split(\"*\");\r\n cutWidth = parseInt(cutInfo[0]) || 0;\r\n cutHeight = parseInt(cutInfo[1]) || cutWidth;\r\n }\r\n\r\n \r\n const result = await MKImageSelect(cutWidth, cutHeight, isCut);\r\n\r\n let path: any = result.path;\r\n\r\n // base 64 则上传\r\n if (path && path.indexOf(\"data:image/\") == 0) {\r\n\r\n const webFileUpload = new WebFileUpload();\r\n // 开始上传\r\n const blob = base64ToBlob(path);\r\n\r\n // 上传\r\n const uploadResult = await webFileUpload.upload(\r\n new File([blob], `${md5(Math.random().toString())}.${blob.type.toString().replace(\"image/\", \"\") || \"png\"}`, { type: blob.type })\r\n );\r\n\r\n if (uploadResult.data.code !== 200) {\r\n\r\n return {\r\n success: false, path: \"\", msg: uploadResult.data.msg,\r\n };\r\n }\r\n else {\r\n path = uploadResult.data.data.path;\r\n }\r\n }\r\n\r\n return { success: true, path: path, msg: \"\", };\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASO,MAAM,2BAA2B,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpD,YAAY,SAAkB;AACtB;AAPR;AAQE,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,MAAM,WAAW,OAAwC;AAEvD,QAAI,WAAW;AACf,QAAI,YAAY;AAEhB,QAAI,KAAK,SAAS;AAChB,UAAI,UAAU,KAAK,QAAQ,MAAM,GAAG;AACpC,iBAAW,SAAS,QAAQ,CAAC,CAAC,KAAK;AACnC,kBAAY,SAAS,QAAQ,CAAC,CAAC,KAAK;AAAA,IACtC;AAGA,UAAM,SAAS,MAAM,cAAc,UAAU,SAAgB;AAE7D,QAAI,OAAY,OAAO;AAGvB,QAAI,QAAQ,KAAK,QAAQ,aAAa,KAAK,GAAG;AAEtC,YAAA,gBAAgB,IAAI;AAEpB,YAAA,OAAO,aAAa,IAAI;AAGxB,YAAA,eAAe,MAAM,cAAc;AAAA,QACvC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,KAAK,OAAO,EAAE,SAAU,CAAA,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ,UAAU,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,KAAK,KAAA,CAAM;AAAA,MAAA;AAG7H,UAAA,aAAa,KAAK,SAAS,KAAK;AAE3B,eAAA;AAAA,UACL,SAAS;AAAA,UAAO,MAAM;AAAA,UAAI,KAAK,aAAa,KAAK;AAAA,QAAA;AAAA,MACnD,OAEG;AACI,eAAA,aAAa,KAAK,KAAK;AAAA,MAChC;AAAA,IACF;AAEA,WAAO,EAAE,SAAS,MAAM,MAAY,KAAK,GAAI;AAAA,EAC/C;AACF;"}
@@ -1 +1 @@
1
- .mk-visual-page-editor-inline-toolbar,.mk-visual-page-editor-toolbar{padding:10px 20px;z-index:1;text-align:center;background-color:#fff}.mk-visual-page-editor-inline-toolbar>.el-dropdown .el-button,.mk-visual-page-editor-toolbar>.el-dropdown .el-button{padding:8px}.mk-visual-page-editor-inline-toolbar>.el-button-group button,.mk-visual-page-editor-toolbar>.el-button-group button{font-size:18px;padding:8px}.mk-visual-page-editor-inline-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active,.mk-visual-page-editor-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active{background-color:#e2e2e2}.mk-visual-page-editor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.mk-visual-page-editor__stage{width:100%;height:100%;z-index:0;position:relative;display:flex;overflow:hidden;box-sizing:border-box;justify-content:space-between}.mk-visual-page-editor__stage::before{content:"";display:block;width:100%;height:1px;position:absolute;top:0;box-shadow:1px -3px 7px 4px #ccc}.mk-visual-page-editor__stage_body{z-index:0;position:relative;width:100%;min-height:100%;overflow:auto;padding:10px 0;box-sizing:border-box;flex:1}.mk-visual-page-editor__stage_editable{margin:auto;position:relative}.mk-visual-page-editor__stage_editable>.mk-visual-page-editor-inline-toolbar{position:absolute;left:100%;top:100%;background-color:#fff;box-shadow:1px -3px 7px 4px #ccc;padding:5px;z-index:99;transform:matrix3d(1px)}.mk-visual-page-editor__stage_editable>.mk-visual-page-editor-inline-toolbar>.el-button-group button,.mk-visual-page-editor__stage_editable>.mk-visual-page-editor-inline-toolbar>.el-dropdown .el-button{padding:8px 12px;font-size:14px;letter-spacing:.3em}.mk-visual-page-editor__stage_editable_addblock{width:100%;padding:20px;margin-bottom:50px;box-sizing:border-box;text-align:center;background-color:#e4e4e4}.mk-visual-page-editor__stage_editable_addblock .el-button{width:100%}.mk-visual-page-editor__stage_block{position:relative;width:100%;box-sizing:border-box}.mk-visual-page-editor__stage_block_mask{width:100%;height:100%;position:absolute;z-index:98;top:0;left:0;box-sizing:border-box;cursor:pointer}.mk-visual-page-editor__stage_block_mask.active{background-color:rgba(33,150,234,.3);border:2px solid #03a9f4;top:-2px}.mk-visual-page-editor__stage_left{z-index:0;position:relative;width:300px;min-height:100%;background-color:#fff}.mk-visual-page-editor__stage_right{z-index:0;position:relative;width:300px;min-height:100%;background-color:#fff}
1
+ .mk-visual-page-editor-inline-toolbar,.mk-visual-page-editor-toolbar{padding:10px 20px;z-index:1;text-align:center;background-color:#fff}.mk-visual-page-editor-inline-toolbar>.el-dropdown .el-button,.mk-visual-page-editor-toolbar>.el-dropdown .el-button{padding:8px}.mk-visual-page-editor-inline-toolbar>.el-button-group button,.mk-visual-page-editor-toolbar>.el-button-group button{font-size:18px;padding:8px}.mk-visual-page-editor-inline-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active,.mk-visual-page-editor-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active{background-color:#e2e2e2}.mk-visual-page-editor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.mk-visual-page-editor__stage{width:100%;height:100%;z-index:0;position:relative;display:flex;overflow:hidden;box-sizing:border-box;justify-content:space-between}.mk-visual-page-editor__stage::before{content:"";display:block;width:100%;height:1px;position:absolute;top:0;box-shadow:1px -3px 7px 4px #ccc}.mk-visual-page-editor__stage_body{z-index:0;position:relative;width:100%;min-height:100%;overflow:auto;padding:10px 0;box-sizing:border-box;flex:1}.mk-visual-page-editor__stage_editable{margin:auto;position:relative}.mk-visual-page-editor__stage_editable>.mk-visual-page-editor-inline-toolbar{position:absolute;left:100%;top:100%;background-color:#fff;box-shadow:1px -3px 7px 4px #ccc;padding:5px;z-index:99;transform:matrix3d(1px)}.mk-visual-page-editor__stage_editable>.mk-visual-page-editor-inline-toolbar>.el-button-group button,.mk-visual-page-editor__stage_editable>.mk-visual-page-editor-inline-toolbar>.el-dropdown .el-button{padding:8px 12px;font-size:14px;letter-spacing:.3em}.mk-visual-page-editor__stage_editable_addblock{width:100%;padding:20px;margin-bottom:50px;box-sizing:border-box;text-align:center;background-color:#f0f0f0;border:1px dashed #11a9f4;margin-top:20px}.mk-visual-page-editor__stage_editable_addblock .el-button{width:100%}.mk-visual-page-editor__stage_block{position:relative;width:100%;box-sizing:border-box}.mk-visual-page-editor__stage_block_mask{width:100%;height:100%;position:absolute;z-index:98;top:0;left:0;box-sizing:border-box;cursor:pointer}.mk-visual-page-editor__stage_block_mask.active{background-color:rgba(33,150,234,.3);border:2px solid #03a9f4;top:-2px}.mk-visual-page-editor__stage_left{z-index:0;position:relative;width:300px;min-height:100%;background-color:#fff}.mk-visual-page-editor__stage_right{z-index:0;position:relative;width:400px;min-height:100%;background-color:#fff}