@maketribe/ms-app 3.0.0 → 3.0.1
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.
- package/dist/cjs/MSAppClient.js +12 -18
- package/dist/cjs/MSAppClient.js.map +1 -1
- package/dist/cjs/Router.js +6 -8
- package/dist/cjs/Router.js.map +1 -1
- package/dist/cjs/components/member-table/member-table.vue2.js +2 -10
- package/dist/cjs/components/member-table/member-table.vue2.js.map +1 -1
- package/dist/cjs/components/verify-dialog/verify-dialog.js +1 -24
- package/dist/cjs/components/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/cjs/init-application.js +8 -1
- package/dist/cjs/init-application.js.map +1 -1
- package/dist/cjs/page/index/dv/default/add.vue.js +2 -2
- package/dist/cjs/page/index/dv/default/edit.vue.js +2 -2
- package/dist/cjs/page/index/dv/default/tree.vue.js +2 -2
- package/dist/cjs/page/index/dv/ms-member/index.vue.js +2 -2
- package/dist/cjs/page/index/dv/ms-role/index.vue.js +2 -2
- package/dist/cjs/page/index/material/index.vue.js +2 -2
- package/dist/cjs/page/login/index.vue.js +2 -2
- package/dist/cjs/page/login/index.vue2.js +2 -17
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue.js +2 -2
- package/dist/cjs/page/signup/index.vue2.js +2 -18
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/cjs/router-middleware/auth.d.ts +2 -1
- package/dist/cjs/router-middleware/auth.js +1 -3
- package/dist/cjs/router-middleware/auth.js.map +1 -1
- package/dist/esm/MSAppClient.js +11 -19
- package/dist/esm/MSAppClient.js.map +1 -1
- package/dist/esm/Router.js +4 -8
- package/dist/esm/Router.js.map +1 -1
- package/dist/esm/components/member-table/member-table.vue2.js +2 -10
- package/dist/esm/components/member-table/member-table.vue2.js.map +1 -1
- package/dist/esm/components/verify-dialog/verify-dialog.js +1 -24
- package/dist/esm/components/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/esm/init-application.js +8 -1
- package/dist/esm/init-application.js.map +1 -1
- package/dist/esm/page/index/dv/default/add.vue.js +2 -2
- package/dist/esm/page/index/dv/default/edit.vue.js +2 -2
- package/dist/esm/page/index/dv/default/tree.vue.js +2 -2
- package/dist/esm/page/index/dv/ms-member/index.vue.js +2 -2
- package/dist/esm/page/index/dv/ms-role/index.vue.js +2 -2
- package/dist/esm/page/index/material/index.vue.js +2 -2
- package/dist/esm/page/login/index.vue.js +2 -2
- package/dist/esm/page/login/index.vue2.js +2 -17
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue.js +2 -2
- package/dist/esm/page/signup/index.vue2.js +2 -18
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/router-middleware/auth.d.ts +2 -1
- package/dist/esm/router-middleware/auth.js +1 -3
- package/dist/esm/router-middleware/auth.js.map +1 -1
- package/package.json +8 -5
- package/gulpfile.ts +0 -1
- package/rollup.config.mjs +0 -11
- package/src/ConfigComponents.ts +0 -20
- package/src/MSAppClient.ts +0 -343
- package/src/MSDataFilterComponents.ts +0 -6
- package/src/MSDataFormComponents.ts +0 -12
- package/src/MSDataTableComponents.ts +0 -6
- package/src/MaterialComponents.ts +0 -26
- package/src/PermissionPointManager.ts +0 -26
- package/src/Router.ts +0 -133
- package/src/UserInfo.ts +0 -66
- package/src/UserSession.ts +0 -190
- package/src/components/image-select/image-select-option.ts +0 -11
- package/src/components/image-select/image-select.tsx +0 -40
- package/src/components/image-select/index.ts +0 -6
- package/src/components/index.ts +0 -8
- package/src/components/material-list/index.ts +0 -7
- package/src/components/material-list/material-group-form-popover.vue +0 -66
- package/src/components/material-list/material-group.vue +0 -138
- package/src/components/material-list/material-item.vue +0 -26
- package/src/components/material-list/material-list-options.ts +0 -23
- package/src/components/material-list/material-list.vue +0 -151
- package/src/components/material-select/index.ts +0 -15
- package/src/components/material-select/material-select-api.ts +0 -48
- package/src/components/material-select/material-select-options.ts +0 -18
- package/src/components/material-select/material-select-type.ts +0 -11
- package/src/components/material-select/material-select.tsx +0 -95
- package/src/components/member-table/index.ts +0 -6
- package/src/components/member-table/member-table.vue +0 -220
- package/src/components/menu-permission-table/index.ts +0 -6
- package/src/components/menu-permission-table/menu-permission-table.vue +0 -143
- package/src/components/role-permission-config/index.ts +0 -7
- package/src/components/role-permission-config/role-permission-config-options.ts +0 -20
- package/src/components/role-permission-config/role-permission-config.tsx +0 -280
- package/src/components/system-provider/index.ts +0 -5
- package/src/components/system-provider/system-provider.tsx +0 -93
- package/src/components/verify-dialog/index.ts +0 -5
- package/src/components/verify-dialog/verify-dialog-option.ts +0 -23
- package/src/components/verify-dialog/verify-dialog.tsx +0 -113
- package/src/composables/index.ts +0 -13
- package/src/composables/on-tab-before-close.ts +0 -8
- package/src/composables/on-tab-before-switch.ts +0 -8
- package/src/composables/on-tab-refresh.ts +0 -8
- package/src/composables/use-current-tab.ts +0 -5
- package/src/composables/use-http-request.ts +0 -5
- package/src/composables/use-ms-app-client.ts +0 -10
- package/src/composables/use-user-info.ts +0 -4
- package/src/constants/index.ts +0 -2
- package/src/constants/route.ts +0 -4
- package/src/constants/token.ts +0 -5
- package/src/dataview/config/ConfigForm.ts +0 -110
- package/src/dataview/config/ConfigTable.ts +0 -68
- package/src/dataview/config/index.ts +0 -2
- package/src/dataview/department/DepartmentForm.ts +0 -43
- package/src/dataview/department/DepartmentTable.ts +0 -67
- package/src/dataview/department/index.ts +0 -2
- package/src/dataview/index.ts +0 -7
- package/src/dataview/material/MaterialForm.ts +0 -51
- package/src/dataview/material/MaterialMan.ts +0 -176
- package/src/dataview/material/MaterialTable.ts +0 -123
- package/src/dataview/material/index.ts +0 -4
- package/src/dataview/material/material-group/MaterialGroupForm.ts +0 -30
- package/src/dataview/material/material-group/MaterialGroupTable.ts +0 -60
- package/src/dataview/material/material-group/index.ts +0 -2
- package/src/dataview/member/MemberForm.ts +0 -122
- package/src/dataview/member/MemberTable.tsx +0 -242
- package/src/dataview/member/index.ts +0 -2
- package/src/dataview/member/member-role/MemberRoleTable.ts +0 -21
- package/src/dataview/menu/MenuForm.ts +0 -113
- package/src/dataview/menu/MenuTable.ts +0 -37
- package/src/dataview/menu/MenuTree.ts +0 -143
- package/src/dataview/menu/index.ts +0 -4
- package/src/dataview/menu/permission-point/PermissionPointDefineForm.ts +0 -28
- package/src/dataview/menu/permission-point/PermissionPointDefineTable.ts +0 -30
- package/src/dataview/menu/permission-point/index.ts +0 -2
- package/src/dataview/role/RoleForm.ts +0 -36
- package/src/dataview/role/RolePermissionConfigTable.ts +0 -471
- package/src/dataview/role/RoleTable.ts +0 -68
- package/src/dataview/role/index.ts +0 -5
- package/src/dataview/role/role-permission-point/RolePermissionPointTable.ts +0 -27
- package/src/dataview/role/role-permission-point/index.ts +0 -1
- package/src/dataview/role/role-route/RoleRouteTable.ts +0 -28
- package/src/dataview/role/role-route/index.ts +0 -1
- package/src/dataview/route/RouteForm.ts +0 -92
- package/src/dataview/route/RouteTable.ts +0 -71
- package/src/dataview/route/index.ts +0 -2
- package/src/init-application.ts +0 -84
- package/src/installer.ts +0 -26
- package/src/layouts/index.ts +0 -1
- package/src/layouts/manager-system/components/aside/aside.tsx +0 -45
- package/src/layouts/manager-system/components/aside/bar/bar.tsx +0 -79
- package/src/layouts/manager-system/components/aside/bar/index.ts +0 -5
- package/src/layouts/manager-system/components/aside/index.ts +0 -5
- package/src/layouts/manager-system/components/aside/menu/index.ts +0 -5
- package/src/layouts/manager-system/components/aside/menu/menu-item.tsx +0 -63
- package/src/layouts/manager-system/components/aside/menu/menu.tsx +0 -51
- package/src/layouts/manager-system/components/aside/panel/index.ts +0 -5
- package/src/layouts/manager-system/components/aside/panel/panel.tsx +0 -57
- package/src/layouts/manager-system/components/header/breadcrumb/breadcrumb.tsx +0 -47
- package/src/layouts/manager-system/components/header/breadcrumb/index.ts +0 -5
- package/src/layouts/manager-system/components/header/header.tsx +0 -17
- package/src/layouts/manager-system/components/header/index.ts +0 -5
- package/src/layouts/manager-system/components/header/nav/index.ts +0 -5
- package/src/layouts/manager-system/components/header/nav/nav.tsx +0 -100
- package/src/layouts/manager-system/components/header/tabs/index.ts +0 -5
- package/src/layouts/manager-system/components/header/tabs/tabs.tsx +0 -72
- package/src/layouts/manager-system/components/header/tools/index.ts +0 -5
- package/src/layouts/manager-system/components/header/tools/tools.tsx +0 -15
- package/src/layouts/manager-system/index.ts +0 -6
- package/src/layouts/manager-system/manager-system.tsx +0 -25
- package/src/menu/Menu.ts +0 -142
- package/src/menu/MenuNode.ts +0 -49
- package/src/menu/index.ts +0 -2
- package/src/page/index/dv/default/add.vue +0 -49
- package/src/page/index/dv/default/edit.vue +0 -55
- package/src/page/index/dv/default/index.vue +0 -56
- package/src/page/index/dv/default/tree.vue +0 -31
- package/src/page/index/dv/ms-member/index.vue +0 -38
- package/src/page/index/dv/ms-role/index.vue +0 -28
- package/src/page/index/material/index.vue +0 -14
- package/src/page/login/index.vue +0 -191
- package/src/page/signup/index.vue +0 -157
- package/src/resolver/ITypeResolver.ts +0 -5
- package/src/router-middleware/auth.ts +0 -64
- package/src/router-middleware/index.ts +0 -1
- package/src/tabs/Tab.ts +0 -59
- package/src/tabs/Tabs.ts +0 -176
- package/src/tabs/index.ts +0 -2
- package/src/tokens/index.ts +0 -1
- package/src/tokens/ms-app-client.ts +0 -10
- package/style/components/image-select.scss +0 -13
- package/style/components/index.scss +0 -9
- package/style/components/material-group.scss +0 -38
- package/style/components/material-item.scss +0 -20
- package/style/components/material-list.scss +0 -67
- package/style/components/material-select.scss +0 -23
- package/style/components/member-table.scss +0 -9
- package/style/components/menu-permission-table.scss +0 -43
- package/style/components/role-permission-config.scss +0 -18
- package/style/components/verify-dialog.scss +0 -16
- package/style/index.scss +0 -4
- package/style/layouts/index.scss +0 -1
- package/style/layouts/manager-system/aside.scss +0 -116
- package/style/layouts/manager-system/header.scss +0 -129
- package/style/layouts/manager-system/index.scss +0 -4
- package/style/layouts/manager-system/manager-system.scss +0 -26
- package/style/layouts/manager-system/menu.scss +0 -47
- package/style/page/login.scss +0 -107
- package/tsconfig.build.json +0 -10
- package/tsconfig.json +0 -14
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DataTable,
|
|
3
|
-
DataTableOptions,
|
|
4
|
-
TableColumn,
|
|
5
|
-
FilterColumn,
|
|
6
|
-
TableActionColumn,
|
|
7
|
-
defineDataTable,
|
|
8
|
-
} from "@maketribe/dm";
|
|
9
|
-
import { Route, RouteResult } from "./RouteForm";
|
|
10
|
-
import { RouteType } from "../../constants";
|
|
11
|
-
|
|
12
|
-
export class RouteTable extends DataTable<RouteResult, Route> {
|
|
13
|
-
constructor(options: DataTableOptions = {}) {
|
|
14
|
-
super({ name: "ms-route", ...options });
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
protected async initialize() {
|
|
18
|
-
this.dataFilter.setColumns([
|
|
19
|
-
new FilterColumn({
|
|
20
|
-
name: "name",
|
|
21
|
-
label: "路由名",
|
|
22
|
-
componentInfo: "MKConditionInput",
|
|
23
|
-
}),
|
|
24
|
-
new FilterColumn({
|
|
25
|
-
name: "title",
|
|
26
|
-
label: "路由描述",
|
|
27
|
-
componentInfo: "MKConditionInput",
|
|
28
|
-
}),
|
|
29
|
-
new FilterColumn({
|
|
30
|
-
name: "type",
|
|
31
|
-
label: "路由类型",
|
|
32
|
-
componentInfo: "MKConditionSelect",
|
|
33
|
-
componentProps: {
|
|
34
|
-
options: [
|
|
35
|
-
{ value: 0, label: "站内路由" },
|
|
36
|
-
{ value: 1, label: "站外链接" },
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
}),
|
|
40
|
-
]);
|
|
41
|
-
|
|
42
|
-
this.setColumns([
|
|
43
|
-
new TableColumn({ name: "id", label: "编号", visible: false }),
|
|
44
|
-
new TableColumn({ name: "name", label: "路由名" }),
|
|
45
|
-
new TableColumn({ name: "title", label: "路由描述" }),
|
|
46
|
-
new TableColumn({
|
|
47
|
-
name: "type",
|
|
48
|
-
label: "路由类型",
|
|
49
|
-
componentInfo: "MKColumnObjectMappingText",
|
|
50
|
-
componentProps: {
|
|
51
|
-
mapping: { 0: "站内路由", 1: "站外链接" },
|
|
52
|
-
},
|
|
53
|
-
}),
|
|
54
|
-
new TableActionColumn(),
|
|
55
|
-
]);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
formatItem(item: RouteResult): Route {
|
|
59
|
-
return {
|
|
60
|
-
id: item.id,
|
|
61
|
-
name: item.name || "",
|
|
62
|
-
title: item.title || "",
|
|
63
|
-
type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,
|
|
64
|
-
menuId: item.menuId,
|
|
65
|
-
iconName: item.iconName || "",
|
|
66
|
-
path: item.path || "",
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
defineDataTable(RouteTable);
|
package/src/init-application.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { App, reactive } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
createRouter,
|
|
4
|
-
createWebHashHistory,
|
|
5
|
-
Router as VueRouter,
|
|
6
|
-
} from "vue-router";
|
|
7
|
-
import { MSAppClient } from "./MSAppClient";
|
|
8
|
-
import { HttpRequest, WebHttpRequest } from "@maketribe/request";
|
|
9
|
-
import { MSAPPCLIENT_CONTEXT_KEY } from "./tokens";
|
|
10
|
-
import { Router } from "vue-router";
|
|
11
|
-
|
|
12
|
-
export type InitMsApplicationOptions = {
|
|
13
|
-
routes: any;
|
|
14
|
-
vueRouter?: VueRouter;
|
|
15
|
-
app: App;
|
|
16
|
-
router?: Router;
|
|
17
|
-
appID: string;
|
|
18
|
-
logo?: string;
|
|
19
|
-
projectName: string;
|
|
20
|
-
locale?: string;
|
|
21
|
-
httpRequest?: HttpRequest;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export const initApplication = async (options: InitMsApplicationOptions) => {
|
|
25
|
-
const app = options.app;
|
|
26
|
-
|
|
27
|
-
const vueRouter =
|
|
28
|
-
options.router ??
|
|
29
|
-
createRouter({
|
|
30
|
-
history: createWebHashHistory(),
|
|
31
|
-
routes: [],
|
|
32
|
-
});
|
|
33
|
-
|
|
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
|
-
const msAppClient = reactive(
|
|
62
|
-
new MSAppClient({
|
|
63
|
-
appID: options!.appID,
|
|
64
|
-
logo: options!.logo ?? "",
|
|
65
|
-
projectName: options!.projectName,
|
|
66
|
-
httpRequest: options.httpRequest ?? new WebHttpRequest(),
|
|
67
|
-
origin: location.origin,
|
|
68
|
-
locale: options!.locale,
|
|
69
|
-
vueRouter,
|
|
70
|
-
})
|
|
71
|
-
) as unknown as MSAppClient;
|
|
72
|
-
|
|
73
|
-
app.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });
|
|
74
|
-
|
|
75
|
-
MSAppClient.instance = msAppClient;
|
|
76
|
-
|
|
77
|
-
(window as any).msAppClient = msAppClient;
|
|
78
|
-
|
|
79
|
-
await msAppClient.init();
|
|
80
|
-
|
|
81
|
-
app.use(msAppClient.vueRouter);
|
|
82
|
-
|
|
83
|
-
return msAppClient;
|
|
84
|
-
};
|
package/src/installer.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Plugin, reactive } from "vue";
|
|
2
|
-
import { makeInstaller } from "@maketribe/utils";
|
|
3
|
-
import { ConfigProviderContext } from "@maketribe/dm-ui";
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
MKMaterialList,
|
|
7
|
-
MKMaterialSelect,
|
|
8
|
-
MKSystemProvider,
|
|
9
|
-
MKRolePermissionConfig,
|
|
10
|
-
MKImageSelect,
|
|
11
|
-
MKVerifyDialog,
|
|
12
|
-
} from "./components";
|
|
13
|
-
|
|
14
|
-
const components: Plugin[] = [
|
|
15
|
-
MKSystemProvider,
|
|
16
|
-
MKMaterialList,
|
|
17
|
-
MKMaterialSelect,
|
|
18
|
-
MKRolePermissionConfig,
|
|
19
|
-
MKImageSelect,
|
|
20
|
-
MKVerifyDialog,
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
export const installer = makeInstaller<ConfigProviderContext>(
|
|
24
|
-
components,
|
|
25
|
-
"1.0.0-dev"
|
|
26
|
-
);
|
package/src/layouts/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./manager-system";
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Ref, computed, defineComponent, ref, unref } from "vue";
|
|
2
|
-
import MKAsideBar from "./bar";
|
|
3
|
-
import MKAsidePanel from "./panel";
|
|
4
|
-
import { MenuNode } from "../../../../menu";
|
|
5
|
-
import { MSAppClient } from "../../../../MSAppClient";
|
|
6
|
-
|
|
7
|
-
export default defineComponent({
|
|
8
|
-
name: "MKMenu",
|
|
9
|
-
setup() {
|
|
10
|
-
const menu = MSAppClient.instance!.userSession!.menu;
|
|
11
|
-
const isCollapse = computed(() => menu.isCollapsed);
|
|
12
|
-
|
|
13
|
-
const currentMenuModule: Ref<MenuNode | null> = ref(
|
|
14
|
-
menu.getCurrentMenuNode()
|
|
15
|
-
? findRootMenu(menu.getCurrentMenuNode()!)
|
|
16
|
-
: null
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
menu.currentMenuChangeEvent.on(({ currentMenu: menu }) => {
|
|
20
|
-
currentMenuModule.value = menu ? findRootMenu(menu) : null;
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
function findRootMenu(menuNode: MenuNode) {
|
|
24
|
-
while (menuNode?.parent) {
|
|
25
|
-
menuNode = menuNode.parent;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return menuNode;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return () => {
|
|
32
|
-
const _currentMenuModule = unref(currentMenuModule) as MenuNode;
|
|
33
|
-
|
|
34
|
-
return (
|
|
35
|
-
<div class="mk-aside">
|
|
36
|
-
<MKAsideBar menuModule={unref(currentMenuModule) as MenuNode} />
|
|
37
|
-
<MKAsidePanel
|
|
38
|
-
collapse={unref(isCollapse)}
|
|
39
|
-
menuModule={_currentMenuModule}
|
|
40
|
-
/>
|
|
41
|
-
</div>
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
});
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { defineComponent } from "vue";
|
|
2
|
-
import { ElScrollbar } from "element-plus";
|
|
3
|
-
import { MenuNode } from "../../../../../menu";
|
|
4
|
-
import { MSAppClient } from "../../../../../MSAppClient";
|
|
5
|
-
import { MKSvgIcon } from "@maketribe/dm-ui";
|
|
6
|
-
|
|
7
|
-
export default defineComponent({
|
|
8
|
-
name: "MKAsideBar",
|
|
9
|
-
props: {
|
|
10
|
-
menuModule: {
|
|
11
|
-
type: MenuNode,
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
setup(props) {
|
|
15
|
-
const msAppClient = MSAppClient.instance!;
|
|
16
|
-
const userSession = msAppClient.userSession!;
|
|
17
|
-
|
|
18
|
-
const menu = userSession.menu;
|
|
19
|
-
const router = userSession.router;
|
|
20
|
-
|
|
21
|
-
const handleMenuItemClick = async (item: MenuNode) => {
|
|
22
|
-
if (item.children.length) {
|
|
23
|
-
const _item = menu.getFirstLeafMenuNode(item.children);
|
|
24
|
-
|
|
25
|
-
if (!_item) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
item = _item;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (item.route) {
|
|
33
|
-
router.changeRoute({ name: item.route.name });
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
return () => {
|
|
38
|
-
const logo = msAppClient.logo ? (
|
|
39
|
-
<div class="mk-aside-bar__logo">
|
|
40
|
-
<div
|
|
41
|
-
class="mk-logo"
|
|
42
|
-
style={{ backgroundImage: `url(${msAppClient.logo})` }}
|
|
43
|
-
/>
|
|
44
|
-
</div>
|
|
45
|
-
) : null;
|
|
46
|
-
|
|
47
|
-
const menuItems = menu.rootMenus.map((menu) => (
|
|
48
|
-
<div
|
|
49
|
-
class={[
|
|
50
|
-
"mk-aside-bar__item",
|
|
51
|
-
props.menuModule?.id === menu.id ? "is-active" : "",
|
|
52
|
-
]}
|
|
53
|
-
>
|
|
54
|
-
<div
|
|
55
|
-
class="mk-aside-bar__item-main"
|
|
56
|
-
onClick={() => handleMenuItemClick(menu)}
|
|
57
|
-
>
|
|
58
|
-
<div>
|
|
59
|
-
<MKSvgIcon
|
|
60
|
-
class="mk-aside-bar__item-icon"
|
|
61
|
-
iconClass={menu.iconName}
|
|
62
|
-
/>
|
|
63
|
-
<span class="mk-aside-bar__item-label">{menu.title}</span>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
));
|
|
68
|
-
|
|
69
|
-
return (
|
|
70
|
-
<div class="mk-aside-bar">
|
|
71
|
-
{logo}
|
|
72
|
-
<div class="mk-aside-bar__icons">
|
|
73
|
-
<ElScrollbar height="100%">{menuItems}</ElScrollbar>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
);
|
|
77
|
-
};
|
|
78
|
-
},
|
|
79
|
-
});
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Fragment, defineComponent } from "vue";
|
|
2
|
-
import { ElMenuItem, ElSubMenu } from "element-plus";
|
|
3
|
-
import { MenuNode } from "../../../../../menu";
|
|
4
|
-
import { MKSvgIcon } from "@maketribe/dm-ui";
|
|
5
|
-
|
|
6
|
-
const MKAsideMenuItem = defineComponent({
|
|
7
|
-
name: "MKAsideMenuItem",
|
|
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;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { 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 default defineComponent({
|
|
8
|
-
name: "MKAsideMenu",
|
|
9
|
-
props: {
|
|
10
|
-
menus: {
|
|
11
|
-
type: Array<MenuNode>,
|
|
12
|
-
required: true,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
setup(props) {
|
|
16
|
-
const userSession = MSAppClient.instance!.userSession!;
|
|
17
|
-
|
|
18
|
-
const menu = userSession.menu;
|
|
19
|
-
const router = userSession.router;
|
|
20
|
-
|
|
21
|
-
const currentMenuID = ref(menu.getCurrentMenuNode()?.id || "");
|
|
22
|
-
|
|
23
|
-
const handleSelect = async (id: string) => {
|
|
24
|
-
const item = menu.findMenuNodeByID(id);
|
|
25
|
-
|
|
26
|
-
if (item?.route) {
|
|
27
|
-
router.changeRoute({ name: item.route.name });
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
menu.currentMenuChangeEvent.on(({ currentMenu }) => {
|
|
32
|
-
currentMenuID.value = currentMenu?.id || "";
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
return () => {
|
|
36
|
-
const items = props.menus.map((menu) => (
|
|
37
|
-
<MKAsideMenuItem class="mk-menu-item" node={menu} key={menu.id} />
|
|
38
|
-
));
|
|
39
|
-
|
|
40
|
-
return (
|
|
41
|
-
<ElMenu
|
|
42
|
-
class="mk-menu"
|
|
43
|
-
defaultActive={unref(currentMenuID)}
|
|
44
|
-
onSelect={handleSelect}
|
|
45
|
-
>
|
|
46
|
-
{items}
|
|
47
|
-
</ElMenu>
|
|
48
|
-
);
|
|
49
|
-
};
|
|
50
|
-
},
|
|
51
|
-
});
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { computed, defineComponent, unref } from "vue";
|
|
2
|
-
import { ElDivider, ElScrollbar } from "element-plus";
|
|
3
|
-
import { MenuNode } from "../../../../../menu";
|
|
4
|
-
import { MSAppClient } from "../../../../../MSAppClient";
|
|
5
|
-
import MKAsideMenu from "../menu";
|
|
6
|
-
|
|
7
|
-
export default defineComponent({
|
|
8
|
-
name: "MKAsidePanel",
|
|
9
|
-
props: {
|
|
10
|
-
menuModule: {
|
|
11
|
-
type: MenuNode,
|
|
12
|
-
},
|
|
13
|
-
collapse: {
|
|
14
|
-
type: Boolean,
|
|
15
|
-
default: false,
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
setup(props) {
|
|
19
|
-
const msAppClient = MSAppClient.instance!;
|
|
20
|
-
|
|
21
|
-
const menus = computed(() => props.menuModule?.children ?? []);
|
|
22
|
-
|
|
23
|
-
const isCollapse = computed(() => {
|
|
24
|
-
if (props.collapse) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return !props.menuModule || !props.menuModule.children.length;
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
const isRenderContent = computed(() => {
|
|
32
|
-
return !!props.menuModule?.children.length;
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
return () => {
|
|
36
|
-
const content = unref(isRenderContent) ? (
|
|
37
|
-
<div class="mk-aside-panel__content">
|
|
38
|
-
<div class="mk-aside-panel__title">{msAppClient.projectName}</div>
|
|
39
|
-
|
|
40
|
-
<ElDivider class="mk-aside-panel__divider">
|
|
41
|
-
{props.menuModule!.title}
|
|
42
|
-
</ElDivider>
|
|
43
|
-
|
|
44
|
-
<MKAsideMenu menus={unref(menus)} />
|
|
45
|
-
</div>
|
|
46
|
-
) : null;
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<div class={["mk-aside-panel", unref(isCollapse) ? "is-collapse" : ""]}>
|
|
50
|
-
<div class="mk-aside-panel__wrapper">
|
|
51
|
-
<ElScrollbar height="100%">{content}</ElScrollbar>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
);
|
|
55
|
-
};
|
|
56
|
-
},
|
|
57
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Ref, computed, defineComponent, ref, unref } from "vue";
|
|
2
|
-
import { ElBreadcrumb, ElBreadcrumbItem } from "element-plus";
|
|
3
|
-
import { MKSvgIcon } from "@maketribe/dm-ui";
|
|
4
|
-
import { MenuNode } from "../../../../../menu";
|
|
5
|
-
import { MSAppClient } from "../../../../../MSAppClient";
|
|
6
|
-
|
|
7
|
-
export default defineComponent({
|
|
8
|
-
name: "MKHeaderBreadcrumb",
|
|
9
|
-
setup() {
|
|
10
|
-
const menu = MSAppClient.instance!.userSession!.menu;
|
|
11
|
-
|
|
12
|
-
const currentMenu = ref(menu.getCurrentMenuNode()) as Ref<MenuNode | null>;
|
|
13
|
-
|
|
14
|
-
menu.currentMenuChangeEvent.on(({ currentMenu: current }) => {
|
|
15
|
-
currentMenu.value = current;
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
const path = computed(() => {
|
|
19
|
-
const currentMenuNode = unref(currentMenu);;
|
|
20
|
-
|
|
21
|
-
if (!currentMenuNode) {
|
|
22
|
-
return [];
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return currentMenuNode.getMenuNodePath().map((item) => ({
|
|
26
|
-
id: `menu_${item.id}`,
|
|
27
|
-
iconName: item.iconName,
|
|
28
|
-
title: item.title,
|
|
29
|
-
}));
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
return () => {
|
|
33
|
-
const breadcrumbItems = unref(path).map((item) => (
|
|
34
|
-
<ElBreadcrumbItem key={item.id}>
|
|
35
|
-
<MKSvgIcon iconClass={item.iconName} />
|
|
36
|
-
{item.title}
|
|
37
|
-
</ElBreadcrumbItem>
|
|
38
|
-
));
|
|
39
|
-
|
|
40
|
-
return (
|
|
41
|
-
<ElBreadcrumb class="mk-header-breadcrumb">
|
|
42
|
-
{breadcrumbItems}
|
|
43
|
-
</ElBreadcrumb>
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
},
|
|
47
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { defineComponent } from "vue";
|
|
2
|
-
import MKHeaderNav from "./nav";
|
|
3
|
-
import MKHeaderTabs from "./tabs";
|
|
4
|
-
|
|
5
|
-
export default defineComponent({
|
|
6
|
-
name: "MKHeader",
|
|
7
|
-
setup(props) {
|
|
8
|
-
return () => {
|
|
9
|
-
return (
|
|
10
|
-
<div class="mk-header">
|
|
11
|
-
<MKHeaderNav />
|
|
12
|
-
<MKHeaderTabs />
|
|
13
|
-
</div>
|
|
14
|
-
);
|
|
15
|
-
};
|
|
16
|
-
},
|
|
17
|
-
});
|