@maketribe/ms-app 3.2.14 → 3.2.15

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.
@@ -11,6 +11,7 @@ class PageManager {
11
11
  __publicField(this, "extendsPages", []);
12
12
  __publicField(this, "msAppClient", null);
13
13
  __publicField(this, "msAppClientChangeEvent", new utils.Event());
14
+ __publicField(this, "afterInitdEvent", new utils.Event());
14
15
  __publicField(this, "msAppClientDisposable", null);
15
16
  }
16
17
  setMSAppCLient(msAppClient) {
@@ -60,6 +61,7 @@ class PageManager {
60
61
  },
61
62
  component: () => Promise.resolve().then(() => /* @__PURE__ */ _interopNamespaceDefaultOnly(require("../page/signup/index.vue.js")))
62
63
  });
64
+ this.afterInitdEvent.emit();
63
65
  this.msAppClientChangeEvent.on(({ msAppClient }) => {
64
66
  var _a, _b;
65
67
  if (!msAppClient) {
@@ -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 const index = this.normalPages.findIndex(\n (item) => item.name === normalPage.name\n );\n\n if (index > -1) {\n this.normalPages.splice(index, 1);\n }\n\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n const index = this.extendsPages.findIndex(\n (item) => item.name === extendsPage.name\n );\n\n if (index > -1) {\n this.extendsPages.splice(index, 1);\n }\n\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.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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"}
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 afterInitdEvent: Event = 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 const index = this.normalPages.findIndex(\n (item) => item.name === normalPage.name\n );\n\n if (index > -1) {\n this.normalPages.splice(index, 1);\n }\n\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n const index = this.extendsPages.findIndex(\n (item) => item.name === extendsPage.name\n );\n\n if (index > -1) {\n this.extendsPages.splice(index, 1);\n }\n\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.afterInitdEvent.emit();\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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"}
@@ -55,13 +55,15 @@ const initApplication = async (options) => {
55
55
  };
56
56
  })
57
57
  );
