@maketribe/ms-app 3.0.5 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/cjs/components/data-model/data-form/data-form-options.d.ts +0 -31
  2. package/dist/cjs/components/data-model/data-form/data-form-options.js +0 -2
  3. package/dist/cjs/components/data-model/data-form/data-form-options.js.map +1 -1
  4. package/dist/cjs/components/data-model/data-form/data-form.d.ts +1 -75
  5. package/dist/cjs/components/data-model/data-form/data-form.js +37 -68
  6. package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
  7. package/dist/cjs/components/data-model/data-form/index.d.ts +2 -75
  8. package/dist/cjs/components/data-model/data-form/index.js +4 -0
  9. package/dist/cjs/components/data-model/data-form/index.js.map +1 -1
  10. package/dist/cjs/components/data-model/data-form/views/form/form-options.d.ts +25 -0
  11. package/dist/cjs/components/data-model/data-form/views/form/form-options.js +17 -0
  12. package/dist/cjs/components/data-model/data-form/views/form/form-options.js.map +1 -0
  13. package/dist/cjs/components/data-model/data-form/views/form/form.d.ts +41 -0
  14. package/dist/cjs/components/data-model/data-form/{inner-data-form.js → views/form/form.js} +11 -44
  15. package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -0
  16. package/dist/cjs/components/data-model/data-form/views/form/index.d.ts +40 -0
  17. package/dist/cjs/components/data-model/data-form/views/form/index.js +12 -0
  18. package/dist/cjs/components/data-model/data-form/views/form/index.js.map +1 -0
  19. package/dist/cjs/components/data-model/data-form/views/form-view/form-view-options.d.ts +25 -0
  20. package/dist/cjs/components/data-model/data-form/views/form-view/form-view-options.js +17 -0
  21. package/dist/cjs/components/data-model/data-form/views/form-view/form-view-options.js.map +1 -0
  22. package/dist/cjs/components/data-model/data-form/views/form-view/form-view.d.ts +40 -0
  23. package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js +80 -0
  24. package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js.map +1 -0
  25. package/dist/cjs/components/data-model/data-form/views/form-view/index.d.ts +40 -0
  26. package/dist/cjs/components/data-model/data-form/views/form-view/index.js +12 -0
  27. package/dist/cjs/components/data-model/data-form/views/form-view/index.js.map +1 -0
  28. package/dist/cjs/components/data-model/data-form/views/index.d.ts +2 -0
  29. package/dist/cjs/components/data-model/data-form/views/index.js +10 -0
  30. package/dist/cjs/components/data-model/data-form/views/index.js.map +1 -0
  31. package/dist/cjs/components/data-model/data-form-page/data-form-page-options.d.ts +0 -31
  32. package/dist/cjs/components/data-model/data-form-page/data-form-page.d.ts +1 -75
  33. package/dist/cjs/components/data-model/data-form-page/index.d.ts +1 -75
  34. package/dist/cjs/components/data-model/data-table/data-table.d.ts +1 -1
  35. package/dist/cjs/components/data-model/data-table/data-table.js +1 -1
  36. package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
  37. package/dist/cjs/components/data-model/data-table/index.d.ts +1 -1
  38. package/dist/cjs/components/data-model/data-table/views/table/index.d.ts +2 -2
  39. package/dist/cjs/components/data-model/data-table/views/table/index.js +2 -1
  40. package/dist/cjs/components/data-model/data-table/views/table/index.js.map +1 -1
  41. package/dist/cjs/components/data-model/data-tree/data-tree.d.ts +1 -1
  42. package/dist/cjs/components/data-model/data-tree/index.d.ts +1 -1
  43. package/dist/cjs/components/data-model/data-tree-page/data-tree-page.d.ts +1 -1
  44. package/dist/cjs/components/data-model/data-tree-page/data-tree-page.js +9 -1
  45. package/dist/cjs/components/data-model/data-tree-page/data-tree-page.js.map +1 -1
  46. package/dist/cjs/components/data-model/data-tree-page/index.d.ts +1 -1
  47. package/dist/cjs/components/data-model/index.js +28 -24
  48. package/dist/cjs/components/data-model/index.js.map +1 -1
  49. package/dist/cjs/components/image-select/image-select.js +4 -2
  50. package/dist/cjs/components/image-select/image-select.js.map +1 -1
  51. package/dist/cjs/components/index.js +108 -104
  52. package/dist/cjs/components/index.js.map +1 -1
  53. package/dist/cjs/components/markdown-editor/markdown-editor.js +18 -20
  54. package/dist/cjs/components/markdown-editor/markdown-editor.js.map +1 -1
  55. package/dist/cjs/components/material-list/index.d.ts +2 -0
  56. package/dist/cjs/components/material-list/material-list-options.d.ts +2 -1
  57. package/dist/cjs/components/material-list/material-list-options.js +2 -1
  58. package/dist/cjs/components/material-list/material-list-options.js.map +1 -1
  59. package/dist/cjs/components/material-list/material-list.vue.d.ts +3 -0
  60. package/dist/cjs/components/material-list/material-list.vue2.js +2 -1
  61. package/dist/cjs/components/material-list/material-list.vue2.js.map +1 -1
  62. package/dist/cjs/components/material-select/material-select-api.js +3 -3
  63. package/dist/cjs/components/material-select/material-select-api.js.map +1 -1
  64. package/dist/cjs/components/material-select/material-select-options.d.ts +8 -1
  65. package/dist/cjs/components/material-select/material-select-options.js +5 -1
  66. package/dist/cjs/components/material-select/material-select-options.js.map +1 -1
  67. package/dist/cjs/components/material-select/material-select-type.d.ts +4 -2
  68. package/dist/cjs/components/material-select/material-select.d.ts +15 -1
  69. package/dist/cjs/components/material-select/material-select.js +10 -2
  70. package/dist/cjs/components/material-select/material-select.js.map +1 -1
  71. package/dist/cjs/components/rich-text-editor/rich-text-editor.d.ts +2 -1
  72. package/dist/cjs/components/rich-text-editor/rich-text-editor.js +7 -3
  73. package/dist/cjs/components/rich-text-editor/rich-text-editor.js.map +1 -1
  74. package/dist/cjs/core/menu/Menu.js +1 -0
  75. package/dist/cjs/core/menu/Menu.js.map +1 -1
  76. package/dist/cjs/core/menu/MenuNode.d.ts +2 -0
  77. package/dist/cjs/core/menu/MenuNode.js +3 -1
  78. package/dist/cjs/core/menu/MenuNode.js.map +1 -1
  79. package/dist/cjs/dataview/material/MaterialMan.d.ts +3 -0
  80. package/dist/cjs/dataview/material/MaterialMan.js +12 -0
  81. package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
  82. package/dist/cjs/dataview/menu/MenuForm.d.ts +2 -2
  83. package/dist/cjs/dataview/menu/MenuForm.js +4 -4
  84. package/dist/cjs/dataview/menu/MenuForm.js.map +1 -1
  85. package/dist/cjs/index.js +108 -104
  86. package/dist/cjs/index.js.map +1 -1
  87. package/dist/cjs/layouts/default/components/bar/index.js +9 -7
  88. package/dist/cjs/layouts/default/components/bar/index.js.map +1 -1
  89. package/dist/cjs/layouts/default/components/bar/settings.d.ts +39 -0
  90. package/dist/cjs/layouts/default/components/bar/settings.js +113 -0
  91. package/dist/cjs/layouts/default/components/bar/settings.js.map +1 -0
  92. package/dist/cjs/layouts/default/index.js +1 -1
  93. package/dist/cjs/layouts/default/index.js.map +1 -1
  94. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/content/default/content.js +4 -0
  95. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/content/default/content.js.map +1 -0
  96. package/dist/esm/components/data-model/data-form/data-form-options.d.ts +0 -31
  97. package/dist/esm/components/data-model/data-form/data-form-options.js +0 -2
  98. package/dist/esm/components/data-model/data-form/data-form-options.js.map +1 -1
  99. package/dist/esm/components/data-model/data-form/data-form.d.ts +1 -75
  100. package/dist/esm/components/data-model/data-form/data-form.js +39 -70
  101. package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
  102. package/dist/esm/components/data-model/data-form/index.d.ts +2 -75
  103. package/dist/esm/components/data-model/data-form/index.js +2 -0
  104. package/dist/esm/components/data-model/data-form/index.js.map +1 -1
  105. package/dist/esm/components/data-model/data-form/views/form/form-options.d.ts +25 -0
  106. package/dist/esm/components/data-model/data-form/views/form/form-options.js +13 -0
  107. package/dist/esm/components/data-model/data-form/views/form/form-options.js.map +1 -0
  108. package/dist/esm/components/data-model/data-form/views/form/form.d.ts +41 -0
  109. package/dist/esm/components/data-model/data-form/{inner-data-form.js → views/form/form.js} +12 -45
  110. package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -0
  111. package/dist/esm/components/data-model/data-form/views/form/index.d.ts +40 -0
  112. package/dist/esm/components/data-model/data-form/views/form/index.js +7 -0
  113. package/dist/esm/components/data-model/data-form/views/form/index.js.map +1 -0
  114. package/dist/esm/components/data-model/data-form/views/form-view/form-view-options.d.ts +25 -0
  115. package/dist/esm/components/data-model/data-form/views/form-view/form-view-options.js +13 -0
  116. package/dist/esm/components/data-model/data-form/views/form-view/form-view-options.js.map +1 -0
  117. package/dist/esm/components/data-model/data-form/views/form-view/form-view.d.ts +40 -0
  118. package/dist/esm/components/data-model/data-form/views/form-view/form-view.js +78 -0
  119. package/dist/esm/components/data-model/data-form/views/form-view/form-view.js.map +1 -0
  120. package/dist/esm/components/data-model/data-form/views/form-view/index.d.ts +40 -0
  121. package/dist/esm/components/data-model/data-form/views/form-view/index.js +7 -0
  122. package/dist/esm/components/data-model/data-form/views/form-view/index.js.map +1 -0
  123. package/dist/esm/components/data-model/data-form/views/index.d.ts +2 -0
  124. package/dist/esm/components/data-model/data-form/views/index.js +3 -0
  125. package/dist/esm/components/data-model/data-form/views/index.js.map +1 -0
  126. package/dist/esm/components/data-model/data-form-page/data-form-page-options.d.ts +0 -31
  127. package/dist/esm/components/data-model/data-form-page/data-form-page.d.ts +1 -75
  128. package/dist/esm/components/data-model/data-form-page/index.d.ts +1 -75
  129. package/dist/esm/components/data-model/data-table/data-table.d.ts +1 -1
  130. package/dist/esm/components/data-model/data-table/data-table.js +1 -1
  131. package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
  132. package/dist/esm/components/data-model/data-table/index.d.ts +1 -1
  133. package/dist/esm/components/data-model/data-table/views/table/index.d.ts +2 -2
  134. package/dist/esm/components/data-model/data-table/views/table/index.js +2 -1
  135. package/dist/esm/components/data-model/data-table/views/table/index.js.map +1 -1
  136. package/dist/esm/components/data-model/data-tree/data-tree.d.ts +1 -1
  137. package/dist/esm/components/data-model/data-tree/index.d.ts +1 -1
  138. package/dist/esm/components/data-model/data-tree-page/data-tree-page.d.ts +1 -1
  139. package/dist/esm/components/data-model/data-tree-page/data-tree-page.js +9 -1
  140. package/dist/esm/components/data-model/data-tree-page/data-tree-page.js.map +1 -1
  141. package/dist/esm/components/data-model/data-tree-page/index.d.ts +1 -1
  142. package/dist/esm/components/data-model/index.js +2 -0
  143. package/dist/esm/components/data-model/index.js.map +1 -1
  144. package/dist/esm/components/image-select/image-select.js +4 -2
  145. package/dist/esm/components/image-select/image-select.js.map +1 -1
  146. package/dist/esm/components/index.js +2 -0
  147. package/dist/esm/components/index.js.map +1 -1
  148. package/dist/esm/components/markdown-editor/markdown-editor.js +18 -20
  149. package/dist/esm/components/markdown-editor/markdown-editor.js.map +1 -1
  150. package/dist/esm/components/material-list/index.d.ts +2 -0
  151. package/dist/esm/components/material-list/material-list-options.d.ts +2 -1
  152. package/dist/esm/components/material-list/material-list-options.js +2 -1
  153. package/dist/esm/components/material-list/material-list-options.js.map +1 -1
  154. package/dist/esm/components/material-list/material-list.vue.d.ts +3 -0
  155. package/dist/esm/components/material-list/material-list.vue2.js +2 -1
  156. package/dist/esm/components/material-list/material-list.vue2.js.map +1 -1
  157. package/dist/esm/components/material-select/material-select-api.js +3 -3
  158. package/dist/esm/components/material-select/material-select-api.js.map +1 -1
  159. package/dist/esm/components/material-select/material-select-options.d.ts +8 -1
  160. package/dist/esm/components/material-select/material-select-options.js +5 -1
  161. package/dist/esm/components/material-select/material-select-options.js.map +1 -1
  162. package/dist/esm/components/material-select/material-select-type.d.ts +4 -2
  163. package/dist/esm/components/material-select/material-select.d.ts +15 -1
  164. package/dist/esm/components/material-select/material-select.js +10 -2
  165. package/dist/esm/components/material-select/material-select.js.map +1 -1
  166. package/dist/esm/components/rich-text-editor/rich-text-editor.d.ts +2 -1
  167. package/dist/esm/components/rich-text-editor/rich-text-editor.js +7 -3
  168. package/dist/esm/components/rich-text-editor/rich-text-editor.js.map +1 -1
  169. package/dist/esm/core/menu/Menu.js +1 -0
  170. package/dist/esm/core/menu/Menu.js.map +1 -1
  171. package/dist/esm/core/menu/MenuNode.d.ts +2 -0
  172. package/dist/esm/core/menu/MenuNode.js +3 -1
  173. package/dist/esm/core/menu/MenuNode.js.map +1 -1
  174. package/dist/esm/dataview/material/MaterialMan.d.ts +3 -0
  175. package/dist/esm/dataview/material/MaterialMan.js +12 -0
  176. package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
  177. package/dist/esm/dataview/menu/MenuForm.d.ts +2 -2
  178. package/dist/esm/dataview/menu/MenuForm.js +4 -4
  179. package/dist/esm/dataview/menu/MenuForm.js.map +1 -1
  180. package/dist/esm/index.js +2 -0
  181. package/dist/esm/index.js.map +1 -1
  182. package/dist/esm/layouts/default/components/bar/index.js +9 -7
  183. package/dist/esm/layouts/default/components/bar/index.js.map +1 -1
  184. package/dist/esm/layouts/default/components/bar/settings.d.ts +39 -0
  185. package/dist/esm/layouts/default/components/bar/settings.js +111 -0
  186. package/dist/esm/layouts/default/components/bar/settings.js.map +1 -0
  187. package/dist/esm/layouts/default/index.js +1 -1
  188. package/dist/esm/layouts/default/index.js.map +1 -1
  189. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/content/default/content.js +2 -0
  190. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/content/default/content.js.map +1 -0
  191. package/dist/style/components/data-form-page.css +1 -1
  192. package/dist/style/components/data-form.css +0 -1
  193. package/dist/style/components/data-table-page.css +1 -1
  194. package/dist/style/components/data-table.css +0 -1
  195. package/dist/style/components/form-view.css +1 -0
  196. package/dist/style/components/index.css +1 -1
  197. package/dist/style/components/material-item.css +1 -1
  198. package/dist/style/index.css +2 -2
  199. package/dist/style/layouts/default/bar.css +1 -1
  200. package/dist/style/layouts/default/index.css +1 -1
  201. package/dist/style/layouts/index.css +1 -1
  202. package/dist/style/src/components/data-form-page.scss +4 -0
  203. package/dist/style/src/components/data-form.scss +0 -23
  204. package/dist/style/src/components/data-table-page.scss +1 -0
  205. package/dist/style/src/components/data-table.scss +1 -1
  206. package/dist/style/src/components/form-view.scss +26 -0
  207. package/dist/style/src/components/index.scss +1 -0
  208. package/dist/style/src/components/material-item.scss +3 -0
  209. package/dist/style/src/layouts/default/bar.scss +29 -11
  210. package/package.json +2 -2
  211. package/src/components/data-model/data-form/data-form-options.ts +0 -3
  212. package/src/components/data-model/data-form/data-form.tsx +46 -64
  213. package/src/components/data-model/data-form/index.ts +2 -0
  214. package/src/components/data-model/data-form/views/form/form-options.ts +16 -0
  215. package/src/components/data-model/data-form/{inner-data-form.tsx → views/form/form.tsx} +10 -69
  216. package/src/components/data-model/data-form/views/form/index.ts +6 -0
  217. package/src/components/data-model/data-form/views/form-view/form-view-options.ts +17 -0
  218. package/src/components/data-model/data-form/views/form-view/form-view.tsx +70 -0
  219. package/src/components/data-model/data-form/views/form-view/index.ts +6 -0
  220. package/src/components/data-model/data-form/views/index.ts +2 -0
  221. package/src/components/data-model/data-table/data-table.tsx +1 -1
  222. package/src/components/data-model/data-table/views/table/index.ts +2 -1
  223. package/src/components/data-model/data-tree-page/data-tree-page.tsx +6 -1
  224. package/src/components/image-select/image-select.tsx +4 -2
  225. package/src/components/markdown-editor/markdown-editor.tsx +59 -25
  226. package/src/components/material-list/material-list-options.ts +3 -2
  227. package/src/components/material-list/material-list.vue +2 -1
  228. package/src/components/material-select/material-select-api.ts +4 -3
  229. package/src/components/material-select/material-select-options.ts +5 -1
  230. package/src/components/material-select/material-select-type.ts +4 -2
  231. package/src/components/material-select/material-select.tsx +16 -3
  232. package/src/components/rich-text-editor/rich-text-editor.tsx +9 -4
  233. package/src/core/menu/Menu.ts +1 -0
  234. package/src/core/menu/MenuNode.ts +5 -1
  235. package/src/dataview/material/MaterialMan.ts +17 -0
  236. package/src/dataview/menu/MenuForm.ts +6 -6
  237. package/src/layouts/default/components/bar/index.tsx +27 -16
  238. package/src/layouts/default/components/bar/settings.tsx +63 -0
  239. package/src/layouts/default/index.tsx +5 -3
  240. package/dist/cjs/components/data-model/data-form/inner-data-form-options.d.ts +0 -42
  241. package/dist/cjs/components/data-model/data-form/inner-data-form-options.js +0 -19
  242. package/dist/cjs/components/data-model/data-form/inner-data-form-options.js.map +0 -1
  243. package/dist/cjs/components/data-model/data-form/inner-data-form.d.ts +0 -92
  244. package/dist/cjs/components/data-model/data-form/inner-data-form.js.map +0 -1
  245. package/dist/esm/components/data-model/data-form/inner-data-form-options.d.ts +0 -42
  246. package/dist/esm/components/data-model/data-form/inner-data-form-options.js +0 -17
  247. package/dist/esm/components/data-model/data-form/inner-data-form-options.js.map +0 -1
  248. package/dist/esm/components/data-model/data-form/inner-data-form.d.ts +0 -92
  249. package/dist/esm/components/data-model/data-form/inner-data-form.js.map +0 -1
  250. package/src/components/data-model/data-form/inner-data-form-options.ts +0 -17
