@maketribe/ms-app 3.0.0 → 3.0.3

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 (417) hide show
  1. package/dist/cjs/DataModelDefines.d.ts +23 -0
  2. package/dist/cjs/DataModelDefines.js +28 -0
  3. package/dist/cjs/DataModelDefines.js.map +1 -0
  4. package/dist/cjs/MSAppClient.d.ts +15 -8
  5. package/dist/cjs/MSAppClient.js +25 -102
  6. package/dist/cjs/MSAppClient.js.map +1 -1
  7. package/dist/cjs/MSDataFormComponents.js +1 -1
  8. package/dist/cjs/MSDataFormComponents.js.map +1 -1
  9. package/dist/cjs/PageManager.d.ts +16 -0
  10. package/dist/cjs/PageManager.js +121 -0
  11. package/dist/cjs/PageManager.js.map +1 -0
  12. package/dist/cjs/Router.js +6 -8
  13. package/dist/cjs/Router.js.map +1 -1
  14. package/dist/cjs/UserSession.d.ts +10 -1
  15. package/dist/cjs/UserSession.js +37 -8
  16. package/dist/cjs/UserSession.js.map +1 -1
  17. package/dist/cjs/components/image-select/image-select.js +2 -2
  18. package/dist/cjs/components/image-select/image-select.js.map +1 -1
  19. package/dist/cjs/components/material-list/material-group.vue2.js +5 -5
  20. package/dist/cjs/components/material-list/material-group.vue2.js.map +1 -1
  21. package/dist/cjs/components/member-table/member-table.vue2.js +2 -10
  22. package/dist/cjs/components/member-table/member-table.vue2.js.map +1 -1
  23. package/dist/cjs/components/verify-dialog/index.d.ts +8 -2
  24. package/dist/cjs/components/verify-dialog/verify-dialog-option.d.ts +1 -1
  25. package/dist/cjs/components/verify-dialog/verify-dialog-option.js.map +1 -1
  26. package/dist/cjs/components/verify-dialog/verify-dialog.d.ts +8 -2
  27. package/dist/cjs/components/verify-dialog/verify-dialog.js +2 -25
  28. package/dist/cjs/components/verify-dialog/verify-dialog.js.map +1 -1
  29. package/dist/cjs/constants/index.d.ts +1 -0
  30. package/dist/cjs/constants/index.js +2 -0
  31. package/dist/cjs/constants/index.js.map +1 -1
  32. package/dist/cjs/constants/menu.d.ts +4 -0
  33. package/dist/cjs/constants/menu.js +10 -0
  34. package/dist/cjs/constants/menu.js.map +1 -0
  35. package/dist/cjs/dataview/config/ConfigForm.js +9 -9
  36. package/dist/cjs/dataview/config/ConfigForm.js.map +1 -1
  37. package/dist/cjs/dataview/config/ConfigTable.js +2 -1
  38. package/dist/cjs/dataview/config/ConfigTable.js.map +1 -1
  39. package/dist/cjs/dataview/department/DepartmentForm.js +2 -1
  40. package/dist/cjs/dataview/department/DepartmentForm.js.map +1 -1
  41. package/dist/cjs/dataview/department/DepartmentTable.js +2 -1
  42. package/dist/cjs/dataview/department/DepartmentTable.js.map +1 -1
  43. package/dist/cjs/dataview/material/MaterialForm.js +2 -1
  44. package/dist/cjs/dataview/material/MaterialForm.js.map +1 -1
  45. package/dist/cjs/dataview/material/MaterialMan.js +1 -0
  46. package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
  47. package/dist/cjs/dataview/material/MaterialTable.js +2 -1
  48. package/dist/cjs/dataview/material/MaterialTable.js.map +1 -1
  49. package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
  50. package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
  51. package/dist/cjs/dataview/member/MemberForm.js +2 -1
  52. package/dist/cjs/dataview/member/MemberForm.js.map +1 -1
  53. package/dist/cjs/dataview/member/MemberTable.js +4 -3
  54. package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
  55. package/dist/cjs/dataview/menu/MenuForm.d.ts +2 -0
  56. package/dist/cjs/dataview/menu/MenuForm.js +52 -10
  57. package/dist/cjs/dataview/menu/MenuForm.js.map +1 -1
  58. package/dist/cjs/dataview/menu/MenuTable.d.ts +1 -1
  59. package/dist/cjs/dataview/menu/MenuTable.js +2 -1
  60. package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
  61. package/dist/cjs/dataview/role/RoleForm.js +2 -1
  62. package/dist/cjs/dataview/role/RoleForm.js.map +1 -1
  63. package/dist/cjs/dataview/role/RoleTable.js +2 -1
  64. package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
  65. package/dist/cjs/dataview/route/RouteForm.js +10 -6
  66. package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
  67. package/dist/cjs/dataview/route/RouteTable.js +2 -1
  68. package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
  69. package/dist/cjs/define-data-form.d.ts +2 -0
  70. package/dist/cjs/define-data-form.js +14 -0
  71. package/dist/cjs/define-data-form.js.map +1 -0
  72. package/dist/cjs/define-data-table.d.ts +2 -0
  73. package/dist/cjs/define-data-table.js +14 -0
  74. package/dist/cjs/define-data-table.js.map +1 -0
  75. package/dist/cjs/index.d.ts +3 -0
  76. package/dist/cjs/index.js +26 -16
  77. package/dist/cjs/index.js.map +1 -1
  78. package/dist/cjs/init-application.js +24 -22
  79. package/dist/cjs/init-application.js.map +1 -1
  80. package/dist/cjs/layouts/common/lock/index.d.ts +2 -0
  81. package/dist/cjs/layouts/common/lock/index.js +11 -0
  82. package/dist/cjs/layouts/common/lock/index.js.map +1 -0
  83. package/dist/cjs/layouts/common/lock/lock.d.ts +2 -0
  84. package/dist/cjs/layouts/common/lock/lock.js +100 -0
  85. package/dist/cjs/layouts/common/lock/lock.js.map +1 -0
  86. package/dist/cjs/layouts/default/components/bar/index.d.ts +10 -0
  87. package/dist/cjs/layouts/default/components/bar/index.js +73 -0
  88. package/dist/cjs/layouts/default/components/bar/index.js.map +1 -0
  89. package/dist/cjs/layouts/default/components/index.d.ts +2 -0
  90. package/dist/cjs/layouts/default/components/index.js +10 -0
  91. package/dist/cjs/layouts/default/components/index.js.map +1 -0
  92. package/dist/cjs/layouts/default/components/menu/index.d.ts +10 -0
  93. package/dist/cjs/layouts/default/components/menu/index.js +62 -0
  94. package/dist/cjs/layouts/default/components/menu/index.js.map +1 -0
  95. package/dist/cjs/layouts/default/components/menu/menu-item.d.ts +13 -0
  96. package/dist/cjs/layouts/default/components/menu/menu-item.js +51 -0
  97. package/dist/cjs/layouts/default/components/menu/menu-item.js.map +1 -0
  98. package/dist/cjs/layouts/default/index.d.ts +1 -0
  99. package/dist/cjs/layouts/default/index.js +80 -0
  100. package/dist/cjs/layouts/default/index.js.map +1 -0
  101. package/dist/cjs/layouts/index.d.ts +1 -0
  102. package/dist/cjs/layouts/index.js +2 -0
  103. package/dist/cjs/layouts/index.js.map +1 -1
  104. package/dist/cjs/layouts/manager-system/components/header/nav/nav.js +8 -16
  105. package/dist/cjs/layouts/manager-system/components/header/nav/nav.js.map +1 -1
  106. package/dist/cjs/layouts/manager-system/components/menu/index.d.ts +2 -0
  107. package/dist/cjs/layouts/manager-system/components/menu/index.js +11 -0
  108. package/dist/cjs/layouts/manager-system/components/menu/index.js.map +1 -0
  109. package/dist/cjs/layouts/manager-system/components/menu/logo.d.ts +2 -0
  110. package/dist/cjs/layouts/manager-system/components/menu/logo.js +31 -0
  111. package/dist/cjs/layouts/manager-system/components/menu/logo.js.map +1 -0
  112. package/dist/cjs/layouts/manager-system/components/menu/menu.d.ts +2 -0
  113. package/dist/cjs/layouts/manager-system/components/menu/menu.js +107 -0
  114. package/dist/cjs/layouts/manager-system/components/menu/menu.js.map +1 -0
  115. package/dist/cjs/layouts/manager-system/manager-system.js +55 -5
  116. package/dist/cjs/layouts/manager-system/manager-system.js.map +1 -1
  117. package/dist/cjs/menu/Menu.d.ts +1 -0
  118. package/dist/cjs/menu/Menu.js +1 -1
  119. package/dist/cjs/menu/Menu.js.map +1 -1
  120. package/dist/cjs/page/index/404.vue.d.ts +2 -0
  121. package/dist/cjs/page/index/404.vue.js +13 -0
  122. package/dist/cjs/page/index/404.vue.js.map +1 -0
  123. package/dist/cjs/page/index/dv/default/add.vue.js +2 -2
  124. package/dist/cjs/page/index/dv/default/add.vue2.js +2 -2
  125. package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
  126. package/dist/cjs/page/index/dv/default/edit.vue.js +2 -2
  127. package/dist/cjs/page/index/dv/default/edit.vue2.js +2 -2
  128. package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
  129. package/dist/cjs/page/index/dv/default/index.vue2.js +13 -15
  130. package/dist/cjs/page/index/dv/default/index.vue2.js.map +1 -1
  131. package/dist/cjs/page/index/dv/default/tree.vue.js +2 -2
  132. package/dist/cjs/page/index/dv/default/tree.vue2.js +3 -3
  133. package/dist/cjs/page/index/dv/default/tree.vue2.js.map +1 -1
  134. package/dist/cjs/page/index/dv/ms-member/index.vue.js +2 -2
  135. package/dist/cjs/page/index/dv/ms-member/index.vue2.js +2 -2
  136. package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
  137. package/dist/cjs/page/index/dv/ms-role/index.vue.js +2 -2
  138. package/dist/cjs/page/index/material/index.vue.js +2 -2
  139. package/dist/cjs/page/index/material/index.vue2.js.map +1 -1
  140. package/dist/cjs/page/index.vue.d.ts +2 -0
  141. package/dist/cjs/page/index.vue.js +9 -0
  142. package/dist/cjs/page/index.vue.js.map +1 -0
  143. package/dist/cjs/page/index.vue2.js +30 -0
  144. package/dist/cjs/page/index.vue2.js.map +1 -0
  145. package/dist/cjs/page/login/index.vue.js +2 -2
  146. package/dist/cjs/page/login/index.vue2.js +2 -17
  147. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  148. package/dist/cjs/page/signup/index.vue.js +2 -2
  149. package/dist/cjs/page/signup/index.vue2.js +2 -18
  150. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  151. package/dist/cjs/router-middleware/auth.d.ts +2 -1
  152. package/dist/cjs/router-middleware/auth.js +2 -8
  153. package/dist/cjs/router-middleware/auth.js.map +1 -1
  154. package/dist/cjs/utils.d.ts +6 -0
  155. package/dist/cjs/utils.js +151 -0
  156. package/dist/cjs/utils.js.map +1 -0
  157. package/dist/esm/DataModelDefines.d.ts +23 -0
  158. package/dist/esm/DataModelDefines.js +26 -0
  159. package/dist/esm/DataModelDefines.js.map +1 -0
  160. package/dist/esm/MSAppClient.d.ts +15 -8
  161. package/dist/esm/MSAppClient.js +27 -104
  162. package/dist/esm/MSAppClient.js.map +1 -1
  163. package/dist/esm/MSDataFormComponents.js +1 -1
  164. package/dist/esm/MSDataFormComponents.js.map +1 -1
  165. package/dist/esm/PageManager.d.ts +16 -0
  166. package/dist/esm/PageManager.js +117 -0
  167. package/dist/esm/PageManager.js.map +1 -0
  168. package/dist/esm/Router.js +4 -8
  169. package/dist/esm/Router.js.map +1 -1
  170. package/dist/esm/UserSession.d.ts +10 -1
  171. package/dist/esm/UserSession.js +38 -9
  172. package/dist/esm/UserSession.js.map +1 -1
  173. package/dist/esm/components/image-select/image-select.js +1 -1
  174. package/dist/esm/components/image-select/image-select.js.map +1 -1
  175. package/dist/esm/components/material-list/material-group.vue2.js +1 -1
  176. package/dist/esm/components/material-list/material-group.vue2.js.map +1 -1
  177. package/dist/esm/components/member-table/member-table.vue2.js +2 -10
  178. package/dist/esm/components/member-table/member-table.vue2.js.map +1 -1
  179. package/dist/esm/components/verify-dialog/index.d.ts +8 -2
  180. package/dist/esm/components/verify-dialog/verify-dialog-option.d.ts +1 -1
  181. package/dist/esm/components/verify-dialog/verify-dialog-option.js.map +1 -1
  182. package/dist/esm/components/verify-dialog/verify-dialog.d.ts +8 -2
  183. package/dist/esm/components/verify-dialog/verify-dialog.js +2 -25
  184. package/dist/esm/components/verify-dialog/verify-dialog.js.map +1 -1
  185. package/dist/esm/constants/index.d.ts +1 -0
  186. package/dist/esm/constants/index.js +1 -0
  187. package/dist/esm/constants/index.js.map +1 -1
  188. package/dist/esm/constants/menu.d.ts +4 -0
  189. package/dist/esm/constants/menu.js +8 -0
  190. package/dist/esm/constants/menu.js.map +1 -0
  191. package/dist/esm/dataview/config/ConfigForm.js +9 -9
  192. package/dist/esm/dataview/config/ConfigForm.js.map +1 -1
  193. package/dist/esm/dataview/config/ConfigTable.js +2 -1
  194. package/dist/esm/dataview/config/ConfigTable.js.map +1 -1
  195. package/dist/esm/dataview/department/DepartmentForm.js +2 -1
  196. package/dist/esm/dataview/department/DepartmentForm.js.map +1 -1
  197. package/dist/esm/dataview/department/DepartmentTable.js +2 -1
  198. package/dist/esm/dataview/department/DepartmentTable.js.map +1 -1
  199. package/dist/esm/dataview/material/MaterialForm.js +2 -1
  200. package/dist/esm/dataview/material/MaterialForm.js.map +1 -1
  201. package/dist/esm/dataview/material/MaterialMan.js +2 -1
  202. package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
  203. package/dist/esm/dataview/material/MaterialTable.js +2 -1
  204. package/dist/esm/dataview/material/MaterialTable.js.map +1 -1
  205. package/dist/esm/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
  206. package/dist/esm/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
  207. package/dist/esm/dataview/member/MemberForm.js +2 -1
  208. package/dist/esm/dataview/member/MemberForm.js.map +1 -1
  209. package/dist/esm/dataview/member/MemberTable.js +4 -3
  210. package/dist/esm/dataview/member/MemberTable.js.map +1 -1
  211. package/dist/esm/dataview/menu/MenuForm.d.ts +2 -0
  212. package/dist/esm/dataview/menu/MenuForm.js +52 -10
  213. package/dist/esm/dataview/menu/MenuForm.js.map +1 -1
  214. package/dist/esm/dataview/menu/MenuTable.d.ts +1 -1
  215. package/dist/esm/dataview/menu/MenuTable.js +2 -1
  216. package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
  217. package/dist/esm/dataview/role/RoleForm.js +2 -1
  218. package/dist/esm/dataview/role/RoleForm.js.map +1 -1
  219. package/dist/esm/dataview/role/RoleTable.js +2 -1
  220. package/dist/esm/dataview/role/RoleTable.js.map +1 -1
  221. package/dist/esm/dataview/route/RouteForm.js +10 -6
  222. package/dist/esm/dataview/route/RouteForm.js.map +1 -1
  223. package/dist/esm/dataview/route/RouteTable.js +2 -1
  224. package/dist/esm/dataview/route/RouteTable.js.map +1 -1
  225. package/dist/esm/define-data-form.d.ts +2 -0
  226. package/dist/esm/define-data-form.js +12 -0
  227. package/dist/esm/define-data-form.js.map +1 -0
  228. package/dist/esm/define-data-table.d.ts +2 -0
  229. package/dist/esm/define-data-table.js +12 -0
  230. package/dist/esm/define-data-table.js.map +1 -0
  231. package/dist/esm/index.d.ts +3 -0
  232. package/dist/esm/index.js +5 -0
  233. package/dist/esm/index.js.map +1 -1
  234. package/dist/esm/init-application.js +24 -22
  235. package/dist/esm/init-application.js.map +1 -1
  236. package/dist/esm/layouts/common/lock/index.d.ts +2 -0
  237. package/dist/esm/layouts/common/lock/index.js +6 -0
  238. package/dist/esm/layouts/common/lock/index.js.map +1 -0
  239. package/dist/esm/layouts/common/lock/lock.d.ts +2 -0
  240. package/dist/esm/layouts/common/lock/lock.js +98 -0
  241. package/dist/esm/layouts/common/lock/lock.js.map +1 -0
  242. package/dist/esm/layouts/default/components/bar/index.d.ts +10 -0
  243. package/dist/esm/layouts/default/components/bar/index.js +71 -0
  244. package/dist/esm/layouts/default/components/bar/index.js.map +1 -0
  245. package/dist/esm/layouts/default/components/index.d.ts +2 -0
  246. package/dist/esm/layouts/default/components/index.js +3 -0
  247. package/dist/esm/layouts/default/components/index.js.map +1 -0
  248. package/dist/esm/layouts/default/components/menu/index.d.ts +10 -0
  249. package/dist/esm/layouts/default/components/menu/index.js +60 -0
  250. package/dist/esm/layouts/default/components/menu/index.js.map +1 -0
  251. package/dist/esm/layouts/default/components/menu/menu-item.d.ts +13 -0
  252. package/dist/esm/layouts/default/components/menu/menu-item.js +49 -0
  253. package/dist/esm/layouts/default/components/menu/menu-item.js.map +1 -0
  254. package/dist/esm/layouts/default/index.d.ts +1 -0
  255. package/dist/esm/layouts/default/index.js +78 -0
  256. package/dist/esm/layouts/default/index.js.map +1 -0
  257. package/dist/esm/layouts/index.d.ts +1 -0
  258. package/dist/esm/layouts/index.js +1 -0
  259. package/dist/esm/layouts/index.js.map +1 -1
  260. package/dist/esm/layouts/manager-system/components/header/nav/nav.js +8 -16
  261. package/dist/esm/layouts/manager-system/components/header/nav/nav.js.map +1 -1
  262. package/dist/esm/layouts/manager-system/components/menu/index.d.ts +2 -0
  263. package/dist/esm/layouts/manager-system/components/menu/index.js +6 -0
  264. package/dist/esm/layouts/manager-system/components/menu/index.js.map +1 -0
  265. package/dist/esm/layouts/manager-system/components/menu/logo.d.ts +2 -0
  266. package/dist/esm/layouts/manager-system/components/menu/logo.js +29 -0
  267. package/dist/esm/layouts/manager-system/components/menu/logo.js.map +1 -0
  268. package/dist/esm/layouts/manager-system/components/menu/menu.d.ts +2 -0
  269. package/dist/esm/layouts/manager-system/components/menu/menu.js +105 -0
  270. package/dist/esm/layouts/manager-system/components/menu/menu.js.map +1 -0
  271. package/dist/esm/layouts/manager-system/manager-system.js +56 -6
  272. package/dist/esm/layouts/manager-system/manager-system.js.map +1 -1
  273. package/dist/esm/menu/Menu.d.ts +1 -0
  274. package/dist/esm/menu/Menu.js +1 -1
  275. package/dist/esm/menu/Menu.js.map +1 -1
  276. package/dist/esm/page/index/404.vue.d.ts +2 -0
  277. package/dist/esm/page/index/404.vue.js +11 -0
  278. package/dist/esm/page/index/404.vue.js.map +1 -0
  279. package/dist/esm/page/index/dv/default/add.vue.js +2 -2
  280. package/dist/esm/page/index/dv/default/add.vue2.js +2 -2
  281. package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
  282. package/dist/esm/page/index/dv/default/edit.vue.js +2 -2
  283. package/dist/esm/page/index/dv/default/edit.vue2.js +2 -2
  284. package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
  285. package/dist/esm/page/index/dv/default/index.vue2.js +15 -17
  286. package/dist/esm/page/index/dv/default/index.vue2.js.map +1 -1
  287. package/dist/esm/page/index/dv/default/tree.vue.js +2 -2
  288. package/dist/esm/page/index/dv/default/tree.vue2.js +3 -3
  289. package/dist/esm/page/index/dv/default/tree.vue2.js.map +1 -1
  290. package/dist/esm/page/index/dv/ms-member/index.vue.js +2 -2
  291. package/dist/esm/page/index/dv/ms-member/index.vue2.js +2 -2
  292. package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
  293. package/dist/esm/page/index/dv/ms-role/index.vue.js +2 -2
  294. package/dist/esm/page/index/material/index.vue.js +2 -2
  295. package/dist/esm/page/index/material/index.vue2.js.map +1 -1
  296. package/dist/esm/page/index.vue.d.ts +2 -0
  297. package/dist/esm/page/index.vue.js +7 -0
  298. package/dist/esm/page/index.vue.js.map +1 -0
  299. package/dist/esm/page/index.vue2.js +28 -0
  300. package/dist/esm/page/index.vue2.js.map +1 -0
  301. package/dist/esm/page/login/index.vue.js +2 -2
  302. package/dist/esm/page/login/index.vue2.js +2 -17
  303. package/dist/esm/page/login/index.vue2.js.map +1 -1
  304. package/dist/esm/page/signup/index.vue.js +2 -2
  305. package/dist/esm/page/signup/index.vue2.js +2 -18
  306. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  307. package/dist/esm/router-middleware/auth.d.ts +2 -1
  308. package/dist/esm/router-middleware/auth.js +2 -8
  309. package/dist/esm/router-middleware/auth.js.map +1 -1
  310. package/dist/esm/utils.d.ts +6 -0
  311. package/dist/esm/utils.js +149 -0
  312. package/dist/esm/utils.js.map +1 -0
  313. package/dist/style/index.css +2 -2
  314. package/dist/style/layouts/common/index.css +1 -0
  315. package/dist/style/layouts/common/lock.css +1 -0
  316. package/dist/style/layouts/default/bar.css +1 -0
  317. package/dist/style/layouts/default/index.css +1 -0
  318. package/dist/style/layouts/default/menu.css +1 -0
  319. package/dist/style/layouts/index.css +1 -1
  320. package/dist/style/layouts/manager-system/aside.css +1 -1
  321. package/dist/style/layouts/manager-system/header.css +1 -1
  322. package/dist/style/layouts/manager-system/index.css +1 -1
  323. package/dist/style/layouts/manager-system/logo.css +1 -0
  324. package/dist/style/layouts/manager-system/manager-system.css +1 -1
  325. package/dist/style/layouts/manager-system/menu.css +1 -1
  326. package/dist/style/src/layouts/common/index.scss +1 -0
  327. package/dist/style/src/layouts/common/lock.scss +27 -0
  328. package/dist/style/src/layouts/default/bar.scss +83 -0
  329. package/dist/style/src/layouts/default/index.scss +37 -0
  330. package/dist/style/src/layouts/default/menu.scss +17 -0
  331. package/dist/style/src/layouts/index.scss +3 -1
  332. package/dist/style/src/layouts/manager-system/aside.scss +48 -0
  333. package/dist/style/src/layouts/manager-system/header.scss +13 -7
  334. package/dist/style/src/layouts/manager-system/index.scss +2 -1
  335. package/dist/style/src/layouts/manager-system/logo.scss +26 -0
  336. package/dist/style/src/layouts/manager-system/manager-system.scss +45 -1
  337. package/dist/style/src/layouts/manager-system/menu.scss +208 -26
  338. package/package.json +11 -7
  339. package/src/DataModelDefines.ts +53 -0
  340. package/src/MSAppClient.ts +39 -136
  341. package/src/MSDataFormComponents.ts +1 -1
  342. package/src/PageManager.ts +145 -0
  343. package/src/Router.ts +8 -8
  344. package/src/UserSession.ts +58 -15
  345. package/src/components/image-select/image-select.tsx +1 -1
  346. package/src/components/material-list/material-group.vue +1 -1
  347. package/src/components/verify-dialog/verify-dialog-option.ts +1 -1
  348. package/src/components/verify-dialog/verify-dialog.tsx +1 -1
  349. package/src/constants/index.ts +1 -0
  350. package/src/constants/menu.ts +4 -0
  351. package/src/dataview/config/ConfigForm.ts +13 -10
  352. package/src/dataview/config/ConfigTable.ts +1 -1
  353. package/src/dataview/department/DepartmentForm.ts +2 -6
  354. package/src/dataview/department/DepartmentTable.ts +2 -6
  355. package/src/dataview/material/MaterialForm.ts +2 -6
  356. package/src/dataview/material/MaterialMan.ts +5 -1
  357. package/src/dataview/material/MaterialTable.ts +1 -1
  358. package/src/dataview/material/material-group/MaterialGroupForm.ts +1 -6
  359. package/src/dataview/material/material-group/MaterialGroupTable.ts +1 -6
  360. package/src/dataview/member/MemberForm.ts +2 -6
  361. package/src/dataview/member/MemberTable.tsx +3 -3
  362. package/src/dataview/menu/MenuForm.ts +60 -9
  363. package/src/dataview/menu/MenuTable.ts +2 -2
  364. package/src/dataview/role/RoleForm.ts +2 -6
  365. package/src/dataview/role/RoleTable.ts +2 -1
  366. package/src/dataview/route/RouteForm.ts +11 -10
  367. package/src/dataview/route/RouteTable.ts +1 -1
  368. package/src/define-data-form.ts +12 -0
  369. package/src/define-data-table.ts +12 -0
  370. package/src/index.ts +3 -1
  371. package/src/init-application.ts +25 -27
  372. package/src/layouts/common/lock/index.ts +5 -0
  373. package/src/layouts/common/lock/lock.tsx +92 -0
  374. package/src/layouts/default/components/bar/index.tsx +76 -0
  375. package/src/layouts/default/components/index.ts +2 -0
  376. package/src/layouts/default/components/menu/index.tsx +57 -0
  377. package/src/layouts/default/components/menu/menu-item.tsx +63 -0
  378. package/src/layouts/default/index.tsx +72 -0
  379. package/src/layouts/index.ts +1 -0
  380. package/src/layouts/manager-system/components/header/nav/nav.tsx +9 -18
  381. package/src/layouts/manager-system/components/menu/index.ts +5 -0
  382. package/src/layouts/manager-system/components/menu/logo.tsx +29 -0
  383. package/src/layouts/manager-system/components/menu/menu.tsx +112 -0
  384. package/src/layouts/manager-system/manager-system.tsx +80 -4
  385. package/src/menu/Menu.ts +2 -2
  386. package/src/page/index/404.vue +3 -0
  387. package/src/page/index/dv/default/add.vue +3 -2
  388. package/src/page/index/dv/default/edit.vue +3 -2
  389. package/src/page/index/dv/default/index.vue +11 -16
  390. package/src/page/index/dv/default/tree.vue +4 -3
  391. package/src/page/index/dv/ms-member/index.vue +2 -2
  392. package/src/page/index/material/index.vue +0 -1
  393. package/src/page/index.vue +16 -0
  394. package/src/router-middleware/auth.ts +12 -9
  395. package/src/utils.ts +233 -0
  396. package/gulpfile.ts +0 -1
  397. package/rollup.config.mjs +0 -11
  398. package/style/components/image-select.scss +0 -13
  399. package/style/components/index.scss +0 -9
  400. package/style/components/material-group.scss +0 -38
  401. package/style/components/material-item.scss +0 -20
  402. package/style/components/material-list.scss +0 -67
  403. package/style/components/material-select.scss +0 -23
  404. package/style/components/member-table.scss +0 -9
  405. package/style/components/menu-permission-table.scss +0 -43
  406. package/style/components/role-permission-config.scss +0 -18
  407. package/style/components/verify-dialog.scss +0 -16
  408. package/style/index.scss +0 -4
  409. package/style/layouts/index.scss +0 -1
  410. package/style/layouts/manager-system/aside.scss +0 -116
  411. package/style/layouts/manager-system/header.scss +0 -129
  412. package/style/layouts/manager-system/index.scss +0 -4
  413. package/style/layouts/manager-system/manager-system.scss +0 -26
  414. package/style/layouts/manager-system/menu.scss +0 -47
  415. package/style/page/login.scss +0 -107
  416. package/tsconfig.build.json +0 -10
  417. package/tsconfig.json +0 -14
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  DataForm,
3
3
  DataFormOptions,
