@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
@@ -1,3 +1,4 @@
1
+ import { Material } from "../../dataview";
1
2
  declare const _default: import("vue").DefineComponent<{
2
3
  materialMan: {
3
4
  readonly type: import("vue").PropType<import("../../dataview").MaterialMan>;
@@ -14,6 +15,7 @@ declare const _default: import("vue").DefineComponent<{
14
15
  };
15
16
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
17
  "update:selected-path": (path: any) => boolean;
18
+ selectedChange: (material: Material) => boolean;
17
19
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
20
  materialMan: {
19
21
  readonly type: import("vue").PropType<import("../../dataview").MaterialMan>;
@@ -30,6 +32,7 @@ declare const _default: import("vue").DefineComponent<{
30
32
  };
31
33
  }>> & {
32
34
  "onUpdate:selected-path"?: ((path: any) => any) | undefined;
35
+ onSelectedChange?: ((material: Material) => any) | undefined;
33
36
  }, {
34
37
  selectable: import("@maketribe/utils").PropMergeType<BooleanConstructor, unknown, unknown>;
35
38
  }, {}>;
@@ -54,7 +54,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
54
54
  pageSize.value = v;
55
55
  };
56
56
  const materialList = computed(() => unref(materialTable).getList());
57
- const materialTypes = computed(() => props.materialMan.materialTypes);
57
+ const materialTypes = computed(() => props.materialMan.getMaterialType());
58
58
  const currentMaterialTypeId = computed(
59
59
  () => props.materialMan.currentMaterialTypeId
60
60
  );
@@ -74,6 +74,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
74
74
  event.preventDefault();
75
75
  event.stopPropagation();
76
76
  value.value = material.path;
77
+ emit("selectedChange", material);
77
78
  };