58
- for (const route of routes) {
59
- if (route.key.startsWith("index")) {
60
- msAppClient$1.pageManager.addExtendsPage(route);
61
- } else {
62
- msAppClient$1.pageManager.addNormalPage(route);
58
+ msAppClient$1.pageManager.afterInitdEvent.on(() => {
59
+ for (const route of routes) {
60
+ if (route.key.startsWith("index")) {
61
+ msAppClient$1.pageManager.addExtendsPage(route);
62
+ } else {
63
+ msAppClient$1.pageManager.addNormalPage(route);
64
+ }
63
65
  }
64
- }
66
+ });
65
67
  await msAppClient$1.init();
66
68
  app.use(msAppClient$1.vueRouter);
67
69
  return msAppClient$1;
@@ -1 +1 @@
1
- {"version":3,"file":"init-application.js","sources":["../../src/init-application.ts"],"sourcesContent":["import { App, reactive } from \"vue\";\nimport {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { DataTableHeaderComponents, MSAppClient } from \"./core\";\nimport { HttpRequest, WebHttpRequest } from \"@maketribe/request\";\nimport { MSAPPCLIENT_CONTEXT_KEY } from \"./tokens\";\nimport msModule from \"./modules/ms\";\nimport cmsModule from \"./modules/cms\";\nimport { installer } from './installer'\n\nimport { generateRoutesFromFiles } from \"./utils\";\nimport { DataFilterComponents, DataFormComponents, DataTableComponents } from \"./core\";\n\nexport type InitMsApplicationOptions = {\n\troutes: any;\n\tvueRouter?: VueRouter;\n\tapp: App;\n\tappID: string;\n\tlogo?: string;\n\tprojectName?: string;\n\tlocale?: string;\n\thttpRequest?: HttpRequest;\n};\n\nexport const initApplication = async (options: InitMsApplicationOptions) => {\n\tconst app = options.app;\n\n app.use(installer);\n\n\tconst vueRouter =\n\t\toptions.vueRouter ??\n\t\tcreateRouter({\n\t\t\thistory: createWebHashHistory(),\n\t\t\troutes: [],\n\t\t});\n\n\tconst msAppClient = reactive(\n\t\tnew MSAppClient({\n\t\t\tapp,\n\t\t\tappID: options!.appID,\n\t\t\tlogo: options!.logo ?? \"\",\n projectName: options!.projectName ?? \"\",\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: location.origin,\n locale: options!.locale,\n vueRouter,\n dataTableComponents: new DataTableComponents(),\n dataTableHeaderComponents: new DataTableHeaderComponents(),\n dataFormComponents: new DataFormComponents(),\n dataFilterComponents: new DataFilterComponents(),\n whereFilterComponents: new DataFilterComponents(),\n })\n ) as unknown as MSAppClient;\n\n\tmsAppClient.addModule(msModule);\n\tmsAppClient.addModule(cmsModule);\n\n\tapp.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });\n\n\tMSAppClient.instance = msAppClient;\n\n\t(window as any).msAppClient = msAppClient;\n\n\tconst routes = generateRoutesFromFiles(\n\t\tObject.keys(options.routes).map((key) => {\n\t\t\treturn {\n\t\t\t\tpath: key.replace(/^\\.\\/pages\\/(.+)\\.vue$/, (_, g) => g),\n\t\t\t\tmodule: options.routes[key]?.default || options.routes[key],\n\t\t\t};\n\t\t})\n\t);\n\n\tfor (const route of routes) {\n\t\tif (route.key.startsWith(\"index\")) {\n\t\t\tmsAppClient.pageManager.addExtendsPage(route);\n\t\t} else {\n\t\t\tmsAppClient.pageManager.addNormalPage(route);\n\t\t}\n\t}\n\n\tawait msAppClient.init();\n\n\tapp.use(msAppClient.vueRouter);\n\n\treturn msAppClient;\n};\n"],"names":["installer","vueRouter","createRouter","createWebHashHistory","msAppClient","reactive","MSAppClient","WebHttpRequest","DataTableComponents","DataTableHeaderComponents","DataFormComponents","DataFilterComponents","msModule","cmsModule","MSAPPCLIENT_CONTEXT_KEY","generateRoutesFromFiles"],"mappings":";;;;;;;;;;;;;;;;;;;AA2Ba,MAAA,kBAAkB,OAAO,YAAsC;AAC3E,QAAM,MAAM,QAAQ;AAEnB,MAAI,IAAIA,UAAAA,SAAS;AAEZ,QAAAC,cACL,QAAQ,aACRC,uBAAa;AAAA,IACZ,SAASC,UAAAA,qBAAqB;AAAA,IAC9B,QAAQ,CAAC;AAAA,EAAA,CACT;AAEF,QAAMC,gBAAcC,IAAA;AAAA,IACnB,IAAIC,wBAAY;AAAA,MACf;AAAA,MACA,OAAO,QAAS;AAAA,MAChB,MAAM,QAAS,QAAQ;AAAA,MACpB,aAAa,QAAS,eAAe;AAAA,MACrC,aAAa,QAAQ,eAAe,IAAIC,uBAAe;AAAA,MACvD,QAAQ,SAAS;AAAA,MACjB,QAAQ,QAAS;AAAA,MAAA,WACjBN;AAAAA,MACA,qBAAqB,IAAIO,oBAAAA,oBAAoB;AAAA,MAC7C,2BAA2B,IAAIC,0BAAAA,0BAA0B;AAAA,MACzD,oBAAoB,IAAIC,mBAAAA,mBAAmB;AAAA,MAC3C,sBAAsB,IAAIC,qBAAAA,qBAAqB;AAAA,MAC/C,uBAAuB,IAAIA,qBAAAA,qBAAqB;AAAA,IAAA,CACjD;AAAA,EAAA;AAGJP,gBAAY,UAAUQ,MAAAA,OAAQ;AAC9BR,gBAAY,UAAUS,QAAAA,OAAS;AAE/B,MAAI,QAAQC,YAAAA,yBAAyB,EAAEV,aAAAA,cAAa,CAAA;AAEpDE,cAAA,YAAY,WAAWF;AAEtB,SAAe,cAAcA;AAE9B,QAAM,SAASW,MAAA;AAAA,IACd,OAAO,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC,QAAQ;;AACjC,aAAA;AAAA,QACN,MAAM,IAAI,QAAQ,0BAA0B,CAAC,GAAG,MAAM,CAAC;AAAA,QACvD,UAAQ,aAAQ,OAAO,GAAG,MAAlB,mBAAqB,YAAW,QAAQ,OAAO,GAAG;AAAA,MAAA;AAAA,IAC3D,CACA;AAAA,EAAA;AAGF,aAAW,SAAS,QAAQ;AAC3B,QAAI,MAAM,IAAI,WAAW,OAAO,GAAG;AACtBX,oBAAA,YAAY,eAAe,KAAK;AAAA,IAAA,OACtC;AACMA,oBAAA,YAAY,cAAc,KAAK;AAAA,IAC5C;AAAA,EACD;AAEA,QAAMA,cAAY;AAEd,MAAA,IAAIA,cAAY,SAAS;AAEtB,SAAAA;AACR;;"}
1
+ {"version":3,"file":"init-application.js","sources":["../../src/init-application.ts"],"sourcesContent":["import { App, reactive } from \"vue\";\nimport {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { DataTableHeaderComponents, MSAppClient } from \"./core\";\nimport { HttpRequest, WebHttpRequest } from \"@maketribe/request\";\nimport { MSAPPCLIENT_CONTEXT_KEY } from \"./tokens\";\nimport msModule from \"./modules/ms\";\nimport cmsModule from \"./modules/cms\";\nimport { installer } from \"./installer\";\n\nimport { generateRoutesFromFiles } from \"./utils\";\nimport {\n DataFilterComponents,\n DataFormComponents,\n DataTableComponents,\n} from \"./core\";\n\nexport type InitMsApplicationOptions = {\n routes: any;\n vueRouter?: VueRouter;\n app: App;\n appID: string;\n logo?: string;\n projectName?: string;\n locale?: string;\n httpRequest?: HttpRequest;\n};\n\nexport const initApplication = async (options: InitMsApplicationOptions) => {\n const app = options.app;\n\n app.use(installer);\n\n const vueRouter =\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n });\n\n const msAppClient = reactive(\n new MSAppClient({\n app,\n appID: options!.appID,\n logo: options!.logo ?? \"\",\n projectName: options!.projectName ?? \"\",\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: location.origin,\n locale: options!.locale,\n vueRouter,\n dataTableComponents: new DataTableComponents(),\n dataTableHeaderComponents: new DataTableHeaderComponents(),\n dataFormComponents: new DataFormComponents(),\n dataFilterComponents: new DataFilterComponents(),\n whereFilterComponents: new DataFilterComponents(),\n })\n ) as unknown as MSAppClient;\n\n msAppClient.addModule(msModule);\n msAppClient.addModule(cmsModule);\n\n app.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });\n\n MSAppClient.instance = msAppClient;\n\n (window as any).msAppClient = msAppClient;\n\n const routes = generateRoutesFromFiles(\n Object.keys(options.routes).map((key) => {\n return {\n path: key.replace(/^\\.\\/pages\\/(.+)\\.vue$/, (_, g) => g),\n module: options.routes[key]?.default || options.routes[key],\n };\n })\n );\n\n msAppClient.pageManager.afterInitdEvent.on(() => {\n for (const route of routes) {\n if (route.key.startsWith(\"index\")) {\n msAppClient.pageManager.addExtendsPage(route);\n } else {\n msAppClient.pageManager.addNormalPage(route);\n }\n }\n });\n\n await msAppClient.init();\n\n app.use(msAppClient.vueRouter);\n\n return msAppClient;\n};\n"],"names":["installer","vueRouter","createRouter","createWebHashHistory","msAppClient","reactive","MSAppClient","WebHttpRequest","DataTableComponents","DataTableHeaderComponents","DataFormComponents","DataFilterComponents","msModule","cmsModule","MSAPPCLIENT_CONTEXT_KEY","generateRoutesFromFiles"],"mappings":";;;;;;;;;;;;;;;;;;;AA+Ba,MAAA,kBAAkB,OAAO,YAAsC;AAC1E,QAAM,MAAM,QAAQ;AAEpB,MAAI,IAAIA,UAAAA,SAAS;AAEX,QAAAC,cACJ,QAAQ,aACRC,uBAAa;AAAA,IACX,SAASC,UAAAA,qBAAqB;AAAA,IAC9B,QAAQ,CAAC;AAAA,EAAA,CACV;AAEH,QAAMC,gBAAcC,IAAA;AAAA,IAClB,IAAIC,wBAAY;AAAA,MACd;AAAA,MACA,OAAO,QAAS;AAAA,MAChB,MAAM,QAAS,QAAQ;AAAA,MACvB,aAAa,QAAS,eAAe;AAAA,MACrC,aAAa,QAAQ,eAAe,IAAIC,uBAAe;AAAA,MACvD,QAAQ,SAAS;AAAA,MACjB,QAAQ,QAAS;AAAA,MAAA,WACjBN;AAAAA,MACA,qBAAqB,IAAIO,oBAAAA,oBAAoB;AAAA,MAC7C,2BAA2B,IAAIC,0BAAAA,0BAA0B;AAAA,MACzD,oBAAoB,IAAIC,mBAAAA,mBAAmB;AAAA,MAC3C,sBAAsB,IAAIC,qBAAAA,qBAAqB;AAAA,MAC/C,uBAAuB,IAAIA,qBAAAA,qBAAqB;AAAA,IAAA,CACjD;AAAA,EAAA;AAGHP,gBAAY,UAAUQ,MAAAA,OAAQ;AAC9BR,gBAAY,UAAUS,QAAAA,OAAS;AAE/B,MAAI,QAAQC,YAAAA,yBAAyB,EAAEV,aAAAA,cAAa,CAAA;AAEpDE,cAAA,YAAY,WAAWF;AAEtB,SAAe,cAAcA;AAE9B,QAAM,SAASW,MAAA;AAAA,IACb,OAAO,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC,QAAQ;;AAChC,aAAA;AAAA,QACL,MAAM,IAAI,QAAQ,0BAA0B,CAAC,GAAG,MAAM,CAAC;AAAA,QACvD,UAAQ,aAAQ,OAAO,GAAG,MAAlB,mBAAqB,YAAW,QAAQ,OAAO,GAAG;AAAA,MAAA;AAAA,IAC5D,CACD;AAAA,EAAA;AAGSX,gBAAA,YAAY,gBAAgB,GAAG,MAAM;AAC/C,eAAW,SAAS,QAAQ;AAC1B,UAAI,MAAM,IAAI,WAAW,OAAO,GAAG;AACrBA,sBAAA,YAAY,eAAe,KAAK;AAAA,MAAA,OACvC;AACOA,sBAAA,YAAY,cAAc,KAAK;AAAA,MAC7C;AAAA,IACF;AAAA,EAAA,CACD;AAED,QAAMA,cAAY;AAEd,MAAA,IAAIA,cAAY,SAAS;AAEtB,SAAAA;AACT;;"}
@@ -8,6 +8,7 @@ class PageManager {
8
8
  __publicField(this, "extendsPages", []);
9
9
  __publicField(this, "msAppClient", null);
10
10
  __publicField(this, "msAppClientChangeEvent", new Event());
11
+ __publicField(this, "afterInitdEvent", new Event());
11
12
  __publicField(this, "msAppClientDisposable", null);
12
13
  }
13
14
  setMSAppCLient(msAppClient) {
@@ -57,6 +58,7 @@ class PageManager {
57
58
  },
58
59
  component: () => import("../page/signup/index.vue.js")
59
60
  });