4
+ DataFormType,
4
5
  FormColumn,
5
6
  FormDetailColumn,
6
- defineDataForm,
7
+ isWhereFilter,
7
8
  } from "@maketribe/dm";
9
+ import { defineDataForm } from "../../define-data-form";
8
10
  import { RouteTable } from "../route/RouteTable";
9
11
  import { MenuTable } from "./MenuTable";
10
12
  import { RouteForm, RouteResult } from "../route/RouteForm";
@@ -21,6 +23,7 @@ export type MenuResult = {
21
23
  pid: string | null;
22
24
  routeId: string;
23
25
  sort: string;
26
+ type: number;
24
27
  routes: RouteResult[];
25
28
  permissionPoints: PermissionPointDefine[];
26
29
  };
@@ -32,6 +35,7 @@ export type MenuItem = {
32
35
  pid: string;
33
36
  routeId: string;
34
37
  sort: string;
38
+ type: number;
35
39
  routes: RouteResult[];
36
40
  permissionPoints: PermissionPointDefine[];
37
41
  };
@@ -42,22 +46,41 @@ export class MenuForm extends DataForm<MenuResult, MenuItem> {
42
46
  }
43
47
 
44
48
  protected async initialize() {
49
+ const menuTable = this.register(new MenuTable({ pageSize: 10 }));
50
+
51
+ if (isWhereFilter(menuTable.dataFilter)) {
52
+ menuTable.dataFilter.getDefaultGroup().addCondition("type", "=", 1);
53
+ }
54
+
45
55
  this.setColumns([
46
56
  new FormColumn({ name: "id", label: "编号" }),
47
- new FormColumn({ name: "title", label: "菜单描述" }),
57
+ new FormColumn({ name: "title", label: "菜单描述", required: true }),
48
58
  new FormColumn({
49
59
  name: "iconName",
50
60
  label: "图标",
51
61
  componentInfo: "MKFormIconSelect",
52
62
  required: true,
53
63
  }),
64
+ new FormColumn({
65
+ name: "type",
66
+ label: "菜单类型",
67
+ componentInfo: "MKFormDataSelect",
68
+ defaultValue: 2,
69
+ required: true,
70
+ componentProps: {
71
+ options: [
72
+ { value: 1, label: "菜单组" },
73
+ { value: 2, label: "菜单" },
74
+ ],
75
+ },
76
+ }),
54
77
  new FormColumn({
55
78
  name: "routeId",
56
79
  label: "默认路由",
57
80
  componentInfo: "MKFormDataTableSelect",
58
81
  componentProps: {
59
82
  labelFieldName: "title",
60
- dataTable: new RouteTable({ pageSize: 10 }),
83
+ dataTable: this.register(new RouteTable({ pageSize: 10 })),
61
84
  },
62
85
  }),
63
86
  new FormColumn({
@@ -66,33 +89,60 @@ export class MenuForm extends DataForm<MenuResult, MenuItem> {
66
89
  componentInfo: "MKFormDataTableSelect",
67
90
  componentProps: {
68
91
  labelFieldName: "title",
69
- dataTable: new MenuTable({ pageSize: 10 }),
92
+ dataTable: menuTable,
70
93
  },
71
94
  }),
72
- new FormColumn({ name: "sort", label: "排序" }),
95
+ new FormColumn({ name: "sort", label: "排序", defaultValue: "0" }),
73
96
  new FormDetailColumn({
74
97
  name: "routes",
75
98
  label: "该菜单所属路由定义",
76
99
  associationFieldName: "menuId",
77
- detailForm: new RouteForm(),
78
- detailTable: new RouteTable(),
100
+ detailForm: this.register(new RouteForm()),
101
+ detailTable: this.register(new RouteTable()),
79
102
  }),
80
103
  new FormDetailColumn({
81
104
  name: "permissionPoints",
82
105
  label: "该菜单所属权限定义",
83
106
  associationFieldName: "menuId",
84
- detailForm: new PermissionPointDefineForm(),
85
- detailTable: new PermissionPointDefineTable(),
107
+ detailForm: this.register(new PermissionPointDefineForm()),
108
+ detailTable: this.register(new PermissionPointDefineTable()),
86
109
  }),
87
110
  ]);
111
+
112
+ this.register(
113
+ this.formItemValueChangeEvent.on(({ formItem }) => {
114
+ if (formItem.name === "type") {
115
+ this.getColumn("routes")!.visible = this.data?.type !== 1;
116
+ this.getColumn("permissionPoints")!.visible = this.data?.type !== 1;
117
+ }
118
+ })
119
+ );
120
+
121
+ this.register(
122
+ this.dataChangeEvent.on(({}) => {
123
+ this.getColumn("routes")!.visible = this.data?.type !== 1;
124
+ this.getColumn("permissionPoints")!.visible = this.data?.type !== 1;
125
+ })
126
+ );
127
+
128
+ this.register(
129
+ this.dataFormTypeChangeEvent.on(({ dataFormType }) => {
130
+ this.getColumn("type")!.disabled = dataFormType !== DataFormType.ADD;
131
+ })
132
+ );
88
133
  }
89
134
 
90
135
  formatSubmitData(data: any) {
136
+ const permissionPoints = data.type === 2 ? data.permissionPoints : [];
137
+ const routes = data.type === 2 ? data.routes : [];
138
+
91
139
  return {
92
140
  ...data,
93
141
  iconName: data.iconName || null,
94
142
  pid: data.pid || null,
95
143
  routeId: data.routeId || null,
144
+ permissionPoints,
145
+ routes,
96
146
  };
97
147
  }
98
148
 
@@ -103,6 +153,7 @@ export class MenuForm extends DataForm<MenuResult, MenuItem> {
103
153
  iconName: item.iconName || "",
104
154
  pid: item.pid || "",
105
155
  routeId: item.routeId,
156
+ type: item.type,
106
157
  sort: item.sort || "0",
107
158
  routes: item.routes || [],
108
159
  permissionPoints: item.permissionPoints || [],
@@ -3,9 +3,9 @@ import {
3
3
  DataTableOptions,
4
4
  TableActionColumn,
5
5
  TableColumn,
6
- defineDataTable,
7
6
  } from "@maketribe/dm";
8
- import { MenuItem, MenuResult } from "./MenuForm";
7
+ import { defineDataTable } from "../../define-data-table";
8
+ import type { MenuItem, MenuResult } from "./MenuForm";
9
9
 
10
10
  export class MenuTable<T extends MenuItem = MenuItem> extends DataTable<
11
11
  MenuResult,
@@ -1,9 +1,5 @@
1
- import {
2
- DataForm,
3
- DataFormOptions,
4
- FormColumn,
5
- defineDataForm,
6
- } from "@maketribe/dm";
1
+ import { DataForm, DataFormOptions, FormColumn } from "@maketribe/dm";
2
+ import { defineDataForm } from "../../define-data-form";
7
3
 
8
4
  export type Role = {
9
5
  id: string;
@@ -7,8 +7,9 @@ import {
7
7
  ActionButton,
8
8
  EditButton,
9
9
  DeleteButton,
10
- defineDataTable,
10
+ ClassifySearchItem,
11
11
  } from "@maketribe/dm";
12
+ import { defineDataTable } from "../../define-data-table";
12
13
  import { Role } from "./RoleForm";
13
14
  import { Event } from "@maketribe/utils";
14
15
 
@@ -1,9 +1,5 @@
1
- import {
2
- DataForm,
3
- DataFormOptions,
4
- FormColumn,
5
- defineDataForm,
6
- } from "@maketribe/dm";
1
+ import { DataForm, DataFormOptions, FormColumn } from "@maketribe/dm";
2
+ import { defineDataForm } from "../../define-data-form";
7
3
  import { RouteType } from "../../constants";
8
4
  import { MenuTable } from "../menu/MenuTable";
9
5
 
@@ -33,6 +29,7 @@ export class RouteForm extends DataForm<RouteResult, Route> {
33
29
  }
34
30
 
35
31
  protected async initialize() {
32
+ (window as any).a = this;
36
33
  this.setColumns([
37
34
  new FormColumn({ name: "id", label: "编号" }),
38
35
  new FormColumn({ name: "name", label: "路由名", required: true }),
@@ -56,13 +53,13 @@ export class RouteForm extends DataForm<RouteResult, Route> {
56
53
  new FormColumn({
57
54
  name: "type",
58
55
  label: "路由类型",
59
- defaultValue: "0",
56
+ defaultValue: RouteType.ROUTE,
60
57
  componentInfo: "MKFormDataSelect",
61
58
  required: true,
62
59
  componentProps: {
63
60
  options: [
64
- { value: "0", label: "站内路由" },
65
- { value: "1", label: "站外链接" },
61
+ { value: RouteType.ROUTE, label: "站内路由" },
62
+ { value: RouteType.LINK, label: "站外链接" },
66
63
  ],
67
64
  },
68
65
  }),
@@ -70,9 +67,12 @@ export class RouteForm extends DataForm<RouteResult, Route> {
70
67
  }
71
68
 
72
69
  formatSubmitData(data: any) {
70
+ const type = Number.parseInt(data.type);
71
+
73
72
  return {
74
73
  ...data,
75
74
  iconName: data.iconName || null,
75
+ type: Number.isNaN(type) ? RouteType.ROUTE : type,
76
76
  };
77
77
  }
78
78
 
@@ -81,7 +81,8 @@ export class RouteForm extends DataForm<RouteResult, Route> {
81
81
  id: item.id,
82
82
  name: item.name || "",
83
83
  title: item.title || "",
84
- type: [0, "0"].includes(item.type) ? RouteType.ROUTE : RouteType.LINK,
84
+ type:
85
+ `${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,
85
86
  menuId: item.menuId,
86
87
  iconName: item.iconName || "",
87
88
  path: item.path || "",
@@ -4,8 +4,8 @@ import {
4
4
  TableColumn,
5
5
  FilterColumn,
6
6
  TableActionColumn,
7
- defineDataTable,
8
7
  } from "@maketribe/dm";
8
+ import { defineDataTable } from "../../define-data-table";
9
9
  import { Route, RouteResult } from "./RouteForm";
10
10
  import { RouteType } from "../../constants";
11
11
 
@@ -0,0 +1,12 @@
1
+ import { DataFormClass, DataModelDefines } from "./DataModelDefines";
2
+
3
+ export const defineDataForm = <T extends DataFormClass>(
4
+ DataFormClass: T
5
+ ): T => {
6
+ DataModelDefines.instance.registerDataFormDefine(
7
+ new DataFormClass({}).name,
8
+ DataFormClass
9
+ );
10
+
11
+ return DataFormClass;
12
+ };
@@ -0,0 +1,12 @@
1
+ import { DataModelDefines, DataTableClass } from "./DataModelDefines";
2
+
3
+ export const defineDataTable = <T extends DataTableClass>(
4
+ DataTableClass: T
5
+ ): T => {
6
+ DataModelDefines.instance.registerDataTableDefine(
7
+ new DataTableClass({}).name,
8
+ DataTableClass
9
+ );
10
+
11
+ return DataTableClass;
12
+ };
package/src/index.ts CHANGED
@@ -24,4 +24,6 @@ export const install = installer.install;
24
24
  export const version = installer.version;
25
25
 
26
26
  export * from "./init-application";
27
- // export * from "./router";
27
+ export * from "./DataModelDefines";
28
+ export * from "./define-data-table";
29
+ export * from "./define-data-form";
@@ -8,6 +8,10 @@ import { MSAppClient } from "./MSAppClient";
8
8
  import { HttpRequest, WebHttpRequest } from "@maketribe/request";
9
9
  import { MSAPPCLIENT_CONTEXT_KEY } from "./tokens";
10
10
  import { Router } from "vue-router";
11
+ import { MSDataTableComponents } from "./MSDataTableComponents";
12
+ import { MSDataFormComponents } from "./MSDataFormComponents";
13
+ import { MSDataFilterComponents } from "./MSDataFilterComponents";
14
+ import { generateRoutesFromFiles } from "./utils";
11
15
 
12
16
  export type InitMsApplicationOptions = {
13
17
  routes: any;
@@ -31,33 +35,6 @@ export const initApplication = async (options: InitMsApplicationOptions) => {
31
35
  routes: [],
32
36
  });
33
37
 
34
- const routes = Object.values(options.routes).map((item: any) => {
35
- const component = item.default ?? item;
36
-
37
- return {
38
- ...component.mkRoute,
39
- component,
40
- children: [],
41
- meta: {
42
- ...component.mkRoute.meta,
43
- },
44
- };
45
- });
46
-
47
- for (const route of routes) {
48
- for (const innerRoute of routes) {
49
- if (innerRoute.parent === route.name) {
50
- route.children.push(innerRoute);
51
- }
52
- }
53
- }
54
-
55
- routes
56
- .filter((route) => !route.parent)
57
- .forEach((route) => {
58
- vueRouter.addRoute(route);
59
- });
60
-
61
38
  const msAppClient = reactive(
62
39
  new MSAppClient({
63
40
  appID: options!.appID,
@@ -67,6 +44,10 @@ export const initApplication = async (options: InitMsApplicationOptions) => {
67
44
  origin: location.origin,
68
45
  locale: options!.locale,
69
46
  vueRouter,
47
+ dataTableComponents: new MSDataTableComponents(),
48
+ dataFormComponents: new MSDataFormComponents(),
49
+ dataFilterComponents: new MSDataFilterComponents(),
50
+ whereFilterComponents: new MSDataFilterComponents(),
70
51
  })
71
52
  ) as unknown as MSAppClient;
72
53
 
@@ -76,6 +57,23 @@ export const initApplication = async (options: InitMsApplicationOptions) => {
76
57
 
77
58
  (window as any).msAppClient = msAppClient;
78
59
 
60
+ const routes = generateRoutesFromFiles(
61
+ Object.keys(options.routes).map((key) => {
62
+ return {
63
+ path: key.replace(/^\.\/pages\/(.+)\.vue$/, (_, g) => g),
64
+ module: options.routes[key]?.default || options.routes[key],
65
+ };
66
+ })
67
+ );
68
+
69
+ for (const route of routes) {
70
+ if (route.key.startsWith("index-")) {
71
+ msAppClient.pageManager.addExtendsPage(route);
72
+ } else {
73
+ msAppClient.pageManager.addNormalPage(route);
74
+ }
75
+ }
76
+
79
77
  await msAppClient.init();
80
78
 
81
79
  app.use(msAppClient.vueRouter);
@@ -0,0 +1,5 @@
1
+ import Lock from "./lock";
2
+
3
+ export const MKLock = Lock;
4
+
5
+ export default MKLock;
@@ -0,0 +1,92 @@
1
+ import { defineComponent, ref, unref } from "vue";
2
+ import { useRouter } from "vue-router";
3
+ import { ElButton, ElInput } from "element-plus";
4
+ import { Messager } from "@maketribe/dm";
5
+ import { MSAppClient } from "../../../MSAppClient";
6
+ import { MKVerifyDialog } from "../../../components";
7
+
8
+ export default defineComponent({
9
+ name: "MKLock",
10
+ setup() {
11
+ const msAppClient = MSAppClient.instance!;
12
+
13
+ const vueRouter = useRouter();
14
+
15
+ const locking = ref(msAppClient.userSession!.locking ?? false);
16
+
17
+ const password = ref("");
18
+ const isVisibleVerify = ref(false);
19
+
20
+ const handleToLogin = () => {
21
+ vueRouter.push({ name: "login" });
22
+ };
23
+
24
+ const handleUnlock = () => {
25
+ isVisibleVerify.value = true;
26
+ };
27
+
28
+ const handleVerifySuccess = async (code: string) => {
29
+ const userSession = msAppClient.userSession!;
30
+
31
+ try {
32
+ const response = await userSession.unlock(unref(password), code);
33
+
34
+ if (response.data.code !== 200) {
35
+ Messager.instance.error({ message: response.data.msg });
36
+ return;
37
+ }
38
+ } catch (e) {
39
+ console.error(e);
40
+
41
+ Messager.instance.error({ message: "网络异常" });
42
+ } finally {
43
+ isVisibleVerify.value = false;
44
+ }
45
+ };
46
+
47
+ msAppClient.userSession!.lockingChangeEvent.on(({ locking: isLocking }) => {
48
+ locking.value = isLocking;
49
+ });
50
+
51
+ return () => {
52
+ if (!unref(locking)) {
53
+ return null;
54
+ }
55
+
56
+ const verifyDialogVNode = unref(isVisibleVerify) ? (
57
+ <MKVerifyDialog
58
+ scene="Login"
59
+ visible={unref(isVisibleVerify)}
60
+ onUpdate:visible={(v) => (isVisibleVerify.value = v as boolean)}
61
+ onVerifySuccessful={handleVerifySuccess}
62
+ />
63
+ ) : null;
64
+
65
+ return (
66
+ <div class="mk-lock">
67
+ <div class="mk-lock__overlay mk-overlay"></div>
68
+
69
+ <div class="mk-lock-entry">
70
+ <div class="mk-lock-entry__user-info"></div>
71
+ <ElInput
72
+ type="password"
73
+ placeholder="请输入用户密码"
74
+ modelValue={unref(password)}
75
+ onUpdate:modelValue={(v: string) => (password.value = v)}
76
+ />
77
+ <div class="mk-lock-entry__footer">
78
+ <ElButton type="primary" link onClick={handleToLogin}>
79
+ 返回登陆
80
+ </ElButton>
81
+ <ElButton type="primary" link onClick={handleUnlock}>
82
+ 进入系统
83
+ </ElButton>
84
+ </div>
85
+ </div>
86
+
87
+ {verifyDialogVNode}
88
+ </div>
89
+ );
90
+ };
91
+ },
92
+ });
@@ -0,0 +1,76 @@
1
+ import { computed, defineComponent, unref } from "vue";
2
+ import { ElTooltip } from "element-plus";
3
+ import { MKSvgIcon } from "@maketribe/dm-ui";
4
+ import { MSAppClient } from "../../../../MSAppClient";
5
+ import { MenuNode } from "../../../../menu";
6
+
7
+ export const MKBar = defineComponent({
8
+ name: "MKBar",
9
+ props: {
10
+ barItem: {
11
+ type: MenuNode,
12
+ },
13
+ },
14
+ setup(props) {
15
+ const msAppClient = MSAppClient.instance!;
16
+ const userSession = msAppClient.userSession!;
17
+ const menu = userSession.menu;
18
+ const router = userSession.router;
19
+
20
+ const currentBarItem = computed(() => props.barItem);
21
+
22
+ const handleBarItemClick = (barItem: MenuNode) => {
23
+ let target: MenuNode | null = barItem;
24
+
25
+ if (barItem.children.length) {
26
+ target = menu.getFirstLeafMenuNode(barItem.children);
27
+ }
28
+
29
+ if (!target) {
30
+ return;
31
+ }
32
+
33
+ if (target?.route) {
34
+ router.changeRoute({ name: target.route.name });
35
+ }
36
+ };
37
+
38
+ return () => {
39
+ const barItems = menu.rootMenus.map((rootMenu) => (
40
+ <div
41
+ class={[
42
+ "mk-bar__item",
43
+ rootMenu.children.length ? "has-children" : "",
44
+ unref(currentBarItem)?.id === rootMenu.id ? "is-active" : "",
45
+ ]}
46
+ >
47
+ <ElTooltip content={rootMenu.title} placement="right">
48
+ <div
49
+ class="mk-bar__item-button"
50
+ onClick={() => handleBarItemClick(rootMenu)}
51
+ >
52
+ <MKSvgIcon iconClass={rootMenu.iconName} />
53
+ </div>
54
+ </ElTooltip>
55
+ </div>
56
+ ));
57
+
58
+ return (
59
+ <div class="mk-bar">
60
+ <div class="mk-bar__logo">
61
+ <div
62
+ class="mk-logo"
63
+ style={{ backgroundImage: `url(${msAppClient.logo})` }}
64
+ />
65
+ </div>
66
+
67
+ <div class="mk-bar__items">{barItems}</div>
68
+
69
+ <div class="mk-bar__footer">
70
+ <MKSvgIcon class="mk-bar__setting" iconClass="Setting" />
71
+ </div>
72
+ </div>
73
+ );
74
+ };
75
+ },
76
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./bar";
2
+ export * from "./menu";
@@ -0,0 +1,57 @@
1
+ import { computed, defineComponent, ref, unref } from "vue";
2
+ import { ElMenu } from "element-plus";
3
+ import { MenuNode } from "../../../../menu";
4
+ import { MSAppClient } from "../../../../MSAppClient";
5
+ import MKAsideMenuItem from "./menu-item";
6
+
7
+ export const MKMenu = defineComponent({
8
+ name: "MKMenu",
9
+ props: {
10
+ barItem: {
11
+ type: MenuNode,
12
+ },
13
+ },
14
+ setup(props) {
15
+ const msAppClient = MSAppClient.instance!;
16
+ const userSession = msAppClient.userSession!;
17
+ const menu = userSession.menu;
18
+ const router = userSession.router;
19
+
20
+ const currentMenuNode = ref(menu.getCurrentMenuNode());
21
+
22
+ const barItem = computed(() => props.barItem);
23
+
24
+ const handleSelect = async (id: string) => {
25
+ const item = menu.findMenuNodeByID(id);
26
+
27
+ if (item?.route) {
28
+ router.changeRoute({ name: item.route.name });
29
+ }
30
+ };
31
+
32
+ menu.currentMenuChangeEvent.on(({ currentMenu }) => {
33
+ currentMenuNode.value = currentMenu;
34
+ });
35
+
36
+ return () => {
37
+ if (!unref(barItem)?.children.length) {
38
+ return null;
39
+ }
40
+
41
+ const menuItems = unref(barItem)!.children.map((menu) => (
42
+ <MKAsideMenuItem class="mk-menu-item" node={menu} key={menu.id} />
43
+ ));
44
+
45
+ return (
46
+ <div class="mk-menu">
47
+ <ElMenu
48
+ defaultActive={unref(currentMenuNode)?.id ?? ""}
49
+ onSelect={handleSelect}
50
+ >
51
+ {menuItems}
52
+ </ElMenu>
53
+ </div>
54
+ );
55
+ };
56
+ },
57
+ });
@@ -0,0 +1,63 @@
1
+ import { Fragment, computed, defineComponent } from "vue";
2
+ import { ElMenuItem, ElSubMenu } from "element-plus";
3
+ import { MKSvgIcon } from "@maketribe/dm-ui";
4
+ import { MenuNode } from "../../../../menu";
5
+
6
+ const MKAsideMenuItem = defineComponent({
7
+ name: "MKMenuItem",
8
+ props: {
9
+ node: {
10
+ type: MenuNode,
11
+ required: true,
12
+ },
13
+ },
14
+ setup(props) {
15
+ return () => {
16
+ if (!props.node.children.length) {
17
+ const icon = props.node.iconName ? (
18
+ <MKSvgIcon
19
+ class="mk-menu-item__icon"
20
+ iconClass={props.node.iconName}
21
+ />
22
+ ) : null;
23
+
24
+ return (
25
+ <ElMenuItem index={props.node.id}>
26
+ {icon}
27
+ {props.node.title}
28
+ </ElMenuItem>
29
+ );
30
+ }
31
+
32
+ const items = props.node.children.map((node) => (
33
+ <MKAsideMenuItem node={node} key={node.id} />
34
+ ));
35
+
36
+ return (
37
+ <ElSubMenu
38
+ index={props.node.id}
39
+ v-slots={{
40
+ title: () => {
41
+ const icon = props.node.iconName ? (
42
+ <MKSvgIcon
43
+ class="mk-menu-item__icon"
44
+ iconClass={props.node.iconName}
45
+ />
46
+ ) : null;
47
+ return (
48
+ <Fragment>
49
+ {icon}
50
+ {props.node.title}
51
+ </Fragment>
52
+ );
53
+ },
54
+ }}
55
+ >
56
+ {items}
57
+ </ElSubMenu>
58
+ );
59
+ };
60
+ },
61
+ });
62
+
63
+ export default MKAsideMenuItem;