@maketribe/ms-app 3.0.17 → 3.0.18
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.
|
@@ -96,37 +96,41 @@ class PageManager {
|
|
|
96
96
|
if (!userSession) {
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
userSession.beforeInitRouterEvent.on(() => {
|
|
100
|
+
const router = userSession.router;
|
|
101
|
+
const addedExtendsPageNames = [];
|
|
102
|
+
for (const extendsPage of this.extendsPages) {
|
|
103
|
+
const routeInfo = router.getRouteByName(
|
|
104
|
+
extendsPage.name
|
|
105
|
+
);
|
|
106
|
+
if (!routeInfo) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
const vueRoute = vueRoutes.find(
|
|
110
|
+
(vueRoute2) => vueRoute2.name === extendsPage.name
|
|
111
|
+
);
|
|
112
|
+
if (!vueRoute) {
|
|
113
|
+
extendsPage.path = routeInfo.route || extendsPage.path;
|
|
114
|
+
addedExtendsPageNames.push(extendsPage.name);
|
|
115
|
+
vueRouter.addRoute("mk-ms-layout", extendsPage);
|
|
116
|
+
}
|
|
105
117
|
}
|
|
106
|
-
|
|
107
|
-
(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
if (!this.extendsPages.find((page) => page.name === "notFound")) {
|
|
119
|
+
this.addExtendsPage({
|
|
120
|
+
name: "notFound",
|
|
121
|
+
// path: ":pathMatch(.*)*",
|
|
122
|
+
path: "",
|
|
123
|
+
component: () => Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('../page/index/404.vue.js')); })
|
|
124
|
+
});
|
|
113
125
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
userSession.register(
|
|
124
|
-
utils.createDisposable(() => {
|
|
125
|
-
for (const addedExtendsPageName of addedExtendsPageNames) {
|
|
126
|
-
vueRouter.removeRoute(addedExtendsPageName);
|
|
127
|
-
}
|
|
128
|
-
})
|
|
129
|
-
);
|
|
126
|
+
userSession.register(
|
|
127
|
+
utils.createDisposable(() => {
|
|
128
|
+
for (const addedExtendsPageName of addedExtendsPageNames) {
|
|
129
|
+
vueRouter.removeRoute(addedExtendsPageName);
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
);
|
|
133
|
+
});
|
|
130
134
|
})
|
|
131
135
|
);
|
|
132
136
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageManager.js","sources":["../../../src/core/PageManager.ts"],"sourcesContent":["import { RouteRecordRaw } from \"vue-router\";\nimport type { MSAppClient } from \"./MSAppClient\";\nimport { Disposable, Event, createDisposable } from \"@maketribe/utils\";\n\nexport class PageManager {\n normalPages: RouteRecordRaw[] = [];\n\n extendsPages: RouteRecordRaw[] = [];\n\n msAppClient: MSAppClient | null = null;\n\n msAppClientChangeEvent: Event<{ msAppClient: MSAppClient | null }> =\n new Event();\n\n msAppClientDisposable: Disposable | null = null;\n\n setMSAppCLient(msAppClient: MSAppClient | null) {\n this.msAppClientDisposable?.dispose();\n\n this.msAppClientDisposable = new Disposable();\n\n this.msAppClient = msAppClient;\n\n this.msAppClientChangeEvent.emit({ msAppClient });\n }\n\n addNormalPage(normalPage: RouteRecordRaw) {\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n this.extendsPages.push(extendsPage);\n }\n\n init() {\n this.addNormalPage({\n name: \"mk-ms-layout\",\n path: \"/\",\n component: () => import(\"../page/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/login/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/signup/index.vue\"),\n });\n\n this.addExtendsPage({\n name: \"dv/ms-material/list\",\n path: \"/material-list\",\n component: () => import(\"../page/index/material/index.vue\"),\n meta: { name: \"ms-material\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-member/single/list/normal\",\n path: \"/dv/ms-member\",\n component: () => import(\"../page/index/dv/ms-member/index.vue\"),\n meta: { name: \"ms-member\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-role/single/list/dialog\",\n path: \"/dv/ms-role\",\n component: () => import(\"../page/index/dv/ms-role/index.vue\"),\n meta: { name: \"ms-role\" },\n });\n\n this.addExtendsPage({\n name: \"dv/local-log/single/tree/dialog\",\n path: \"/log/local\",\n component: () => import(\"../page/index/dv/local-log/index.vue\"),\n meta: { name: \"local-log\" },\n });\n\n this.msAppClientChangeEvent.on(({ msAppClient }) => {\n if (!msAppClient) {\n return;\n }\n\n const vueRouter = msAppClient.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n const addedNormalPageNames: string[] = [];\n\n for (const normalPage of this.normalPages) {\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === normalPage.name\n );\n\n if (!vueRoute) {\n addedNormalPageNames.push(normalPage.name as string);\n vueRouter.addRoute(normalPage);\n }\n }\n\n this.msAppClientDisposable?.register(\n createDisposable(() => {\n for (const addedNormalPageName of addedNormalPageNames) {\n vueRouter.removeRoute(addedNormalPageName);\n }\n })\n );\n\n this.msAppClientDisposable?.register(\n msAppClient.beforeInitUserSessionEvent.on(({ userSession }) => {\n if (!userSession) {\n return;\n }\n\n const router = userSession.router;\n\n
|
|
1
|
+
{"version":3,"file":"PageManager.js","sources":["../../../src/core/PageManager.ts"],"sourcesContent":["import { RouteRecordRaw } from \"vue-router\";\nimport type { MSAppClient } from \"./MSAppClient\";\nimport { Disposable, Event, createDisposable } from \"@maketribe/utils\";\n\nexport class PageManager {\n normalPages: RouteRecordRaw[] = [];\n\n extendsPages: RouteRecordRaw[] = [];\n\n msAppClient: MSAppClient | null = null;\n\n msAppClientChangeEvent: Event<{ msAppClient: MSAppClient | null }> =\n new Event();\n\n msAppClientDisposable: Disposable | null = null;\n\n setMSAppCLient(msAppClient: MSAppClient | null) {\n this.msAppClientDisposable?.dispose();\n\n this.msAppClientDisposable = new Disposable();\n\n this.msAppClient = msAppClient;\n\n this.msAppClientChangeEvent.emit({ msAppClient });\n }\n\n addNormalPage(normalPage: RouteRecordRaw) {\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n this.extendsPages.push(extendsPage);\n }\n\n init() {\n this.addNormalPage({\n name: \"mk-ms-layout\",\n path: \"/\",\n component: () => import(\"../page/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/login/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/signup/index.vue\"),\n });\n\n this.addExtendsPage({\n name: \"dv/ms-material/list\",\n path: \"/material-list\",\n component: () => import(\"../page/index/material/index.vue\"),\n meta: { name: \"ms-material\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-member/single/list/normal\",\n path: \"/dv/ms-member\",\n component: () => import(\"../page/index/dv/ms-member/index.vue\"),\n meta: { name: \"ms-member\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-role/single/list/dialog\",\n path: \"/dv/ms-role\",\n component: () => import(\"../page/index/dv/ms-role/index.vue\"),\n meta: { name: \"ms-role\" },\n });\n\n this.addExtendsPage({\n name: \"dv/local-log/single/tree/dialog\",\n path: \"/log/local\",\n component: () => import(\"../page/index/dv/local-log/index.vue\"),\n meta: { name: \"local-log\" },\n });\n\n this.msAppClientChangeEvent.on(({ msAppClient }) => {\n if (!msAppClient) {\n return;\n }\n\n const vueRouter = msAppClient.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n const addedNormalPageNames: string[] = [];\n\n for (const normalPage of this.normalPages) {\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === normalPage.name\n );\n\n if (!vueRoute) {\n addedNormalPageNames.push(normalPage.name as string);\n vueRouter.addRoute(normalPage);\n }\n }\n\n this.msAppClientDisposable?.register(\n createDisposable(() => {\n for (const addedNormalPageName of addedNormalPageNames) {\n vueRouter.removeRoute(addedNormalPageName);\n }\n })\n );\n\n this.msAppClientDisposable?.register(\n msAppClient.beforeInitUserSessionEvent.on(({ userSession }) => {\n if (!userSession) {\n return;\n }\n\n userSession.beforeInitRouterEvent.on(() => {\n const router = userSession.router;\n\n const addedExtendsPageNames: string[] = [];\n\n for (const extendsPage of this.extendsPages) {\n const routeInfo = router.getRouteByName(\n extendsPage.name as string\n );\n\n if (!routeInfo) {\n continue;\n }\n\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === extendsPage.name\n );\n\n if (!vueRoute) {\n extendsPage.path = routeInfo.route || extendsPage.path;\n addedExtendsPageNames.push(extendsPage.name as string);\n vueRouter.addRoute(\"mk-ms-layout\", extendsPage);\n }\n }\n\n if (!this.extendsPages.find((page) => page.name === \"notFound\")) {\n this.addExtendsPage({\n name: \"notFound\",\n // path: \":pathMatch(.*)*\",\n path: \"\",\n component: () => import(\"../page/index/404.vue\"),\n });\n }\n\n userSession.register(\n createDisposable(() => {\n for (const addedExtendsPageName of addedExtendsPageNames) {\n vueRouter.removeRoute(addedExtendsPageName);\n }\n })\n );\n });\n })\n );\n });\n }\n}\n"],"names":["Event","Disposable","vueRoute","createDisposable"],"mappings":"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"}
|
|
@@ -92,37 +92,41 @@ class PageManager {
|
|
|
92
92
|
if (!userSession) {
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
userSession.beforeInitRouterEvent.on(() => {
|
|
96
|
+
const router = userSession.router;
|
|
97
|
+
const addedExtendsPageNames = [];
|
|
98
|
+
for (const extendsPage of this.extendsPages) {
|
|
99
|
+
const routeInfo = router.getRouteByName(
|
|
100
|
+
extendsPage.name
|
|
101
|
+
);
|
|
102
|
+
if (!routeInfo) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const vueRoute = vueRoutes.find(
|
|
106
|
+
(vueRoute2) => vueRoute2.name === extendsPage.name
|
|
107
|
+
);
|
|
108
|
+
if (!vueRoute) {
|
|
109
|
+
extendsPage.path = routeInfo.route || extendsPage.path;
|
|
110
|
+
addedExtendsPageNames.push(extendsPage.name);
|
|
111
|
+
vueRouter.addRoute("mk-ms-layout", extendsPage);
|
|
112
|
+
}
|
|
101
113
|
}
|
|
102
|
-
|
|
103
|
-
(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
114
|
+
if (!this.extendsPages.find((page) => page.name === "notFound")) {
|
|
115
|
+
this.addExtendsPage({
|
|
116
|
+
name: "notFound",
|
|
117
|
+
// path: ":pathMatch(.*)*",
|
|
118
|
+
path: "",
|
|
119
|
+
component: () => import('../page/index/404.vue.js')
|
|
120
|
+
});
|
|
109
121
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
userSession.register(
|
|
120
|
-
createDisposable(() => {
|
|
121
|
-
for (const addedExtendsPageName of addedExtendsPageNames) {
|
|
122
|
-
vueRouter.removeRoute(addedExtendsPageName);
|
|
123
|
-
}
|
|
124
|
-
})
|
|
125
|
-
);
|
|
122
|
+
userSession.register(
|
|
123
|
+
createDisposable(() => {
|
|
124
|
+
for (const addedExtendsPageName of addedExtendsPageNames) {
|
|
125
|
+
vueRouter.removeRoute(addedExtendsPageName);
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
);
|
|
129
|
+
});
|
|
126
130
|
})
|
|
127
131
|
);
|
|
128
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageManager.js","sources":["../../../src/core/PageManager.ts"],"sourcesContent":["import { RouteRecordRaw } from \"vue-router\";\nimport type { MSAppClient } from \"./MSAppClient\";\nimport { Disposable, Event, createDisposable } from \"@maketribe/utils\";\n\nexport class PageManager {\n normalPages: RouteRecordRaw[] = [];\n\n extendsPages: RouteRecordRaw[] = [];\n\n msAppClient: MSAppClient | null = null;\n\n msAppClientChangeEvent: Event<{ msAppClient: MSAppClient | null }> =\n new Event();\n\n msAppClientDisposable: Disposable | null = null;\n\n setMSAppCLient(msAppClient: MSAppClient | null) {\n this.msAppClientDisposable?.dispose();\n\n this.msAppClientDisposable = new Disposable();\n\n this.msAppClient = msAppClient;\n\n this.msAppClientChangeEvent.emit({ msAppClient });\n }\n\n addNormalPage(normalPage: RouteRecordRaw) {\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n this.extendsPages.push(extendsPage);\n }\n\n init() {\n this.addNormalPage({\n name: \"mk-ms-layout\",\n path: \"/\",\n component: () => import(\"../page/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/login/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/signup/index.vue\"),\n });\n\n this.addExtendsPage({\n name: \"dv/ms-material/list\",\n path: \"/material-list\",\n component: () => import(\"../page/index/material/index.vue\"),\n meta: { name: \"ms-material\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-member/single/list/normal\",\n path: \"/dv/ms-member\",\n component: () => import(\"../page/index/dv/ms-member/index.vue\"),\n meta: { name: \"ms-member\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-role/single/list/dialog\",\n path: \"/dv/ms-role\",\n component: () => import(\"../page/index/dv/ms-role/index.vue\"),\n meta: { name: \"ms-role\" },\n });\n\n this.addExtendsPage({\n name: \"dv/local-log/single/tree/dialog\",\n path: \"/log/local\",\n component: () => import(\"../page/index/dv/local-log/index.vue\"),\n meta: { name: \"local-log\" },\n });\n\n this.msAppClientChangeEvent.on(({ msAppClient }) => {\n if (!msAppClient) {\n return;\n }\n\n const vueRouter = msAppClient.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n const addedNormalPageNames: string[] = [];\n\n for (const normalPage of this.normalPages) {\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === normalPage.name\n );\n\n if (!vueRoute) {\n addedNormalPageNames.push(normalPage.name as string);\n vueRouter.addRoute(normalPage);\n }\n }\n\n this.msAppClientDisposable?.register(\n createDisposable(() => {\n for (const addedNormalPageName of addedNormalPageNames) {\n vueRouter.removeRoute(addedNormalPageName);\n }\n })\n );\n\n this.msAppClientDisposable?.register(\n msAppClient.beforeInitUserSessionEvent.on(({ userSession }) => {\n if (!userSession) {\n return;\n }\n\n const router = userSession.router;\n\n
|
|
1
|
+
{"version":3,"file":"PageManager.js","sources":["../../../src/core/PageManager.ts"],"sourcesContent":["import { RouteRecordRaw } from \"vue-router\";\nimport type { MSAppClient } from \"./MSAppClient\";\nimport { Disposable, Event, createDisposable } from \"@maketribe/utils\";\n\nexport class PageManager {\n normalPages: RouteRecordRaw[] = [];\n\n extendsPages: RouteRecordRaw[] = [];\n\n msAppClient: MSAppClient | null = null;\n\n msAppClientChangeEvent: Event<{ msAppClient: MSAppClient | null }> =\n new Event();\n\n msAppClientDisposable: Disposable | null = null;\n\n setMSAppCLient(msAppClient: MSAppClient | null) {\n this.msAppClientDisposable?.dispose();\n\n this.msAppClientDisposable = new Disposable();\n\n this.msAppClient = msAppClient;\n\n this.msAppClientChangeEvent.emit({ msAppClient });\n }\n\n addNormalPage(normalPage: RouteRecordRaw) {\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n this.extendsPages.push(extendsPage);\n }\n\n init() {\n this.addNormalPage({\n name: \"mk-ms-layout\",\n path: \"/\",\n component: () => import(\"../page/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/login/index.vue\"),\n });\n\n this.addNormalPage({\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n component: () => import(\"../page/signup/index.vue\"),\n });\n\n this.addExtendsPage({\n name: \"dv/ms-material/list\",\n path: \"/material-list\",\n component: () => import(\"../page/index/material/index.vue\"),\n meta: { name: \"ms-material\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-member/single/list/normal\",\n path: \"/dv/ms-member\",\n component: () => import(\"../page/index/dv/ms-member/index.vue\"),\n meta: { name: \"ms-member\" },\n });\n\n this.addExtendsPage({\n name: \"dv/ms-role/single/list/dialog\",\n path: \"/dv/ms-role\",\n component: () => import(\"../page/index/dv/ms-role/index.vue\"),\n meta: { name: \"ms-role\" },\n });\n\n this.addExtendsPage({\n name: \"dv/local-log/single/tree/dialog\",\n path: \"/log/local\",\n component: () => import(\"../page/index/dv/local-log/index.vue\"),\n meta: { name: \"local-log\" },\n });\n\n this.msAppClientChangeEvent.on(({ msAppClient }) => {\n if (!msAppClient) {\n return;\n }\n\n const vueRouter = msAppClient.vueRouter;\n const vueRoutes = vueRouter.getRoutes();\n\n const addedNormalPageNames: string[] = [];\n\n for (const normalPage of this.normalPages) {\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === normalPage.name\n );\n\n if (!vueRoute) {\n addedNormalPageNames.push(normalPage.name as string);\n vueRouter.addRoute(normalPage);\n }\n }\n\n this.msAppClientDisposable?.register(\n createDisposable(() => {\n for (const addedNormalPageName of addedNormalPageNames) {\n vueRouter.removeRoute(addedNormalPageName);\n }\n })\n );\n\n this.msAppClientDisposable?.register(\n msAppClient.beforeInitUserSessionEvent.on(({ userSession }) => {\n if (!userSession) {\n return;\n }\n\n userSession.beforeInitRouterEvent.on(() => {\n const router = userSession.router;\n\n const addedExtendsPageNames: string[] = [];\n\n for (const extendsPage of this.extendsPages) {\n const routeInfo = router.getRouteByName(\n extendsPage.name as string\n );\n\n if (!routeInfo) {\n continue;\n }\n\n const vueRoute = vueRoutes.find(\n (vueRoute) => vueRoute.name === extendsPage.name\n );\n\n if (!vueRoute) {\n extendsPage.path = routeInfo.route || extendsPage.path;\n addedExtendsPageNames.push(extendsPage.name as string);\n vueRouter.addRoute(\"mk-ms-layout\", extendsPage);\n }\n }\n\n if (!this.extendsPages.find((page) => page.name === \"notFound\")) {\n this.addExtendsPage({\n name: \"notFound\",\n // path: \":pathMatch(.*)*\",\n path: \"\",\n component: () => import(\"../page/index/404.vue\"),\n });\n }\n\n userSession.register(\n createDisposable(() => {\n for (const addedExtendsPageName of addedExtendsPageNames) {\n vueRouter.removeRoute(addedExtendsPageName);\n }\n })\n );\n });\n })\n );\n });\n }\n}\n"],"names":["vueRoute"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maketribe/ms-app",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.18",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"files": [
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"vue": "^3.3.4",
|
|
21
21
|
"vue-codemirror": "^6.1.1",
|
|
22
22
|
"vue-router": "^4.2.4",
|
|
23
|
-
"@maketribe/dm": "^3.0.9",
|
|
24
|
-
"@maketribe/request": "^1.1.11",
|
|
25
23
|
"@maketribe/locale": "^1.0.5",
|
|
26
|
-
"@maketribe/utils": "^1.1.4"
|
|
24
|
+
"@maketribe/utils": "^1.1.4",
|
|
25
|
+
"@maketribe/dm": "^3.0.9",
|
|
26
|
+
"@maketribe/request": "^1.1.11"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "npm run clean && npm run build:js && npm run build:type && npm run build:style",
|
package/src/core/PageManager.ts
CHANGED
|
@@ -120,44 +120,48 @@ export class PageManager {
|
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
userSession.beforeInitRouterEvent.on(() => {
|
|
124
|
+
const router = userSession.router;
|
|
124
125
|
|
|
125
|
-
|
|
126
|
+
const addedExtendsPageNames: string[] = [];
|
|
126
127
|
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
for (const extendsPage of this.extendsPages) {
|
|
129
|
+
const routeInfo = router.getRouteByName(
|
|
130
|
+
extendsPage.name as string
|
|
131
|
+
);
|
|
129
132
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
if (!routeInfo) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
133
136
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
+
const vueRoute = vueRoutes.find(
|
|
138
|
+
(vueRoute) => vueRoute.name === extendsPage.name
|
|
139
|
+
);
|
|
137
140
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
141
|
+
if (!vueRoute) {
|
|
142
|
+
extendsPage.path = routeInfo.route || extendsPage.path;
|
|
143
|
+
addedExtendsPageNames.push(extendsPage.name as string);
|
|
144
|
+
vueRouter.addRoute("mk-ms-layout", extendsPage);
|
|
145
|
+
}
|
|
142
146
|
}
|
|
143
|
-
}
|
|
144
147
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
if (!this.extendsPages.find((page) => page.name === "notFound")) {
|
|
149
|
+
this.addExtendsPage({
|
|
150
|
+
name: "notFound",
|
|
151
|
+
// path: ":pathMatch(.*)*",
|
|
152
|
+
path: "",
|
|
153
|
+
component: () => import("../page/index/404.vue"),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
153
156
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
157
|
+
userSession.register(
|
|
158
|
+
createDisposable(() => {
|
|
159
|
+
for (const addedExtendsPageName of addedExtendsPageNames) {
|
|
160
|
+
vueRouter.removeRoute(addedExtendsPageName);
|
|
161
|
+
}
|
|
162
|
+
})
|
|
163
|
+
);
|
|
164
|
+
});
|
|
161
165
|
})
|
|
162
166
|
);
|
|
163
167
|
});
|