61
+ this.afterInitdEvent.emit();
60
62
  this.msAppClientChangeEvent.on(({ msAppClient }) => {
61
63
  var _a, _b;
62
64
  if (!msAppClient) {
@@ -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 const index = this.normalPages.findIndex(\n (item) => item.name === normalPage.name\n );\n\n if (index > -1) {\n this.normalPages.splice(index, 1);\n }\n\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n const index = this.extendsPages.findIndex(\n (item) => item.name === extendsPage.name\n );\n\n if (index > -1) {\n this.extendsPages.splice(index, 1);\n }\n\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.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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"}
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 afterInitdEvent: Event = 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 const index = this.normalPages.findIndex(\n (item) => item.name === normalPage.name\n );\n\n if (index > -1) {\n this.normalPages.splice(index, 1);\n }\n\n this.normalPages.push(normalPage);\n }\n\n addExtendsPage(extendsPage: RouteRecordRaw) {\n const index = this.extendsPages.findIndex(\n (item) => item.name === extendsPage.name\n );\n\n if (index > -1) {\n this.extendsPages.splice(index, 1);\n }\n\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.afterInitdEvent.emit();\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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"}
@@ -53,13 +53,15 @@ const initApplication = async (options) => {
53
53
  };
54
54
  })
55
55
  );