@@ -12,6 +12,7 @@ import {
12
12
  import { ElButton, ElDialog, ElMessage, ElCard } from "element-plus";
13
13
  import { Search } from "@element-plus/icons-vue";
14
14
  import { useI18n } from "../../../composables";
15
+ import { MKForm } from "../data-form";
15
16
  import MKDataTree from "../data-tree/data-tree";
16
17
  import MKDataForm from "../data-form/data-form";
17
18
  import { dataTreePageProps } from "./data-tree-page-options";
@@ -81,6 +82,7 @@ export default defineComponent({
81
82
  };
82
83
 
83
84
  const handleCancel = () => {
85
+ unref(dataForm).cancel();
84
86
  isShowForm.value = false;
85
87
  };
86
88
 
@@ -190,7 +192,10 @@ export default defineComponent({
190
192
  <MKDataForm
191
193
  {...unref(attrs)}
192
194
  dataForm={unref(dataForm)}
193
- v-slots={unref(dataFormSlots)}
195
+ v-slots={{
196
+ ...unref(dataFormSlots),
197
+ default: () => <MKForm dataForm={unref(dataForm)} />,
198
+ }}
194
199
  />
195
200
  </ElDialog>
196
201
  </ElCard>
@@ -16,10 +16,12 @@ export default defineComponent({
16
16
  });
17
17
 
18
18
  const handleSelectClick = async (e: MouseEvent) => {
19
- const response = await MKMaterialSelect();
19
+ const response = await MKMaterialSelect({
20
+ allowMaterialTypeValues: ["1"],
21
+ });
20
22
 
21
23
  if (response.success) {
22
- modelValue.value = response.data;
24
+ modelValue.value = response.path;
23
25
  }
24
26
  };
25
27
 
@@ -9,14 +9,13 @@ import {
9
9
  } from "vue";
10
10
  // @ts-ignore
11
11
  import Vditor from "vditor";
12
- // import "vditor/dist/index.css";
13
12
  import {
14
13
  markdownEditorEmits,
15
14
  markdownEditorProps,
16
15
  } from "./markdown-editor-options";
17
16
  import { Disposable, createDisposable } from "@maketribe/utils";
18
17
  import { WebFileUpload } from "@maketribe/request";
19
- import { ElMessage } from "element-plus";
18
+ import { MKMaterialSelect } from "../material-select";
20
19
 
21
20
  let uid = 0;
22
21
 
@@ -42,32 +41,67 @@ export default defineComponent({
42
41
 
43
42
  const vditor = new Vditor(unref(markdownEl)!, {
44
43
  cache: { id: `vditor${_uid}` },
45
- upload: {
46
- handler: async (files: File[]) => {
47
- if (!files.length) {
48
- return null;
49
- }
50
-
51
- try {
52
- const response = await webFileUpload.upload(files[0]);
53
-
54
- if (response.data.code !== 200) {
55
- ElMessage.error(response.data.msg);
56
- return null;
44
+ toolbar: [
45
+ "emoji",
46
+ "headings",
47
+ "bold",
48
+ "italic",
49
+ "strike",
50
+ "link",
51
+ "|",
52
+ "list",
53
+ "ordered-list",
54
+ "check",
55
+ "outdent",
56
+ "indent",
57
+ "|",
58
+ "quote",
59
+ "line",
60
+ "code",
61
+ "inline-code",
62
+ "insert-before",
63
+ "insert-after",
64
+ "|",
65
+ {
66
+ name: "material",
67
+ tipPosition: "s",
68
+ tip: "素材",
69
+ icon: `<svg><use xlink:href="#icon-image" /></svg>`,
70
+ click: async () => {
71
+ const response = await MKMaterialSelect({
72
+ allowMaterialTypeValues: ["1"],
73
+ });
74
+
75
+ if (!response.success) {
76
+ return;
57
77
  }
58
78
 
59
- vditor.insertValue(`![图片](${response.data.data.path})`);
60
-
61
- return response.data.data.path;
62
- } catch (e) {
63
- console.error(e);
64
-
65
- ElMessage.error("网络异常");
66
-
67
- return null;
68
- }
79
+ vditor.insertValue(`![图片](${response.path})`);
80
+ },
81
+ },
82
+ "record",
83
+ "table",
84
+ "|",
85
+ "undo",
86
+ "redo",
87
+ "|",
88
+ "fullscreen",
89
+ "edit-mode",
90
+ {
91
+ name: "more",
92
+ toolbar: [
93
+ "both",
94
+ "code-theme",
95
+ "content-theme",
96
+ "export",
97
+ "outline",
98
+ "preview",
99
+ "devtools",
100
+ "info",
101
+ "help",
102
+ ],
69
103
  },
70
- } as any,
104
+ ],
71
105
  after: () => {
72
106
  vditor!.setValue(modelValue.value || "");
73
107
 
@@ -1,6 +1,6 @@
1
1
  import { ExtractPropTypes } from "vue";
2
2
  import { buildProps } from "@maketribe/utils";
3
- import { MaterialMan } from "../../dataview";
3
+ import { Material, MaterialMan } from "../../dataview";
4
4
 
5
5
  export const materialListProps = buildProps({
6
6
  materialMan: {
@@ -19,5 +19,6 @@ export const materialListProps = buildProps({
19
19
  export type MaterialListProps = ExtractPropTypes<typeof materialListProps>;
20
20
 
21
21
  export const materialListEmits = {
22
- "update:selected-path": (path: any) => typeof path === "string",
22
+ "update:selected-path": (path: any) => true,
23
+ selectedChange: (material: Material) => true,
23
24
  };
@@ -119,7 +119,7 @@ const changePageSize = (v: number) => {
119
119
  };
120
120
 
121
121
  const materialList = computed(() => unref(materialTable).getList());
122
- const materialTypes = computed(() => props.materialMan.materialTypes);
122
+ const materialTypes = computed(() => props.materialMan.getMaterialType());
123
123
  const currentMaterialTypeId = computed(
124
124
  () => props.materialMan.currentMaterialTypeId
125
125
  );
@@ -145,5 +145,6 @@ const handleMaterialItemClick = (event: MouseEvent, material: Material) => {
145
145
  event.stopPropagation();
146
146
 
147
147
  value.value = material.path;
148
+ emit("selectedChange", material);
148
149
  };
149
150
  </script>
@@ -4,6 +4,7 @@ import type {
4
4
  IMKMaterialSelect,
5
5
  MKMaterialSelectOptions,
6
6
  } from "./material-select-type";
7
+ import { Material } from "../../dataview";
7
8
 
8
9
  const initInstance = (
9
10
  props: any,
@@ -35,11 +36,11 @@ async function MaterialSelect(
35
36
  showDialog(
36
37
  {
37
38
  ...options,
38
- onSelect: (path: string) => {
39
- resolve({ success: true, data: path });
39
+ onMaterialChange: (material: Material) => {
40
+ resolve({ success: true, data: material, path: material.path });
40
41
  },
41
42
  onCancel: () => {
42
- resolve({ success: false, data: "" });
43
+ resolve({ success: false, data: null, path: "" });
43
44
  },
44
45
  },
45
46
  appContext ?? (MaterialSelect as unknown as IMKMaterialSelect)._context
@@ -1,15 +1,19 @@
1
1
  import { ExtractPropTypes } from "vue";
2
- import { MaterialMan } from "../../dataview";
2
+ import { Material, MaterialMan, MaterialType } from "../../dataview";
3
3
  import { buildProps } from "@maketribe/utils";
4
4
 
5
5
  export const materialSelectProps = buildProps({
6
6
  materialMan: { type: MaterialMan },
7
7
  modelValue: { type: String },
8
+ allowMaterialTypeValues: {
9
+ type: Array<MaterialType["value"]>,
10
+ },
8
11
  });
9
12
 
10
13
  export type MaterialSelectProps = ExtractPropTypes<typeof materialSelectProps>;
11
14
 
12
15
  export const materialSelectEmits = {
16
+ materialChange: (material: Material) => true,
13
17
  "update:model-value": (path: any) => typeof path === "string",
14
18
  select: (path: any) => typeof path === "string",
15
19
  cancel: () => true,
@@ -1,14 +1,16 @@
1
- import { MaterialMan } from "../../dataview";
1
+ import { Material, MaterialMan, MaterialType } from "../../dataview";
2
2
  import type { AppContext } from "vue";
3
3
 
4
4
  export interface MKMaterialSelectOptions {
5
5
  materialMan?: MaterialMan;
6
+ allowMaterialTypeValues: MaterialType["value"][];
6
7
  }
7
8
 
8
9
  export interface IMKMaterialSelect {
9
10
  (options?: MKMaterialSelectOptions, appContext?: AppContext): Promise<{
10
11
  success: boolean;
11
- data: string;
12
+ data: Material | null;
13
+ path: string;
12
14
  }>;
13
15
  _context: AppContext | null;
14
16
  }
@@ -14,7 +14,7 @@ import {
14
14
  materialSelectProps,
15
15
  } from "./material-select-options";
16
16
  import { MaterialComponents } from "../../core";
17
- import { MaterialMan } from "../../dataview";
17
+ import { Material, MaterialMan } from "../../dataview";
18
18
  import { useHttpRequest } from "../../composables/use-http-request";
19
19
 
20
20
  export default defineComponent({
@@ -32,6 +32,7 @@ export default defineComponent({
32
32
  ) as MaterialMan);
33
33
 
34
34
  const selectedPath = ref("");
35
+ const selectedMaterial: Ref<Material | null> = ref(null);
35
36
  const visible: Ref<boolean> = ref(true);
36
37
 
37
38
  watch(
@@ -42,10 +43,21 @@ export default defineComponent({
42
43
  { immediate: true }
43
44
  );
44
45
 
46
+ watch(
47
+ computed(() => props.allowMaterialTypeValues),
48
+ (allowMaterialTypeValues) => {
49
+ materialMan.setAllowAccessMaterialTypeValues(
50
+ allowMaterialTypeValues ?? []
51
+ );
52
+ },
53
+ { immediate: true }
54
+ );
55
+
45
56
  const handleConfirmClick = () => {
46
57
  visible.value = false;
47
58
  emit("update:model-value", unref(selectedPath));
48
59
  emit("select", unref(selectedPath));
60
+ emit("materialChange", unref(selectedMaterial)!);
49
61
  };
50
62
 
51
63
  const handleCancelClick = () => {
@@ -80,8 +92,9 @@ export default defineComponent({
80
92
  >
81
93
  <MaterialList
82
94
  selectedPath={unref(selectedPath)}
83
- onUpdate:selected-path={(v: string) => {
84
- selectedPath.value = v;
95
+ onSelectedChange={(material: Material) => {
96
+ selectedPath.value = material.path;
97
+ selectedMaterial.value = material;
85
98
  }}
86
99
  class="mk-material-select__list"
87
100
  materialMan={materialMan}
@@ -10,12 +10,12 @@ import {
10
10
  } from "vue";
11
11
  import { MKMaterialSelect } from "../material-select";
12
12
  import TinyMCE from "tinymce";
13
+ import "tinymce/skins/ui/oxide/content.js";
14
+ import "tinymce/skins/content/default/content.js";
13
15
  import "tinymce/themes/silver/theme.min.js";
14
16
  import "tinymce/models/dom/model.min.js";
15
17
  import "tinymce/icons/default/icons.min.js";
16
- import "tinymce/skins/ui/oxide/content.js";
17
18
  import "tinymce/skins/ui/oxide/skin.js";
18
- // import "tinymce/plugins/image";
19
19
  import "tinymce/plugins/link";
20
20
  import "tinymce/plugins/table";
21
21
  import "tinymce/plugins/fullscreen";
@@ -39,6 +39,7 @@ export default defineComponent({
39
39
  plugins: ["link", "table", "fullscreen"],
40
40
  branding: false,
41
41
  menubar: false,
42
+ content_css: "ui/default/content.css",
42
43
  toolbar:
43
44
  "undo redo | bold italic underline strikethrough | alignleft aligncenter alignright | outdent indent | link | material | table | hr | removeformat | fullscreen",
44
45
  language: "zh-Hans",
@@ -46,13 +47,17 @@ export default defineComponent({
46
47
  editor.ui.registry.addButton("material", {
47
48
  icon: "image",
48
49
  onAction: async () => {
49
- const response = await MKMaterialSelect();
50
+ const response = await MKMaterialSelect({
51
+ allowMaterialTypeValues: ["1"],
52
+ });
50
53
 
51
54
  if (!response.success) {
52
55
  return;
53
56
  }
54
57
 
55
- editor.insertContent(`<img src="${response.data}" alt="">`);
58
+ editor.insertContent(
59
+ `<img src="${response.path}" alt="${response.data!.id}">`
60
+ );
56
61
  },
57
62
  });
58
63
 
@@ -43,6 +43,7 @@ export class Menu extends Disposable {
43
43
  return new MenuNode({
44
44
  id: menuInfo.id,
45
45
  route,
46
+ type: menuInfo.type,
46
47
  iconName: menuInfo.iconName || "",
47
48
  title: menuInfo.title || "",
48
49
  permissionPoints,
@@ -8,6 +8,7 @@ interface MenuNodeOptions {
8
8
  title: string;
9
9
  permissionPoints: PermissionPoint[];
10
10
  children: MenuNode[];
11
+ type: string;
11
12
  parent?: MenuNode | null;
12
13
  }
13
14
 
@@ -18,15 +19,18 @@ export class MenuNode {
18
19
  title: string;
19
20
  permissionPoints: PermissionPoint[];
20
21
  route: Route | null;
22
+ type: string;
21
23
  children: MenuNode[];
22
24
  parent: MenuNode | null;
23
25
 
24
26
  constructor(options: MenuNodeOptions) {
25
- const { id, children, route, iconName, title, permissionPoints } = options;
27
+ const { id, children, route, iconName, title, permissionPoints, type } =
28
+ options;
26
29
 
27
30
  this.id = id;
28
31
  this.route = route ?? null;
29
32
  this.iconName = iconName;
33
+ this.type = type;
30
34
  this.title = title;
31
35
  this.children = children;
32
36
  this.parent = options.parent ?? null;
@@ -19,6 +19,7 @@ export class MaterialMan {
19
19
  currentMaterialTypeId: MaterialType["value"] | null;
20
20
 
21
21
  materialTypes: MaterialType[] = [];
22
+ materialTypeValues: MaterialType["value"][] = [];
22
23
 
23
24
  materialGroupTable: MaterialGroupTable;
24
25
  materialTable: MaterialTable;
@@ -144,6 +145,22 @@ export class MaterialMan {
144
145
  this.initd = true;
145
146
  }
146
147
 
148
+ setAllowAccessMaterialTypeValues(
149
+ materialTypeValues: MaterialType["value"][]
150
+ ) {
151
+ this.materialTypeValues = materialTypeValues;
152
+ }
153
+
154
+ getMaterialType() {
155
+ if (!this.materialTypeValues.length) {
156
+ return this.materialTypes;
157
+ }
158
+
159
+ return this.materialTypes.filter((materialType) =>
160
+ this.materialTypeValues.includes(materialType.value)
161
+ );
162
+ }
163
+
147
164
  setCurrentMaterialGroupId(materialGoupId: MaterialGroupNode["id"] | null) {
148
165
  this.currentMaterialGroupId = materialGoupId;
149
166
 
@@ -23,7 +23,7 @@ export type MenuResult = {
23
23
  pid: string | null;
24
24
  routeId: string;
25
25
  sort: string;
26
- type: number;
26
+ type: string;
27
27
  routes: RouteResult[];
28
28
  permissionPoints: PermissionPointDefine[];
29
29
  };
@@ -35,7 +35,7 @@ export type MenuItem = {
35
35
  pid: string;
36
36
  routeId: string;
37
37
  sort: string;
38
- type: number;
38
+ type: string;
39
39
  routes: RouteResult[];
40
40
  permissionPoints: PermissionPointDefine[];
41
41
  };
@@ -112,16 +112,16 @@ export class MenuForm extends DataForm<MenuResult, MenuItem> {
112
112
  this.register(
113
113
  this.formItemValueChangeEvent.on(({ formItem }) => {
114
114
  if (formItem.name === "type") {
115
- this.getColumn("routes")!.visible = this.data?.type !== 1;
116
- this.getColumn("permissionPoints")!.visible = this.data?.type !== 1;
115
+ this.getColumn("routes")!.visible = this.data?.type !== "1";
116
+ this.getColumn("permissionPoints")!.visible = this.data?.type !== "1";
117
117
  }
118
118
  })
119
119
  );
120
120
 
121
121
  this.register(
122
122
  this.dataChangeEvent.on(({}) => {
123
- this.getColumn("routes")!.visible = this.data?.type !== 1;
124
- this.getColumn("permissionPoints")!.visible = this.data?.type !== 1;
123
+ this.getColumn("routes")!.visible = this.data?.type !== "1";
124
+ this.getColumn("permissionPoints")!.visible = this.data?.type !== "1";
125
125
  })
126
126
  );
127
127
 
@@ -1,6 +1,7 @@
1
1
  import { computed, defineComponent, unref } from "vue";
2
2
  import { MKSvgIcon } from "../../../../components";
3
3
  import { MSAppClient, MenuNode } from "../../../../core";
4
+ import MKBarSettings from "./settings";
4
5
 
5
6
  export const MKBar = defineComponent({
6
7
  name: "MKBar",
@@ -34,21 +35,33 @@ export const MKBar = defineComponent({
34
35
  };
35
36
 
36
37
  return () => {
37
- const barItems = menu.rootMenus.map((rootMenu) => (
38
- <div
39
- class={[
40
- "mk-bar__item",
41
- rootMenu.children.length ? "has-children" : "",
42
- unref(currentBarItem)?.id === rootMenu.id ? "is-active" : "",
43
- ]}
44
- onClick={() => handleBarItemClick(rootMenu)}
45
- >
46
- <div class="mk-bar__item-button">
47
- <MKSvgIcon iconClass={rootMenu.iconName} />
38
+ const barItems = menu.rootMenus
39
+ .filter((rootMenu) => rootMenu.type !== "3")
40
+ .map((rootMenu) => (
41
+ <div
42
+ class={[
43
+ "mk-bar__item",
44
+ rootMenu.children.length ? "has-children" : "",
45
+ unref(currentBarItem)?.id === rootMenu.id ? "is-active" : "",
46
+ ]}
47
+ onClick={() => handleBarItemClick(rootMenu)}
48
+ >
49
+ <div class="mk-bar__item-button">
50
+ <MKSvgIcon iconClass={rootMenu.iconName} />
51
+ </div>
52
+ <div class="mk-bar__item-title">{rootMenu.title} </div>
48
53
  </div>
49
- <div class="mk-bar__item-title">{rootMenu.title} </div>
54
+ ));
55
+
56
+ const systemSettingNode = menu.rootMenus.find(
57
+ (rootMenu) => rootMenu.type === "3"
58
+ );
59
+
60
+ const footer = systemSettingNode?.children.length ? (
61
+ <div class="mk-bar__footer">
62
+ <MKBarSettings menuItems={systemSettingNode.children} />
50
63
  </div>
51
- ));
64
+ ) : null;
52
65
 
53
66
  return (
54
67
  <div class="mk-bar">
@@ -61,9 +74,7 @@ export const MKBar = defineComponent({
61
74
 
62
75
  <div class="mk-bar__items">{barItems}</div>
63
76
 
64
- <div class="mk-bar__footer">
65
- <MKSvgIcon class="mk-bar__setting" iconClass="Setting" />
66
- </div>
77
+ {footer}
67
78
  </div>
68
79
  );
69
80
  };
@@ -0,0 +1,63 @@
1
+ import { Fragment, defineComponent, ref, unref } from "vue";
2
+ import { ElPopover, progressProps } from "element-plus";
3
+ import { MKSvgIcon } from "../../../../components";
4
+ import { MSAppClient, MenuNode } from "../../../../core";
5
+
6
+ export default defineComponent({
7
+ name: "MKBarSettings",
8
+ props: {
9
+ menuItems: {
10
+ type: Array<MenuNode>,
11
+ required: true,
12
+ },
13
+ },
14
+ setup(props, { emit }) {
15
+ const isVisible = ref(false);
16
+
17
+ const userSession = MSAppClient.instance!.userSession!;
18
+ const menu = userSession.menu;
19
+ const router = userSession.router;
20
+
21
+ const handleItemClick = (menuNode: MenuNode) => {
22
+ isVisible.value = false;
23
+
24
+ const item = menu.findMenuNodeByID(menuNode.id);
25
+
26
+ if (item?.route) {
27
+ router.changeRoute({ name: item.route.name });
28
+ }
29
+ };
30
+
31
+ return () => {
32
+ return (
33
+ <ElPopover
34
+ visible={unref(isVisible)}
35
+ onUpdate:visible={(visible: boolean) => (isVisible.value = visible)}
36
+ trigger="click"
37
+ placement="right"
38
+ v-slots={{
39
+ reference: () => (
40
+ <MKSvgIcon class="mk-bar-settings__icon" iconClass="Setting" />
41
+ ),
42
+ default: () => {
43
+ const children = props.menuItems.map((menuItem) => (
44
+ <div
45
+ class="mk-bar-settings__item"
46
+ onClick={() => handleItemClick(menuItem)}
47
+ >
48
+ <MKSvgIcon
49
+ class="mk-bar-settings__item-icon"
50
+ iconClass={menuItem.iconName}
51
+ />
52
+ {menuItem.title}
53
+ </div>
54
+ ));
55
+
56
+ return <Fragment>{children}</Fragment>;
57
+ },
58
+ }}
59
+ />
60
+ );
61
+ };
62
+ },
63
+ });
@@ -36,9 +36,11 @@ export const MKLayoutDefault = defineComponent({
36
36
 
37
37
  function handleCurrentMenuChange() {
38
38
  currentBarItem.value = menu.getCurrentMenuNode()
39
- ? menu.rootMenus.find((item) =>
40
- includeMenuNode(item, menu.getCurrentMenuNode()!)
41
- ) ?? null
39
+ ? menu.rootMenus
40
+ .filter((rootMenu) => rootMenu.type !== "3")
41
+ .find((item) =>
42
+ includeMenuNode(item, menu.getCurrentMenuNode()!)
43
+ ) ?? null
42
44
  : null;
43
45
  }
44
46
 
@@ -1,42 +0,0 @@
1
- import { ExtractPropTypes } from "vue";
2
- import { DataForm } from "@maketribe/dm";
3
- export declare const innerDataFormProps: {
4
- readonly dataForm: {
5
- readonly type: import("vue").PropType<DataForm<any, any, import("@maketribe/dm").FormColumn>>;
6
- readonly required: true;
7
- readonly validator: ((val: unknown) => boolean) | undefined;
8
- __mkPropKey: true;
9
- };
10
- readonly rules: {
11
- readonly type: import("vue").PropType<Record<string, any>>;
12
- readonly required: false;
13
- readonly validator: ((val: unknown) => boolean) | undefined;
14
- __mkPropKey: true;
15
- };
16
- readonly model: ObjectConstructor;
17
- readonly labelPosition: import("@maketribe/utils").PropFinalized<(new (...args: any[]) => "right" | "left" | "top") | (() => import("element-plus/es/utils").EpPropMergeType<StringConstructor, "right" | "left" | "top", unknown>) | ((new (...args: any[]) => "right" | "left" | "top") | (() => import("element-plus/es/utils").EpPropMergeType<StringConstructor, "right" | "left" | "top", unknown>))[], unknown, unknown, "right", false>;
18
- readonly requireAsteriskPosition: import("@maketribe/utils").PropFinalized<(new (...args: any[]) => "right" | "left") | (() => import("element-plus/es/utils").EpPropMergeType<StringConstructor, "right" | "left", unknown>) | ((new (...args: any[]) => "right" | "left") | (() => import("element-plus/es/utils").EpPropMergeType<StringConstructor, "right" | "left", unknown>))[], unknown, unknown, "left", false>;
19
- readonly labelWidth: import("@maketribe/utils").PropFinalized<(new (...args: any[]) => string | number) | (() => import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>) | ((new (...args: any[]) => string | number) | (() => import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>))[], unknown, unknown, "", false>;
20
- readonly labelSuffix: import("@maketribe/utils").PropFinalized<(new (...args: any[]) => string) | (() => string) | ((new (...args: any[]) => string) | (() => string))[], unknown, unknown, "", false>;
21
- readonly inline: BooleanConstructor;
22
- readonly inlineMessage: BooleanConstructor;
23
- readonly statusIcon: BooleanConstructor;
24
- readonly showMessage: import("@maketribe/utils").PropFinalized<(new (...args: any[]) => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>) | (() => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>) | ((new (...args: any[]) => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>) | (() => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>))[], unknown, unknown, true, false>;
25
- readonly validateOnRuleChange: import("@maketribe/utils").PropFinalized<(new (...args: any[]) => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>) | (() => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>) | ((new (...args: any[]) => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>) | (() => import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>))[], unknown, unknown, true, false>;
26
- readonly hideRequiredAsterisk: BooleanConstructor;
27
- readonly scrollToError: BooleanConstructor;
28
- readonly scrollIntoViewOptions: {
29
- readonly type: import("vue").PropType<import("@maketribe/utils").PropMergeType<(new (...args: any[]) => boolean | Record<string, any>) | (() => import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>) | ((new (...args: any[]) => boolean | Record<string, any>) | (() => import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>))[], unknown, unknown>>;
30
- readonly required: false;
31
- readonly validator: ((val: unknown) => boolean) | undefined;
32
- __mkPropKey: true;
33
- };
34
- readonly size: {
35
- readonly type: import("vue").PropType<import("@maketribe/utils").PropMergeType<(new (...args: any[]) => "" | "default" | "small" | "large") | (() => import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>) | ((new (...args: any[]) => "" | "default" | "small" | "large") | (() => import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>))[], unknown, unknown>>;
36
- readonly required: false;
37
- readonly validator: ((val: unknown) => boolean) | undefined;
38
- __mkPropKey: true;
39
- };
40
- readonly disabled: BooleanConstructor;
41
- };
42
- export type InnerDataFormProps = ExtractPropTypes<typeof innerDataFormProps>;
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- var elementPlus = require('element-plus');
4
- var dm = require('@maketribe/dm');
5
- var utils = require('@maketribe/utils');
6
-
7
- const innerDataFormProps = utils.buildProps({
8
- ...elementPlus.formProps,
9
- dataForm: {
10
- type: dm.DataForm,
11
- required: true
12
- },
13
- rules: {
14
- type: Object
15
- }
16
- });
17
-
18
- exports.innerDataFormProps = innerDataFormProps;
19
- //# sourceMappingURL=inner-data-form-options.js.map