@maketribe/ms-app 3.0.12 → 3.0.13

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 (108) hide show
  1. package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js +14 -14
  2. package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
  3. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js +1 -1
  4. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
  5. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.d.ts +3 -3
  6. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js +2 -1
  7. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
  8. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.d.ts +4 -4
  9. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js +34 -5
  10. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  11. package/dist/cjs/components/data-model/data-filter-form/index.d.ts +4 -4
  12. package/dist/cjs/components/data-model/data-filter-form/token.d.ts +1 -0
  13. package/dist/cjs/components/data-model/data-filter-form/token.js.map +1 -1
  14. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js +4 -3
  15. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js.map +1 -1
  16. package/dist/cjs/components/data-model/data-form/data-form.js +1 -1
  17. package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
  18. package/dist/cjs/components/data-model/data-table/data-table.js +0 -1
  19. package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
  20. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js +35 -30
  21. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
  22. package/dist/cjs/components/system-provider/system-provider.d.ts +7 -0
  23. package/dist/cjs/components/system-provider/system-provider.js +29 -46
  24. package/dist/cjs/components/system-provider/system-provider.js.map +1 -1
  25. package/dist/cjs/core/Router.d.ts +1 -11
  26. package/dist/cjs/core/Router.js +0 -22
  27. package/dist/cjs/core/Router.js.map +1 -1
  28. package/dist/cjs/core/UserSession.js +0 -12
  29. package/dist/cjs/core/UserSession.js.map +1 -1
  30. package/dist/cjs/core/tabs/Tabs.js.map +1 -1
  31. package/dist/cjs/dataview/member/MemberTable.d.ts +1 -2
  32. package/dist/cjs/dataview/member/MemberTable.js +9 -16
  33. package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
  34. package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
  35. package/dist/cjs/layouts/components/bar/index.js +2 -2
  36. package/dist/cjs/layouts/components/bar/index.js.map +1 -1
  37. package/dist/cjs/layouts/components/menu/index.js +2 -2
  38. package/dist/cjs/layouts/components/menu/index.js.map +1 -1
  39. package/dist/cjs/page/index/dv/ms-member/index.vue2.js +54 -15
  40. package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
  41. package/dist/cjs/router-middleware/auth.js +0 -19
  42. package/dist/cjs/router-middleware/auth.js.map +1 -1
  43. package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js +14 -14
  44. package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
  45. package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js +1 -1
  46. package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
  47. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.d.ts +3 -3
  48. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js +3 -2
  49. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
  50. package/dist/esm/components/data-model/data-filter-form/data-filter-form.d.ts +4 -4
  51. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js +35 -6
  52. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  53. package/dist/esm/components/data-model/data-filter-form/index.d.ts +4 -4
  54. package/dist/esm/components/data-model/data-filter-form/token.d.ts +1 -0
  55. package/dist/esm/components/data-model/data-filter-form/token.js.map +1 -1
  56. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js +5 -4
  57. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js.map +1 -1
  58. package/dist/esm/components/data-model/data-form/data-form.js +1 -1
  59. package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
  60. package/dist/esm/components/data-model/data-table/data-table.js +0 -1
  61. package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
  62. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js +35 -30
  63. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
  64. package/dist/esm/components/system-provider/system-provider.d.ts +7 -0
  65. package/dist/esm/components/system-provider/system-provider.js +30 -47
  66. package/dist/esm/components/system-provider/system-provider.js.map +1 -1
  67. package/dist/esm/core/Router.d.ts +1 -11
  68. package/dist/esm/core/Router.js +1 -23
  69. package/dist/esm/core/Router.js.map +1 -1
  70. package/dist/esm/core/UserSession.js +0 -12
  71. package/dist/esm/core/UserSession.js.map +1 -1
  72. package/dist/esm/core/tabs/Tabs.js.map +1 -1
  73. package/dist/esm/dataview/member/MemberTable.d.ts +1 -2
  74. package/dist/esm/dataview/member/MemberTable.js +10 -17
  75. package/dist/esm/dataview/member/MemberTable.js.map +1 -1
  76. package/dist/esm/dataview/role/RoleTable.js.map +1 -1
  77. package/dist/esm/layouts/components/bar/index.js +2 -2
  78. package/dist/esm/layouts/components/bar/index.js.map +1 -1
  79. package/dist/esm/layouts/components/menu/index.js +2 -2
  80. package/dist/esm/layouts/components/menu/index.js.map +1 -1
  81. package/dist/esm/page/index/dv/ms-member/index.vue2.js +55 -16
  82. package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
  83. package/dist/esm/router-middleware/auth.js +0 -19
  84. package/dist/esm/router-middleware/auth.js.map +1 -1
  85. package/dist/style/components/data-filter.css +1 -1
  86. package/dist/style/components/index.css +1 -1
  87. package/dist/style/index.css +1 -1
  88. package/dist/style/src/components/data-filter.scss +0 -1
  89. package/package.json +4 -4
  90. package/src/components/data-model/data-filter-form/composables/use-condition.ts +19 -16
  91. package/src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.tsx +7 -4
  92. package/src/components/data-model/data-filter-form/data-filter-form-options.ts +3 -2
  93. package/src/components/data-model/data-filter-form/data-filter-form.tsx +51 -6
  94. package/src/components/data-model/data-filter-form/token.ts +1 -0
  95. package/src/components/data-model/data-filter-popover/data-filter-popover.tsx +4 -3
  96. package/src/components/data-model/data-form/data-form.tsx +3 -1
  97. package/src/components/data-model/data-table/data-table.tsx +5 -1
  98. package/src/components/data-model/data-table/views/table-view/table-view.tsx +43 -35
  99. package/src/components/system-provider/system-provider.tsx +52 -49
  100. package/src/core/Router.ts +0 -34
  101. package/src/core/UserSession.ts +0 -18
  102. package/src/core/tabs/Tabs.ts +7 -1
  103. package/src/dataview/member/MemberTable.tsx +12 -14
  104. package/src/dataview/role/RoleTable.ts +1 -0
  105. package/src/layouts/components/bar/index.tsx +3 -2
  106. package/src/layouts/components/menu/index.tsx +3 -2
  107. package/src/page/index/dv/ms-member/index.vue +3 -16
  108. package/src/router-middleware/auth.ts +0 -35
@@ -7,7 +7,6 @@ require('element-plus');
7
7
  require('@maketribe/utils');
8
8
  require('../../core/DataModelDefines.js');
9
9
  var MSAppClient = require('../../core/MSAppClient.js');
10
- var route = require('../../constants/route.js');
11
10
  var index = require('../config-provider/index.js');
12
11
 
