@maketribe/ms-app 3.2.13 → 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.
- package/dist/cjs/components/abstract/abstract-select/abstract-select.js +1 -1
- package/dist/cjs/components/abstract/abstract-select/abstract-select.js.map +1 -1
- package/dist/cjs/core/PageManager.js +2 -0
- package/dist/cjs/core/PageManager.js.map +1 -1
- package/dist/cjs/init-application.js +8 -6
- package/dist/cjs/init-application.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/abstract-select.js +1 -1
- package/dist/esm/components/abstract/abstract-select/abstract-select.js.map +1 -1
- package/dist/esm/core/PageManager.js +2 -0
- package/dist/esm/core/PageManager.js.map +1 -1
- package/dist/esm/init-application.js +8 -6
- package/dist/esm/init-application.js.map +1 -1
- package/dist/types/core/PageManager.d.ts +1 -0
- package/package.json +3 -3
|
@@ -100,7 +100,7 @@ const AbstractSelect = vue.defineComponent({
|
|
|
100
100
|
where.addCondition(
|
|
101
101
|
vue.unref(primaryKey),
|
|
102
102
|
"in",
|
|
103
|
-
`${notExistingRecords.
|
|
103
|
+
`${notExistingRecords.join(",")}`
|
|
104
104
|
);
|
|
105
105
|
const response = await dataTable.dataViewRequest.allList({
|
|
106
106
|
data: { condition: where }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-select.js","sources":["../../../../../src/components/abstract/abstract-select/abstract-select.ts"],"sourcesContent":["import {\n computed,\n ComputedRef,\n defineComponent,\n Ref,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport {\n abstractSelectEmits,\n abstractSelectProps,\n} from \"./abstract-select-options\";\nimport { isEqual } from \"lodash-es\";\nimport { Where } from \"@maketribe/request\";\n\nexport type DataOptionItem = {\n value: any;\n label: string;\n data: any;\n children?: DataOptionItem[];\n};\n\nexport default defineComponent({\n name: \"MKAbstractSelect\",\n props: abstractSelectProps,\n emits: abstractSelectEmits,\n inheritAttrs: false,\n setup(props, { emit }) {\n const modelValue = computed({\n get: () => unref(props.modelValue),\n set: (v) => {\n emit(\"update:model-value\", v);\n },\n });\n\n const selections = computed(() => {\n const _primaryKey = unref(primaryKey);\n const _modelValue = unref(modelValue);\n\n if (props.objectValue) {\n return props.multiple\n ? _modelValue?.map((item: any) => item[_primaryKey]) ?? []\n : _modelValue?.[_primaryKey] ?? \"\";\n }\n\n return _modelValue;\n });\n\n const innerSelections = ref(unref(modelValue));\n const selectRecords: Ref<any[]> = ref([]);\n\n const primaryKey = computed(\n () => props.primaryFieldName ?? props.dataTable?.primaryKey ?? \"value\"\n );\n\n const formatOptions = computed(() => {\n let _formatOptions;\n\n if (props.labelFieldName) {\n _formatOptions = (item: any) => {\n return {\n value: item[unref(primaryKey)],\n label: item[props.labelFieldName!],\n };\n };\n } else {\n _formatOptions = props.formatOptions;\n }\n\n const innerFormatOptions = (item: any) => {\n const options = _formatOptions(item) as DataOptionItem;\n\n options.data = item;\n\n if (Array.isArray(item.children)) {\n options.children = item.children.map(innerFormatOptions);\n }\n\n return options as DataOptionItem;\n };\n\n return innerFormatOptions;\n });\n\n const options: ComputedRef<DataOptionItem[]> = computed(() => {\n let options: DataOptionItem[] = [];\n\n const _formatOptions = unref(formatOptions);\n\n if (props.dataTable) {\n options = props.dataTable\n .getList()\n .map((item) => _formatOptions.call(null, item));\n } else if (Array.isArray(props.options)) {\n options = props.options.map((item) => _formatOptions.call(null, item));\n }\n\n const optionValues = options.map((options) => options.value);\n\n let additionOptions: any[] = [];\n\n if (props.additional) {\n additionOptions = unref(selectRecords)\n .map(_formatOptions)\n .filter(\n (additionOption) => !optionValues.includes(additionOption.value)\n );\n }\n\n return options.concat(additionOptions);\n });\n\n watch(\n modelValue,\n async (modelValue) => {\n let _values: any;\n if (props.objectValue) {\n _values = props.multiple\n ? modelValue?.map((item: any) => item[unref(primaryKey)]) ?? []\n : modelValue?.[unref(primaryKey)] ?? null;\n } else {\n _values = modelValue;\n }\n\n if (!isEqual(_values, unref(innerSelections))) {\n innerSelections.value = _values;\n }\n },\n { immediate: true }\n );\n\n const getSelectDataOptions = async () => {\n const _primaryKey = unref(primaryKey);\n\n const _selections = unref(innerSelections);\n\n const recordIds = Array.isArray(_selections)\n ? _selections\n : _selections\n ? [_selections]\n : [];\n\n if (props.dataTable) {\n const dataTable = props.dataTable;\n\n let existingRecords = unref(options)\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n\n if (existingRecords.length !== recordIds.length) {\n const notExistingRecords = recordIds.filter(\n (id) => !existingRecords.find((item) => item[_primaryKey] === id)\n );\n\n const where = new Where();\n where.addCondition(\n unref(primaryKey),\n \"in\",\n `${notExistingRecords.map((id) => JSON.stringify(id)).join(\",\")}`\n );\n\n const response = await dataTable.dataViewRequest.allList({\n data: { condition: where },\n });\n\n if (response.data.code === 200) {\n existingRecords = [...existingRecords, ...response.data.data];\n }\n }\n\n return recordIds\n .map((id) => existingRecords.find((item) => item[_primaryKey] === id))\n .filter(Boolean);\n } else if (Array.isArray(props.options)) {\n const _options = unref(options);\n\n return _options\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n }\n\n return [];\n };\n\n watch(\n innerSelections,\n async (selections) => {\n selectRecords.value = await getSelectDataOptions();\n if (modelValue.value !== selections) {\n if (props.objectValue) {\n modelValue.value = props.multiple\n ? [...selectRecords.value]\n : selectRecords.value[0] ?? null;\n } else {\n modelValue.value = selections;\n }\n }\n },\n { immediate: true }\n );\n\n const setSelections = (v: any) => {\n innerSelections.value = v;\n };\n\n return {\n options,\n selections,\n selectRecords,\n setSelections,\n formatOptions,\n };\n },\n render() {\n return this.$slots.default?.({\n options: this.options,\n selections: this.selections,\n selectRecords: this.selectRecords,\n setSelections: this.setSelections,\n formatOptions: this.formatOptions,\n });\n },\n});\n"],"names":["defineComponent","abstractSelectProps","abstractSelectEmits","computed","unref","ref","options","watch","modelValue","isEqual","Where","selections"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abstract-select.js","sources":["../../../../../src/components/abstract/abstract-select/abstract-select.ts"],"sourcesContent":["import {\n computed,\n ComputedRef,\n defineComponent,\n Ref,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport {\n abstractSelectEmits,\n abstractSelectProps,\n} from \"./abstract-select-options\";\nimport { isEqual } from \"lodash-es\";\nimport { Where } from \"@maketribe/request\";\n\nexport type DataOptionItem = {\n value: any;\n label: string;\n data: any;\n children?: DataOptionItem[];\n};\n\nexport default defineComponent({\n name: \"MKAbstractSelect\",\n props: abstractSelectProps,\n emits: abstractSelectEmits,\n inheritAttrs: false,\n setup(props, { emit }) {\n const modelValue = computed({\n get: () => unref(props.modelValue),\n set: (v) => {\n emit(\"update:model-value\", v);\n },\n });\n\n const selections = computed(() => {\n const _primaryKey = unref(primaryKey);\n const _modelValue = unref(modelValue);\n\n if (props.objectValue) {\n return props.multiple\n ? _modelValue?.map((item: any) => item[_primaryKey]) ?? []\n : _modelValue?.[_primaryKey] ?? \"\";\n }\n\n return _modelValue;\n });\n\n const innerSelections = ref(unref(modelValue));\n const selectRecords: Ref<any[]> = ref([]);\n\n const primaryKey = computed(\n () => props.primaryFieldName ?? props.dataTable?.primaryKey ?? \"value\"\n );\n\n const formatOptions = computed(() => {\n let _formatOptions;\n\n if (props.labelFieldName) {\n _formatOptions = (item: any) => {\n return {\n value: item[unref(primaryKey)],\n label: item[props.labelFieldName!],\n };\n };\n } else {\n _formatOptions = props.formatOptions;\n }\n\n const innerFormatOptions = (item: any) => {\n const options = _formatOptions(item) as DataOptionItem;\n\n options.data = item;\n\n if (Array.isArray(item.children)) {\n options.children = item.children.map(innerFormatOptions);\n }\n\n return options as DataOptionItem;\n };\n\n return innerFormatOptions;\n });\n\n const options: ComputedRef<DataOptionItem[]> = computed(() => {\n let options: DataOptionItem[] = [];\n\n const _formatOptions = unref(formatOptions);\n\n if (props.dataTable) {\n options = props.dataTable\n .getList()\n .map((item) => _formatOptions.call(null, item));\n } else if (Array.isArray(props.options)) {\n options = props.options.map((item) => _formatOptions.call(null, item));\n }\n\n const optionValues = options.map((options) => options.value);\n\n let additionOptions: any[] = [];\n\n if (props.additional) {\n additionOptions = unref(selectRecords)\n .map(_formatOptions)\n .filter(\n (additionOption) => !optionValues.includes(additionOption.value)\n );\n }\n\n return options.concat(additionOptions);\n });\n\n watch(\n modelValue,\n async (modelValue) => {\n let _values: any;\n if (props.objectValue) {\n _values = props.multiple\n ? modelValue?.map((item: any) => item[unref(primaryKey)]) ?? []\n : modelValue?.[unref(primaryKey)] ?? null;\n } else {\n _values = modelValue;\n }\n\n if (!isEqual(_values, unref(innerSelections))) {\n innerSelections.value = _values;\n }\n },\n { immediate: true }\n );\n\n const getSelectDataOptions = async () => {\n const _primaryKey = unref(primaryKey);\n\n const _selections = unref(innerSelections);\n\n const recordIds = Array.isArray(_selections)\n ? _selections\n : _selections\n ? [_selections]\n : [];\n\n if (props.dataTable) {\n const dataTable = props.dataTable;\n\n let existingRecords = unref(options)\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n\n if (existingRecords.length !== recordIds.length) {\n const notExistingRecords = recordIds.filter(\n (id) => !existingRecords.find((item) => item[_primaryKey] === id)\n );\n\n const where = new Where();\n where.addCondition(\n unref(primaryKey),\n \"in\",\n `${notExistingRecords.join(\",\")}`\n );\n // where.addCondition(\n // unref(primaryKey),\n // \"in\",\n // `${notExistingRecords.map((id) => JSON.stringify(id)).join(\",\")}`\n // );\n\n const response = await dataTable.dataViewRequest.allList({\n data: { condition: where },\n });\n\n if (response.data.code === 200) {\n existingRecords = [...existingRecords, ...response.data.data];\n }\n }\n\n return recordIds\n .map((id) => existingRecords.find((item) => item[_primaryKey] === id))\n .filter(Boolean);\n } else if (Array.isArray(props.options)) {\n const _options = unref(options);\n\n return _options\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n }\n\n return [];\n };\n\n watch(\n innerSelections,\n async (selections) => {\n selectRecords.value = await getSelectDataOptions();\n if (modelValue.value !== selections) {\n if (props.objectValue) {\n modelValue.value = props.multiple\n ? [...selectRecords.value]\n : selectRecords.value[0] ?? null;\n } else {\n modelValue.value = selections;\n }\n }\n },\n { immediate: true }\n );\n\n const setSelections = (v: any) => {\n innerSelections.value = v;\n };\n\n return {\n options,\n selections,\n selectRecords,\n setSelections,\n formatOptions,\n };\n },\n render() {\n return this.$slots.default?.({\n options: this.options,\n selections: this.selections,\n selectRecords: this.selectRecords,\n setSelections: this.setSelections,\n formatOptions: this.formatOptions,\n });\n },\n});\n"],"names":["defineComponent","abstractSelectProps","abstractSelectEmits","computed","unref","ref","options","watch","modelValue","isEqual","Where","selections"],"mappings":"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"}
|
|
@@ -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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
|
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;;"}
|
|
@@ -99,7 +99,7 @@ const AbstractSelect = defineComponent({
|
|
|
99
99
|
where.addCondition(
|
|
100
100
|
unref(primaryKey),
|
|
101
101
|
"in",
|
|
102
|
-
`${notExistingRecords.
|
|
102
|
+
`${notExistingRecords.join(",")}`
|
|
103
103
|
);
|
|
104
104
|
const response = await dataTable.dataViewRequest.allList({
|
|
105
105
|
data: { condition: where }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-select.js","sources":["../../../../../src/components/abstract/abstract-select/abstract-select.ts"],"sourcesContent":["import {\n computed,\n ComputedRef,\n defineComponent,\n Ref,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport {\n abstractSelectEmits,\n abstractSelectProps,\n} from \"./abstract-select-options\";\nimport { isEqual } from \"lodash-es\";\nimport { Where } from \"@maketribe/request\";\n\nexport type DataOptionItem = {\n value: any;\n label: string;\n data: any;\n children?: DataOptionItem[];\n};\n\nexport default defineComponent({\n name: \"MKAbstractSelect\",\n props: abstractSelectProps,\n emits: abstractSelectEmits,\n inheritAttrs: false,\n setup(props, { emit }) {\n const modelValue = computed({\n get: () => unref(props.modelValue),\n set: (v) => {\n emit(\"update:model-value\", v);\n },\n });\n\n const selections = computed(() => {\n const _primaryKey = unref(primaryKey);\n const _modelValue = unref(modelValue);\n\n if (props.objectValue) {\n return props.multiple\n ? _modelValue?.map((item: any) => item[_primaryKey]) ?? []\n : _modelValue?.[_primaryKey] ?? \"\";\n }\n\n return _modelValue;\n });\n\n const innerSelections = ref(unref(modelValue));\n const selectRecords: Ref<any[]> = ref([]);\n\n const primaryKey = computed(\n () => props.primaryFieldName ?? props.dataTable?.primaryKey ?? \"value\"\n );\n\n const formatOptions = computed(() => {\n let _formatOptions;\n\n if (props.labelFieldName) {\n _formatOptions = (item: any) => {\n return {\n value: item[unref(primaryKey)],\n label: item[props.labelFieldName!],\n };\n };\n } else {\n _formatOptions = props.formatOptions;\n }\n\n const innerFormatOptions = (item: any) => {\n const options = _formatOptions(item) as DataOptionItem;\n\n options.data = item;\n\n if (Array.isArray(item.children)) {\n options.children = item.children.map(innerFormatOptions);\n }\n\n return options as DataOptionItem;\n };\n\n return innerFormatOptions;\n });\n\n const options: ComputedRef<DataOptionItem[]> = computed(() => {\n let options: DataOptionItem[] = [];\n\n const _formatOptions = unref(formatOptions);\n\n if (props.dataTable) {\n options = props.dataTable\n .getList()\n .map((item) => _formatOptions.call(null, item));\n } else if (Array.isArray(props.options)) {\n options = props.options.map((item) => _formatOptions.call(null, item));\n }\n\n const optionValues = options.map((options) => options.value);\n\n let additionOptions: any[] = [];\n\n if (props.additional) {\n additionOptions = unref(selectRecords)\n .map(_formatOptions)\n .filter(\n (additionOption) => !optionValues.includes(additionOption.value)\n );\n }\n\n return options.concat(additionOptions);\n });\n\n watch(\n modelValue,\n async (modelValue) => {\n let _values: any;\n if (props.objectValue) {\n _values = props.multiple\n ? modelValue?.map((item: any) => item[unref(primaryKey)]) ?? []\n : modelValue?.[unref(primaryKey)] ?? null;\n } else {\n _values = modelValue;\n }\n\n if (!isEqual(_values, unref(innerSelections))) {\n innerSelections.value = _values;\n }\n },\n { immediate: true }\n );\n\n const getSelectDataOptions = async () => {\n const _primaryKey = unref(primaryKey);\n\n const _selections = unref(innerSelections);\n\n const recordIds = Array.isArray(_selections)\n ? _selections\n : _selections\n ? [_selections]\n : [];\n\n if (props.dataTable) {\n const dataTable = props.dataTable;\n\n let existingRecords = unref(options)\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n\n if (existingRecords.length !== recordIds.length) {\n const notExistingRecords = recordIds.filter(\n (id) => !existingRecords.find((item) => item[_primaryKey] === id)\n );\n\n const where = new Where();\n where.addCondition(\n unref(primaryKey),\n \"in\",\n `${notExistingRecords.map((id) => JSON.stringify(id)).join(\",\")}`\n );\n\n const response = await dataTable.dataViewRequest.allList({\n data: { condition: where },\n });\n\n if (response.data.code === 200) {\n existingRecords = [...existingRecords, ...response.data.data];\n }\n }\n\n return recordIds\n .map((id) => existingRecords.find((item) => item[_primaryKey] === id))\n .filter(Boolean);\n } else if (Array.isArray(props.options)) {\n const _options = unref(options);\n\n return _options\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n }\n\n return [];\n };\n\n watch(\n innerSelections,\n async (selections) => {\n selectRecords.value = await getSelectDataOptions();\n if (modelValue.value !== selections) {\n if (props.objectValue) {\n modelValue.value = props.multiple\n ? [...selectRecords.value]\n : selectRecords.value[0] ?? null;\n } else {\n modelValue.value = selections;\n }\n }\n },\n { immediate: true }\n );\n\n const setSelections = (v: any) => {\n innerSelections.value = v;\n };\n\n return {\n options,\n selections,\n selectRecords,\n setSelections,\n formatOptions,\n };\n },\n render() {\n return this.$slots.default?.({\n options: this.options,\n selections: this.selections,\n selectRecords: this.selectRecords,\n setSelections: this.setSelections,\n formatOptions: this.formatOptions,\n });\n },\n});\n"],"names":["options","modelValue","selections"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"abstract-select.js","sources":["../../../../../src/components/abstract/abstract-select/abstract-select.ts"],"sourcesContent":["import {\n computed,\n ComputedRef,\n defineComponent,\n Ref,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport {\n abstractSelectEmits,\n abstractSelectProps,\n} from \"./abstract-select-options\";\nimport { isEqual } from \"lodash-es\";\nimport { Where } from \"@maketribe/request\";\n\nexport type DataOptionItem = {\n value: any;\n label: string;\n data: any;\n children?: DataOptionItem[];\n};\n\nexport default defineComponent({\n name: \"MKAbstractSelect\",\n props: abstractSelectProps,\n emits: abstractSelectEmits,\n inheritAttrs: false,\n setup(props, { emit }) {\n const modelValue = computed({\n get: () => unref(props.modelValue),\n set: (v) => {\n emit(\"update:model-value\", v);\n },\n });\n\n const selections = computed(() => {\n const _primaryKey = unref(primaryKey);\n const _modelValue = unref(modelValue);\n\n if (props.objectValue) {\n return props.multiple\n ? _modelValue?.map((item: any) => item[_primaryKey]) ?? []\n : _modelValue?.[_primaryKey] ?? \"\";\n }\n\n return _modelValue;\n });\n\n const innerSelections = ref(unref(modelValue));\n const selectRecords: Ref<any[]> = ref([]);\n\n const primaryKey = computed(\n () => props.primaryFieldName ?? props.dataTable?.primaryKey ?? \"value\"\n );\n\n const formatOptions = computed(() => {\n let _formatOptions;\n\n if (props.labelFieldName) {\n _formatOptions = (item: any) => {\n return {\n value: item[unref(primaryKey)],\n label: item[props.labelFieldName!],\n };\n };\n } else {\n _formatOptions = props.formatOptions;\n }\n\n const innerFormatOptions = (item: any) => {\n const options = _formatOptions(item) as DataOptionItem;\n\n options.data = item;\n\n if (Array.isArray(item.children)) {\n options.children = item.children.map(innerFormatOptions);\n }\n\n return options as DataOptionItem;\n };\n\n return innerFormatOptions;\n });\n\n const options: ComputedRef<DataOptionItem[]> = computed(() => {\n let options: DataOptionItem[] = [];\n\n const _formatOptions = unref(formatOptions);\n\n if (props.dataTable) {\n options = props.dataTable\n .getList()\n .map((item) => _formatOptions.call(null, item));\n } else if (Array.isArray(props.options)) {\n options = props.options.map((item) => _formatOptions.call(null, item));\n }\n\n const optionValues = options.map((options) => options.value);\n\n let additionOptions: any[] = [];\n\n if (props.additional) {\n additionOptions = unref(selectRecords)\n .map(_formatOptions)\n .filter(\n (additionOption) => !optionValues.includes(additionOption.value)\n );\n }\n\n return options.concat(additionOptions);\n });\n\n watch(\n modelValue,\n async (modelValue) => {\n let _values: any;\n if (props.objectValue) {\n _values = props.multiple\n ? modelValue?.map((item: any) => item[unref(primaryKey)]) ?? []\n : modelValue?.[unref(primaryKey)] ?? null;\n } else {\n _values = modelValue;\n }\n\n if (!isEqual(_values, unref(innerSelections))) {\n innerSelections.value = _values;\n }\n },\n { immediate: true }\n );\n\n const getSelectDataOptions = async () => {\n const _primaryKey = unref(primaryKey);\n\n const _selections = unref(innerSelections);\n\n const recordIds = Array.isArray(_selections)\n ? _selections\n : _selections\n ? [_selections]\n : [];\n\n if (props.dataTable) {\n const dataTable = props.dataTable;\n\n let existingRecords = unref(options)\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n\n if (existingRecords.length !== recordIds.length) {\n const notExistingRecords = recordIds.filter(\n (id) => !existingRecords.find((item) => item[_primaryKey] === id)\n );\n\n const where = new Where();\n where.addCondition(\n unref(primaryKey),\n \"in\",\n `${notExistingRecords.join(\",\")}`\n );\n // where.addCondition(\n // unref(primaryKey),\n // \"in\",\n // `${notExistingRecords.map((id) => JSON.stringify(id)).join(\",\")}`\n // );\n\n const response = await dataTable.dataViewRequest.allList({\n data: { condition: where },\n });\n\n if (response.data.code === 200) {\n existingRecords = [...existingRecords, ...response.data.data];\n }\n }\n\n return recordIds\n .map((id) => existingRecords.find((item) => item[_primaryKey] === id))\n .filter(Boolean);\n } else if (Array.isArray(props.options)) {\n const _options = unref(options);\n\n return _options\n .filter((option) => recordIds.includes(option.value))\n .map((item) => item.data);\n }\n\n return [];\n };\n\n watch(\n innerSelections,\n async (selections) => {\n selectRecords.value = await getSelectDataOptions();\n if (modelValue.value !== selections) {\n if (props.objectValue) {\n modelValue.value = props.multiple\n ? [...selectRecords.value]\n : selectRecords.value[0] ?? null;\n } else {\n modelValue.value = selections;\n }\n }\n },\n { immediate: true }\n );\n\n const setSelections = (v: any) => {\n innerSelections.value = v;\n };\n\n return {\n options,\n selections,\n selectRecords,\n setSelections,\n formatOptions,\n };\n },\n render() {\n return this.$slots.default?.({\n options: this.options,\n selections: this.selections,\n selectRecords: this.selectRecords,\n setSelections: this.setSelections,\n formatOptions: this.formatOptions,\n });\n },\n});\n"],"names":["options","modelValue","selections"],"mappings":"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"}
|
|
@@ -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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
|
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.
|
|
3
|
+
"version": "3.2.15",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"vue-router": "^4.2.4",
|
|
53
53
|
"yjs": "^13.6.14",
|
|
54
54
|
"@maketribe/dm": "^3.2.5",
|
|
55
|
-
"@maketribe/
|
|
55
|
+
"@maketribe/locale": "^3.2.0",
|
|
56
56
|
"@maketribe/utils": "^3.2.1",
|
|
57
|
-
"@maketribe/
|
|
57
|
+
"@maketribe/request": "^3.2.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/sortablejs": "^1.15.8"
|