56
- for (const route of routes) {
57
- if (route.key.startsWith("index")) {
58
- msAppClient.pageManager.addExtendsPage(route);
59
- } else {
60
- msAppClient.pageManager.addNormalPage(route);
56
+ msAppClient.pageManager.afterInitdEvent.on(() => {
57
+ for (const route of routes) {
58
+ if (route.key.startsWith("index")) {
59
+ msAppClient.pageManager.addExtendsPage(route);
60
+ } else {
61
+ msAppClient.pageManager.addNormalPage(route);
62
+ }
61
63
  }
62
- }
64
+ });
63
65
  await msAppClient.init();
64
66
  app.use(msAppClient.vueRouter);
65
67
  return msAppClient;
@@ -1 +1 @@
1
- {"version":3,"file":"init-application.js","sources":["../../src/init-application.ts"],"sourcesContent":["import { App, reactive } from \"vue\";\nimport {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { DataTableHeaderComponents, MSAppClient } from \"./core\";\nimport { HttpRequest, WebHttpRequest } from \"@maketribe/request\";\nimport { MSAPPCLIENT_CONTEXT_KEY } from \"./tokens\";\nimport msModule from \"./modules/ms\";\nimport cmsModule from \"./modules/cms\";\nimport { installer } from './installer'\n\nimport { generateRoutesFromFiles } from \"./utils\";\nimport { DataFilterComponents, DataFormComponents, DataTableComponents } from \"./core\";\n\nexport type InitMsApplicationOptions = {\n\troutes: any;\n\tvueRouter?: VueRouter;\n\tapp: App;\n\tappID: string;\n\tlogo?: string;\n\tprojectName?: string;\n\tlocale?: string;\n\thttpRequest?: HttpRequest;\n};\n\nexport const initApplication = async (options: InitMsApplicationOptions) => {\n\tconst app = options.app;\n\n app.use(installer);\n\n\tconst vueRouter =\n\t\toptions.vueRouter ??\n\t\tcreateRouter({\n\t\t\thistory: createWebHashHistory(),\n\t\t\troutes: [],\n\t\t});\n\n\tconst msAppClient = reactive(\n\t\tnew MSAppClient({\n\t\t\tapp,\n\t\t\tappID: options!.appID,\n\t\t\tlogo: options!.logo ?? \"\",\n projectName: options!.projectName ?? \"\",\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: location.origin,\n locale: options!.locale,\n vueRouter,\n dataTableComponents: new DataTableComponents(),\n dataTableHeaderComponents: new DataTableHeaderComponents(),\n dataFormComponents: new DataFormComponents(),\n dataFilterComponents: new DataFilterComponents(),\n whereFilterComponents: new DataFilterComponents(),\n })\n ) as unknown as MSAppClient;\n\n\tmsAppClient.addModule(msModule);\n\tmsAppClient.addModule(cmsModule);\n\n\tapp.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });\n\n\tMSAppClient.instance = msAppClient;\n\n\t(window as any).msAppClient = msAppClient;\n\n\tconst routes = generateRoutesFromFiles(\n\t\tObject.keys(options.routes).map((key) => {\n\t\t\treturn {\n\t\t\t\tpath: key.replace(/^\\.\\/pages\\/(.+)\\.vue$/, (_, g) => g),\n\t\t\t\tmodule: options.routes[key]?.default || options.routes[key],\n\t\t\t};\n\t\t})\n\t);\n\n\tfor (const route of routes) {\n\t\tif (route.key.startsWith(\"index\")) {\n\t\t\tmsAppClient.pageManager.addExtendsPage(route);\n\t\t} else {\n\t\t\tmsAppClient.pageManager.addNormalPage(route);\n\t\t}\n\t}\n\n\tawait msAppClient.init();\n\n\tapp.use(msAppClient.vueRouter);\n\n\treturn msAppClient;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA2Ba,MAAA,kBAAkB,OAAO,YAAsC;AAC3E,QAAM,MAAM,QAAQ;AAEnB,MAAI,IAAI,SAAS;AAEZ,QAAA,YACL,QAAQ,aACR,aAAa;AAAA,IACZ,SAAS,qBAAqB;AAAA,IAC9B,QAAQ,CAAC;AAAA,EAAA,CACT;AAEF,QAAM,cAAc;AAAA,IACnB,IAAI,YAAY;AAAA,MACf;AAAA,MACA,OAAO,QAAS;AAAA,MAChB,MAAM,QAAS,QAAQ;AAAA,MACpB,aAAa,QAAS,eAAe;AAAA,MACrC,aAAa,QAAQ,eAAe,IAAI,eAAe;AAAA,MACvD,QAAQ,SAAS;AAAA,MACjB,QAAQ,QAAS;AAAA,MACjB;AAAA,MACA,qBAAqB,IAAI,oBAAoB;AAAA,MAC7C,2BAA2B,IAAI,0BAA0B;AAAA,MACzD,oBAAoB,IAAI,mBAAmB;AAAA,MAC3C,sBAAsB,IAAI,qBAAqB;AAAA,MAC/C,uBAAuB,IAAI,qBAAqB;AAAA,IAAA,CACjD;AAAA,EAAA;AAGJ,cAAY,UAAU,QAAQ;AAC9B,cAAY,UAAU,SAAS;AAE/B,MAAI,QAAQ,yBAAyB,EAAE,YAAa,CAAA;AAEpD,cAAY,WAAW;AAEtB,SAAe,cAAc;AAE9B,QAAM,SAAS;AAAA,IACd,OAAO,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC,QAAQ;;AACjC,aAAA;AAAA,QACN,MAAM,IAAI,QAAQ,0BAA0B,CAAC,GAAG,MAAM,CAAC;AAAA,QACvD,UAAQ,aAAQ,OAAO,GAAG,MAAlB,mBAAqB,YAAW,QAAQ,OAAO,GAAG;AAAA,MAAA;AAAA,IAC3D,CACA;AAAA,EAAA;AAGF,aAAW,SAAS,QAAQ;AAC3B,QAAI,MAAM,IAAI,WAAW,OAAO,GAAG;AACtB,kBAAA,YAAY,eAAe,KAAK;AAAA,IAAA,OACtC;AACM,kBAAA,YAAY,cAAc,KAAK;AAAA,IAC5C;AAAA,EACD;AAEA,QAAM,YAAY;AAEd,MAAA,IAAI,YAAY,SAAS;AAEtB,SAAA;AACR;"}
1
+ {"version":3,"file":"init-application.js","sources":["../../src/init-application.ts"],"sourcesContent":["import { App, reactive } from \"vue\";\nimport {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { DataTableHeaderComponents, MSAppClient } from \"./core\";\nimport { HttpRequest, WebHttpRequest } from \"@maketribe/request\";\nimport { MSAPPCLIENT_CONTEXT_KEY } from \"./tokens\";\nimport msModule from \"./modules/ms\";\nimport cmsModule from \"./modules/cms\";\nimport { installer } from \"./installer\";\n\nimport { generateRoutesFromFiles } from \"./utils\";\nimport {\n DataFilterComponents,\n DataFormComponents,\n DataTableComponents,\n} from \"./core\";\n\nexport type InitMsApplicationOptions = {\n routes: any;\n vueRouter?: VueRouter;\n app: App;\n appID: string;\n logo?: string;\n projectName?: string;\n locale?: string;\n httpRequest?: HttpRequest;\n};\n\nexport const initApplication = async (options: InitMsApplicationOptions) => {\n const app = options.app;\n\n app.use(installer);\n\n const vueRouter =\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n });\n\n const msAppClient = reactive(\n new MSAppClient({\n app,\n appID: options!.appID,\n logo: options!.logo ?? \"\",\n projectName: options!.projectName ?? \"\",\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: location.origin,\n locale: options!.locale,\n vueRouter,\n dataTableComponents: new DataTableComponents(),\n dataTableHeaderComponents: new DataTableHeaderComponents(),\n dataFormComponents: new DataFormComponents(),\n dataFilterComponents: new DataFilterComponents(),\n whereFilterComponents: new DataFilterComponents(),\n })\n ) as unknown as MSAppClient;\n\n msAppClient.addModule(msModule);\n msAppClient.addModule(cmsModule);\n\n app.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });\n\n MSAppClient.instance = msAppClient;\n\n (window as any).msAppClient = msAppClient;\n\n const routes = generateRoutesFromFiles(\n Object.keys(options.routes).map((key) => {\n return {\n path: key.replace(/^\\.\\/pages\\/(.+)\\.vue$/, (_, g) => g),\n module: options.routes[key]?.default || options.routes[key],\n };\n })\n );\n\n msAppClient.pageManager.afterInitdEvent.on(() => {\n for (const route of routes) {\n if (route.key.startsWith(\"index\")) {\n msAppClient.pageManager.addExtendsPage(route);\n } else {\n msAppClient.pageManager.addNormalPage(route);\n }\n }\n });\n\n await msAppClient.init();\n\n app.use(msAppClient.vueRouter);\n\n return msAppClient;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA+Ba,MAAA,kBAAkB,OAAO,YAAsC;AAC1E,QAAM,MAAM,QAAQ;AAEpB,MAAI,IAAI,SAAS;AAEX,QAAA,YACJ,QAAQ,aACR,aAAa;AAAA,IACX,SAAS,qBAAqB;AAAA,IAC9B,QAAQ,CAAC;AAAA,EAAA,CACV;AAEH,QAAM,cAAc;AAAA,IAClB,IAAI,YAAY;AAAA,MACd;AAAA,MACA,OAAO,QAAS;AAAA,MAChB,MAAM,QAAS,QAAQ;AAAA,MACvB,aAAa,QAAS,eAAe;AAAA,MACrC,aAAa,QAAQ,eAAe,IAAI,eAAe;AAAA,MACvD,QAAQ,SAAS;AAAA,MACjB,QAAQ,QAAS;AAAA,MACjB;AAAA,MACA,qBAAqB,IAAI,oBAAoB;AAAA,MAC7C,2BAA2B,IAAI,0BAA0B;AAAA,MACzD,oBAAoB,IAAI,mBAAmB;AAAA,MAC3C,sBAAsB,IAAI,qBAAqB;AAAA,MAC/C,uBAAuB,IAAI,qBAAqB;AAAA,IAAA,CACjD;AAAA,EAAA;AAGH,cAAY,UAAU,QAAQ;AAC9B,cAAY,UAAU,SAAS;AAE/B,MAAI,QAAQ,yBAAyB,EAAE,YAAa,CAAA;AAEpD,cAAY,WAAW;AAEtB,SAAe,cAAc;AAE9B,QAAM,SAAS;AAAA,IACb,OAAO,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC,QAAQ;;AAChC,aAAA;AAAA,QACL,MAAM,IAAI,QAAQ,0BAA0B,CAAC,GAAG,MAAM,CAAC;AAAA,QACvD,UAAQ,aAAQ,OAAO,GAAG,MAAlB,mBAAqB,YAAW,QAAQ,OAAO,GAAG;AAAA,MAAA;AAAA,IAC5D,CACD;AAAA,EAAA;AAGS,cAAA,YAAY,gBAAgB,GAAG,MAAM;AAC/C,eAAW,SAAS,QAAQ;AAC1B,UAAI,MAAM,IAAI,WAAW,OAAO,GAAG;AACrB,oBAAA,YAAY,eAAe,KAAK;AAAA,MAAA,OACvC;AACO,oBAAA,YAAY,cAAc,KAAK;AAAA,MAC7C;AAAA,IACF;AAAA,EAAA,CACD;AAED,QAAM,YAAY;AAEd,MAAA,IAAI,YAAY,SAAS;AAEtB,SAAA;AACT;"}
@@ -8,6 +8,7 @@ export declare class PageManager {
8
8
  msAppClientChangeEvent: Event<{
9
9
  msAppClient: MSAppClient | null;
10
10
  }>;
11
+ afterInitdEvent: Event;
11
12
  msAppClientDisposable: Disposable | null;
12
13
  setMSAppCLient(msAppClient: MSAppClient | null): void;
13
14
  addNormalPage(normalPage: RouteRecordRaw): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.2.14",
3
+ "version": "3.2.15",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -53,8 +53,8 @@
53
53
  "yjs": "^13.6.14",
54
54
  "@maketribe/dm": "^3.2.5",
55
55
  "@maketribe/locale": "^3.2.0",
56
- "@maketribe/request": "^3.2.2",
57
- "@maketribe/utils": "^3.2.1"
56
+ "@maketribe/utils": "^3.2.1",
57
+ "@maketribe/request": "^3.2.2"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/sortablejs": "^1.15.8"