13
12
  function _isSlot(s) {
@@ -20,53 +19,37 @@ var SystemProvider = /* @__PURE__ */ vue.defineComponent({
20
19
  const msAppClient = MSAppClient.MSAppClient.instance;
21
20
  vue.computed(() => msAppClient.ready);
22
21
  const slots = vue.useSlots();
23
- function initUserSession(userSession) {
24
- const tabs = userSession.tabs;
22
+ vue.watch(vue.computed(() => vue.unref(vueRouter$1.currentRoute)), (route) => {
23
+ const userSession = msAppClient.userSession;
24
+ if (!userSession) {
25
+ return;
26
+ }
25
27
  const router = userSession.router;
26
- router.beforeRouteChange.on(async ({
27
- routeInfo
28
- }) => {
29
- const currentTab = tabs.getCurrentTab();
30
- if (currentTab?.route.type === route.RouteType.ROUTE && await currentTab.beforeSwitchEvent.emitAsync() === false) {
31
- return false;
32
- }
33
- switch (routeInfo.type) {
34
- case route.RouteType.LINK:
35
- let a = document.createElement("a");
36
- a.href = routeInfo.path;
37
- window.open(a.href, "_blank");
38
- return false;
39
- case route.RouteType.ROUTE:
40
- if (routeInfo.name === currentTab?.route.name) {
41
- return false;
42
- }
43
- break;
44
- }
45
- });
46
- tabs.currentTabChangeEvent.on(({
47
- currentTab
48
- }) => {
49
- if (!currentTab) {
50
- return;
51
- }
52
- try {
53
- vueRouter$1.push(currentTab.realRoute ?? {
54
- name: currentTab.route.name
55
- });
56
- } catch (e) {
57
- console.error(e);
58
- }
59
- });
60
- }
61
- if (msAppClient.userSession) {
62
- initUserSession(msAppClient.userSession);
63
- }
64
- msAppClient.userSessionChangeEvent.on(({
65
- userSession
66
- }) => {
67
- if (userSession) {
68
- initUserSession(userSession);
28
+ const menu = userSession.menu;
29
+ const tabs = userSession.tabs;
30
+ const routeInfo = router.getRouteByName(route.name);
31
+ if (!routeInfo) {
32
+ menu.setCurrentMenuNode(null);
33
+ tabs.setCurrentTab(null);
34
+ return;
35
+ }
36
+ const menuNode = menu.findMenuNodeByID(routeInfo.menuId);
37
+ if (!menuNode) {
38
+ menu.setCurrentMenuNode(null);
39
+ tabs.setCurrentTab(null);
40
+ return;
69
41
  }
42
+ menu.setCurrentMenuNode(menuNode);
43
+ const tab = tabs.findTabByID(route.fullPath) ?? tabs.createTab({
44
+ id: route.fullPath,
45
+ title: routeInfo.title,
46
+ affix: !!route.matched?.[route.matched?.length - 1]?.meta?.affix,
47
+ realRoute: route,
48
+ route: routeInfo
49
+ });
50
+ tabs.switchTab(tab);
51
+ }, {
52
+ immediate: true
70
53
  });
71
54
  return () => {
72
55
  let _slot;
@@ -1 +1 @@
1
- {"version":3,"file":"system-provider.js","sources":["../../../../src/components/system-provider/system-provider.tsx"],"sourcesContent":["import { computed, defineComponent, renderSlot, unref, useSlots } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { Components } from \"@maketribe/dm\";\nimport { UserSession, MSAppClient } from \"../../core\";\nimport { RouteType } from \"../../constants\";\nimport { MKConfigProvider } from \"../config-provider\";\n\nexport default defineComponent({\n name: \"MKSystemProvider\",\n setup() {\n const vueRouter = useRouter();\n\n const msAppClient = MSAppClient.instance!;\n\n const ready = computed(() => msAppClient.ready);\n\n const slots = useSlots();\n\n function initUserSession(userSession: UserSession) {\n const tabs = userSession.tabs;\n\n const router = userSession.router;\n\n router.beforeRouteChange.on(async ({ routeInfo }) => {\n const currentTab = tabs.getCurrentTab();\n\n if (\n currentTab?.route.type === RouteType.ROUTE &&\n (await currentTab.beforeSwitchEvent.emitAsync()) === false\n ) {\n return false;\n }\n\n switch (routeInfo.type) {\n case RouteType.LINK:\n let a = document.createElement(\"a\");\n a.href = routeInfo.path;\n\n window.open(a.href, \"_blank\");\n\n return false;\n case RouteType.ROUTE:\n if (routeInfo.name === currentTab?.route.name) {\n return false;\n }\n\n break;\n }\n });\n\n tabs.currentTabChangeEvent.on(({ currentTab }) => {\n if (!currentTab) {\n return;\n }\n\n try {\n vueRouter.push(\n currentTab.realRoute ?? { name: currentTab.route.name }\n );\n } catch (e) {\n console.error(e);\n }\n });\n }\n\n if (msAppClient.userSession) {\n initUserSession(msAppClient.userSession);\n }\n\n msAppClient.userSessionChangeEvent.on(({ userSession }) => {\n if (userSession) {\n initUserSession(userSession);\n }\n });\n\n return () => {\n return (\n <MKConfigProvider\n dataTableComponents={msAppClient.dataTableComponents as Components}\n dataFormComponents={msAppClient.dataFormComponents as Components}\n dataFilterComponents={msAppClient.dataFilterComponents as Components}\n whereFilterComponents={\n msAppClient.whereFilterComponents as Components\n }\n i18n={msAppClient.i18n}\n >\n {renderSlot(slots, \"default\")}\n </MKConfigProvider>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","setup","vueRouter","useRouter","msAppClient","MSAppClient","instance","computed","ready","slots","useSlots","initUserSession","userSession","tabs","router","beforeRouteChange","on","routeInfo","currentTab","getCurrentTab","route","type","RouteType","ROUTE","beforeSwitchEvent","emitAsync","LINK","a","document","createElement","href","path","window","open","currentTabChangeEvent","push","realRoute","e","console","error","userSessionChangeEvent","_slot","_createVNode","MKConfigProvider","dataTableComponents","dataFormComponents","dataFilterComponents","whereFilterComponents","i18n","renderSlot","default"],"mappings":"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"}
1
+ {"version":3,"file":"system-provider.js","sources":["../../../../src/components/system-provider/system-provider.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n renderSlot,\n unref,\n useSlots,\n watch,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { Components } from \"@maketribe/dm\";\nimport { MSAppClient } from \"../../core\";\nimport { MKConfigProvider } from \"../config-provider\";\n\n/**\n * 路由变动的几种情况,\n * 1.点击菜单跳转陆游\n * 2.特定业务逻辑需要跳转路由\n * 3.返回上一页\n * 4.刷新页面\n */\n\nexport default defineComponent({\n name: \"MKSystemProvider\",\n setup() {\n const vueRouter = useRouter();\n\n const msAppClient = MSAppClient.instance!;\n\n const ready = computed(() => msAppClient.ready);\n\n const slots = useSlots();\n\n watch(\n computed(() => unref(vueRouter.currentRoute)),\n (route) => {\n const userSession = msAppClient.userSession;\n\n if (!userSession) {\n return;\n }\n\n const router = userSession.router;\n const menu = userSession.menu;\n const tabs = userSession.tabs;\n\n const routeInfo = router.getRouteByName(route.name as string);\n\n if (!routeInfo) {\n menu.setCurrentMenuNode(null);\n tabs.setCurrentTab(null);\n return;\n }\n\n const menuNode = menu.findMenuNodeByID(routeInfo.menuId);\n\n if (!menuNode) {\n menu.setCurrentMenuNode(null);\n tabs.setCurrentTab(null);\n return;\n }\n\n menu.setCurrentMenuNode(menuNode);\n\n const tab =\n tabs.findTabByID(route.fullPath) ??\n tabs.createTab({\n id: route.fullPath,\n title: routeInfo.title,\n affix: !!route.matched?.[route.matched?.length - 1]?.meta?.affix,\n realRoute: route,\n route: routeInfo,\n });\n\n tabs.switchTab(tab);\n },\n { immediate: true }\n );\n\n return () => {\n return (\n <MKConfigProvider\n dataTableComponents={msAppClient.dataTableComponents as Components}\n dataFormComponents={msAppClient.dataFormComponents as Components}\n dataFilterComponents={msAppClient.dataFilterComponents as Components}\n whereFilterComponents={\n msAppClient.whereFilterComponents as Components\n }\n i18n={msAppClient.i18n}\n >\n {renderSlot(slots, \"default\")}\n </MKConfigProvider>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","setup","vueRouter","useRouter","msAppClient","MSAppClient","instance","computed","ready","slots","useSlots","watch","unref","currentRoute","route","userSession","router","menu","tabs","routeInfo","getRouteByName","setCurrentMenuNode","setCurrentTab","menuNode","findMenuNodeByID","menuId","tab","findTabByID","fullPath","createTab","id","title","affix","matched","length","meta","realRoute","switchTab","immediate","_slot","_createVNode","MKConfigProvider","dataTableComponents","dataFormComponents","dataFilterComponents","whereFilterComponents","i18n","renderSlot","default"],"mappings":"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"}
@@ -1,23 +1,13 @@
1
- import { Disposable, Event } from "@maketribe/utils";
1
+ import { Disposable } from "@maketribe/utils";
2
2
  import { Route } from "../dataview";
3
3
  import type { UserSession } from "./UserSession";
4
4
  export declare class Router extends Disposable {
5
5
  userSession: UserSession;
6
6
  routes: Route[];
7
- currentRoute: any | null;
8
- beforeRouteChange: Event<{
9
- routeInfo: Route;
10
- route: any;
11
- }>;
12
- routeChange: Event<{
13
- routeInfo: Route;
14
- route: any;
15
- }>;
16
7
  constructor(userSession: UserSession);
17
8
  setRoutes(routes: Route[]): void;
18
9
  init(): void;
19
10
  getRouteByName(name: string): Route | null;
20
11
  getRouteByID(id: string): Route | null;
21
12
  getRoutesByMenuID(menuId: Route["menuId"]): Route[];
22
- changeRoute(route: any): Promise<boolean>;
23
13
  }
@@ -8,13 +8,6 @@ const NORMALIZE_ROUTE_NAME_REG = /^dv\/([^/]+)\/([^/]+)(\/.+)?$/;
8
8
  class Router extends utils.Disposable {
9
9
  userSession;
10
10
  routes = [];
11
- currentRoute = null;
12
- beforeRouteChange = this.register(
13
- new utils.Event()
14
- );
15
- routeChange = this.register(
16
- new utils.Event()
17
- );
18
11
  constructor(userSession) {
19
12
  super();
20
13
  this.userSession = userSession;
@@ -126,21 +119,6 @@ class Router extends utils.Disposable {
126
119
  getRoutesByMenuID(menuId) {
127
120
  return this.routes.filter((route) => route.menuId === menuId);
128
121
  }
129
- async changeRoute(route) {
130
- if (!route) {
131
- return true;
132
- }
133
- const routeInfo = this.getRouteByName(route.name);
134
- if (!routeInfo) {
135
- return true;
136
- }
137
- if (await this.beforeRouteChange.emitAsync({ route, routeInfo }) !== false) {
138
- this.currentRoute = route;
139
- this.routeChange.emit({ route, routeInfo });
140
- return true;
141
- }
142
- return false;
143
- }
144
122
  }
145
123
 
146
124
  exports.Router = Router;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sources":["../../../src/core/Router.ts"],"sourcesContent":["import { Disposable, Event, createDisposable } from \"@maketribe/utils\";\nimport { Route } from \"../dataview\";\nimport type { UserSession } from \"./UserSession\";\n\nconst NORMALIZE_ROUTE_NAME_REG = /^dv\\/([^/]+)\\/([^/]+)(\\/.+)?$/;\n\nexport class Router extends Disposable {\n userSession: UserSession;\n\n routes: Route[] = [];\n\n currentRoute: any | null = null;\n\n beforeRouteChange: Event<{ routeInfo: Route; route: any }> = this.register(\n new Event()\n );\n\n routeChange: Event<{ routeInfo: Route; route: any }> = this.register(\n new Event()\n );\n\n constructor(userSession: UserSession) {\n super();\n\n this.userSession = userSession;\n }\n\n setRoutes(routes: Route[]) {\n this.routes = routes;\n }\n\n init() {\n const vueRouter = this.userSession.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n // 给有权限访问的页面,注册默认页面\n const defaultPageRoutes = this.routes.filter(\n (route) => !vueRoutes.find((item) => item.name === route.name)\n );\n\n for (const defaultPageRoute of defaultPageRoutes) {\n const match = defaultPageRoute.name.match(NORMALIZE_ROUTE_NAME_REG);\n\n if (match) {\n const name = match[1];\n const action = match[2];\n\n switch (action) {\n case \"single\":\n const [listType, type] = match[3].slice(1).split(\"/\");\n\n switch (listType) {\n case \"list\":\n switch (type) {\n case \"normal\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/list/normal.vue\"\n ),\n meta: { name },\n });\n break;\n case \"dialog\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/list/dialog.vue\"\n ),\n meta: { name },\n });\n break;\n }\n\n break;\n case \"tree\":\n switch (type) {\n case \"dialog\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/tree/dialog.vue\"\n ),\n meta: { name },\n });\n break;\n }\n break;\n case \"table-tree\":\n switch (type) {\n case \"dialog\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/table-tree/dialog.vue\"\n ),\n meta: { name },\n });\n break;\n }\n }\n\n break;\n case \"list\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () => import(\"../page/index/dv/default/table.vue\"),\n meta: { name },\n });\n break;\n case \"edit\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}/:id`,\n component: () => import(\"../page/index/dv/default/edit.vue\"),\n meta: { name },\n });\n break;\n case \"add\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}/add`,\n component: () => import(\"../page/index/dv/default/add.vue\"),\n meta: { name },\n });\n break;\n }\n }\n }\n\n this.register(\n createDisposable(() => {\n for (const defaultPageRoute of defaultPageRoutes) {\n vueRouter.removeRoute(defaultPageRoute.name);\n }\n })\n );\n }\n\n getRouteByName(name: string): Route | null {\n return this.routes.find((route) => route.name === name) ?? null;\n }\n\n getRouteByID(id: string): Route | null {\n return this.routes.find((route) => route.id === id) ?? null;\n }\n\n getRoutesByMenuID(menuId: Route[\"menuId\"]): Route[] {\n return this.routes.filter((route) => route.menuId === menuId);\n }\n\n async changeRoute(route: any) {\n if (!route) {\n return true;\n }\n\n const routeInfo = this.getRouteByName(route.name);\n\n if (!routeInfo) {\n return true;\n }\n\n if (\n (await this.beforeRouteChange.emitAsync({ route, routeInfo })) !== false\n ) {\n this.currentRoute = route;\n\n this.routeChange.emit({ route, routeInfo });\n\n return true;\n }\n\n return false;\n }\n}\n"],"names":["Disposable","Event","createDisposable"],"mappings":"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"}
1
+ {"version":3,"file":"Router.js","sources":["../../../src/core/Router.ts"],"sourcesContent":["import { Disposable, Event, createDisposable } from \"@maketribe/utils\";\nimport { Route } from \"../dataview\";\nimport type { UserSession } from \"./UserSession\";\n\nconst NORMALIZE_ROUTE_NAME_REG = /^dv\\/([^/]+)\\/([^/]+)(\\/.+)?$/;\n\nexport class Router extends Disposable {\n userSession: UserSession;\n\n routes: Route[] = [];\n\n constructor(userSession: UserSession) {\n super();\n\n this.userSession = userSession;\n }\n\n setRoutes(routes: Route[]) {\n this.routes = routes;\n }\n\n init() {\n const vueRouter = this.userSession.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n // 给有权限访问的页面,注册默认页面\n const defaultPageRoutes = this.routes.filter(\n (route) => !vueRoutes.find((item) => item.name === route.name)\n );\n\n for (const defaultPageRoute of defaultPageRoutes) {\n const match = defaultPageRoute.name.match(NORMALIZE_ROUTE_NAME_REG);\n\n if (match) {\n const name = match[1];\n const action = match[2];\n\n switch (action) {\n case \"single\":\n const [listType, type] = match[3].slice(1).split(\"/\");\n\n switch (listType) {\n case \"list\":\n switch (type) {\n case \"normal\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/list/normal.vue\"\n ),\n meta: { name },\n });\n break;\n case \"dialog\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/list/dialog.vue\"\n ),\n meta: { name },\n });\n break;\n }\n\n break;\n case \"tree\":\n switch (type) {\n case \"dialog\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/tree/dialog.vue\"\n ),\n meta: { name },\n });\n break;\n }\n break;\n case \"table-tree\":\n switch (type) {\n case \"dialog\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () =>\n import(\n \"../page/index/dv/default/single/table-tree/dialog.vue\"\n ),\n meta: { name },\n });\n break;\n }\n }\n\n break;\n case \"list\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}`,\n component: () => import(\"../page/index/dv/default/table.vue\"),\n meta: { name },\n });\n break;\n case \"edit\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}/:id`,\n component: () => import(\"../page/index/dv/default/edit.vue\"),\n meta: { name },\n });\n break;\n case \"add\":\n vueRouter.addRoute(\"mk-ms-layout\", {\n name: defaultPageRoute.name,\n path: `/dv/${name}/add`,\n component: () => import(\"../page/index/dv/default/add.vue\"),\n meta: { name },\n });\n break;\n }\n }\n }\n\n this.register(\n createDisposable(() => {\n for (const defaultPageRoute of defaultPageRoutes) {\n vueRouter.removeRoute(defaultPageRoute.name);\n }\n })\n );\n }\n\n getRouteByName(name: string): Route | null {\n return this.routes.find((route) => route.name === name) ?? null;\n }\n\n getRouteByID(id: string): Route | null {\n return this.routes.find((route) => route.id === id) ?? null;\n }\n\n getRoutesByMenuID(menuId: Route[\"menuId\"]): Route[] {\n return this.routes.filter((route) => route.menuId === menuId);\n }\n}\n"],"names":["Disposable","createDisposable"],"mappings":"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"}
@@ -88,18 +88,6 @@ class UserSession extends utils.Disposable {
88
88
  this.tabs.init();
89
89
  this.beforeInitRouterEvent.emit();
90
90
  this.router.init();
91
- this.router.routeChange.on(({ route, routeInfo }) => {
92
- const menuNode = this.menu.findMenuNodeByID(routeInfo.menuId);
93
- this.menu.setCurrentMenuNode(menuNode);
94
- const tab = this.tabs.findTabByID(routeInfo.name) ?? this.tabs.createTab({
95
- id: routeInfo.name,
96
- title: routeInfo.title,
97
- affix: route.matched?.[route.matched?.length - 1]?.meta?.affix,
98
- realRoute: route,
99
- route: routeInfo
100
- });
101
- this.tabs.switchTab(tab);
102
- });
103
91
  return response;
104
92
  } catch (e) {
105
93
  httpRequest.getInterceptors().request.eject(beforeRequestInterceptorID);
@@ -1 +1 @@
1
- {"version":3,"file":"UserSession.js","sources":["../../../src/core/UserSession.ts"],"sourcesContent":["import { Disposable, Event, createDisposable, md5 } from \"@maketribe/utils\";\nimport { MemberInfo, UserInfo } from \"./UserInfo\";\nimport { Menu } from \"./menu\";\nimport { Tabs } from \"./tabs\";\nimport { Router } from \"./Router\";\nimport {\n PermissionPoint,\n PermissionPointManager,\n} from \"./PermissionPointManager\";\nimport type { MSAppClient, LoginResult } from \"./MSAppClient\";\nimport { MenuResult, Role, Route } from \"../dataview\";\nimport { R } from \"@maketribe/request\";\nimport {\n ACCESS_TOKEN_HEADER,\n AUTHORIZATION,\n AUTHORIZATION_PREFIX,\n X_ACCESS_TOKEN_HEADER,\n X_AUTHORIZATION,\n} from \"../constants\";\n\nexport type UserSessionOptions = {\n msAppClient: MSAppClient;\n accessToken?: string;\n xAccessToken?: string;\n};\n\nlet uid = 0;\n\nexport class UserSession extends Disposable {\n id = uid++;\n\n msAppClient: MSAppClient;\n\n vueRouter: MSAppClient[\"vueRouter\"];\n\n userInfo: UserInfo | null;\n\n menu: Menu;\n\n tabs: Tabs;\n\n router: Router;\n\n permissionPointManager: PermissionPointManager;\n\n accessToken: string;\n\n xAccessToken: string;\n\n beforeInitRouterEvent: Event = this.register(new Event());\n\n locking: boolean = false;\n\n lockingChangeEvent: Event<{ locking: boolean }> = this.register(new Event());\n\n constructor(options: UserSessionOptions) {\n super();\n\n this.msAppClient = options.msAppClient;\n\n this.vueRouter = this.msAppClient.vueRouter;\n\n this.userInfo = null;\n\n this.router = this.register(new Router(this));\n this.tabs = this.register(new Tabs(this));\n this.permissionPointManager = new PermissionPointManager();\n this.menu = this.register(\n new Menu(this.permissionPointManager, this.router)\n );\n\n this.accessToken =\n options.accessToken ?? localStorage.getItem(ACCESS_TOKEN_HEADER) ?? \"\";\n this.xAccessToken =\n options.xAccessToken ?? localStorage.getItem(X_ACCESS_TOKEN_HEADER) ?? \"\";\n }\n\n async init() {\n type BasicInfoResult = {\n member: MemberInfo;\n menus: MenuResult[];\n routes: Route[];\n roles: Role[];\n permissionPoints: PermissionPoint[];\n };\n\n const msAppClient = this.msAppClient;\n\n const httpRequest = msAppClient.httpRequest;\n\n const beforeRequestInterceptorID = httpRequest\n .getInterceptors()\n .request.use((config) => {\n if (this.accessToken) {\n config.headers[\n AUTHORIZATION\n ] = `${AUTHORIZATION_PREFIX} ${this.accessToken}`;\n }\n\n if (this.xAccessToken) {\n config.headers[\n X_AUTHORIZATION\n ] = `${AUTHORIZATION_PREFIX} ${this.xAccessToken}`;\n }\n\n return config;\n });\n\n const beforeResponseInterceptorID = httpRequest\n .getInterceptors()\n .response.use((config) => {\n if (config.data.code === 401) {\n this.accessToken = this.xAccessToken = \"\";\n } else {\n this.accessToken =\n config.headers[ACCESS_TOKEN_HEADER] || this.accessToken;\n\n this.xAccessToken =\n config.headers[X_ACCESS_TOKEN_HEADER] || this.xAccessToken;\n }\n\n localStorage.setItem(ACCESS_TOKEN_HEADER, this.accessToken);\n\n localStorage.setItem(X_ACCESS_TOKEN_HEADER, this.xAccessToken);\n\n return config;\n });\n\n this.register(\n createDisposable(() => {\n httpRequest.getInterceptors().request.eject(beforeRequestInterceptorID);\n httpRequest\n .getInterceptors()\n .request.eject(beforeResponseInterceptorID);\n })\n );\n\n try {\n let response = await httpRequest.request<R<BasicInfoResult>>({\n url: \"/api/ms-login/login-info\",\n method: \"GET\",\n });\n\n if (!response.data || response.data.code !== 200) {\n return response;\n }\n\n const BasicInfoResult = response.data!;\n\n const { member, routes, menus, permissionPoints, roles } =\n BasicInfoResult.data!;\n\n this.userInfo = new UserInfo(\n msAppClient,\n member,\n roles,\n permissionPoints\n );\n\n this.router.setRoutes(routes);\n this.permissionPointManager.setPermissionPoints(permissionPoints);\n this.menu.setMenus(menus);\n\n this.tabs.init();\n\n this.beforeInitRouterEvent.emit();\n this.router.init();\n\n this.router.routeChange.on(({ route, routeInfo }) => {\n const menuNode = this.menu.findMenuNodeByID(routeInfo.menuId);\n\n this.menu.setCurrentMenuNode(menuNode);\n\n const tab =\n this.tabs.findTabByID(routeInfo.name) ??\n this.tabs.createTab({\n id: routeInfo.name,\n title: routeInfo.title,\n affix: route.matched?.[route.matched?.length - 1]?.meta?.affix,\n realRoute: route,\n route: routeInfo,\n });\n\n this.tabs.switchTab(tab);\n });\n\n return response;\n } catch (e) {\n httpRequest.getInterceptors().request.eject(beforeRequestInterceptorID);\n httpRequest.getInterceptors().request.eject(beforeResponseInterceptorID);\n }\n }\n\n lock() {\n this.locking = true;\n\n this.lockingChangeEvent.emit({ locking: this.locking });\n }\n\n async unlock(password: string, code: string) {\n const response = await this.msAppClient.httpRequest.request<R<LoginResult>>(\n {\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: {\n account: this.userInfo!.account,\n password: md5(`mkbl#${password}`),\n vCode: code,\n },\n }\n );\n\n if (response.data.code !== 200) {\n return response;\n }\n\n this.accessToken = response.headers[ACCESS_TOKEN_HEADER];\n this.xAccessToken = response.headers[X_ACCESS_TOKEN_HEADER];\n\n this.locking = false;\n\n this.lockingChangeEvent.emit({ locking: this.locking });\n\n return response;\n }\n\n public dispose(): void {\n localStorage.removeItem(ACCESS_TOKEN_HEADER);\n localStorage.removeItem(X_ACCESS_TOKEN_HEADER);\n\n super.dispose();\n }\n}\n"],"names":["Disposable","Event","Router","Tabs","PermissionPointManager","Menu","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER","AUTHORIZATION","AUTHORIZATION_PREFIX","X_AUTHORIZATION","createDisposable","UserInfo","md5"],"mappings":"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"}
1
+ {"version":3,"file":"UserSession.js","sources":["../../../src/core/UserSession.ts"],"sourcesContent":["import { Disposable, Event, createDisposable, md5 } from \"@maketribe/utils\";\nimport { MemberInfo, UserInfo } from \"./UserInfo\";\nimport { Menu } from \"./menu\";\nimport { Tabs } from \"./tabs\";\nimport { Router } from \"./Router\";\nimport {\n PermissionPoint,\n PermissionPointManager,\n} from \"./PermissionPointManager\";\nimport type { MSAppClient, LoginResult } from \"./MSAppClient\";\nimport { MenuResult, Role, Route } from \"../dataview\";\nimport { R } from \"@maketribe/request\";\nimport {\n ACCESS_TOKEN_HEADER,\n AUTHORIZATION,\n AUTHORIZATION_PREFIX,\n X_ACCESS_TOKEN_HEADER,\n X_AUTHORIZATION,\n} from \"../constants\";\n\nexport type UserSessionOptions = {\n msAppClient: MSAppClient;\n accessToken?: string;\n xAccessToken?: string;\n};\n\nlet uid = 0;\n\nexport class UserSession extends Disposable {\n id = uid++;\n\n msAppClient: MSAppClient;\n\n vueRouter: MSAppClient[\"vueRouter\"];\n\n userInfo: UserInfo | null;\n\n menu: Menu;\n\n tabs: Tabs;\n\n router: Router;\n\n permissionPointManager: PermissionPointManager;\n\n accessToken: string;\n\n xAccessToken: string;\n\n beforeInitRouterEvent: Event = this.register(new Event());\n\n locking: boolean = false;\n\n lockingChangeEvent: Event<{ locking: boolean }> = this.register(new Event());\n\n constructor(options: UserSessionOptions) {\n super();\n\n this.msAppClient = options.msAppClient;\n\n this.vueRouter = this.msAppClient.vueRouter;\n\n this.userInfo = null;\n\n this.router = this.register(new Router(this));\n this.tabs = this.register(new Tabs(this));\n this.permissionPointManager = new PermissionPointManager();\n this.menu = this.register(\n new Menu(this.permissionPointManager, this.router)\n );\n\n this.accessToken =\n options.accessToken ?? localStorage.getItem(ACCESS_TOKEN_HEADER) ?? \"\";\n this.xAccessToken =\n options.xAccessToken ?? localStorage.getItem(X_ACCESS_TOKEN_HEADER) ?? \"\";\n }\n\n async init() {\n type BasicInfoResult = {\n member: MemberInfo;\n menus: MenuResult[];\n routes: Route[];\n roles: Role[];\n permissionPoints: PermissionPoint[];\n };\n\n const msAppClient = this.msAppClient;\n\n const httpRequest = msAppClient.httpRequest;\n\n const beforeRequestInterceptorID = httpRequest\n .getInterceptors()\n .request.use((config) => {\n if (this.accessToken) {\n config.headers[\n AUTHORIZATION\n ] = `${AUTHORIZATION_PREFIX} ${this.accessToken}`;\n }\n\n if (this.xAccessToken) {\n config.headers[\n X_AUTHORIZATION\n ] = `${AUTHORIZATION_PREFIX} ${this.xAccessToken}`;\n }\n\n return config;\n });\n\n const beforeResponseInterceptorID = httpRequest\n .getInterceptors()\n .response.use((config) => {\n if (config.data.code === 401) {\n this.accessToken = this.xAccessToken = \"\";\n } else {\n this.accessToken =\n config.headers[ACCESS_TOKEN_HEADER] || this.accessToken;\n\n this.xAccessToken =\n config.headers[X_ACCESS_TOKEN_HEADER] || this.xAccessToken;\n }\n\n localStorage.setItem(ACCESS_TOKEN_HEADER, this.accessToken);\n\n localStorage.setItem(X_ACCESS_TOKEN_HEADER, this.xAccessToken);\n\n return config;\n });\n\n this.register(\n createDisposable(() => {\n httpRequest.getInterceptors().request.eject(beforeRequestInterceptorID);\n httpRequest\n .getInterceptors()\n .request.eject(beforeResponseInterceptorID);\n })\n );\n\n try {\n let response = await httpRequest.request<R<BasicInfoResult>>({\n url: \"/api/ms-login/login-info\",\n method: \"GET\",\n });\n\n if (!response.data || response.data.code !== 200) {\n return response;\n }\n\n const BasicInfoResult = response.data!;\n\n const { member, routes, menus, permissionPoints, roles } =\n BasicInfoResult.data!;\n\n this.userInfo = new UserInfo(\n msAppClient,\n member,\n roles,\n permissionPoints\n );\n\n this.router.setRoutes(routes);\n this.permissionPointManager.setPermissionPoints(permissionPoints);\n this.menu.setMenus(menus);\n\n this.tabs.init();\n\n this.beforeInitRouterEvent.emit();\n this.router.init();\n\n return response;\n } catch (e) {\n httpRequest.getInterceptors().request.eject(beforeRequestInterceptorID);\n httpRequest.getInterceptors().request.eject(beforeResponseInterceptorID);\n }\n }\n\n lock() {\n this.locking = true;\n\n this.lockingChangeEvent.emit({ locking: this.locking });\n }\n\n async unlock(password: string, code: string) {\n const response = await this.msAppClient.httpRequest.request<R<LoginResult>>(\n {\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: {\n account: this.userInfo!.account,\n password: md5(`mkbl#${password}`),\n vCode: code,\n },\n }\n );\n\n if (response.data.code !== 200) {\n return response;\n }\n\n this.accessToken = response.headers[ACCESS_TOKEN_HEADER];\n this.xAccessToken = response.headers[X_ACCESS_TOKEN_HEADER];\n\n this.locking = false;\n\n this.lockingChangeEvent.emit({ locking: this.locking });\n\n return response;\n }\n\n public dispose(): void {\n localStorage.removeItem(ACCESS_TOKEN_HEADER);\n localStorage.removeItem(X_ACCESS_TOKEN_HEADER);\n\n super.dispose();\n }\n}\n"],"names":["Disposable","Event","Router","Tabs","PermissionPointManager","Menu","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER","AUTHORIZATION","AUTHORIZATION_PREFIX","X_AUTHORIZATION","createDisposable","UserInfo","md5"],"mappings":";;;;;;;;;;AA0BA,IAAI,GAAM,GAAA,CAAA,CAAA;AAEH,MAAM,oBAAoBA,gBAAW,CAAA;AAAA,EAC1C,EAAK,GAAA,GAAA,EAAA,CAAA;AAAA,EAEL,WAAA,CAAA;AAAA,EAEA,SAAA,CAAA;AAAA,EAEA,QAAA,CAAA;AAAA,EAEA,IAAA,CAAA;AAAA,EAEA,IAAA,CAAA;AAAA,EAEA,MAAA,CAAA;AAAA,EAEA,sBAAA,CAAA;AAAA,EAEA,WAAA,CAAA;AAAA,EAEA,YAAA,CAAA;AAAA,EAEA,qBAA+B,GAAA,IAAA,CAAK,QAAS,CAAA,IAAIC,aAAO,CAAA,CAAA;AAAA,EAExD,OAAmB,GAAA,KAAA,CAAA;AAAA,EAEnB,kBAAkD,GAAA,IAAA,CAAK,QAAS,CAAA,IAAIA,aAAO,CAAA,CAAA;AAAA,EAE3E,YAAY,OAA6B,EAAA;AACvC,IAAM,KAAA,EAAA,CAAA;AAEN,IAAA,IAAA,CAAK,cAAc,OAAQ,CAAA,WAAA,CAAA;AAE3B,IAAK,IAAA,CAAA,SAAA,GAAY,KAAK,WAAY,CAAA,SAAA,CAAA;AAElC,IAAA,IAAA,CAAK,QAAW,GAAA,IAAA,CAAA;AAEhB,IAAA,IAAA,CAAK,SAAS,IAAK,CAAA,QAAA,CAAS,IAAIC,aAAA,CAAO,IAAI,CAAC,CAAA,CAAA;AAC5C,IAAA,IAAA,CAAK,OAAO,IAAK,CAAA,QAAA,CAAS,IAAIC,SAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AACxC,IAAK,IAAA,CAAA,sBAAA,GAAyB,IAAIC,6CAAuB,EAAA,CAAA;AACzD,IAAA,IAAA,CAAK,OAAO,IAAK,CAAA,QAAA;AAAA,MACf,IAAIC,SAAA,CAAK,IAAK,CAAA,sBAAA,EAAwB,KAAK,MAAM,CAAA;AAAA,KACnD,CAAA;AAEA,IAAA,IAAA,CAAK,cACH,OAAQ,CAAA,WAAA,IAAe,YAAa,CAAA,OAAA,CAAQC,yBAAmB,CAAK,IAAA,EAAA,CAAA;AACtE,IAAA,IAAA,CAAK,eACH,OAAQ,CAAA,YAAA,IAAgB,YAAa,CAAA,OAAA,CAAQC,2BAAqB,CAAK,IAAA,EAAA,CAAA;AAAA,GAC3E;AAAA,EAEA,MAAM,IAAO,GAAA;AASX,IAAA,MAAM,cAAc,IAAK,CAAA,WAAA,CAAA;AAEzB,IAAA,MAAM,cAAc,WAAY,CAAA,WAAA,CAAA;AAEhC,IAAA,MAAM,6BAA6B,WAChC,CAAA,eAAA,GACA,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACvB,MAAA,IAAI,KAAK,WAAa,EAAA;AACpB,QAAA,MAAA,CAAO,QACLC,mBACF,CAAA,GAAI,GAAGC,0BAAoB,CAAA,CAAA,EAAI,KAAK,WAAW,CAAA,CAAA,CAAA;AAAA,OACjD;AAEA,MAAA,IAAI,KAAK,YAAc,EAAA;AACrB,QAAA,MAAA,CAAO,QACLC,qBACF,CAAA,GAAI,GAAGD,0BAAoB,CAAA,CAAA,EAAI,KAAK,YAAY,CAAA,CAAA,CAAA;AAAA,OAClD;AAEA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAEH,IAAA,MAAM,8BAA8B,WACjC,CAAA,eAAA,GACA,QAAS,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACxB,MAAI,IAAA,MAAA,CAAO,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC5B,QAAK,IAAA,CAAA,WAAA,GAAc,KAAK,YAAe,GAAA,EAAA,CAAA;AAAA,OAClC,MAAA;AACL,QAAA,IAAA,CAAK,WACH,GAAA,MAAA,CAAO,OAAQ,CAAAH,yBAAmB,KAAK,IAAK,CAAA,WAAA,CAAA;AAE9C,QAAA,IAAA,CAAK,YACH,GAAA,MAAA,CAAO,OAAQ,CAAAC,2BAAqB,KAAK,IAAK,CAAA,YAAA,CAAA;AAAA,OAClD;AAEA,MAAa,YAAA,CAAA,OAAA,CAAQD,yBAAqB,EAAA,IAAA,CAAK,WAAW,CAAA,CAAA;AAE1D,MAAa,YAAA,CAAA,OAAA,CAAQC,2BAAuB,EAAA,IAAA,CAAK,YAAY,CAAA,CAAA;AAE7D,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAEH,IAAK,IAAA,CAAA,QAAA;AAAA,MACHI,uBAAiB,MAAM;AACrB,QAAA,WAAA,CAAY,eAAgB,EAAA,CAAE,OAAQ,CAAA,KAAA,CAAM,0BAA0B,CAAA,CAAA;AACtE,QAAA,WAAA,CACG,eAAgB,EAAA,CAChB,OAAQ,CAAA,KAAA,CAAM,2BAA2B,CAAA,CAAA;AAAA,OAC7C,CAAA;AAAA,KACH,CAAA;AAEA,IAAI,IAAA;AACF,MAAI,IAAA,QAAA,GAAW,MAAM,WAAA,CAAY,OAA4B,CAAA;AAAA,QAC3D,GAAK,EAAA,0BAAA;AAAA,QACL,MAAQ,EAAA,KAAA;AAAA,OACT,CAAA,CAAA;AAED,MAAA,IAAI,CAAC,QAAS,CAAA,IAAA,IAAQ,QAAS,CAAA,IAAA,CAAK,SAAS,GAAK,EAAA;AAChD,QAAO,OAAA,QAAA,CAAA;AAAA,OACT;AAEA,MAAA,MAAM,kBAAkB,QAAS,CAAA,IAAA,CAAA;AAEjC,MAAA,MAAM,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,gBAAkB,EAAA,KAAA,KAC/C,eAAgB,CAAA,IAAA,CAAA;AAElB,MAAA,IAAA,CAAK,WAAW,IAAIC,iBAAA;AAAA,QAClB,WAAA;AAAA,QACA,MAAA;AAAA,QACA,KAAA;AAAA,QACA,gBAAA;AAAA,OACF,CAAA;AAEA,MAAK,IAAA,CAAA,MAAA,CAAO,UAAU,MAAM,CAAA,CAAA;AAC5B,MAAK,IAAA,CAAA,sBAAA,CAAuB,oBAAoB,gBAAgB,CAAA,CAAA;AAChE,MAAK,IAAA,CAAA,IAAA,CAAK,SAAS,KAAK,CAAA,CAAA;AAExB,MAAA,IAAA,CAAK,KAAK,IAAK,EAAA,CAAA;AAEf,MAAA,IAAA,CAAK,sBAAsB,IAAK,EAAA,CAAA;AAChC,MAAA,IAAA,CAAK,OAAO,IAAK,EAAA,CAAA;AAEjB,MAAO,OAAA,QAAA,CAAA;AAAA,aACA,CAAG,EAAA;AACV,MAAA,WAAA,CAAY,eAAgB,EAAA,CAAE,OAAQ,CAAA,KAAA,CAAM,0BAA0B,CAAA,CAAA;AACtE,MAAA,WAAA,CAAY,eAAgB,EAAA,CAAE,OAAQ,CAAA,KAAA,CAAM,2BAA2B,CAAA,CAAA;AAAA,KACzE;AAAA,GACF;AAAA,EAEA,IAAO,GAAA;AACL,IAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AAEf,IAAA,IAAA,CAAK,mBAAmB,IAAK,CAAA,EAAE,OAAS,EAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAAA,GACxD;AAAA,EAEA,MAAM,MAAO,CAAA,QAAA,EAAkB,IAAc,EAAA;AAC3C,IAAA,MAAM,QAAW,GAAA,MAAM,IAAK,CAAA,WAAA,CAAY,WAAY,CAAA,OAAA;AAAA,MAClD;AAAA,QACE,GAAK,EAAA,qBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA;AAAA,UACJ,OAAA,EAAS,KAAK,QAAU,CAAA,OAAA;AAAA,UACxB,QAAU,EAAAC,SAAA,CAAI,CAAQ,KAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA,UAChC,KAAO,EAAA,IAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAI,IAAA,QAAA,CAAS,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC9B,MAAO,OAAA,QAAA,CAAA;AAAA,KACT;AAEA,IAAK,IAAA,CAAA,WAAA,GAAc,QAAS,CAAA,OAAA,CAAQP,yBAAmB,CAAA,CAAA;AACvD,IAAK,IAAA,CAAA,YAAA,GAAe,QAAS,CAAA,OAAA,CAAQC,2BAAqB,CAAA,CAAA;AAE1D,IAAA,IAAA,CAAK,OAAU,GAAA,KAAA,CAAA;AAEf,IAAA,IAAA,CAAK,mBAAmB,IAAK,CAAA,EAAE,OAAS,EAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAEtD,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EAEO,OAAgB,GAAA;AACrB,IAAA,YAAA,CAAa,WAAWD,yBAAmB,CAAA,CAAA;AAC3C,IAAA,YAAA,CAAa,WAAWC,2BAAqB,CAAA,CAAA;AAE7C,IAAA,KAAA,CAAM,OAAQ,EAAA,CAAA;AAAA,GAChB;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../../src/core/tabs/Tabs.ts"],"sourcesContent":["import { Disposable, Event } from \"@maketribe/utils\";\nimport { Tab, TabOptions } from \"./Tab\";\nimport type { UserSession } from \"../UserSession\";\n\nexport class Tabs extends Disposable {\n userSession: UserSession;\n\n _tabs: Tab[] = [];\n _currentTab: Tab | null = null;\n\n currentTabChangeEvent: Event<{ currentTab: Tab | null }> = this.register(\n new Event()\n );\n tabsChangeEvent: Event<{ tabs: Tab[] }> = this.register(new Event());\n\n constructor(userSession: UserSession) {\n super();\n this.userSession = userSession;\n }\n\n init() {\n const getAffixRoutes = () => {\n let routes = this.userSession.vueRouter.getRoutes().slice();\n\n const affixRoutes: any[] = [];\n\n for (let i = 0; i < routes.length; i++) {\n const route = routes[i];\n\n if (route.meta?.affix === true) {\n affixRoutes.push(route);\n }\n }\n\n return affixRoutes;\n };\n\n const getAffixTabs = () => {\n return getAffixRoutes()\n .map((affixRoute) => {\n const route = this.userSession.router.getRouteByName(\n affixRoute.name as string\n );\n\n if (!route) {\n return null;\n }\n\n return this.createTab({\n id: affixRoute.path,\n title: route.title,\n affix: true,\n route: route,\n realRoute: affixRoute,\n });\n })\n .filter(Boolean) as Tab[];\n };\n\n this.setTabs(getAffixTabs());\n }\n\n getTabs() {\n return this._tabs;\n }\n\n getCurrentTab() {\n return this._currentTab;\n }\n\n setCurrentTab(tab: Tab | null) {\n if (this._currentTab === tab) {\n return;\n }\n\n this._currentTab = tab;\n\n this.currentTabChangeEvent.emit({ currentTab: tab });\n }\n\n getTabByID(id: string) {\n return this._tabs.find((tab) => tab.id === id) ?? null;\n }\n\n createTab(options: Omit<TabOptions, \"tabs\">) {\n return this.register(new Tab({ ...options, tabs: this }));\n }\n\n setTabs(tabs: Tab[]): void {\n this._tabs = tabs;\n\n this.tabsChangeEvent.emit({ tabs });\n }\n\n switchTab(tab: Tab | null) {\n // TODO 暂时用不到Tab\n \n this.setCurrentTab(tab);\n return;\n\n // if (!tab) {\n // this.setCurrentTab(null);\n // return;\n // }\n\n // let _tab = this._tabs.find((item) => item.getID() === tab.getID());\n\n // if (!_tab) {\n // this.setTabs([...this.getTabs(), tab]);\n // }\n\n // this.setCurrentTab(tab);\n }\n\n findTabByID(id: Tab[\"id\"]) {\n return this.getTabs().find((tab) => tab.id === id) ?? null;\n }\n\n async closeTab(tab: Tab) {\n if ((await tab.beforeCloseEvent.emitAsync()) === false) {\n return;\n }\n\n const tabItemList = this.getTabs().slice();\n\n if (this.getCurrentTab()?.getID() !== tab.getID()) {\n this.setTabs(tabItemList.filter((item) => item.getID() !== tab.getID()));\n\n return;\n }\n\n const index = tabItemList.findIndex((item) => item.getID() === tab.getID());\n\n if (index === -1) {\n return;\n }\n\n const deleteTab = tabItemList[index];\n deleteTab.dispose();\n\n tabItemList.splice(index, 1);\n this.setTabs(tabItemList);\n\n this.setCurrentTab(this._tabs[this._tabs.length - 1] ?? null);\n }\n\n closeAll() {\n const affixTabs = this.getTabs().filter((tab) => tab.affix);\n\n if (affixTabs.length) {\n this.setTabs(affixTabs);\n this.setCurrentTab(affixTabs[0]);\n return;\n }\n\n this.setTabs([this.getCurrentTab() ?? this.getTabs()[0]]);\n this.setCurrentTab(this.getTabs()[0]);\n }\n\n closeOther() {\n const currentTab = this.getCurrentTab();\n\n if (!currentTab) {\n return;\n }\n\n const affixTabs = this.getTabs().filter((tab) => tab.affix);\n\n if (affixTabs.length) {\n if (affixTabs.find((item) => item.getID() === currentTab.getID())) {\n this.setTabs(affixTabs);\n } else {\n this.setTabs([...affixTabs, currentTab]);\n }\n\n return;\n }\n\n this.setTabs([currentTab]);\n }\n}\n"],"names":["Disposable","Event","Tab"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../src/core/tabs/Tabs.ts"],"sourcesContent":["import { Disposable, Event } from \"@maketribe/utils\";\nimport { Tab, TabOptions } from \"./Tab\";\nimport type { UserSession } from \"../UserSession\";\n\nexport class Tabs extends Disposable {\n userSession: UserSession;\n\n _tabs: Tab[] = [];\n _currentTab: Tab | null = null;\n\n currentTabChangeEvent: Event<{ currentTab: Tab | null }> = this.register(\n new Event()\n );\n tabsChangeEvent: Event<{ tabs: Tab[] }> = this.register(new Event());\n\n constructor(userSession: UserSession) {\n super();\n this.userSession = userSession;\n }\n\n init() {\n const getAffixRoutes = () => {\n let routes = this.userSession.vueRouter.getRoutes().slice();\n\n const affixRoutes: any[] = [];\n\n for (let i = 0; i < routes.length; i++) {\n const route = routes[i];\n\n if (route.meta?.affix === true) {\n affixRoutes.push(route);\n }\n }\n\n return affixRoutes;\n };\n\n const getAffixTabs = () => {\n return getAffixRoutes()\n .map((affixRoute) => {\n const route = this.userSession.router.getRouteByName(\n affixRoute.name as string\n );\n\n if (!route) {\n return null;\n }\n\n return this.createTab({\n id: affixRoute.path,\n title: route.title,\n affix: true,\n route: route,\n realRoute: affixRoute,\n });\n })\n .filter(Boolean) as Tab[];\n };\n\n this.setTabs(getAffixTabs());\n }\n\n getTabs() {\n return this._tabs;\n }\n\n getCurrentTab() {\n return this._currentTab;\n }\n\n setCurrentTab(tab: Tab | null) {\n if (this._currentTab === tab) {\n return;\n }\n\n this._currentTab = tab;\n\n this.currentTabChangeEvent.emit({ currentTab: tab });\n }\n\n getTabByID(id: string) {\n return this._tabs.find((tab) => tab.id === id) ?? null;\n }\n\n createTab(options: Omit<TabOptions, \"tabs\">) {\n return this.register(new Tab({ ...options, tabs: this }));\n }\n\n setTabs(tabs: Tab[]): void {\n this._tabs = tabs;\n\n this.tabsChangeEvent.emit({ tabs });\n }\n\n switchTab(tab: Tab | null) {\n // TODO 暂时用不到Tab\n\n // if (\n // this.getCurrentTab()?.realRoute?.fullPath === tab?.realRoute?.fullPath\n // ) {\n // return;\n // }\n\n this.setCurrentTab(tab);\n return;\n\n // if (!tab) {\n // this.setCurrentTab(null);\n // return;\n // }\n\n // let _tab = this._tabs.find((item) => item.getID() === tab.getID());\n\n // if (!_tab) {\n // this.setTabs([...this.getTabs(), tab]);\n // }\n\n // this.setCurrentTab(tab);\n }\n\n findTabByID(id: Tab[\"id\"]) {\n return this.getTabs().find((tab) => tab.id === id) ?? null;\n }\n\n async closeTab(tab: Tab) {\n if ((await tab.beforeCloseEvent.emitAsync()) === false) {\n return;\n }\n\n const tabItemList = this.getTabs().slice();\n\n if (this.getCurrentTab()?.getID() !== tab.getID()) {\n this.setTabs(tabItemList.filter((item) => item.getID() !== tab.getID()));\n\n return;\n }\n\n const index = tabItemList.findIndex((item) => item.getID() === tab.getID());\n\n if (index === -1) {\n return;\n }\n\n const deleteTab = tabItemList[index];\n deleteTab.dispose();\n\n tabItemList.splice(index, 1);\n this.setTabs(tabItemList);\n\n this.setCurrentTab(this._tabs[this._tabs.length - 1] ?? null);\n }\n\n closeAll() {\n const affixTabs = this.getTabs().filter((tab) => tab.affix);\n\n if (affixTabs.length) {\n this.setTabs(affixTabs);\n this.setCurrentTab(affixTabs[0]);\n return;\n }\n\n this.setTabs([this.getCurrentTab() ?? this.getTabs()[0]]);\n this.setCurrentTab(this.getTabs()[0]);\n }\n\n closeOther() {\n const currentTab = this.getCurrentTab();\n\n if (!currentTab) {\n return;\n }\n\n const affixTabs = this.getTabs().filter((tab) => tab.affix);\n\n if (affixTabs.length) {\n if (affixTabs.find((item) => item.getID() === currentTab.getID())) {\n this.setTabs(affixTabs);\n } else {\n this.setTabs([...affixTabs, currentTab]);\n }\n\n return;\n }\n\n this.setTabs([currentTab]);\n }\n}\n"],"names":["Disposable","Event","Tab"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { DataTable, DataTableOptions } from "@maketribe/dm";
2
- import { Event } from "@maketribe/utils";
3
2
  import { Member, MemberForm, MemberResult } from "./MemberForm";
4
3
  export type MemberTableItem = Omit<Member, "password" | "confirmPassword">;
5
4
  export declare class MemberTable extends DataTable<MemberResult, MemberTableItem> {
6
5
  activeMemberForm: MemberForm;
7
- activeMemberEvent: Event<MemberTableItem>;
6
+ isShowActiveMemberForm: boolean;
8
7
  constructor(options?: DataTableOptions);
9
8
  protected initialize(): Promise<void>;
10
9
  protected initActiveMemberForm(): Promise<void>;
@@ -2,21 +2,17 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var dm = require('@maketribe/dm');
5
- var utils = require('@maketribe/utils');
6
5
  var defineDataTable = require('../../define-data-table.js');
7
6
  var MemberForm = require('./MemberForm.js');
8
- require('element-plus');
9
- require('../../core/DataModelDefines.js');
10
- var MSAppClient = require('../../core/MSAppClient.js');
11
7
 
12
8
  class MemberTable extends dm.DataTable {
13
- activeMemberEvent = this.register(new utils.Event());
14
9
  constructor(options = {}) {
15
10
  super({
16
11
  name: "ms-member",
17
12
  ...options
18
13
  });
19
14
  this.activeMemberForm = new MemberForm.MemberForm();
15
+ this.isShowActiveMemberForm = false;
20
16
  }
21
17
  async initialize() {
22
18
  await super.initialize();
@@ -88,19 +84,16 @@ class MemberTable extends dm.DataTable {
88
84
  }), new dm.TableActionColumn({
89
85
  width: "200px",
90
86
  buttons: [new dm.ActionButton({
91
- label: "test",
92
- handler: () => {
93
- MSAppClient.MSAppClient.instance.vueRouter.push({
94
- name: "dv/ms-role/single/list/dialog",
95
- query: {
96
- id: "8"
97
- }
98
- });
99
- }
100
- }), new dm.ActionButton({
101
87
  label: "\u6FC0\u6D3B\u7528\u6237",
102
88
  handler: async (row) => {
103
- this.activeMemberEvent.emit(row);
89
+ const response = await this.activeMemberForm.editRecord(row.id);
90
+ if (response.data.code !== 200) {
91
+ dm.Messager.instance.error({
92
+ message: response.data.msg
93
+ });
94
+ return;
95
+ }
96
+ this.isShowActiveMemberForm = true;
104
97
  },
105
98
  predicate: (member) => member.valid === 0
106
99
  }), new dm.ActionButton({
@@ -1 +1 @@
1
- {"version":3,"file":"MemberTable.js","sources":["../../../../src/dataview/member/MemberTable.tsx"],"sourcesContent":["import {\n TableColumn,\n DataTable,\n DataTableOptions,\n FilterColumn,\n TableActionColumn,\n ActionButton,\n DeleteButton,\n EditButton,\n Messager,\n Dialoger,\n FormColumn,\n} from \"@maketribe/dm\";\nimport { Event } from \"@maketribe/utils\";\nimport { defineDataTable } from \"../../define-data-table\";\nimport { Member, MemberForm, MemberResult } from \"./MemberForm\";\nimport { R } from \"@maketribe/request\";\nimport { MSAppClient } from \"../../core\";\n\nexport type MemberTableItem = Omit<Member, \"password\" | \"confirmPassword\">;\n\nexport class MemberTable extends DataTable<MemberResult, MemberTableItem> {\n activeMemberForm: MemberForm;\n\n activeMemberEvent: Event<MemberTableItem> = this.register(new Event());\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-member\", ...options });\n\n this.activeMemberForm = new MemberForm();\n }\n\n protected async initialize() {\n await super.initialize();\n\n await this.initActiveMemberForm();\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"姓名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"wechatNo\",\n label: \"微信号\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"nickName\",\n label: \"昵称\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"email\",\n label: \"邮箱\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"phone\",\n label: \"手机号\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"account\",\n label: \"账号\",\n componentInfo: \"MKConditionInput\",\n }),\n ]);\n\n this.setColumns([\n new TableColumn({\n name: \"id\",\n label: \"编号\",\n width: \"190px\",\n visible: false,\n }),\n new TableColumn({ name: \"name\", label: \"姓名\", minWidth: \"150px\" }),\n new TableColumn({ name: \"nickName\", label: \"昵称\", minWidth: \"150px\" }),\n new TableColumn({\n name: \"avatar\",\n label: \"头像\",\n componentInfo: \"MKColumnImage\",\n width: \"80px\",\n }),\n new TableColumn({ name: \"account\", label: \"账号\", minWidth: \"150px\" }),\n new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\n new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\n new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\n new TableColumn({\n name: \"valid\",\n label: \"微信号\",\n minWidth: \"140px\",\n visible: false,\n }),\n new TableActionColumn({\n width: \"200px\",\n buttons: [\n new ActionButton({\n label: \"test\",\n handler: () => {\n MSAppClient.instance!.vueRouter.push({\n name: \"dv/ms-role/single/list/dialog\",\n query: { id: \"8\" },\n });\n },\n }),\n new ActionButton({\n label: \"激活用户\",\n handler: async (row) => {\n this.activeMemberEvent.emit(row);\n },\n predicate: (member: MemberTableItem) => member.valid === 0,\n }),\n new ActionButton({\n label: \"重置密码\",\n handler: async (row) => {\n const isConfirm = await Dialoger.instance.confirm({\n title: \"重置密码\",\n message: \"是否重置密码\",\n type: \"warning\",\n cancelButtonText: \"取消\",\n confirmButtonText: \"确定\",\n });\n if (!isConfirm) {\n return;\n }\n this.loadingManager.startLoading();\n\n const response = await this.dataViewRequest.callDVRequest<\n R<string>\n >({\n action: `${row.id}/password/reset`,\n });\n\n this.loadingManager.completeLoading();\n if (response.data.code !== 200) {\n Messager.instance.error({\n message: response.data.msg || \"重置密码失败\",\n });\n return;\n }\n\n const res = await Dialoger.instance.confirm({\n title: \"重置密码成功\",\n message: (\n <p>\n <span>你的新密码为{response.data.data}</span>\n </p>\n ),\n type: \"warning\",\n cancelButtonText: \"取消\",\n confirmButtonText: \"复制\",\n });\n if (!res) {\n return;\n }\n\n navigator.clipboard.writeText(response.data.data);\n Messager.instance.success({ message: \"复制成功\" });\n },\n predicate: (member: MemberTableItem) => member.valid === 1,\n }),\n new EditButton({\n predicate: (member: MemberTableItem) => member.valid === 1,\n }),\n new DeleteButton(),\n ],\n }),\n ]);\n }\n\n protected async initActiveMemberForm() {\n const activeMemberForm = this.activeMemberForm;\n\n await activeMemberForm.init();\n\n activeMemberForm.setColumns([\n activeMemberForm.getColumn(\"id\")!,\n new FormColumn({\n name: \"approveResult\",\n label: \"是否通过\",\n defaultValue: \"0\",\n componentInfo: \"MKFormRadioBox\",\n required: true,\n componentProps: {\n options: [\n { label: \"通过\", value: \"1\" },\n { label: \"不通过\", value: \"0\" },\n ],\n },\n }),\n activeMemberForm.getColumn(\"roles\")!,\n activeMemberForm.getColumn(\"depts\")!,\n activeMemberForm.getColumn(\"memo\")!,\n ]);\n }\n\n async approveMember() {\n try {\n this.activeMemberForm.getLoadingManager().startLoading();\n const result = await this.activeMemberForm.httpRequest?.post(\n \"/api/dv/ms-member/apply/account/approve\",\n {\n ...this.activeMemberForm.formatSubmitData(this.activeMemberForm.data),\n }\n );\n this.activeMemberForm.getLoadingManager().completeLoading();\n\n if (result?.data.code != 200) {\n Messager.instance.error(result?.data.msg || \"请求失败\");\n return;\n }\n\n Messager.instance.success({\n message: \"激活通过,密码已发送到邮箱\",\n });\n\n this.load();\n } catch (e) {\n console.error(e);\n Messager.instance.error({ message: \"网络异常\" });\n }\n }\n\n formatItem(item: MemberResult): MemberTableItem {\n let avatar: string | null;\n try {\n avatar = item.avatar ? new URL(item.avatar).toString() : null;\n } catch (e) {\n avatar = null;\n }\n\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar,\n roles: item.roles?.map((role) => ({\n id: role.id,\n name: role.name || \"\",\n desc: role.desc || \"\",\n })),\n depts: item.depts?.map((department) => ({\n id: department.id,\n name: department.name || \"\",\n // memberID: department.memberID || null,\n pid: department.pid || null,\n })),\n valid: item.valid,\n };\n }\n}\n\ndefineDataTable(MemberTable);\n"],"names":["MemberTable","DataTable","activeMemberEvent","register","Event","constructor","options","name","activeMemberForm","MemberForm","initialize","initActiveMemberForm","dataFilter","setColumns","FilterColumn","label","componentInfo","TableColumn","width","visible","minWidth","TableActionColumn","buttons","ActionButton","handler","MSAppClient","instance","vueRouter","push","query","id","row","emit","predicate","member","valid","isConfirm","Dialoger","confirm","title","message","type","cancelButtonText","confirmButtonText","loadingManager","startLoading","response","dataViewRequest","callDVRequest","action","completeLoading","data","code","Messager","error","msg","res","_createVNode","_createTextVNode","navigator","clipboard","writeText","success","EditButton","DeleteButton","init","getColumn","FormColumn","defaultValue","required","componentProps","value","approveMember","getLoadingManager","result","httpRequest","post","formatSubmitData","load","e","console","formatItem","item","avatar","URL","toString","wechatNo","nickName","email","phone","account","roles","map","role","desc","depts","department","pid","defineDataTable"],"mappings":"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"}
1
+ {"version":3,"file":"MemberTable.js","sources":["../../../../src/dataview/member/MemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\nimport {\n TableColumn,\n DataTable,\n DataTableOptions,\n FilterColumn,\n TableActionColumn,\n ActionButton,\n DeleteButton,\n EditButton,\n Messager,\n Dialoger,\n FormColumn,\n} from \"@maketribe/dm\";\nimport { defineDataTable } from \"../../define-data-table\";\nimport { Member, MemberForm, MemberResult } from \"./MemberForm\";\n\nexport type MemberTableItem = Omit<Member, \"password\" | \"confirmPassword\">;\n\nexport class MemberTable extends DataTable<MemberResult, MemberTableItem> {\n activeMemberForm: MemberForm;\n\n isShowActiveMemberForm: boolean;\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-member\", ...options });\n\n this.activeMemberForm = new MemberForm();\n\n this.isShowActiveMemberForm = false;\n }\n\n protected async initialize() {\n await super.initialize();\n\n await this.initActiveMemberForm();\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"姓名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"wechatNo\",\n label: \"微信号\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"nickName\",\n label: \"昵称\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"email\",\n label: \"邮箱\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"phone\",\n label: \"手机号\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"account\",\n label: \"账号\",\n componentInfo: \"MKConditionInput\",\n }),\n ]);\n\n this.setColumns([\n new TableColumn({\n name: \"id\",\n label: \"编号\",\n width: \"190px\",\n visible: false,\n }),\n new TableColumn({ name: \"name\", label: \"姓名\", minWidth: \"150px\" }),\n new TableColumn({ name: \"nickName\", label: \"昵称\", minWidth: \"150px\" }),\n new TableColumn({\n name: \"avatar\",\n label: \"头像\",\n componentInfo: \"MKColumnImage\",\n width: \"80px\",\n }),\n new TableColumn({ name: \"account\", label: \"账号\", minWidth: \"150px\" }),\n new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\n new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\n new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\n new TableColumn({\n name: \"valid\",\n label: \"微信号\",\n minWidth: \"140px\",\n visible: false,\n }),\n new TableActionColumn({\n width: \"200px\",\n buttons: [\n new ActionButton({\n label: \"激活用户\",\n handler: async (row) => {\n const response = await this.activeMemberForm.editRecord(row.id);\n\n if (response.data.code !== 200) {\n Messager.instance.error({ message: response.data.msg });\n return;\n }\n\n this.isShowActiveMemberForm = true;\n },\n predicate: (member: MemberTableItem) => member.valid === 0,\n }),\n new ActionButton({\n label: \"重置密码\",\n handler: async (row) => {\n const isConfirm = await Dialoger.instance.confirm({\n title: \"重置密码\",\n message: \"是否重置密码\",\n type: \"warning\",\n cancelButtonText: \"取消\",\n confirmButtonText: \"确定\",\n });\n if (!isConfirm) {\n return;\n }\n this.loadingManager.startLoading();\n\n const response = await this.dataViewRequest.callDVRequest<\n R<string>\n >({\n action: `${row.id}/password/reset`,\n });\n\n this.loadingManager.completeLoading();\n if (response.data.code !== 200) {\n Messager.instance.error({\n message: response.data.msg || \"重置密码失败\",\n });\n return;\n }\n\n const res = await Dialoger.instance.confirm({\n title: \"重置密码成功\",\n message: (\n <p>\n <span>你的新密码为{response.data.data}</span>\n </p>\n ),\n type: \"warning\",\n cancelButtonText: \"取消\",\n confirmButtonText: \"复制\",\n });\n if (!res) {\n return;\n }\n\n navigator.clipboard.writeText(response.data.data);\n Messager.instance.success({ message: \"复制成功\" });\n },\n predicate: (member: MemberTableItem) => member.valid === 1,\n }),\n new EditButton({\n predicate: (member: MemberTableItem) => member.valid === 1,\n }),\n new DeleteButton(),\n ],\n }),\n ]);\n }\n\n protected async initActiveMemberForm() {\n const activeMemberForm = this.activeMemberForm;\n\n await activeMemberForm.init();\n\n activeMemberForm.setColumns([\n activeMemberForm.getColumn(\"id\")!,\n new FormColumn({\n name: \"approveResult\",\n label: \"是否通过\",\n defaultValue: \"0\",\n componentInfo: \"MKFormRadioBox\",\n required: true,\n componentProps: {\n options: [\n { label: \"通过\", value: \"1\" },\n { label: \"不通过\", value: \"0\" },\n ],\n },\n }),\n activeMemberForm.getColumn(\"roles\")!,\n activeMemberForm.getColumn(\"depts\")!,\n activeMemberForm.getColumn(\"memo\")!,\n ]);\n }\n\n async approveMember() {\n try {\n this.activeMemberForm.getLoadingManager().startLoading();\n const result = await this.activeMemberForm.httpRequest?.post(\n \"/api/dv/ms-member/apply/account/approve\",\n {\n ...this.activeMemberForm.formatSubmitData(this.activeMemberForm.data),\n }\n );\n this.activeMemberForm.getLoadingManager().completeLoading();\n\n if (result?.data.code != 200) {\n Messager.instance.error(result?.data.msg || \"请求失败\");\n return;\n }\n\n Messager.instance.success({\n message: \"激活通过,密码已发送到邮箱\",\n });\n\n this.load();\n } catch (e) {\n console.error(e);\n Messager.instance.error({ message: \"网络异常\" });\n }\n }\n\n formatItem(item: MemberResult): MemberTableItem {\n let avatar: string | null;\n try {\n avatar = item.avatar ? new URL(item.avatar).toString() : null;\n } catch (e) {\n avatar = null;\n }\n\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar,\n roles: item.roles?.map((role) => ({\n id: role.id,\n name: role.name || \"\",\n desc: role.desc || \"\",\n })),\n depts: item.depts?.map((department) => ({\n id: department.id,\n name: department.name || \"\",\n // memberID: department.memberID || null,\n pid: department.pid || null,\n })),\n valid: item.valid,\n };\n }\n}\n\ndefineDataTable(MemberTable);\n"],"names":["MemberTable","DataTable","constructor","options","name","activeMemberForm","MemberForm","isShowActiveMemberForm","initialize","initActiveMemberForm","dataFilter","setColumns","FilterColumn","label","componentInfo","TableColumn","width","visible","minWidth","TableActionColumn","buttons","ActionButton","handler","row","response","editRecord","id","data","code","Messager","instance","error","message","msg","predicate","member","valid","isConfirm","Dialoger","confirm","title","type","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","completeLoading","res","_createVNode","_createTextVNode","navigator","clipboard","writeText","success","EditButton","DeleteButton","init","getColumn","FormColumn","defaultValue","required","componentProps","value","approveMember","getLoadingManager","result","httpRequest","post","formatSubmitData","load","e","console","formatItem","item","avatar","URL","toString","wechatNo","nickName","email","phone","account","roles","map","role","desc","depts","department","pid","defineDataTable"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RoleTable.js","sources":["../../../../src/dataview/role/RoleTable.ts"],"sourcesContent":["import {\n DataTable,\n DataTableOptions,\n TableColumn,\n FilterColumn,\n TableActionColumn,\n ActionButton,\n EditButton,\n DeleteButton,\n} from \"@maketribe/dm\";\nimport { defineDataTable } from \"../../define-data-table\";\nimport { Role } from \"./RoleForm\";\nimport { Event } from \"@maketribe/utils\";\n\nexport class RoleTable<\n F extends Role = Role,\n T extends Role = Role\n> extends DataTable<T, F> {\n configRolePermissionEvent: Event<{ item: Role }> = new Event();\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-role\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"角色名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"desc\",\n label: \"角色描述\",\n componentInfo: \"MKConditionInput\",\n }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"name\", label: \"角色名\" }),\n new TableColumn({ name: \"desc\", label: \"角色描述\" }),\n new TableActionColumn({\n width: \"160px\",\n buttons: [\n new ActionButton({\n label: \"权限\",\n handler: (row: Role) => {\n this.configRolePermissionEvent.emit({ item: row });\n },\n }),\n new EditButton(),\n new DeleteButton(),\n ],\n }),\n ]);\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n desc: item.desc || \"\",\n } as F;\n }\n}\n\ndefineDataTable(RoleTable);\n"],"names":["DataTable","Event","FilterColumn","TableColumn","TableActionColumn","ActionButton","EditButton","DeleteButton","defineDataTable"],"mappings":";;;;;;AAcO,MAAM,kBAGHA,YAAgB,CAAA;AAAA,EACxB,yBAAA,GAAmD,IAAIC,WAAM,EAAA,CAAA;AAAA,EAE7D,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,SAAW,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACvC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,WAAW,UAAW,CAAA;AAAA,MACzB,IAAIC,eAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,oBAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAIA,eAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAIC,eAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAIA,cAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC9C,IAAIA,cAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,4BAAQ,CAAA;AAAA,MAC/C,IAAIC,oBAAkB,CAAA;AAAA,QACpB,KAAO,EAAA,OAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,IAAIC,eAAa,CAAA;AAAA,YACf,KAAO,EAAA,cAAA;AAAA,YACP,OAAA,EAAS,CAAC,GAAc,KAAA;AACtB,cAAA,IAAA,CAAK,yBAA0B,CAAA,IAAA,CAAK,EAAE,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,aACnD;AAAA,WACD,CAAA;AAAA,UACD,IAAIC,aAAW,EAAA;AAAA,UACf,IAAIC,eAAa,EAAA;AAAA,SACnB;AAAA,OACD,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAY,EAAA;AACrB,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,MACnB,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,KACrB,CAAA;AAAA,GACF;AACF,CAAA;AAEAC,+BAAA,CAAgB,SAAS,CAAA;;;;"}
1
+ {"version":3,"file":"RoleTable.js","sources":["../../../../src/dataview/role/RoleTable.ts"],"sourcesContent":["import {\n DataTable,\n DataTableOptions,\n TableColumn,\n FilterColumn,\n TableActionColumn,\n ActionButton,\n EditButton,\n DeleteButton,\n ClassifySearchItem,\n} from \"@maketribe/dm\";\nimport { defineDataTable } from \"../../define-data-table\";\nimport { Role } from \"./RoleForm\";\nimport { Event } from \"@maketribe/utils\";\n\nexport class RoleTable<\n F extends Role = Role,\n T extends Role = Role\n> extends DataTable<T, F> {\n configRolePermissionEvent: Event<{ item: Role }> = new Event();\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-role\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"角色名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"desc\",\n label: \"角色描述\",\n componentInfo: \"MKConditionInput\",\n }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"name\", label: \"角色名\" }),\n new TableColumn({ name: \"desc\", label: \"角色描述\" }),\n new TableActionColumn({\n width: \"160px\",\n buttons: [\n new ActionButton({\n label: \"权限\",\n handler: (row: Role) => {\n this.configRolePermissionEvent.emit({ item: row });\n },\n }),\n new EditButton(),\n new DeleteButton(),\n ],\n }),\n ]);\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n desc: item.desc || \"\",\n } as F;\n }\n}\n\ndefineDataTable(RoleTable);\n"],"names":["DataTable","Event","FilterColumn","TableColumn","TableActionColumn","ActionButton","EditButton","DeleteButton","defineDataTable"],"mappings":";;;;;;AAeO,MAAM,kBAGHA,YAAgB,CAAA;AAAA,EACxB,yBAAA,GAAmD,IAAIC,WAAM,EAAA,CAAA;AAAA,EAE7D,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,SAAW,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACvC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,WAAW,UAAW,CAAA;AAAA,MACzB,IAAIC,eAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,oBAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAIA,eAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAIC,eAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAIA,cAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC9C,IAAIA,cAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,4BAAQ,CAAA;AAAA,MAC/C,IAAIC,oBAAkB,CAAA;AAAA,QACpB,KAAO,EAAA,OAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,IAAIC,eAAa,CAAA;AAAA,YACf,KAAO,EAAA,cAAA;AAAA,YACP,OAAA,EAAS,CAAC,GAAc,KAAA;AACtB,cAAA,IAAA,CAAK,yBAA0B,CAAA,IAAA,CAAK,EAAE,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,aACnD;AAAA,WACD,CAAA;AAAA,UACD,IAAIC,aAAW,EAAA;AAAA,UACf,IAAIC,eAAa,EAAA;AAAA,SACnB;AAAA,OACD,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAY,EAAA;AACrB,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,MACnB,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,KACrB,CAAA;AAAA,GACF;AACF,CAAA;AAEAC,+BAAA,CAAgB,SAAS,CAAA;;;;"}
@@ -70,7 +70,7 @@ const MKBar = /* @__PURE__ */ vue.defineComponent({
70
70
  const msAppClient = MSAppClient.MSAppClient.instance;
71
71
  const userSession = msAppClient.userSession;
72
72
  const menu$1 = userSession.menu;
73
- const router = userSession.router;
73
+ const vueRouter = msAppClient.vueRouter;
74
74
  const currentBarItem = vue.computed(() => props.barItem);
75
75
  const handleBarItemClick = (barItem) => {
76
76
  let target = barItem;
@@ -81,7 +81,7 @@ const MKBar = /* @__PURE__ */ vue.defineComponent({
81
81
  return;
82
82
  }
83
83
  if (target?.route) {
84
- router.changeRoute({
84
+ vueRouter.push({
85
85
  name: target.route.name
86
86
  });
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/bar/index.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { MKSvgIcon } from \"../../../components\";\nimport { MSAppClient, MenuNode } from \"../../../core\";\nimport { MenuType } from \"../../../constants\";\n\nexport const MKBar = defineComponent({\n name: \"MKBar\",\n props: {\n barItem: {\n type: MenuNode,\n },\n },\n setup(props) {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const router = userSession.router;\n\n const currentBarItem = computed(() => props.barItem);\n\n const handleBarItemClick = (barItem: MenuNode) => {\n let target: MenuNode | null = barItem;\n\n if (barItem.children.length) {\n target = menu.getFirstLeafMenuNode(barItem.children);\n }\n\n if (!target) {\n return;\n }\n\n if (target?.route) {\n router.changeRoute({ name: target.route.name });\n }\n };\n\n return () => {\n const barItems = menu.rootMenus\n .filter((rootMenu) => rootMenu.type !== \"3\")\n .map((rootMenu) => (\n <div\n class={[\n \"mk-bar__item\",\n rootMenu.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === rootMenu.id ? \"is-active\" : \"\",\n ]}\n onClick={() => handleBarItemClick(rootMenu)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={rootMenu.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{rootMenu.title} </div>\n </div>\n ));\n\n const systemSettingNode = menu.rootMenus.find(\n (rootMenu) => rootMenu.type === MenuType.SystemSettings\n );\n\n const footer = systemSettingNode?.children.length ? (\n <div class=\"mk-bar__footer\">\n <div\n class={[\n \"mk-bar__item\",\n \"mk-bar__settings\",\n systemSettingNode.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === systemSettingNode.id\n ? \"is-active\"\n : \"\",\n ]}\n onClick={() => handleBarItemClick(systemSettingNode)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={systemSettingNode.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{systemSettingNode.title} </div>\n </div>\n </div>\n ) : null;\n\n return (\n <div class=\"mk-bar\">\n <div class=\"mk-bar__logo\">\n <div\n class=\"mk-logo\"\n style={{ backgroundImage: `url(${msAppClient.logo})` }}\n />\n </div>\n\n <div class=\"mk-bar__items\">{barItems}</div>\n\n {footer}\n </div>\n );\n };\n },\n});\n"],"names":["MKBar","defineComponent","name","props","barItem","type","MenuNode","setup","msAppClient","MSAppClient","instance","userSession","menu","router","currentBarItem","computed","handleBarItemClick","target","children","length","getFirstLeafMenuNode","route","changeRoute","barItems","rootMenus","filter","rootMenu","map","_createVNode","unref","id","onClick","MKSvgIcon","iconName","title","_createTextVNode","systemSettingNode","find","MenuType","SystemSettings","footer","backgroundImage","logo"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/bar/index.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { MKSvgIcon } from \"../../../components\";\nimport { MSAppClient, MenuNode } from \"../../../core\";\nimport { MenuType } from \"../../../constants\";\n\nexport const MKBar = defineComponent({\n name: \"MKBar\",\n props: {\n barItem: {\n type: MenuNode,\n },\n },\n setup(props) {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = msAppClient.vueRouter;\n // const router = userSession.router;\n\n const currentBarItem = computed(() => props.barItem);\n\n const handleBarItemClick = (barItem: MenuNode) => {\n let target: MenuNode | null = barItem;\n\n if (barItem.children.length) {\n target = menu.getFirstLeafMenuNode(barItem.children);\n }\n\n if (!target) {\n return;\n }\n\n if (target?.route) {\n vueRouter.push({ name: target.route.name });\n }\n };\n\n return () => {\n const barItems = menu.rootMenus\n .filter((rootMenu) => rootMenu.type !== \"3\")\n .map((rootMenu) => (\n <div\n class={[\n \"mk-bar__item\",\n rootMenu.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === rootMenu.id ? \"is-active\" : \"\",\n ]}\n onClick={() => handleBarItemClick(rootMenu)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={rootMenu.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{rootMenu.title} </div>\n </div>\n ));\n\n const systemSettingNode = menu.rootMenus.find(\n (rootMenu) => rootMenu.type === MenuType.SystemSettings\n );\n\n const footer = systemSettingNode?.children.length ? (\n <div class=\"mk-bar__footer\">\n <div\n class={[\n \"mk-bar__item\",\n \"mk-bar__settings\",\n systemSettingNode.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === systemSettingNode.id\n ? \"is-active\"\n : \"\",\n ]}\n onClick={() => handleBarItemClick(systemSettingNode)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={systemSettingNode.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{systemSettingNode.title} </div>\n </div>\n </div>\n ) : null;\n\n return (\n <div class=\"mk-bar\">\n <div class=\"mk-bar__logo\">\n <div\n class=\"mk-logo\"\n style={{ backgroundImage: `url(${msAppClient.logo})` }}\n />\n </div>\n\n <div class=\"mk-bar__items\">{barItems}</div>\n\n {footer}\n </div>\n );\n };\n },\n});\n"],"names":["MKBar","defineComponent","name","props","barItem","type","MenuNode","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","currentBarItem","computed","handleBarItemClick","target","children","length","getFirstLeafMenuNode","route","push","barItems","rootMenus","filter","rootMenu","map","_createVNode","unref","id","onClick","MKSvgIcon","iconName","title","_createTextVNode","systemSettingNode","find","MenuType","SystemSettings","footer","backgroundImage","logo"],"mappings":"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"}
@@ -27,13 +27,13 @@ const MKMenu = /* @__PURE__ */ vue.defineComponent({
27
27
  const msAppClient = MSAppClient.MSAppClient.instance;
28
28
  const userSession = msAppClient.userSession;
29
29
  const menu = userSession.menu;
30
- const router = userSession.router;
30
+ const vueRouter = msAppClient.vueRouter;
31
31
  const currentMenuNode = vue.ref(menu.getCurrentMenuNode());
32
32
  const barItem = vue.computed(() => props.barItem);
33
33
  const handleSelect = async (id) => {
34
34
  const item = menu.findMenuNodeByID(id);
35
35
  if (item?.route) {
36
- router.changeRoute({
36
+ vueRouter.push({
37
37
  name: item.route.name
38
38
  });
39
39
  }