78
79
  return (_ctx, _cache) => {
79
80
  const _component_ElButton = resolveComponent("ElButton");
@@ -1 +1 @@
1
- {"version":3,"file":"material-list.vue2.js","sources":["../../../../src/components/material-list/material-list.vue"],"sourcesContent":["<template>\n <div class=\"mk-material-list\">\n <MaterialGroup :material-man=\"materialMan\" />\n <div class=\"mk-material-list__main\" v-loading=\"loading\">\n <div class=\"mk-material-list__header\">\n <div class=\"mk-material-list__header-left\">\n <div class=\"mk-material-list__types\">\n <div\n v-for=\"item of materialTypes\"\n :key=\"item.value\"\n :class=\"[\n 'mk-material-list__type',\n currentMaterialTypeId === item.value ? 'is-active' : '',\n ]\"\n @click=\"handleMaterialTypeClick(item)\"\n >\n {{ item.label }}\n </div>\n </div>\n </div>\n <div class=\"mk-material-list__header-right\">\n <template v-if=\"currentMaterialType\">\n {{ currentMaterialType.label }}大小不超过\n {{ currentMaterialType.limit }} M\n <MKUploadFile\n :upload=\"materialMan.upload\"\n :accept=\"currentMaterialType.accept\"\n >\n <ElButton type=\"primary\">\n 选择{{ currentMaterialType.label }}\n </ElButton>\n </MKUploadFile>\n </template>\n </div>\n </div>\n\n <div class=\"mk-material-list__body\">\n <ElScrollbar height=\"100%\">\n <div class=\"mk-material-list__wrapper\">\n <MaterialItem\n v-for=\"material of materialList\"\n :key=\"material.id\"\n :class=\"[\n 'mk-material-list__item',\n value === material.path ? 'is-current' : '',\n ]\"\n :material-table=\"materialTable\"\n :material=\"material\"\n @click.capture=\"handleMaterialItemClick($event, material)\"\n />\n </div>\n </ElScrollbar>\n <div class=\"mk-material-list__footer\">\n <ElPagination\n class=\"mk-data-table-pagination\"\n :background=\"true\"\n :pageSizes=\"unref(pageSizes)\"\n :currentPage=\"unref(currentPage)\"\n :pageSize=\"unref(pageSize)\"\n :total=\"unref(totalRecCount)\"\n layout=\"prev, pager, next\"\n @current-change=\"changeCurrentPage\"\n @size-change=\"changePageSize\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, watch } from \"vue\";\nimport { ElPagination } from \"element-plus\";\nimport { MKUploadFile } from \"../upload-file\";\nimport { MaterialType, Material } from \"../../dataview\";\nimport MaterialGroup from \"./material-group.vue\";\nimport MaterialItem from \"./material-item.vue\";\nimport { materialListProps, materialListEmits } from \"./material-list-options\";\n\ndefineOptions({ name: \"MKMaterialList\" });\n\nconst props = defineProps(materialListProps);\n\nconst emit = defineEmits(materialListEmits);\n\nprops.materialMan.init();\n\nconst loading = computed(() => props.materialMan.materialTable.loading);\n\nconst value = computed({\n get: () => {\n return props.selectable ? props.selectedPath ?? null : null;\n },\n set: (v) => {\n emit(\"update:selected-path\", v);\n },\n});\n\nconst materialTable = computed(() => props.materialMan.materialTable);\nconst pageSizes = computed(() => unref(materialTable).pageSizes);\nconst currentPage = computed({\n get: () => unref(materialTable).currentPage,\n set: (v) => {\n unref(materialTable).pageTo(v);\n },\n});\nconst pageSize = computed({\n get: () => unref(materialTable).pageSize,\n set: (v) => {\n unref(materialTable).setPageSize(v);\n },\n});\nconst totalRecCount = computed(() => unref(materialTable).totalRecCount);\nconst changeCurrentPage = (v: number) => {\n currentPage.value = v;\n};\nconst changePageSize = (v: number) => {\n pageSize.value = v;\n};\n\nconst materialList = computed(() => unref(materialTable).getList());\nconst materialTypes = computed(() => props.materialMan.materialTypes);\nconst currentMaterialTypeId = computed(\n () => props.materialMan.currentMaterialTypeId\n);\n\nconst currentMaterialType = computed(\n () => props.materialMan.currentMaterialType\n);\n\nconst handleMaterialTypeClick = (materialType: MaterialType) => {\n if (materialType.value === unref(currentMaterialTypeId)) {\n return;\n }\n\n props.materialMan.setCurrentMaterialTypeId(materialType.value);\n};\n\nconst handleMaterialItemClick = (event: MouseEvent, material: Material) => {\n if (!props.selectable) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n value.value = material.path;\n};\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"material-list.vue2.js","sources":["../../../../src/components/material-list/material-list.vue"],"sourcesContent":["<template>\n <div class=\"mk-material-list\">\n <MaterialGroup :material-man=\"materialMan\" />\n <div class=\"mk-material-list__main\" v-loading=\"loading\">\n <div class=\"mk-material-list__header\">\n <div class=\"mk-material-list__header-left\">\n <div class=\"mk-material-list__types\">\n <div\n v-for=\"item of materialTypes\"\n :key=\"item.value\"\n :class=\"[\n 'mk-material-list__type',\n currentMaterialTypeId === item.value ? 'is-active' : '',\n ]\"\n @click=\"handleMaterialTypeClick(item)\"\n >\n {{ item.label }}\n </div>\n </div>\n </div>\n <div class=\"mk-material-list__header-right\">\n <template v-if=\"currentMaterialType\">\n {{ currentMaterialType.label }}大小不超过\n {{ currentMaterialType.limit }} M\n <MKUploadFile\n :upload=\"materialMan.upload\"\n :accept=\"currentMaterialType.accept\"\n >\n <ElButton type=\"primary\">\n 选择{{ currentMaterialType.label }}\n </ElButton>\n </MKUploadFile>\n </template>\n </div>\n </div>\n\n <div class=\"mk-material-list__body\">\n <ElScrollbar height=\"100%\">\n <div class=\"mk-material-list__wrapper\">\n <MaterialItem\n v-for=\"material of materialList\"\n :key=\"material.id\"\n :class=\"[\n 'mk-material-list__item',\n value === material.path ? 'is-current' : '',\n ]\"\n :material-table=\"materialTable\"\n :material=\"material\"\n @click.capture=\"handleMaterialItemClick($event, material)\"\n />\n </div>\n </ElScrollbar>\n <div class=\"mk-material-list__footer\">\n <ElPagination\n class=\"mk-data-table-pagination\"\n :background=\"true\"\n :pageSizes=\"unref(pageSizes)\"\n :currentPage=\"unref(currentPage)\"\n :pageSize=\"unref(pageSize)\"\n :total=\"unref(totalRecCount)\"\n layout=\"prev, pager, next\"\n @current-change=\"changeCurrentPage\"\n @size-change=\"changePageSize\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, watch } from \"vue\";\nimport { ElPagination } from \"element-plus\";\nimport { MKUploadFile } from \"../upload-file\";\nimport { MaterialType, Material } from \"../../dataview\";\nimport MaterialGroup from \"./material-group.vue\";\nimport MaterialItem from \"./material-item.vue\";\nimport { materialListProps, materialListEmits } from \"./material-list-options\";\n\ndefineOptions({ name: \"MKMaterialList\" });\n\nconst props = defineProps(materialListProps);\n\nconst emit = defineEmits(materialListEmits);\n\nprops.materialMan.init();\n\nconst loading = computed(() => props.materialMan.materialTable.loading);\n\nconst value = computed({\n get: () => {\n return props.selectable ? props.selectedPath ?? null : null;\n },\n set: (v) => {\n emit(\"update:selected-path\", v);\n },\n});\n\nconst materialTable = computed(() => props.materialMan.materialTable);\nconst pageSizes = computed(() => unref(materialTable).pageSizes);\nconst currentPage = computed({\n get: () => unref(materialTable).currentPage,\n set: (v) => {\n unref(materialTable).pageTo(v);\n },\n});\nconst pageSize = computed({\n get: () => unref(materialTable).pageSize,\n set: (v) => {\n unref(materialTable).setPageSize(v);\n },\n});\nconst totalRecCount = computed(() => unref(materialTable).totalRecCount);\nconst changeCurrentPage = (v: number) => {\n currentPage.value = v;\n};\nconst changePageSize = (v: number) => {\n pageSize.value = v;\n};\n\nconst materialList = computed(() => unref(materialTable).getList());\nconst materialTypes = computed(() => props.materialMan.getMaterialType());\nconst currentMaterialTypeId = computed(\n () => props.materialMan.currentMaterialTypeId\n);\n\nconst currentMaterialType = computed(\n () => props.materialMan.currentMaterialType\n);\n\nconst handleMaterialTypeClick = (materialType: MaterialType) => {\n if (materialType.value === unref(currentMaterialTypeId)) {\n return;\n }\n\n props.materialMan.setCurrentMaterialTypeId(materialType.value);\n};\n\nconst handleMaterialItemClick = (event: MouseEvent, material: Material) => {\n if (!props.selectable) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n value.value = material.path;\n emit(\"selectedChange\", material);\n};\n</script>\n"],"names":[],"mappings":"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"}
@@ -17,11 +17,11 @@ async function MaterialSelect(options, appContext) {
17
17
  showDialog(
18
18
  {
19
19
  ...options,
20
- onSelect: (path) => {
21
- resolve({ success: true, data: path });
20
+ onMaterialChange: (material) => {
21
+ resolve({ success: true, data: material, path: material.path });
22
22
  },
23
23
  onCancel: () => {
24
- resolve({ success: false, data: "" });
24
+ resolve({ success: false, data: null, path: "" });
25
25
  }
26
26
  },
27
27
  appContext ?? MaterialSelect._context
@@ -1 +1 @@
1
- {"version":3,"file":"material-select-api.js","sources":["../../../../src/components/material-select/material-select-api.ts"],"sourcesContent":["import { AppContext, createVNode, render } from \"vue\";\nimport MaterialSelectConstructor from \"./material-select\";\nimport type {\n IMKMaterialSelect,\n MKMaterialSelectOptions,\n} from \"./material-select-type\";\n\nconst initInstance = (\n props: any,\n container: HTMLElement,\n appContext: AppContext | null = null\n) => {\n const vnode = createVNode(MaterialSelectConstructor, props);\n\n vnode.appContext = appContext;\n\n render(vnode, container);\n\n return vnode.component;\n};\n\nconst showDialog = (options: any, appContext?: AppContext | null) => {\n const container = document.createElement(\"div\");\n\n const instance = initInstance(options, container, appContext)!;\n\n return instance.proxy;\n};\n\nasync function MaterialSelect(\n options?: MKMaterialSelectOptions,\n appContext?: AppContext\n) {\n return new Promise((resolve, reject) => {\n showDialog(\n {\n ...options,\n onSelect: (path: string) => {\n resolve({ success: true, data: path });\n },\n onCancel: () => {\n resolve({ success: false, data: \"\" });\n },\n },\n appContext ?? (MaterialSelect as unknown as IMKMaterialSelect)._context\n );\n });\n}\n\n(MaterialSelect as IMKMaterialSelect)._context = null;\n\nexport default MaterialSelect as IMKMaterialSelect;\n"],"names":[],"mappings":";;;AAOA,MAAM,YAAe,GAAA,CACnB,KACA,EAAA,SAAA,EACA,aAAgC,IAC7B,KAAA;AACH,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,yBAAA,EAA2B,KAAK,CAAA,CAAA;AAE1D,EAAA,KAAA,CAAM,UAAa,GAAA,UAAA,CAAA;AAEnB,EAAA,MAAA,CAAO,OAAO,SAAS,CAAA,CAAA;AAEvB,EAAA,OAAO,KAAM,CAAA,SAAA,CAAA;AACf,CAAA,CAAA;AAEA,MAAM,UAAA,GAAa,CAAC,OAAA,EAAc,UAAmC,KAAA;AACnE,EAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAE9C,EAAA,MAAM,QAAW,GAAA,YAAA,CAAa,OAAS,EAAA,SAAA,EAAW,UAAU,CAAA,CAAA;AAE5D,EAAA,OAAO,QAAS,CAAA,KAAA,CAAA;AAClB,CAAA,CAAA;AAEA,eAAe,cAAA,CACb,SACA,UACA,EAAA;AACA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,IAAA,UAAA;AAAA,MACE;AAAA,QACE,GAAG,OAAA;AAAA,QACH,QAAA,EAAU,CAAC,IAAiB,KAAA;AAC1B,UAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,IAAM,EAAA,IAAA,EAAM,MAAM,CAAA,CAAA;AAAA,SACvC;AAAA,QACA,UAAU,MAAM;AACd,UAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,KAAO,EAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,SACtC;AAAA,OACF;AAAA,MACA,cAAe,cAAgD,CAAA,QAAA;AAAA,KACjE,CAAA;AAAA,GACD,CAAA,CAAA;AACH,CAAA;AAEC,cAAA,CAAqC,QAAW,GAAA,IAAA;;;;"}
1
+ {"version":3,"file":"material-select-api.js","sources":["../../../../src/components/material-select/material-select-api.ts"],"sourcesContent":["import { AppContext, createVNode, render } from \"vue\";\nimport MaterialSelectConstructor from \"./material-select\";\nimport type {\n IMKMaterialSelect,\n MKMaterialSelectOptions,\n} from \"./material-select-type\";\nimport { Material } from \"../../dataview\";\n\nconst initInstance = (\n props: any,\n container: HTMLElement,\n appContext: AppContext | null = null\n) => {\n const vnode = createVNode(MaterialSelectConstructor, props);\n\n vnode.appContext = appContext;\n\n render(vnode, container);\n\n return vnode.component;\n};\n\nconst showDialog = (options: any, appContext?: AppContext | null) => {\n const container = document.createElement(\"div\");\n\n const instance = initInstance(options, container, appContext)!;\n\n return instance.proxy;\n};\n\nasync function MaterialSelect(\n options?: MKMaterialSelectOptions,\n appContext?: AppContext\n) {\n return new Promise((resolve, reject) => {\n showDialog(\n {\n ...options,\n onMaterialChange: (material: Material) => {\n resolve({ success: true, data: material, path: material.path });\n },\n onCancel: () => {\n resolve({ success: false, data: null, path: \"\" });\n },\n },\n appContext ?? (MaterialSelect as unknown as IMKMaterialSelect)._context\n );\n });\n}\n\n(MaterialSelect as IMKMaterialSelect)._context = null;\n\nexport default MaterialSelect as IMKMaterialSelect;\n"],"names":[],"mappings":";;;AAQA,MAAM,YAAe,GAAA,CACnB,KACA,EAAA,SAAA,EACA,aAAgC,IAC7B,KAAA;AACH,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,yBAAA,EAA2B,KAAK,CAAA,CAAA;AAE1D,EAAA,KAAA,CAAM,UAAa,GAAA,UAAA,CAAA;AAEnB,EAAA,MAAA,CAAO,OAAO,SAAS,CAAA,CAAA;AAEvB,EAAA,OAAO,KAAM,CAAA,SAAA,CAAA;AACf,CAAA,CAAA;AAEA,MAAM,UAAA,GAAa,CAAC,OAAA,EAAc,UAAmC,KAAA;AACnE,EAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAE9C,EAAA,MAAM,QAAW,GAAA,YAAA,CAAa,OAAS,EAAA,SAAA,EAAW,UAAU,CAAA,CAAA;AAE5D,EAAA,OAAO,QAAS,CAAA,KAAA,CAAA;AAClB,CAAA,CAAA;AAEA,eAAe,cAAA,CACb,SACA,UACA,EAAA;AACA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,IAAA,UAAA;AAAA,MACE;AAAA,QACE,GAAG,OAAA;AAAA,QACH,gBAAA,EAAkB,CAAC,QAAuB,KAAA;AACxC,UAAQ,OAAA,CAAA,EAAE,SAAS,IAAM,EAAA,IAAA,EAAM,UAAU,IAAM,EAAA,QAAA,CAAS,MAAM,CAAA,CAAA;AAAA,SAChE;AAAA,QACA,UAAU,MAAM;AACd,UAAA,OAAA,CAAQ,EAAE,OAAS,EAAA,KAAA,EAAO,MAAM,IAAM,EAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,SAClD;AAAA,OACF;AAAA,MACA,cAAe,cAAgD,CAAA,QAAA;AAAA,KACjE,CAAA;AAAA,GACD,CAAA,CAAA;AACH,CAAA;AAEC,cAAA,CAAqC,QAAW,GAAA,IAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ExtractPropTypes } from "vue";
2
- import { MaterialMan } from "../../dataview";
2
+ import { Material, MaterialMan } from "../../dataview";
3
3
  export declare const materialSelectProps: {
4
4
  materialMan: {
5
5
  readonly type: import("vue").PropType<MaterialMan>;
@@ -13,9 +13,16 @@ export declare const materialSelectProps: {
13
13
  readonly validator: ((val: unknown) => boolean) | undefined;
14
14
  __mkPropKey: true;
15
15
  };
16
+ allowMaterialTypeValues: {
17
+ readonly type: import("vue").PropType<string[]>;
18
+ readonly required: false;
19
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
+ __mkPropKey: true;
21
+ };
16
22
  };
17
23
  export type MaterialSelectProps = ExtractPropTypes<typeof materialSelectProps>;
18
24
  export declare const materialSelectEmits: {
25
+ materialChange: (material: Material) => boolean;
19
26
  "update:model-value": (path: any) => boolean;
20
27
  select: (path: any) => boolean;
21
28
  cancel: () => boolean;
@@ -19,9 +19,13 @@ import { MaterialMan } from '../../dataview/material/MaterialMan.js';
19
19
 
20
20
  const materialSelectProps = buildProps({
21
21
  materialMan: { type: MaterialMan },
22
- modelValue: { type: String }
22
+ modelValue: { type: String },
23
+ allowMaterialTypeValues: {
24
+ type: Array
25
+ }
23
26
  });
24
27
  const materialSelectEmits = {
28
+ materialChange: (material) => true,
25
29
  "update:model-value": (path) => typeof path === "string",
26
30
  select: (path) => typeof path === "string",
27
31
  cancel: () => true
@@ -1 +1 @@
1
- {"version":3,"file":"material-select-options.js","sources":["../../../../src/components/material-select/material-select-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { MaterialMan } from \"../../dataview\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const materialSelectProps = buildProps({\n materialMan: { type: MaterialMan },\n modelValue: { type: String },\n});\n\nexport type MaterialSelectProps = ExtractPropTypes<typeof materialSelectProps>;\n\nexport const materialSelectEmits = {\n \"update:model-value\": (path: any) => typeof path === \"string\",\n select: (path: any) => typeof path === \"string\",\n cancel: () => true,\n};\n\nexport const MaterialSelectEmits = typeof materialSelectEmits;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,MAAM,sBAAsB,UAAW,CAAA;AAAA,EAC5C,WAAA,EAAa,EAAE,IAAA,EAAM,WAAY,EAAA;AAAA,EACjC,UAAA,EAAY,EAAE,IAAA,EAAM,MAAO,EAAA;AAC7B,CAAC,EAAA;AAIM,MAAM,mBAAsB,GAAA;AAAA,EACjC,oBAAsB,EAAA,CAAC,IAAc,KAAA,OAAO,IAAS,KAAA,QAAA;AAAA,EACrD,MAAQ,EAAA,CAAC,IAAc,KAAA,OAAO,IAAS,KAAA,QAAA;AAAA,EACvC,QAAQ,MAAM,IAAA;AAChB,EAAA;AAEO,MAAM,sBAAsB,OAAO;;;;"}
1
+ {"version":3,"file":"material-select-options.js","sources":["../../../../src/components/material-select/material-select-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { Material, MaterialMan, MaterialType } from \"../../dataview\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const materialSelectProps = buildProps({\n materialMan: { type: MaterialMan },\n modelValue: { type: String },\n allowMaterialTypeValues: {\n type: Array<MaterialType[\"value\"]>,\n },\n});\n\nexport type MaterialSelectProps = ExtractPropTypes<typeof materialSelectProps>;\n\nexport const materialSelectEmits = {\n materialChange: (material: Material) => true,\n \"update:model-value\": (path: any) => typeof path === \"string\",\n select: (path: any) => typeof path === \"string\",\n cancel: () => true,\n};\n\nexport const MaterialSelectEmits = typeof materialSelectEmits;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,MAAM,sBAAsB,UAAW,CAAA;AAAA,EAC5C,WAAA,EAAa,EAAE,IAAA,EAAM,WAAY,EAAA;AAAA,EACjC,UAAA,EAAY,EAAE,IAAA,EAAM,MAAO,EAAA;AAAA,EAC3B,uBAAyB,EAAA;AAAA,IACvB,IAAM,EAAA,KAAA;AAAA,GACR;AACF,CAAC,EAAA;AAIM,MAAM,mBAAsB,GAAA;AAAA,EACjC,cAAA,EAAgB,CAAC,QAAuB,KAAA,IAAA;AAAA,EACxC,oBAAsB,EAAA,CAAC,IAAc,KAAA,OAAO,IAAS,KAAA,QAAA;AAAA,EACrD,MAAQ,EAAA,CAAC,IAAc,KAAA,OAAO,IAAS,KAAA,QAAA;AAAA,EACvC,QAAQ,MAAM,IAAA;AAChB,EAAA;AAEO,MAAM,sBAAsB,OAAO;;;;"}
@@ -1,12 +1,14 @@
1
- import { MaterialMan } from "../../dataview";
1
+ import { Material, MaterialMan, MaterialType } from "../../dataview";
2
2
  import type { AppContext } from "vue";
3
3
  export interface MKMaterialSelectOptions {
4
4
  materialMan?: MaterialMan;
5
+ allowMaterialTypeValues: MaterialType["value"][];
5
6
  }
6
7
  export interface IMKMaterialSelect {
7
8
  (options?: MKMaterialSelectOptions, appContext?: AppContext): Promise<{
8
9
  success: boolean;
9
- data: string;
10
+ data: Material | null;
11
+ path: string;
10
12
  }>;
11
13
  _context: AppContext | null;
12
14
  }
@@ -1,4 +1,4 @@
1
- import { MaterialMan } from "../../dataview";
1
+ import { Material, MaterialMan } from "../../dataview";
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  materialMan: {
4
4
  readonly type: import("vue").PropType<MaterialMan>;
@@ -12,7 +12,14 @@ declare const _default: import("vue").DefineComponent<{
12
12
  readonly validator: ((val: unknown) => boolean) | undefined;
13
13
  __mkPropKey: true;
14
14
  };
15
+ allowMaterialTypeValues: {
16
+ readonly type: import("vue").PropType<string[]>;
17
+ readonly required: false;
18
+ readonly validator: ((val: unknown) => boolean) | undefined;
19
+ __mkPropKey: true;
20
+ };
15
21
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
+ materialChange: (material: Material) => boolean;
16
23
  "update:model-value": (path: any) => boolean;
17
24
  select: (path: any) => boolean;
18
25
  cancel: () => boolean;
@@ -29,9 +36,16 @@ declare const _default: import("vue").DefineComponent<{
29
36
  readonly validator: ((val: unknown) => boolean) | undefined;
30
37
  __mkPropKey: true;
31
38
  };
39
+ allowMaterialTypeValues: {
40
+ readonly type: import("vue").PropType<string[]>;
41
+ readonly required: false;
42
+ readonly validator: ((val: unknown) => boolean) | undefined;
43
+ __mkPropKey: true;
44
+ };
32
45
  }>> & {
33
46
  onSelect?: ((path: any) => any) | undefined;
34
47
  "onUpdate:model-value"?: ((path: any) => any) | undefined;
35
48
  onCancel?: (() => any) | undefined;
49
+ onMaterialChange?: ((material: Material) => any) | undefined;
36
50
  }, {}, {}>;
37
51
  export default _default;
@@ -38,16 +38,23 @@ var MaterialSelectConstructor = /* @__PURE__ */ defineComponent({
38
38
  httpRequest: useHttpRequest() || void 0
39
39
  }));
40
40
  const selectedPath = ref("");
41
+ const selectedMaterial = ref(null);
41
42
  const visible = ref(true);
42
43
  watch(computed(() => props.modelValue), (modelValue) => {
43
44
  selectedPath.value = modelValue || "";
44
45
  }, {
45
46
  immediate: true
46
47
  });
48
+ watch(computed(() => props.allowMaterialTypeValues), (allowMaterialTypeValues) => {
49
+ materialMan.setAllowAccessMaterialTypeValues(allowMaterialTypeValues ?? []);
50
+ }, {
51
+ immediate: true
52
+ });
47
53
  const handleConfirmClick = () => {
48
54
  visible.value = false;
49
55
  emit("update:model-value", unref(selectedPath));
50
56
  emit("select", unref(selectedPath));
57
+ emit("materialChange", unref(selectedMaterial));
51
58
  };
52
59
  const handleCancelClick = () => {
53
60
  visible.value = false;
@@ -67,8 +74,9 @@ var MaterialSelectConstructor = /* @__PURE__ */ defineComponent({
67
74
  }, {
68
75
  default: () => [createVNode(MaterialList, {
69
76
  "selectedPath": unref(selectedPath),
70
- "onUpdate:selected-path": (v) => {
71
- selectedPath.value = v;
77
+ "onSelectedChange": (material) => {
78
+ selectedPath.value = material.path;
79
+ selectedMaterial.value = material;
72
80
  },
73
81
  "class": "mk-material-select__list",
74
82
  "materialMan": materialMan,
@@ -1 +1 @@
1
- {"version":3,"file":"material-select.js","sources":["../../../../src/components/material-select/material-select.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElDialog, ElButton } from \"element-plus\";\nimport MaterialList from \"../material-list/material-list.vue\";\nimport {\n materialSelectEmits,\n materialSelectProps,\n} from \"./material-select-options\";\nimport { MaterialComponents } from \"../../core\";\nimport { MaterialMan } from \"../../dataview\";\nimport { useHttpRequest } from \"../../composables/use-http-request\";\n\nexport default defineComponent({\n name: \"MKMaterialSelect\",\n props: materialSelectProps,\n emits: materialSelectEmits,\n setup(props, { emit }) {\n const materialMan =\n props.materialMan ??\n (reactive(\n new MaterialMan({\n components: new MaterialComponents(),\n httpRequest: useHttpRequest() || undefined,\n })\n ) as MaterialMan);\n\n const selectedPath = ref(\"\");\n const visible: Ref<boolean> = ref(true);\n\n watch(\n computed(() => props.modelValue),\n (modelValue) => {\n selectedPath.value = modelValue || \"\";\n },\n { immediate: true }\n );\n\n const handleConfirmClick = () => {\n visible.value = false;\n emit(\"update:model-value\", unref(selectedPath));\n emit(\"select\", unref(selectedPath));\n };\n\n const handleCancelClick = () => {\n visible.value = false;\n emit(\"cancel\");\n };\n\n return () => {\n return (\n <ElDialog\n width=\"70%\"\n modelValue={unref(visible)}\n onUpdate:modelValue={(v: boolean) => {\n visible.value = v;\n }}\n destroyOnClose\n appendToBody\n showClose={false}\n modal-class=\"mk-material-select\"\n v-slots={{\n footer: () => {\n return (\n <span class=\"mk-material-select__footer\">\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\n 确定\n </ElButton>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n </span>\n );\n },\n }}\n >\n <MaterialList\n selectedPath={unref(selectedPath)}\n onUpdate:selected-path={(v: string) => {\n selectedPath.value = v;\n }}\n class=\"mk-material-select__list\"\n materialMan={materialMan}\n selectable={true}\n />\n </ElDialog>\n );\n };\n },\n});\n"],"names":["name","props","materialSelectProps","emits","materialSelectEmits","setup","emit","materialMan","reactive","MaterialMan","components","MaterialComponents","httpRequest","useHttpRequest","undefined","selectedPath","ref","visible","watch","computed","modelValue","value","immediate","handleConfirmClick","unref","handleCancelClick","_createVNode","ElDialog","v","default","MaterialList","footer","ElButton","_createTextVNode"],"mappings":"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"}
1
+ {"version":3,"file":"material-select.js","sources":["../../../../src/components/material-select/material-select.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElDialog, ElButton } from \"element-plus\";\nimport MaterialList from \"../material-list/material-list.vue\";\nimport {\n materialSelectEmits,\n materialSelectProps,\n} from \"./material-select-options\";\nimport { MaterialComponents } from \"../../core\";\nimport { Material, MaterialMan } from \"../../dataview\";\nimport { useHttpRequest } from \"../../composables/use-http-request\";\n\nexport default defineComponent({\n name: \"MKMaterialSelect\",\n props: materialSelectProps,\n emits: materialSelectEmits,\n setup(props, { emit }) {\n const materialMan =\n props.materialMan ??\n (reactive(\n new MaterialMan({\n components: new MaterialComponents(),\n httpRequest: useHttpRequest() || undefined,\n })\n ) as MaterialMan);\n\n const selectedPath = ref(\"\");\n const selectedMaterial: Ref<Material | null> = ref(null);\n const visible: Ref<boolean> = ref(true);\n\n watch(\n computed(() => props.modelValue),\n (modelValue) => {\n selectedPath.value = modelValue || \"\";\n },\n { immediate: true }\n );\n\n watch(\n computed(() => props.allowMaterialTypeValues),\n (allowMaterialTypeValues) => {\n materialMan.setAllowAccessMaterialTypeValues(\n allowMaterialTypeValues ?? []\n );\n },\n { immediate: true }\n );\n\n const handleConfirmClick = () => {\n visible.value = false;\n emit(\"update:model-value\", unref(selectedPath));\n emit(\"select\", unref(selectedPath));\n emit(\"materialChange\", unref(selectedMaterial)!);\n };\n\n const handleCancelClick = () => {\n visible.value = false;\n emit(\"cancel\");\n };\n\n return () => {\n return (\n <ElDialog\n width=\"70%\"\n modelValue={unref(visible)}\n onUpdate:modelValue={(v: boolean) => {\n visible.value = v;\n }}\n destroyOnClose\n appendToBody\n showClose={false}\n modal-class=\"mk-material-select\"\n v-slots={{\n footer: () => {\n return (\n <span class=\"mk-material-select__footer\">\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\n 确定\n </ElButton>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n </span>\n );\n },\n }}\n >\n <MaterialList\n selectedPath={unref(selectedPath)}\n onSelectedChange={(material: Material) => {\n selectedPath.value = material.path;\n selectedMaterial.value = material;\n }}\n class=\"mk-material-select__list\"\n materialMan={materialMan}\n selectable={true}\n />\n </ElDialog>\n );\n };\n },\n});\n"],"names":["name","props","materialSelectProps","emits","materialSelectEmits","setup","emit","materialMan","reactive","MaterialMan","components","MaterialComponents","httpRequest","useHttpRequest","undefined","selectedPath","ref","selectedMaterial","visible","watch","computed","modelValue","value","immediate","allowMaterialTypeValues","setAllowAccessMaterialTypeValues","handleConfirmClick","unref","handleCancelClick","_createVNode","ElDialog","v","default","MaterialList","material","path","footer","ElButton","_createTextVNode"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import "tinymce/skins/ui/oxide/content.js";
2
+ import "tinymce/skins/content/default/content.js";
1
3
  import "tinymce/themes/silver/theme.min.js";
2
4
  import "tinymce/models/dom/model.min.js";
3
5
  import "tinymce/icons/default/icons.min.js";
4
- import "tinymce/skins/ui/oxide/content.js";
5
6
  import "tinymce/skins/ui/oxide/skin.js";
6
7
  import "tinymce/plugins/link";
7
8
  import "tinymce/plugins/table";
@@ -1,10 +1,11 @@
1
1
  import { defineComponent, ref, onMounted, unref, watch, computed, onBeforeUnmount, createVNode } from 'vue';
2
2
  import { MKMaterialSelect } from '../material-select/index.js';
3
3
  import TinyMCE from '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/tinymce.js';
4
+ import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/content.js';
5
+ import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/content/default/content.js';
4
6
  import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js';
5
7
  import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/models/dom/model.min.js';
6
8
  import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/icons/default/icons.min.js';
7
- import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/content.js';
8
9
  import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js';
9
10
  import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/plugins/link/plugin.js';
10
11
  import '../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/plugins/table/plugin.js';
@@ -27,17 +28,20 @@ var RichTextEditor = /* @__PURE__ */ defineComponent({
27
28
  plugins: ["link", "table", "fullscreen"],
28
29
  branding: false,
29
30
  menubar: false,
31
+ content_css: "ui/default/content.css",
30
32
  toolbar: "undo redo | bold italic underline strikethrough | alignleft aligncenter alignright | outdent indent | link | material | table | hr | removeformat | fullscreen",
31
33
  language: "zh-Hans",
32
34
  setup: (editor) => {
33
35
  editor.ui.registry.addButton("material", {
34
36
  icon: "image",
35
37
  onAction: async () => {
36
- const response = await MKMaterialSelect();
38
+ const response = await MKMaterialSelect({
39
+ allowMaterialTypeValues: ["1"]
40
+ });
37
41
  if (!response.success) {
38
42
  return;
39
43
  }
40
- editor.insertContent(`<img src="${response.data}" alt="">`);
44
+ editor.insertContent(`<img src="${response.path}" alt="${response.data.id}">`);
41
45
  }
42
46
  });
43
47
  editor.on("paste", (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-editor.js","sources":["../../../../src/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n onBeforeUnmount,\n onMounted,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { MKMaterialSelect } from \"../material-select\";\nimport TinyMCE from \"tinymce\";\nimport \"tinymce/themes/silver/theme.min.js\";\nimport \"tinymce/models/dom/model.min.js\";\nimport \"tinymce/icons/default/icons.min.js\";\nimport \"tinymce/skins/ui/oxide/content.js\";\nimport \"tinymce/skins/ui/oxide/skin.js\";\n// import \"tinymce/plugins/image\";\nimport \"tinymce/plugins/link\";\nimport \"tinymce/plugins/table\";\nimport \"tinymce/plugins/fullscreen\";\nimport \"./langs/zh-Hans.js\";\nimport {\n richTextEditorEmits,\n richTextEditorProps,\n} from \"./rich-text-editor-options\";\n\nexport default defineComponent({\n name: \"MKRichTextEditor\",\n props: richTextEditorProps,\n emits: richTextEditorEmits,\n setup(props, { emit }) {\n const richTextEditorEl: Ref<HTMLElement | null> = ref(null);\n\n onMounted(async () => {\n const tinymceInstance = await TinyMCE.init({\n target: unref(richTextEditorEl)!,\n promotion: false,\n plugins: [\"link\", \"table\", \"fullscreen\"],\n branding: false,\n menubar: false,\n toolbar:\n \"undo redo | bold italic underline strikethrough | alignleft aligncenter alignright | outdent indent | link | material | table | hr | removeformat | fullscreen\",\n language: \"zh-Hans\",\n setup: (editor) => {\n editor.ui.registry.addButton(\"material\", {\n icon: \"image\",\n onAction: async () => {\n const response = await MKMaterialSelect();\n\n if (!response.success) {\n return;\n }\n\n editor.insertContent(`<img src=\"${response.data}\" alt=\"\">`);\n },\n });\n\n editor.on(\"paste\", (event) => {\n console.log(event);\n });\n\n editor.on(\"change input undo redo\", () => {\n emit(\"update:model-value\", editor.getContent());\n });\n },\n });\n\n watch(\n computed(() => props.modelValue),\n (modelValue) => {\n for (const instance of tinymceInstance) {\n if (instance.getContent() !== modelValue) {\n instance.setContent(modelValue);\n }\n }\n },\n { immediate: true }\n );\n\n watch(\n computed(() => props.disabled),\n (disabled) => {\n for (const instance of tinymceInstance) {\n instance.mode.set(disabled ? \"readonly\" : \"design\");\n }\n },\n { immediate: true }\n );\n\n onBeforeUnmount(() => {\n for (const instance of tinymceInstance) {\n instance.destroy();\n }\n });\n });\n\n return () => {\n return (\n <div class=\"mk-rich-text-editor\">\n <div\n class=\"mk-rich-text-editor__wrapper\"\n ref={((el: HTMLElement) => (richTextEditorEl.value = el)) as any}\n />\n </div>\n );\n };\n },\n});\n"],"names":["name","props","richTextEditorProps","emits","richTextEditorEmits","setup","emit","richTextEditorEl","ref","onMounted","tinymceInstance","TinyMCE","init","target","unref","promotion","plugins","branding","menubar","toolbar","language","editor","ui","registry","addButton","icon","onAction","response","MKMaterialSelect","success","insertContent","data","on","event","console","log","getContent","watch","computed","modelValue","instance","setContent","immediate","disabled","mode","set","onBeforeUnmount","destroy","_createVNode","el","value"],"mappings":"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"}
1
+ {"version":3,"file":"rich-text-editor.js","sources":["../../../../src/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n onBeforeUnmount,\n onMounted,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { MKMaterialSelect } from \"../material-select\";\nimport TinyMCE from \"tinymce\";\nimport \"tinymce/skins/ui/oxide/content.js\";\nimport \"tinymce/skins/content/default/content.js\";\nimport \"tinymce/themes/silver/theme.min.js\";\nimport \"tinymce/models/dom/model.min.js\";\nimport \"tinymce/icons/default/icons.min.js\";\nimport \"tinymce/skins/ui/oxide/skin.js\";\nimport \"tinymce/plugins/link\";\nimport \"tinymce/plugins/table\";\nimport \"tinymce/plugins/fullscreen\";\nimport \"./langs/zh-Hans.js\";\nimport {\n richTextEditorEmits,\n richTextEditorProps,\n} from \"./rich-text-editor-options\";\n\nexport default defineComponent({\n name: \"MKRichTextEditor\",\n props: richTextEditorProps,\n emits: richTextEditorEmits,\n setup(props, { emit }) {\n const richTextEditorEl: Ref<HTMLElement | null> = ref(null);\n\n onMounted(async () => {\n const tinymceInstance = await TinyMCE.init({\n target: unref(richTextEditorEl)!,\n promotion: false,\n plugins: [\"link\", \"table\", \"fullscreen\"],\n branding: false,\n menubar: false,\n content_css: \"ui/default/content.css\",\n toolbar:\n \"undo redo | bold italic underline strikethrough | alignleft aligncenter alignright | outdent indent | link | material | table | hr | removeformat | fullscreen\",\n language: \"zh-Hans\",\n setup: (editor) => {\n editor.ui.registry.addButton(\"material\", {\n icon: \"image\",\n onAction: async () => {\n const response = await MKMaterialSelect({\n allowMaterialTypeValues: [\"1\"],\n });\n\n if (!response.success) {\n return;\n }\n\n editor.insertContent(\n `<img src=\"${response.path}\" alt=\"${response.data!.id}\">`\n );\n },\n });\n\n editor.on(\"paste\", (event) => {\n console.log(event);\n });\n\n editor.on(\"change input undo redo\", () => {\n emit(\"update:model-value\", editor.getContent());\n });\n },\n });\n\n watch(\n computed(() => props.modelValue),\n (modelValue) => {\n for (const instance of tinymceInstance) {\n if (instance.getContent() !== modelValue) {\n instance.setContent(modelValue);\n }\n }\n },\n { immediate: true }\n );\n\n watch(\n computed(() => props.disabled),\n (disabled) => {\n for (const instance of tinymceInstance) {\n instance.mode.set(disabled ? \"readonly\" : \"design\");\n }\n },\n { immediate: true }\n );\n\n onBeforeUnmount(() => {\n for (const instance of tinymceInstance) {\n instance.destroy();\n }\n });\n });\n\n return () => {\n return (\n <div class=\"mk-rich-text-editor\">\n <div\n class=\"mk-rich-text-editor__wrapper\"\n ref={((el: HTMLElement) => (richTextEditorEl.value = el)) as any}\n />\n </div>\n );\n };\n },\n});\n"],"names":["name","props","richTextEditorProps","emits","richTextEditorEmits","setup","emit","richTextEditorEl","ref","onMounted","tinymceInstance","TinyMCE","init","target","unref","promotion","plugins","branding","menubar","content_css","toolbar","language","editor","ui","registry","addButton","icon","onAction","response","MKMaterialSelect","allowMaterialTypeValues","success","insertContent","path","data","id","on","event","console","log","getContent","watch","computed","modelValue","instance","setContent","immediate","disabled","mode","set","onBeforeUnmount","destroy","_createVNode","el","value"],"mappings":"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"}
@@ -25,6 +25,7 @@ class Menu extends Disposable {
25
25
  return new MenuNode({
26
26
  id: menuInfo.id,
27
27
  route,
28
+ type: menuInfo.type,
28
29
  iconName: menuInfo.iconName || "",
29
30
  title: menuInfo.title || "",
30
31
  permissionPoints,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../../../src/core/menu/Menu.ts"],"sourcesContent":["import { Disposable, Event } from \"@maketribe/utils\";\nimport { MenuResult } from \"../../dataview\";\nimport { PermissionPointManager } from \"../PermissionPointManager\";\nimport { Router } from \"../Router\";\nimport { MenuNode } from \"./MenuNode\";\n\nexport class Menu extends Disposable {\n rootMenus: MenuNode[] = [];\n\n _currentMenu: MenuNode | null = null;\n\n isCollapsed: boolean = false;\n\n isVisible: boolean = true;\n\n permissionPointManager: PermissionPointManager;\n\n router: Router;\n\n currentMenuChangeEvent: Event<{ currentMenu: MenuNode | null }> =\n this.register(new Event());\n\n constructor(permissionPointManager: PermissionPointManager, router: Router) {\n super();\n this.permissionPointManager = permissionPointManager;\n this.router = router;\n }\n\n setMenus(menus: MenuResult[]) {\n const menuNodes = menus\n .sort((menu1, menu2) => {\n const sort1 = parseInt(menu1.sort) || 0;\n const sort2 = parseInt(menu2.sort) || 0;\n\n return sort2 - sort1;\n })\n .map((menuInfo) => {\n const route = this.router.getRouteByID(menuInfo.routeId);\n\n const permissionPoints =\n this.permissionPointManager.getPermissionPointsByMenuID(menuInfo.id);\n\n return new MenuNode({\n id: menuInfo.id,\n route,\n iconName: menuInfo.iconName || \"\",\n title: menuInfo.title || \"\",\n permissionPoints,\n children: [],\n });\n });\n\n const rootMenuNodes: MenuNode[] = [];\n\n for (let i = 0, len = menuNodes.length; i < len; i++) {\n const menuNodeInfo = menus[i];\n const menuNode = menuNodes[i];\n\n menuNode.iconName = menuNode.iconName || \"default-menu\";\n\n if (!menuNodeInfo.pid) {\n rootMenuNodes.push(menuNode);\n }\n\n for (const route of this.router.getRoutesByMenuID(menuNode.id)) {\n route.iconName = route.iconName || menuNode.iconName;\n }\n\n for (let j = 0; j < len; j++) {\n const menuNodeInfoInner = menus[j];\n const menuNodeInner = menuNodes[j];\n\n if (menuNodeInfoInner.pid === menuNodeInfo.id) {\n menuNode.children.push(menuNodeInner);\n menuNodeInner.parent = menuNode;\n }\n }\n }\n\n this.rootMenus = rootMenuNodes;\n }\n\n findMenuNodeByID(id: MenuNode[\"id\"]): MenuNode | null {\n if (!id) {\n return null;\n }\n\n let list = this.rootMenus.slice();\n\n for (let i = 0; i < list.length; i++) {\n const node = list[i];\n\n if (node.id === id) {\n return node;\n }\n\n list = list.concat(node.children);\n }\n\n return null;\n }\n\n async setCurrentMenuNode(node: MenuNode | null) {\n this._currentMenu = node;\n\n this.currentMenuChangeEvent.emit({ currentMenu: node });\n\n return true;\n }\n\n getCurrentMenuNode() {\n return this._currentMenu;\n }\n\n getFirstLeafMenuNode(menus: MenuNode[] = this.rootMenus) {\n function _getFirstLeafMenuNode(menus: MenuNode[]): MenuNode | null {\n if (!menus.length) {\n return null;\n }\n\n return _getFirstLeafMenuNode(menus[0].children) || menus[0];\n }\n\n return _getFirstLeafMenuNode(menus);\n }\n\n getMenuNodeByID(id: string): MenuNode | null {\n let nodes = this.rootMenus.slice();\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if (node.id === id) {\n return node;\n }\n\n nodes = nodes.concat(node.children);\n }\n\n return null;\n }\n}\n"],"names":["menus"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sources":["../../../../src/core/menu/Menu.ts"],"sourcesContent":["import { Disposable, Event } from \"@maketribe/utils\";\nimport { MenuResult } from \"../../dataview\";\nimport { PermissionPointManager } from \"../PermissionPointManager\";\nimport { Router } from \"../Router\";\nimport { MenuNode } from \"./MenuNode\";\n\nexport class Menu extends Disposable {\n rootMenus: MenuNode[] = [];\n\n _currentMenu: MenuNode | null = null;\n\n isCollapsed: boolean = false;\n\n isVisible: boolean = true;\n\n permissionPointManager: PermissionPointManager;\n\n router: Router;\n\n currentMenuChangeEvent: Event<{ currentMenu: MenuNode | null }> =\n this.register(new Event());\n\n constructor(permissionPointManager: PermissionPointManager, router: Router) {\n super();\n this.permissionPointManager = permissionPointManager;\n this.router = router;\n }\n\n setMenus(menus: MenuResult[]) {\n const menuNodes = menus\n .sort((menu1, menu2) => {\n const sort1 = parseInt(menu1.sort) || 0;\n const sort2 = parseInt(menu2.sort) || 0;\n\n return sort2 - sort1;\n })\n .map((menuInfo) => {\n const route = this.router.getRouteByID(menuInfo.routeId);\n\n const permissionPoints =\n this.permissionPointManager.getPermissionPointsByMenuID(menuInfo.id);\n\n return new MenuNode({\n id: menuInfo.id,\n route,\n type: menuInfo.type,\n iconName: menuInfo.iconName || \"\",\n title: menuInfo.title || \"\",\n permissionPoints,\n children: [],\n });\n });\n\n const rootMenuNodes: MenuNode[] = [];\n\n for (let i = 0, len = menuNodes.length; i < len; i++) {\n const menuNodeInfo = menus[i];\n const menuNode = menuNodes[i];\n\n menuNode.iconName = menuNode.iconName || \"default-menu\";\n\n if (!menuNodeInfo.pid) {\n rootMenuNodes.push(menuNode);\n }\n\n for (const route of this.router.getRoutesByMenuID(menuNode.id)) {\n route.iconName = route.iconName || menuNode.iconName;\n }\n\n for (let j = 0; j < len; j++) {\n const menuNodeInfoInner = menus[j];\n const menuNodeInner = menuNodes[j];\n\n if (menuNodeInfoInner.pid === menuNodeInfo.id) {\n menuNode.children.push(menuNodeInner);\n menuNodeInner.parent = menuNode;\n }\n }\n }\n\n this.rootMenus = rootMenuNodes;\n }\n\n findMenuNodeByID(id: MenuNode[\"id\"]): MenuNode | null {\n if (!id) {\n return null;\n }\n\n let list = this.rootMenus.slice();\n\n for (let i = 0; i < list.length; i++) {\n const node = list[i];\n\n if (node.id === id) {\n return node;\n }\n\n list = list.concat(node.children);\n }\n\n return null;\n }\n\n async setCurrentMenuNode(node: MenuNode | null) {\n this._currentMenu = node;\n\n this.currentMenuChangeEvent.emit({ currentMenu: node });\n\n return true;\n }\n\n getCurrentMenuNode() {\n return this._currentMenu;\n }\n\n getFirstLeafMenuNode(menus: MenuNode[] = this.rootMenus) {\n function _getFirstLeafMenuNode(menus: MenuNode[]): MenuNode | null {\n if (!menus.length) {\n return null;\n }\n\n return _getFirstLeafMenuNode(menus[0].children) || menus[0];\n }\n\n return _getFirstLeafMenuNode(menus);\n }\n\n getMenuNodeByID(id: string): MenuNode | null {\n let nodes = this.rootMenus.slice();\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if (node.id === id) {\n return node;\n }\n\n nodes = nodes.concat(node.children);\n }\n\n return null;\n }\n}\n"],"names":["menus"],"mappings":"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"}
@@ -7,6 +7,7 @@ interface MenuNodeOptions {
7
7
  title: string;
8
8
  permissionPoints: PermissionPoint[];
9
9
  children: MenuNode[];
10
+ type: string;
10
11
  parent?: MenuNode | null;
11
12
  }
12
13
  export declare class MenuNode {
@@ -15,6 +16,7 @@ export declare class MenuNode {
15
16
  title: string;
16
17
  permissionPoints: PermissionPoint[];
17
18
  route: Route | null;
19
+ type: string;
18
20
  children: MenuNode[];
19
21
  parent: MenuNode | null;
20
22
  constructor(options: MenuNodeOptions);
@@ -4,13 +4,15 @@ class MenuNode {
4
4
  title;
5
5
  permissionPoints;
6
6
  route;
7
+ type;
7
8
  children;
8
9
  parent;
9
10
  constructor(options) {
10
- const { id, children, route, iconName, title, permissionPoints } = options;
11
+ const { id, children, route, iconName, title, permissionPoints, type } = options;
11
12
  this.id = id;
12
13
  this.route = route ?? null;
13
14
  this.iconName = iconName;
15
+ this.type = type;
14
16
  this.title = title;
15
17
  this.children = children;
16
18
  this.parent = options.parent ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuNode.js","sources":["../../../../src/core/menu/MenuNode.ts"],"sourcesContent":["import { PermissionPoint } from \"../PermissionPointManager\";\nimport { Route } from \"../../dataview\";\n\ninterface MenuNodeOptions {\n id: string;\n route?: Route | null;\n iconName: string;\n title: string;\n permissionPoints: PermissionPoint[];\n children: MenuNode[];\n parent?: MenuNode | null;\n}\n\nexport class MenuNode {\n id: string;\n\n iconName: string;\n title: string;\n permissionPoints: PermissionPoint[];\n route: Route | null;\n children: MenuNode[];\n parent: MenuNode | null;\n\n constructor(options: MenuNodeOptions) {\n const { id, children, route, iconName, title, permissionPoints } = options;\n\n this.id = id;\n this.route = route ?? null;\n this.iconName = iconName;\n this.title = title;\n this.children = children;\n this.parent = options.parent ?? null;\n this.permissionPoints = permissionPoints;\n }\n\n getMenuNodePath(): MenuNode[] {\n const path: MenuNode[] = [];\n\n let menuNode: MenuNode | null = this;\n\n while (menuNode) {\n path.unshift(menuNode);\n\n menuNode = menuNode.parent;\n }\n\n return path;\n }\n}\n"],"names":[],"mappings":"AAaO,MAAM,QAAS,CAAA;AAAA,EACpB,EAAA,CAAA;AAAA,EAEA,QAAA,CAAA;AAAA,EACA,KAAA,CAAA;AAAA,EACA,gBAAA,CAAA;AAAA,EACA,KAAA,CAAA;AAAA,EACA,QAAA,CAAA;AAAA,EACA,MAAA,CAAA;AAAA,EAEA,YAAY,OAA0B,EAAA;AACpC,IAAA,MAAM,EAAE,EAAI,EAAA,QAAA,EAAU,OAAO,QAAU,EAAA,KAAA,EAAO,kBAAqB,GAAA,OAAA,CAAA;AAEnE,IAAA,IAAA,CAAK,EAAK,GAAA,EAAA,CAAA;AACV,IAAA,IAAA,CAAK,QAAQ,KAAS,IAAA,IAAA,CAAA;AACtB,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAChB,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AACb,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAChB,IAAK,IAAA,CAAA,MAAA,GAAS,QAAQ,MAAU,IAAA,IAAA,CAAA;AAChC,IAAA,IAAA,CAAK,gBAAmB,GAAA,gBAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,eAA8B,GAAA;AAC5B,IAAA,MAAM,OAAmB,EAAC,CAAA;AAE1B,IAAA,IAAI,QAA4B,GAAA,IAAA,CAAA;AAEhC,IAAA,OAAO,QAAU,EAAA;AACf,MAAA,IAAA,CAAK,QAAQ,QAAQ,CAAA,CAAA;AAErB,MAAA,QAAA,GAAW,QAAS,CAAA,MAAA,CAAA;AAAA,KACtB;AAEA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACF;;;;"}
1
+ {"version":3,"file":"MenuNode.js","sources":["../../../../src/core/menu/MenuNode.ts"],"sourcesContent":["import { PermissionPoint } from \"../PermissionPointManager\";\nimport { Route } from \"../../dataview\";\n\ninterface MenuNodeOptions {\n id: string;\n route?: Route | null;\n iconName: string;\n title: string;\n permissionPoints: PermissionPoint[];\n children: MenuNode[];\n type: string;\n parent?: MenuNode | null;\n}\n\nexport class MenuNode {\n id: string;\n\n iconName: string;\n title: string;\n permissionPoints: PermissionPoint[];\n route: Route | null;\n type: string;\n children: MenuNode[];\n parent: MenuNode | null;\n\n constructor(options: MenuNodeOptions) {\n const { id, children, route, iconName, title, permissionPoints, type } =\n options;\n\n this.id = id;\n this.route = route ?? null;\n this.iconName = iconName;\n this.type = type;\n this.title = title;\n this.children = children;\n this.parent = options.parent ?? null;\n this.permissionPoints = permissionPoints;\n }\n\n getMenuNodePath(): MenuNode[] {\n const path: MenuNode[] = [];\n\n let menuNode: MenuNode | null = this;\n\n while (menuNode) {\n path.unshift(menuNode);\n\n menuNode = menuNode.parent;\n }\n\n return path;\n }\n}\n"],"names":[],"mappings":"AAcO,MAAM,QAAS,CAAA;AAAA,EACpB,EAAA,CAAA;AAAA,EAEA,QAAA,CAAA;AAAA,EACA,KAAA,CAAA;AAAA,EACA,gBAAA,CAAA;AAAA,EACA,KAAA,CAAA;AAAA,EACA,IAAA,CAAA;AAAA,EACA,QAAA,CAAA;AAAA,EACA,MAAA,CAAA;AAAA,EAEA,YAAY,OAA0B,EAAA;AACpC,IAAM,MAAA,EAAE,IAAI,QAAU,EAAA,KAAA,EAAO,UAAU,KAAO,EAAA,gBAAA,EAAkB,MAC9D,GAAA,OAAA,CAAA;AAEF,IAAA,IAAA,CAAK,EAAK,GAAA,EAAA,CAAA;AACV,IAAA,IAAA,CAAK,QAAQ,KAAS,IAAA,IAAA,CAAA;AACtB,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAChB,IAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;AACZ,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AACb,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAChB,IAAK,IAAA,CAAA,MAAA,GAAS,QAAQ,MAAU,IAAA,IAAA,CAAA;AAChC,IAAA,IAAA,CAAK,gBAAmB,GAAA,gBAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,eAA8B,GAAA;AAC5B,IAAA,MAAM,OAAmB,EAAC,CAAA;AAE1B,IAAA,IAAI,QAA4B,GAAA,IAAA,CAAA;AAEhC,IAAA,OAAO,QAAU,EAAA;AACf,MAAA,IAAA,CAAK,QAAQ,QAAQ,CAAA,CAAA;AAErB,MAAA,QAAA,GAAW,QAAS,CAAA,MAAA,CAAA;AAAA,KACtB;AAEA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACF;;;;"}
@@ -12,6 +12,7 @@ export declare class MaterialMan {
12
12
  currentMaterialGroupId: MaterialGroup["id"] | null;
13
13
  currentMaterialTypeId: MaterialType["value"] | null;
14
14
  materialTypes: MaterialType[];
15
+ materialTypeValues: MaterialType["value"][];
15
16
  materialGroupTable: MaterialGroupTable;
16
17
  materialTable: MaterialTable;
17
18
  materialForm: MaterialForm;
@@ -22,6 +23,8 @@ export declare class MaterialMan {
22
23
  get currentMaterialType(): MaterialType | null;
23
24
  constructor(options: MaterialManOptions);
24
25
  init(): Promise<void>;
26
+ setAllowAccessMaterialTypeValues(materialTypeValues: MaterialType["value"][]): void;
27
+ getMaterialType(): MaterialType[];
25
28
  setCurrentMaterialGroupId(materialGoupId: MaterialGroupNode["id"] | null): void;
26
29
  setCurrentMaterialTypeId(materialTypeId: MaterialType["value"] | null): void;
27
30
  protected attachMaterialTableCondition(): void;
@@ -8,6 +8,7 @@ class MaterialMan {
8
8
  currentMaterialGroupId;
9
9
  currentMaterialTypeId;
10
10
  materialTypes = [];
11
+ materialTypeValues = [];
11
12
  materialGroupTable;
12
13
  materialTable;
13
14
  materialForm;
@@ -92,6 +93,17 @@ class MaterialMan {
92
93
  this.initing = false;
93
94
  this.initd = true;
94
95
  }
96
+ setAllowAccessMaterialTypeValues(materialTypeValues) {
97
+ this.materialTypeValues = materialTypeValues;
98
+ }
99
+ getMaterialType() {
100
+ if (!this.materialTypeValues.length) {
101
+ return this.materialTypes;
102
+ }
103
+ return this.materialTypes.filter(
104
+ (materialType) => this.materialTypeValues.includes(materialType.value)
105
+ );
106
+ }
95
107
  setCurrentMaterialGroupId(materialGoupId) {
96
108
  this.currentMaterialGroupId = materialGoupId;
97
109
  this.attachMaterialTableCondition();
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialMan.js","sources":["../../../../src/dataview/material/MaterialMan.ts"],"sourcesContent":["import { Group, OrderType } from \"@maketribe/request\";\nimport { IComponents, WhereFilter } from \"@maketribe/dm\";\nimport { MaterialTable, MaterialType } from \"./MaterialTable\";\nimport {\n MaterialGroup,\n MaterialGroupNode,\n MaterialGroupTable,\n} from \"./material-group\";\nimport { UploadError, WebFileUpload, HttpRequest } from \"@maketribe/request\";\nimport { MaterialForm } from \"./MaterialForm\";\n\nexport type MaterialManOptions = {\n components: IComponents;\n httpRequest?: HttpRequest;\n};\n\nexport class MaterialMan {\n currentMaterialGroupId: MaterialGroup[\"id\"] | null;\n currentMaterialTypeId: MaterialType[\"value\"] | null;\n\n materialTypes: MaterialType[] = [];\n\n materialGroupTable: MaterialGroupTable;\n materialTable: MaterialTable;\n materialForm: MaterialForm;\n\n protected initing: boolean = false;\n protected initd: boolean = false;\n\n upload: WebFileUpload;\n\n protected materialConditionGroup: Group;\n\n get currentMaterialType() {\n return (\n this.materialTypes.find(\n (materialType) => materialType.value === this.currentMaterialTypeId\n ) ?? null\n );\n }\n\n constructor(options: MaterialManOptions) {\n this.materialGroupTable = new MaterialGroupTable();\n this.materialTable = new MaterialTable({\n materialComponents: options.components,\n });\n this.materialForm = new MaterialForm();\n\n this.materialConditionGroup = new Group();\n\n (this.materialTable.dataFilter as WhereFilter)\n .getWhere()\n .addGroup(this.materialConditionGroup);\n\n (this.materialTable.dataFilter as WhereFilter)\n .getOrder()\n .addOrderItem(\"createDate\", OrderType.DESC);\n\n this.materialGroupTable.dataFilter.setReady();\n this.materialTable.dataFilter.setReady();\n\n this.upload = new WebFileUpload({\n filters: [\n (file) => {\n if (!this.currentMaterialType) {\n throw new UploadError(\"不能上传文件,素材类型无效\");\n }\n\n if (this.currentMaterialType.limit * 1024 * 1024 < file.size) {\n throw new UploadError(\"文件太大不能上传\");\n }\n },\n ],\n httpRequest: options.httpRequest,\n });\n\n this.currentMaterialGroupId = null;\n this.currentMaterialTypeId = null;\n }\n\n async init() {\n if (this.initing || this.initd) {\n return;\n }\n this.initing = true;\n\n this.upload.uploadEvent.on(({ uploadItem }) => {\n uploadItem.completeEvent.once(async () => {\n await this.materialForm.addRecord();\n\n this.materialForm.setData({\n id: \"\",\n materialGroupId: this.currentMaterialGroupId,\n type: this.currentMaterialTypeId!,\n desc: uploadItem.payload.name,\n path: uploadItem.response!.data.data.path,\n });\n\n const submitResullt = await this.materialForm.submit();\n\n if (submitResullt.data.code !== 200) {\n return;\n }\n\n this.materialTable.load();\n });\n });\n\n await this.materialGroupTable.init();\n await this.materialGroupTable.load();\n\n await this.materialForm.init();\n\n const getFirstMaterialGroupNode = (\n materialGroupNodes: MaterialGroupNode[]\n ): MaterialGroupNode => {\n if (materialGroupNodes[0].children.length) {\n return getFirstMaterialGroupNode(materialGroupNodes[0].children);\n }\n\n return materialGroupNodes[0];\n };\n\n const materialGroupList = this.materialGroupTable.getList();\n\n if (!materialGroupList.length) {\n return;\n }\n\n this.currentMaterialGroupId =\n getFirstMaterialGroupNode(materialGroupList).id;\n\n await this.materialTable.init();\n\n this.materialTypes = this.materialTable.getMaterialTypes();\n\n if (this.materialTypes.length) {\n this.currentMaterialTypeId = this.materialTypes[0].value;\n }\n\n this.attachMaterialTableCondition();\n\n this.initing = false;\n this.initd = true;\n }\n\n setCurrentMaterialGroupId(materialGoupId: MaterialGroupNode[\"id\"] | null) {\n this.currentMaterialGroupId = materialGoupId;\n\n this.attachMaterialTableCondition();\n }\n\n setCurrentMaterialTypeId(materialTypeId: MaterialType[\"value\"] | null) {\n this.currentMaterialTypeId = materialTypeId;\n\n this.attachMaterialTableCondition();\n }\n\n protected attachMaterialTableCondition() {\n this.materialConditionGroup.clear();\n\n if (this.currentMaterialGroupId) {\n this.materialConditionGroup.addCondition(\n \"materialGroupId\",\n \"=\",\n this.currentMaterialGroupId\n );\n }\n\n if (this.currentMaterialTypeId) {\n this.materialConditionGroup.addCondition(\n \"type\",\n \"=\",\n this.currentMaterialTypeId\n );\n }\n\n this.materialTable.load();\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialMan.js","sources":["../../../../src/dataview/material/MaterialMan.ts"],"sourcesContent":["import { Group, OrderType } from \"@maketribe/request\";\nimport { IComponents, WhereFilter } from \"@maketribe/dm\";\nimport { MaterialTable, MaterialType } from \"./MaterialTable\";\nimport {\n MaterialGroup,\n MaterialGroupNode,\n MaterialGroupTable,\n} from \"./material-group\";\nimport { UploadError, WebFileUpload, HttpRequest } from \"@maketribe/request\";\nimport { MaterialForm } from \"./MaterialForm\";\n\nexport type MaterialManOptions = {\n components: IComponents;\n httpRequest?: HttpRequest;\n};\n\nexport class MaterialMan {\n currentMaterialGroupId: MaterialGroup[\"id\"] | null;\n currentMaterialTypeId: MaterialType[\"value\"] | null;\n\n materialTypes: MaterialType[] = [];\n materialTypeValues: MaterialType[\"value\"][] = [];\n\n materialGroupTable: MaterialGroupTable;\n materialTable: MaterialTable;\n materialForm: MaterialForm;\n\n protected initing: boolean = false;\n protected initd: boolean = false;\n\n upload: WebFileUpload;\n\n protected materialConditionGroup: Group;\n\n get currentMaterialType() {\n return (\n this.materialTypes.find(\n (materialType) => materialType.value === this.currentMaterialTypeId\n ) ?? null\n );\n }\n\n constructor(options: MaterialManOptions) {\n this.materialGroupTable = new MaterialGroupTable();\n this.materialTable = new MaterialTable({\n materialComponents: options.components,\n });\n this.materialForm = new MaterialForm();\n\n this.materialConditionGroup = new Group();\n\n (this.materialTable.dataFilter as WhereFilter)\n .getWhere()\n .addGroup(this.materialConditionGroup);\n\n (this.materialTable.dataFilter as WhereFilter)\n .getOrder()\n .addOrderItem(\"createDate\", OrderType.DESC);\n\n this.materialGroupTable.dataFilter.setReady();\n this.materialTable.dataFilter.setReady();\n\n this.upload = new WebFileUpload({\n filters: [\n (file) => {\n if (!this.currentMaterialType) {\n throw new UploadError(\"不能上传文件,素材类型无效\");\n }\n\n if (this.currentMaterialType.limit * 1024 * 1024 < file.size) {\n throw new UploadError(\"文件太大不能上传\");\n }\n },\n ],\n httpRequest: options.httpRequest,\n });\n\n this.currentMaterialGroupId = null;\n this.currentMaterialTypeId = null;\n }\n\n async init() {\n if (this.initing || this.initd) {\n return;\n }\n this.initing = true;\n\n this.upload.uploadEvent.on(({ uploadItem }) => {\n uploadItem.completeEvent.once(async () => {\n await this.materialForm.addRecord();\n\n this.materialForm.setData({\n id: \"\",\n materialGroupId: this.currentMaterialGroupId,\n type: this.currentMaterialTypeId!,\n desc: uploadItem.payload.name,\n path: uploadItem.response!.data.data.path,\n });\n\n const submitResullt = await this.materialForm.submit();\n\n if (submitResullt.data.code !== 200) {\n return;\n }\n\n this.materialTable.load();\n });\n });\n\n await this.materialGroupTable.init();\n await this.materialGroupTable.load();\n\n await this.materialForm.init();\n\n const getFirstMaterialGroupNode = (\n materialGroupNodes: MaterialGroupNode[]\n ): MaterialGroupNode => {\n if (materialGroupNodes[0].children.length) {\n return getFirstMaterialGroupNode(materialGroupNodes[0].children);\n }\n\n return materialGroupNodes[0];\n };\n\n const materialGroupList = this.materialGroupTable.getList();\n\n if (!materialGroupList.length) {\n return;\n }\n\n this.currentMaterialGroupId =\n getFirstMaterialGroupNode(materialGroupList).id;\n\n await this.materialTable.init();\n\n this.materialTypes = this.materialTable.getMaterialTypes();\n\n if (this.materialTypes.length) {\n this.currentMaterialTypeId = this.materialTypes[0].value;\n }\n\n this.attachMaterialTableCondition();\n\n this.initing = false;\n this.initd = true;\n }\n\n setAllowAccessMaterialTypeValues(\n materialTypeValues: MaterialType[\"value\"][]\n ) {\n this.materialTypeValues = materialTypeValues;\n }\n\n getMaterialType() {\n if (!this.materialTypeValues.length) {\n return this.materialTypes;\n }\n\n return this.materialTypes.filter((materialType) =>\n this.materialTypeValues.includes(materialType.value)\n );\n }\n\n setCurrentMaterialGroupId(materialGoupId: MaterialGroupNode[\"id\"] | null) {\n this.currentMaterialGroupId = materialGoupId;\n\n this.attachMaterialTableCondition();\n }\n\n setCurrentMaterialTypeId(materialTypeId: MaterialType[\"value\"] | null) {\n this.currentMaterialTypeId = materialTypeId;\n\n this.attachMaterialTableCondition();\n }\n\n protected attachMaterialTableCondition() {\n this.materialConditionGroup.clear();\n\n if (this.currentMaterialGroupId) {\n this.materialConditionGroup.addCondition(\n \"materialGroupId\",\n \"=\",\n this.currentMaterialGroupId\n );\n }\n\n if (this.currentMaterialTypeId) {\n this.materialConditionGroup.addCondition(\n \"type\",\n \"=\",\n this.currentMaterialTypeId\n );\n }\n\n this.materialTable.load();\n }\n}\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export type MenuResult = {
8
8
  pid: string | null;
9
9
  routeId: string;
10
10
  sort: string;
11
- type: number;
11
+ type: string;
12
12
  routes: RouteResult[];
13
13
  permissionPoints: PermissionPointDefine[];
14
14
  };
@@ -19,7 +19,7 @@ export type MenuItem = {
19
19
  pid: string;
20
20
  routeId: string;
21
21
  sort: string;
22
- type: number;
22
+ type: string;
23
23
  routes: RouteResult[];
24
24
  permissionPoints: PermissionPointDefine[];
25
25
  };
@@ -74,15 +74,15 @@ class MenuForm extends DataForm {
74
74
  this.register(
75
75
  this.formItemValueChangeEvent.on(({ formItem }) => {
76
76
  if (formItem.name === "type") {
77
- this.getColumn("routes").visible = this.data?.type !== 1;
78
- this.getColumn("permissionPoints").visible = this.data?.type !== 1;
77
+ this.getColumn("routes").visible = this.data?.type !== "1";
78
+ this.getColumn("permissionPoints").visible = this.data?.type !== "1";
79
79
  }
80
80
  })
81
81
  );
82
82
  this.register(
83
83
  this.dataChangeEvent.on(({}) => {
84
- this.getColumn("routes").visible = this.data?.type !== 1;
85
- this.getColumn("permissionPoints").visible = this.data?.type !== 1;
84
+ this.getColumn("routes").visible = this.data?.type !== "1";
85
+ this.getColumn("permissionPoints").visible = this.data?.type !== "1";
86
86
  })
87
87
  );
88
88
  this.register(