@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 +1 @@
1
- .mk-bar{display:flex;flex-direction:column;width:80px;height:100%;background-color:#001428;color:#fff}.mk-bar__logo{overflow:hidden;width:64px;height:64px;border-radius:4px;margin:8px auto}.mk-bar__items{flex:1}.mk-bar__footer{font-size:18px;color:#9d9d9d;height:40px;display:flex;align-items:center;justify-content:center}.mk-bar__item{position:relative;display:flex;align-items:center;justify-content:center;width:64px;margin:0 auto;flex-direction:column;cursor:pointer;margin-top:10px;padding:8px 0}.mk-bar__item-button{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background-color:#9d9d9d;border-radius:4px}.mk-bar__item-title{font-size:12px;padding:5px 5px 0 5px;overflow:hidden;text-overflow:clip;white-space:normal;width:100%;box-sizing:border-box;text-align:center}.mk-bar__item.is-active{background:#fff;border-radius:4px}.mk-bar__item.is-active .mk-bar__item-button{background-color:#ff844b}.mk-bar__item.is-active .mk-bar__item-title{color:#333}.mk-bar__item.is-active.has-children{border-top-right-radius:0;border-bottom-right-radius:0}.mk-bar__item.is-active.has-children::after{content:"";position:absolute;left:100%;height:100%;width:8px;background-color:#fff}.mk-bar__setting{cursor:pointer}.mk-bar .mk-logo{width:65px;height:65px;margin:0 auto;background-size:contain;background-position:center center}
1
+ .mk-bar{display:flex;flex-direction:column;width:80px;height:100%;background-color:#001428;color:#fff}.mk-bar__logo{overflow:hidden;width:64px;height:64px;border-radius:4px;margin:8px auto}.mk-bar__items{flex:1}.mk-bar__footer{font-size:18px;color:#9d9d9d;height:40px;display:flex;align-items:center;justify-content:center}.mk-bar__item{position:relative;display:flex;align-items:center;justify-content:center;width:64px;margin:0 auto;flex-direction:column;cursor:pointer;margin-top:10px;padding:8px 0}.mk-bar__item-button{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background-color:#9d9d9d;border-radius:4px}.mk-bar__item-title{font-size:12px;padding:5px 5px 0 5px;overflow:hidden;text-overflow:clip;white-space:normal;width:100%;box-sizing:border-box;text-align:center}.mk-bar__item.is-active{background:#fff;border-radius:4px}.mk-bar__item.is-active .mk-bar__item-button{background-color:#ff844b}.mk-bar__item.is-active .mk-bar__item-title{color:#333}.mk-bar__item.is-active.has-children{border-top-right-radius:0;border-bottom-right-radius:0}.mk-bar__item.is-active.has-children::after{content:"";position:absolute;left:100%;height:100%;width:8px;background-color:#fff}.mk-bar .mk-logo{width:65px;height:65px;margin:0 auto;background-size:contain;background-position:center center}.mk-bar-settings__icon{cursor:pointer}.mk-bar-settings__item{display:flex;padding:5px 3px;align-items:center;cursor:pointer}.mk-bar-settings__item-icon{margin-right:10px}.mk-bar-settings__item:hover{background-color:#ecf5ff}
@@ -1 +1 @@
1
- .mk-bar{display:flex;flex-direction:column;width:80px;height:100%;background-color:#001428;color:#fff}.mk-bar__logo{overflow:hidden;width:64px;height:64px;border-radius:4px;margin:8px auto}.mk-bar__items{flex:1}.mk-bar__footer{font-size:18px;color:#9d9d9d;height:40px;display:flex;align-items:center;justify-content:center}.mk-bar__item{position:relative;display:flex;align-items:center;justify-content:center;width:64px;margin:0 auto;flex-direction:column;cursor:pointer;margin-top:10px;padding:8px 0}.mk-bar__item-button{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background-color:#9d9d9d;border-radius:4px}.mk-bar__item-title{font-size:12px;padding:5px 5px 0 5px;overflow:hidden;text-overflow:clip;white-space:normal;width:100%;box-sizing:border-box;text-align:center}.mk-bar__item.is-active{background:#fff;border-radius:4px}.mk-bar__item.is-active .mk-bar__item-button{background-color:#ff844b}.mk-bar__item.is-active .mk-bar__item-title{color:#333}.mk-bar__item.is-active.has-children{border-top-right-radius:0;border-bottom-right-radius:0}.mk-bar__item.is-active.has-children::after{content:"";position:absolute;left:100%;height:100%;width:8px;background-color:#fff}.mk-bar__setting{cursor:pointer}.mk-bar .mk-logo{width:65px;height:65px;margin:0 auto;background-size:contain;background-position:center center}.mk-menu{--el-menu-active-color:rgba(0, 98, 255, 1);--el-menu-text-color:rgba(23, 23, 37, 1);width:200px;height:100%;background-color:#fff}.mk-menu .el-menu{border:none}.mk-menu-item__icon{margin-right:10px}.mk-layout-default{height:100%;background-color:#ebeced}.mk-layout-default>.el-main{--el-main-padding:0px}.mk-layout-default__body{height:100%}.mk-layout-default__body>.el-main{--el-main-padding:0px}.mk-layout-default__header{--el-header-height:56px;background-color:#fff;border-bottom:1px solid #e2e2ea}.mk-layout-default__main{height:100%}.mk-layout-default__main>.el-main{--el-main-padding:0px}.mk-layout-default__menu{border-right:1px solid #e2e2ea}
1
+ .mk-bar{display:flex;flex-direction:column;width:80px;height:100%;background-color:#001428;color:#fff}.mk-bar__logo{overflow:hidden;width:64px;height:64px;border-radius:4px;margin:8px auto}.mk-bar__items{flex:1}.mk-bar__footer{font-size:18px;color:#9d9d9d;height:40px;display:flex;align-items:center;justify-content:center}.mk-bar__item{position:relative;display:flex;align-items:center;justify-content:center;width:64px;margin:0 auto;flex-direction:column;cursor:pointer;margin-top:10px;padding:8px 0}.mk-bar__item-button{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background-color:#9d9d9d;border-radius:4px}.mk-bar__item-title{font-size:12px;padding:5px 5px 0 5px;overflow:hidden;text-overflow:clip;white-space:normal;width:100%;box-sizing:border-box;text-align:center}.mk-bar__item.is-active{background:#fff;border-radius:4px}.mk-bar__item.is-active .mk-bar__item-button{background-color:#ff844b}.mk-bar__item.is-active .mk-bar__item-title{color:#333}.mk-bar__item.is-active.has-children{border-top-right-radius:0;border-bottom-right-radius:0}.mk-bar__item.is-active.has-children::after{content:"";position:absolute;left:100%;height:100%;width:8px;background-color:#fff}.mk-bar .mk-logo{width:65px;height:65px;margin:0 auto;background-size:contain;background-position:center center}.mk-bar-settings__icon{cursor:pointer}.mk-bar-settings__item{display:flex;padding:5px 3px;align-items:center;cursor:pointer}.mk-bar-settings__item-icon{margin-right:10px}.mk-bar-settings__item:hover{background-color:#ecf5ff}.mk-menu{--el-menu-active-color:rgba(0, 98, 255, 1);--el-menu-text-color:rgba(23, 23, 37, 1);width:200px;height:100%;background-color:#fff}.mk-menu .el-menu{border:none}.mk-menu-item__icon{margin-right:10px}.mk-layout-default{height:100%;background-color:#ebeced}.mk-layout-default>.el-main{--el-main-padding:0px}.mk-layout-default__body{height:100%}.mk-layout-default__body>.el-main{--el-main-padding:0px}.mk-layout-default__header{--el-header-height:56px;background-color:#fff;border-bottom:1px solid #e2e2ea}.mk-layout-default__main{height:100%}.mk-layout-default__main>.el-main{--el-main-padding:0px}.mk-layout-default__menu{border-right:1px solid #e2e2ea}
@@ -1 +1 @@
1
- .mk-lock{position:fixed;left:0;top:0;right:0;bottom:0;z-index:1999}.mk-lock__overlay{width:100%;height:100%}.mk-lock-entry{position:absolute;top:50%;left:50%;width:260px;transform:translate(-50%,-50%)}.mk-lock-entry__footer{display:flex;justify-content:space-between;margin-top:6px}.mk-bar{display:flex;flex-direction:column;width:80px;height:100%;background-color:#001428;color:#fff}.mk-bar__logo{overflow:hidden;width:64px;height:64px;border-radius:4px;margin:8px auto}.mk-bar__items{flex:1}.mk-bar__footer{font-size:18px;color:#9d9d9d;height:40px;display:flex;align-items:center;justify-content:center}.mk-bar__item{position:relative;display:flex;align-items:center;justify-content:center;width:64px;margin:0 auto;flex-direction:column;cursor:pointer;margin-top:10px;padding:8px 0}.mk-bar__item-button{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background-color:#9d9d9d;border-radius:4px}.mk-bar__item-title{font-size:12px;padding:5px 5px 0 5px;overflow:hidden;text-overflow:clip;white-space:normal;width:100%;box-sizing:border-box;text-align:center}.mk-bar__item.is-active{background:#fff;border-radius:4px}.mk-bar__item.is-active .mk-bar__item-button{background-color:#ff844b}.mk-bar__item.is-active .mk-bar__item-title{color:#333}.mk-bar__item.is-active.has-children{border-top-right-radius:0;border-bottom-right-radius:0}.mk-bar__item.is-active.has-children::after{content:"";position:absolute;left:100%;height:100%;width:8px;background-color:#fff}.mk-bar__setting{cursor:pointer}.mk-bar .mk-logo{width:65px;height:65px;margin:0 auto;background-size:contain;background-position:center center}.mk-menu{--el-menu-active-color:rgba(0, 98, 255, 1);--el-menu-text-color:rgba(23, 23, 37, 1);width:200px;height:100%;background-color:#fff}.mk-menu .el-menu{border:none}.mk-menu-item__icon{margin-right:10px}.mk-layout-default{height:100%;background-color:#ebeced}.mk-layout-default>.el-main{--el-main-padding:0px}.mk-layout-default__body{height:100%}.mk-layout-default__body>.el-main{--el-main-padding:0px}.mk-layout-default__header{--el-header-height:56px;background-color:#fff;border-bottom:1px solid #e2e2ea}.mk-layout-default__main{height:100%}.mk-layout-default__main>.el-main{--el-main-padding:0px}.mk-layout-default__menu{border-right:1px solid #e2e2ea}
1
+ .mk-lock{position:fixed;left:0;top:0;right:0;bottom:0;z-index:1999}.mk-lock__overlay{width:100%;height:100%}.mk-lock-entry{position:absolute;top:50%;left:50%;width:260px;transform:translate(-50%,-50%)}.mk-lock-entry__footer{display:flex;justify-content:space-between;margin-top:6px}.mk-bar{display:flex;flex-direction:column;width:80px;height:100%;background-color:#001428;color:#fff}.mk-bar__logo{overflow:hidden;width:64px;height:64px;border-radius:4px;margin:8px auto}.mk-bar__items{flex:1}.mk-bar__footer{font-size:18px;color:#9d9d9d;height:40px;display:flex;align-items:center;justify-content:center}.mk-bar__item{position:relative;display:flex;align-items:center;justify-content:center;width:64px;margin:0 auto;flex-direction:column;cursor:pointer;margin-top:10px;padding:8px 0}.mk-bar__item-button{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background-color:#9d9d9d;border-radius:4px}.mk-bar__item-title{font-size:12px;padding:5px 5px 0 5px;overflow:hidden;text-overflow:clip;white-space:normal;width:100%;box-sizing:border-box;text-align:center}.mk-bar__item.is-active{background:#fff;border-radius:4px}.mk-bar__item.is-active .mk-bar__item-button{background-color:#ff844b}.mk-bar__item.is-active .mk-bar__item-title{color:#333}.mk-bar__item.is-active.has-children{border-top-right-radius:0;border-bottom-right-radius:0}.mk-bar__item.is-active.has-children::after{content:"";position:absolute;left:100%;height:100%;width:8px;background-color:#fff}.mk-bar .mk-logo{width:65px;height:65px;margin:0 auto;background-size:contain;background-position:center center}.mk-bar-settings__icon{cursor:pointer}.mk-bar-settings__item{display:flex;padding:5px 3px;align-items:center;cursor:pointer}.mk-bar-settings__item-icon{margin-right:10px}.mk-bar-settings__item:hover{background-color:#ecf5ff}.mk-menu{--el-menu-active-color:rgba(0, 98, 255, 1);--el-menu-text-color:rgba(23, 23, 37, 1);width:200px;height:100%;background-color:#fff}.mk-menu .el-menu{border:none}.mk-menu-item__icon{margin-right:10px}.mk-layout-default{height:100%;background-color:#ebeced}.mk-layout-default>.el-main{--el-main-padding:0px}.mk-layout-default__body{height:100%}.mk-layout-default__body>.el-main{--el-main-padding:0px}.mk-layout-default__header{--el-header-height:56px;background-color:#fff;border-bottom:1px solid #e2e2ea}.mk-layout-default__main{height:100%}.mk-layout-default__main>.el-main{--el-main-padding:0px}.mk-layout-default__menu{border-right:1px solid #e2e2ea}
@@ -2,4 +2,8 @@
2
2
  height: 100%;
3
3
  padding: 10px;
4
4
  box-sizing: border-box;
5
+
6
+ .mk-data-form {
7
+ height: 100%;
8
+ }
5
9
  }
@@ -1,23 +0,0 @@
1
- .mk-data-form {
2
- height: 100%;
3
-
4
- > .el-card__body {
5
- height: 100%;
6
- display: flex;
7
- flex-direction: column;
8
- box-sizing: border-box;
9
- }
10
-
11
- &__main {
12
- position: relative;
13
- flex: 1 0 0px;
14
-
15
- height: 0;
16
- }
17
-
18
- &__footer {
19
- display: flex;
20
- justify-content: flex-end;
21
- margin-top: 15px;
22
- }
23
- }
@@ -1,4 +1,5 @@
1
1
  .mk-data-table-page {
2
+ display: flex;
2
3
  height: 100%;
3
4
  padding: 10px;
4
5
  box-sizing: border-box;
@@ -1,3 +1,3 @@
1
1
  .mk-data-table {
2
- height: 100%;
2
+ // height: 100%;
3
3
  }
@@ -0,0 +1,26 @@
1
+ .mk-form-view {
2
+ height: 100%;
3
+
4
+ &.el-card {
5
+ > .el-card__body {
6
+ display: flex;
7
+ height: 100%;
8
+ display: flex;
9
+ flex-direction: column;
10
+ box-sizing: border-box;
11
+ }
12
+ }
13
+
14
+ &__main {
15
+ position: relative;
16
+ flex: 1 0 0px;
17
+
18
+ height: 0;
19
+ }
20
+
21
+ &__footer {
22
+ display: flex;
23
+ justify-content: flex-end;
24
+ margin-top: 15px;
25
+ }
26
+ }
@@ -15,6 +15,7 @@
15
15
  @use "./data-table.scss";
16
16
  @use "./data-table-page.scss";
17
17
  @use "./data-form.scss";
18
+ @use "./form-view.scss";
18
19
  @use "./data-form-page.scss";
19
20
  @use "./data-tree.scss";
20
21
  @use "./data-tree-page.scss";
@@ -16,5 +16,8 @@
16
16
  &__title {
17
17
  font-size: 12px;
18
18
  padding: 5px 10px;
19
+ white-space: nowrap;
20
+ overflow: hidden;
21
+ text-overflow: ellipsis;
19
22
  }
20
23
  }
@@ -12,7 +12,6 @@
12
12
  height: 64px;
13
13
  border-radius: 4px;
14
14
  margin: 8px auto;
15
-
16
15
  }
17
16
 
18
17
  &__items {
@@ -39,7 +38,7 @@
39
38
  cursor: pointer;
40
39
  margin-top: 10px;
41
40
  padding: 8px 0;
42
-
41
+
43
42
  &-button {
44
43
  display: flex;
45
44
  align-items: center;
@@ -48,10 +47,9 @@
48
47
  height: 25px;
49
48
  background-color: rgba(157, 157, 157, 1);
50
49
  border-radius: 4px;
51
-
52
50
  }
53
51
 
54
- &-title{
52
+ &-title {
55
53
  font-size: 12px;
56
54
  padding: 5px 5px 0 5px;
57
55
  overflow: hidden;
@@ -60,7 +58,7 @@
60
58
  width: 100%;
61
59
  box-sizing: border-box;
62
60
  text-align: center;
63
- }
61
+ }
64
62
 
65
63
  &.is-active {
66
64
  background: white;
@@ -72,8 +70,8 @@
72
70
  background-color: rgba(255, 132, 75, 1);
73
71
  }
74
72
 
75
- .mk-bar__item-title{
76
- color:#333;
73
+ .mk-bar__item-title {
74
+ color: #333;
77
75
  }
78
76
 
79
77
  &.has-children {
@@ -92,10 +90,6 @@
92
90
  }
93
91
  }
94
92
 
95
- &__setting {
96
- cursor: pointer;
97
- }
98
-
99
93
  .mk-logo {
100
94
  width: 65px;
101
95
  height: 65px;
@@ -103,4 +97,28 @@
103
97
  background-size: contain;
104
98
  background-position: center center;
105
99
  }
100
+
101
+ @at-root {
102
+ &-settings {
103
+ &__icon {
104
+ cursor: pointer;
105
+ }
106
+
107
+ &__item {
108
+ display: flex;
109
+ padding: 5px 3px;
110
+ align-items: center;
111
+ cursor: pointer;
112
+
113
+ &-icon {
114
+ margin-right: 10px;
115
+ }
116
+
117
+ &:hover {
118
+ background-color: rgb(236, 245, 255);
119
+ }
120
+
121
+ }
122
+ }
123
+ }
106
124
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.0.5",
3
+ "version": "3.0.6",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [
@@ -18,7 +18,7 @@
18
18
  "vditor": "^3.9.6",
19
19
  "lodash-es": "^4.17.21",
20
20
  "vue-router": "^4.2.4",
21
- "@maketribe/dm": "^3.0.3",
21
+ "@maketribe/dm": "^3.0.4",
22
22
  "@maketribe/utils": "^1.1.1",
23
23
  "@maketribe/locale": "^1.0.5",
24
24
  "@maketribe/request": "^1.1.2"
@@ -2,10 +2,7 @@ import { ExtractPropTypes } from "vue";
2
2
  import { buildProps } from "@maketribe/utils";
3
3
  import { ColumnOptions, DataForm } from "@maketribe/dm";
4
4
 
5
- import { innerDataFormProps } from "./inner-data-form-options";
6
-
7
5
  export const dataFormProps = buildProps({
8
- ...innerDataFormProps,
9
6
  dataForm: {
10
7
  type: DataForm<any>,
11
8
  },
@@ -1,29 +1,27 @@
1
1
  import {
2
2
  computed,
3
3
  defineComponent,
4
+ provide,
4
5
  reactive,
5
6
  unref,
6
- useAttrs,
7
7
  useSlots,
8
8
  watch,
9
9
  } from "vue";
10
- import { FormColumn, DataForm, Messager, MKError } from "@maketribe/dm";
10
+ import { FormColumn, DataForm } from "@maketribe/dm";
11
11
 
12
- import InnerDataForm from "./inner-data-form";
13
12
  import { dataFormEmits, dataFormProps } from "./data-form-options";
14
- import { ElButton, ElCard, ElScrollbar } from "element-plus";
15
- import { I18n } from "@maketribe/locale";
13
+ import { DATAFORM_CONTEXT_KEY } from "./token";
14
+ import { Disposable, Event } from "@maketribe/utils";
15
+ import { MKFormView } from "./views";
16
16
 
17
17
  export default defineComponent({
18
18
  name: "MKDataForm",
19
19
  inheritAttrs: false,
20
20
  props: dataFormProps,
21
21
  emits: dataFormEmits,
22
- setup(props, { emit }) {
22
+ setup(props, { emit, slots }) {
23
23
  let _dataForm: DataForm | null = null;
24
24
 
25
- const slots = useSlots();
26
-
27
25
  const createDataForm = () => {
28
26
  const dataForm = new DataForm({
29
27
  name: props.name!,
@@ -54,75 +52,59 @@ export default defineComponent({
54
52
  return _dataForm;
55
53
  });
56
54
 
57
- const allowSubmit = computed(() => {
58
- const _dataForm = unref(dataForm);
59
- if (_dataForm) {
60
- return _dataForm.allowSubmit;
61
- }
62
- return false;
63
- });
64
-
65
55
  watch(
66
56
  dataForm,
67
- async (dataForm) => {
57
+ async (dataForm, _, onCleanup) => {
68
58
  await dataForm.init();
69
- emit("changeDataForm", dataForm);
70
- },
71
- { immediate: true }
72
- );
73
59
 
74
- const handleSave = async () => {
75
- try {
76
- if (!(await unref(dataForm)?.validate())) {
77
- return;
60
+ if (unref(dataForm).autoReset) {
61
+ unref(dataForm).resetWidthOriginalData();
78
62
  }
79
63
 
80
- const result = await unref(dataForm)!.submit();
81
-
82
- if (result.data.code !== 200) {
83
- Messager.instance.error({ message: result.data.msg });
84
- return;
64
+ const disposable = new Disposable();
65
+
66
+ const events = Object.keys(dataForm)
67
+ .filter((key) => dataForm[key as keyof DataForm] instanceof Event)
68
+ .map((key) => ({
69
+ eventName: key
70
+ .replace(/Event$/, "")
71
+ .replace(/[A-Z]/g, (match) => `-${match.toLocaleLowerCase()}`),
72
+ event: dataForm[key as keyof DataForm]! as Event,
73
+ }));
74
+
75
+ for (const item of events) {
76
+ disposable.register(
77
+ // @ts-ignore
78
+ item.event.on((event: any) => {
79
+ // @ts-ignore
80
+ emit(item.eventName, event);
81
+ })
82
+ );
85
83
  }
86
84
 
87
- Messager.instance.success({ message: "保存成功" });
85
+ onCleanup(() => {
86
+ disposable.dispose();
87
+ });
88
88
 
89
- emit("submitted", result);
90
- } catch (e) {
91
- if (e instanceof MKError) {
92
- Messager.instance.error({ message: e.message });
93
- }
94
- }
95
- };
89
+ emit("changeDataForm", dataForm);
90
+ },
91
+ { immediate: true }
92
+ );
96
93
 
97
- const handleCancel = () => {
98
- emit("cancel");
99
- };
94
+ provide(
95
+ DATAFORM_CONTEXT_KEY,
96
+ reactive({
97
+ dataForm,
98
+ })
99
+ );
100
100
 
101
101
  return () => {
102
102
  return (
103
- <ElCard class="mk-data-form" shadow="never">
104
- <div class="mk-data-form__main">
105
- <ElScrollbar>
106
- <InnerDataForm
107
- {...props}
108
- dataForm={unref(dataForm)}
109
- v-slots={slots}
110
- />
111
- </ElScrollbar>
112
- </div>
113
- <div class="mk-data-form__footer">
114
- <ElButton
115
- type="primary"
116
- onClick={handleSave}
117
- loading={unref(allowSubmit)}
118
- >
119
- {I18n.instance.translate("mk.dataForm.saveButton")}
120
- </ElButton>
121
- <ElButton onClick={handleCancel}>
122
- {I18n.instance.translate("mk.dataForm.cancelButton")}
123
- </ElButton>
124
- </div>
125
- </ElCard>
103
+ <div class="mk-data-form">
104
+ {slots.default?.({ ...props, dataForm: unref(dataForm) }) || (
105
+ <MKFormView {...props} dataForm={unref(dataForm)} v-slots={slots} />
106
+ )}
107
+ </div>
126
108
  );
127
109
  };
128
110
  },
@@ -9,3 +9,5 @@ export default MKDataForm;
9
9
 
10
10
  export * from "./data-form-options";
11
11
  export * from "./data-form-item";
12
+
13
+ export * from "./views";
@@ -0,0 +1,16 @@
1
+ import { ExtractPropTypes } from "vue";
2
+
3
+ import { buildProps } from "@maketribe/utils";
4
+ import { DataForm } from "@maketribe/dm";
5
+
6
+ export const formProps = buildProps({
7
+ rules: { type: Object },
8
+ labelWidth: { type: String },
9
+ dataForm: { type: DataForm<any>, required: true },
10
+ } as const);
11
+
12
+ export type FormProps = ExtractPropTypes<typeof formProps>;
13
+
14
+ export const formEmits = {};
15
+
16
+ export const FormEmits = typeof formEmits;
@@ -4,36 +4,26 @@ import {
4
4
  defineComponent,
5
5
  onBeforeUnmount,
6
6
  onMounted,
7
- provide,
8
- reactive,
9
7
  ref,
10
- toRefs,
11
8
  unref,
12
- useSlots,
13
- watch,
14
9
  } from "vue";
15
- import { ElForm, FormRules, FormItemRule, ElDivider } from "element-plus";
16
- import { DataForm, FormModel, FormColumn } from "@maketribe/dm";
17
-
18
- import { DATAFORM_CONTEXT_KEY } from "./token";
19
- import MKDataFormItem from "./data-form-item";
20
- import { innerDataFormProps } from "./inner-data-form-options";
21
- import { Disposable } from "@maketribe/utils";
10
+ import { ElDivider, ElForm, FormItemRule, FormRules } from "element-plus";
11
+ import { formProps } from "./form-options";
12
+ import { FormColumn, FormModel } from "@maketribe/dm";
13
+ import MKDataFormItem from "../../data-form-item";
22
14
 
23
15
  let uid = 0;
24
16
 
25
17
  export default defineComponent({
26
- name: "InnerDataForm",
27
- inheritAttrs: false,
28
- props: innerDataFormProps,
29
- setup(props) {
30
- const { dataForm } = toRefs(props);
31
-
18
+ props: formProps,
19
+ setup(props, { slots }) {
32
20
  const formUID = uid++;
33
21
 
34
22
  const formEl = ref<FormModel | null>(null);
35
23
 
36
- const slots = useSlots();
24
+ const dataForm = computed(() => props.dataForm);
25
+
26
+ const data = computed(() => unref(dataForm).data as any);
37
27
 
38
28
  const columns = computed(() =>
39
29
  unref(dataForm)
@@ -41,21 +31,6 @@ export default defineComponent({
41
31
  .filter((column) => column.visible)
42
32
  );
43
33
 
44
- const data = computed(() => unref(dataForm).data as any);
45
-
46
- unref(dataForm).initdEvent.on(() => {
47
- if (unref(dataForm).autoReset) {
48
- unref(dataForm).resetWidthOriginalData();
49
- }
50
- });
51
-
52
- provide(
53
- DATAFORM_CONTEXT_KEY,
54
- reactive({
55
- dataForm,
56
- })
57
- );
58
-
59
34
  const rules = computed(() => {
60
35
  const rules: FormRules = {};
61
36
 
@@ -68,8 +43,7 @@ export default defineComponent({
68
43
  },
69
44
  ];
70
45
  }
71
-
72
- let componentRules = props.rules?.[column.name] || [];
46
+ let componentRules: FormItemRule[] = props.rules?.[column.name] || [];
73
47
 
74
48
  if (!Array.isArray(componentRules)) {
75
49
  componentRules = [componentRules];
@@ -104,37 +78,6 @@ export default defineComponent({
104
78
 
105
79
  const disabled = computed(() => unref(dataForm).disabled);
106
80
 
107
- let disposable: Disposable | null = null;
108
-
109
- watch(
110
- dataForm,
111
- (dataForm) => {
112
- disposable?.dispose();
113
-
114
- disposable = new Disposable();
115
-
116
- const events = Object.keys(dataForm)
117
- .filter((key) => dataForm[key as keyof DataForm] instanceof Event)
118
- .map((key) => ({
119
- eventName: key
120
- .replace(/Event$/, "")
121
- .replace(/[A-Z]/g, (match) => `-${match.toLocaleLowerCase()}`),
122
- event: dataForm[key as keyof DataForm]! as Event,
123
- }));
124
-
125
- for (const item of events) {
126
- disposable.register(
127
- // @ts-ignore
128
- item.event.on((event: any) => {
129
- // @ts-ignore
130
- emit(item.eventName, event);
131
- })
132
- );
133
- }
134
- },
135
- { immediate: true }
136
- );
137
-
138
81
  onMounted(() => {
139
82
  unref(dataForm).formModels.push({
140
83
  id: formUID,
@@ -145,8 +88,6 @@ export default defineComponent({
145
88
  });
146
89
 
147
90
  onBeforeUnmount(() => {
148
- disposable?.dispose();
149
-
150
91
  const index = unref(dataForm).formModels.findIndex(
151
92
  (formModel) => formModel.id === uid
152
93
  );
@@ -0,0 +1,6 @@
1
+ import { withInstall } from "@maketribe/utils";
2
+ import Form from "./form";
3
+
4
+ export const MKForm = withInstall(Form);
5
+
6
+ export default MKForm;
@@ -0,0 +1,17 @@
1
+ import { ExtractPropTypes } from "vue";
2
+ import { FormItemRule, formProps } from "element-plus";
3
+
4
+ import { buildProps } from "@maketribe/utils";
5
+ import { DataForm } from "@maketribe/dm";
6
+
7
+ export const formViewProps = buildProps({
8
+ rules: { type: Object },
9
+ labelWidth: { type: String },
10
+ dataForm: { type: DataForm<any>, required: true },
11
+ } as const);
12
+
13
+ export type FormViewProps = ExtractPropTypes<typeof formViewProps>;
14
+
15
+ export const formViewEmits = {};
16
+
17
+ export const FormViewEmits = typeof formViewEmits;
@@ -0,0 +1,70 @@
1
+ import { computed, defineComponent, unref } from "vue";
2
+ import { ElButton, ElCard, ElScrollbar } from "element-plus";
3
+ import { formViewProps } from "./form-view-options";
4
+ import { MKError, Messager } from "@maketribe/dm";
5
+ import { I18n } from "@maketribe/locale";
6
+ import MKForm from "../form";
7
+
8
+ export default defineComponent({
9
+ name: "MKFormView",
10
+ props: formViewProps,
11
+ setup(props, { slots }) {
12
+ const dataForm = computed(() => props.dataForm);
13
+
14
+ const allowSubmit = computed(() => unref(dataForm).allowSubmit);
15
+
16
+ const handleSave = async () => {
17
+ try {
18
+ if (!(await unref(dataForm)?.validate())) {
19
+ return;
20
+ }
21
+
22
+ const result = await unref(dataForm)!.submit();
23
+
24
+ if (result.data.code !== 200) {
25
+ Messager.instance.error({ message: result.data.msg });
26
+ return;
27
+ }
28
+
29
+ Messager.instance.success({ message: "保存成功" });
30
+ } catch (e) {
31
+ if (e instanceof MKError) {
32
+ Messager.instance.error({ message: e.message });
33
+ }
34
+ }
35
+ };
36
+
37
+ const handleCancel = () => {
38
+ unref(dataForm).cancel();
39
+ };
40
+
41
+ return () => {
42
+ return (
43
+ <ElCard class="mk-form-view" shadow="never">
44
+ <div class="mk-form-view__main">
45
+ <ElScrollbar>
46
+ <MKForm
47
+ rules={props.rules}
48
+ labelWidth={props.labelWidth}
49
+ dataForm={props.dataForm}
50
+ v-slots={slots}
51
+ />
52
+ </ElScrollbar>
53
+ </div>
54
+ <div class="mk-form-view__footer">
55
+ <ElButton
56
+ type="primary"
57
+ onClick={handleSave}
58
+ loading={unref(allowSubmit)}
59
+ >
60
+ {I18n.instance.translate("mk.dataForm.saveButton")}
61
+ </ElButton>
62
+ <ElButton onClick={handleCancel}>
63
+ {I18n.instance.translate("mk.dataForm.cancelButton")}
64
+ </ElButton>
65
+ </div>
66
+ </ElCard>
67
+ );
68
+ };
69
+ },
70
+ });
@@ -0,0 +1,6 @@
1
+ import { withInstall } from "@maketribe/utils";
2
+ import FormView from "./form-view";
3
+
4
+ export const MKFormView = withInstall(FormView);
5
+
6
+ export default MKFormView;
@@ -0,0 +1,2 @@
1
+ export * from "./form";
2
+ export * from "./form-view";
@@ -88,7 +88,7 @@ export default defineComponent({
88
88
  return () => {
89
89
  return (
90
90
  <div class="mk-data-table">
91
- {slots?.default?.({ dataTable: unref(dataTable) }) || (
91
+ {slots.default?.({ dataTable: unref(dataTable) }) || (
92
92
  <MKTableView dataTable={unref(dataTable)} />
93
93
  )}
94
94
  </div>
@@ -1,6 +1,7 @@
1
+ import { withInstall } from "@maketribe/utils";
1
2
  import TableView from "./table-view";
2
3
 
3
- export const MKTableView = TableView;
4
+ export const MKTableView = withInstall(TableView);
4
5
 
5
6
  export default MKTableView;
6
7