@alauda-fe/plugin-sdk 0.0.1 → 0.0.2
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/esm2022/index.mjs +2 -3
- package/esm2022/lib/app-extensions.mjs +49 -4
- package/esm2022/lib/components/remote-component-outlet/component.mjs +5 -5
- package/esm2022/lib/extension-points/account-menu.mjs +48 -0
- package/esm2022/lib/extension-points/header-actions.mjs +48 -0
- package/esm2022/lib/extension-points/help-menu.mjs +48 -0
- package/esm2022/lib/extension-points/index.mjs +6 -0
- package/esm2022/lib/extension-points/navigation.mjs +104 -0
- package/esm2022/lib/extension-points/route.mjs +18 -0
- package/esm2022/lib/extensions-loader.mjs +10 -5
- package/esm2022/lib/utils.mjs +27 -4
- package/esm2022/remote/alauda-fe-plugin-sdk-remote.mjs +5 -0
- package/esm2022/remote/index.mjs +3 -0
- package/esm2022/remote/lib/runtime.mjs +22 -0
- package/esm2022/remote/lib/translate.mjs +102 -0
- package/index.d.ts +1 -2
- package/lib/app-extensions.d.ts +4 -2
- package/lib/components/remote-component-outlet/component.d.ts +1 -1
- package/lib/extension-points/account-menu.d.ts +16 -0
- package/lib/extension-points/header-actions.d.ts +17 -0
- package/lib/extension-points/help-menu.d.ts +17 -0
- package/lib/extension-points/index.d.ts +5 -0
- package/lib/{navigation.d.ts → extension-points/navigation.d.ts} +1 -1
- package/lib/{route.d.ts → extension-points/route.d.ts} +2 -1
- package/lib/extensions-loader.d.ts +4 -3
- package/lib/utils.d.ts +7 -0
- package/package.json +7 -1
- package/remote/index.d.ts +2 -0
- package/remote/lib/runtime.d.ts +9 -0
- package/remote/lib/translate.d.ts +29 -0
- package/esm2022/lib/navigation.mjs +0 -103
- package/esm2022/lib/route.mjs +0 -18
package/esm2022/index.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './lib/app-extensions';
|
|
2
2
|
export * from './lib/components';
|
|
3
|
+
export * from './lib/extension-points';
|
|
3
4
|
export * from './lib/extensions-loader';
|
|
4
|
-
export * from './lib/navigation';
|
|
5
|
-
export * from './lib/route';
|
|
6
5
|
export * from './lib/utils';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHAtZXh0ZW5zaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4dGVuc2lvbi1wb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXh0ZW5zaW9ucy1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuIl19
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { getUserLanguage, isBuiltInLanguage, } from '@alauda-fe/common';
|
|
1
2
|
import { loadExtensions } from './extensions-loader';
|
|
3
|
+
import { isLocalEnv } from './utils';
|
|
2
4
|
let extensions;
|
|
5
|
+
let extensionTranslations;
|
|
3
6
|
export function getAppExtensions(type, cluster) {
|
|
7
|
+
const types = Array.isArray(type) ? type : [type];
|
|
4
8
|
if (!extensions) {
|
|
5
9
|
throw new Error('Extensions not loaded');
|
|
6
10
|
}
|
|
@@ -8,11 +12,52 @@ export function getAppExtensions(type, cluster) {
|
|
|
8
12
|
if (ext.cluster && cluster && ext.cluster !== cluster) {
|
|
9
13
|
return false;
|
|
10
14
|
}
|
|
11
|
-
return ext.type
|
|
15
|
+
return types.includes(ext.type);
|
|
12
16
|
});
|
|
13
17
|
}
|
|
14
|
-
export
|
|
15
|
-
|
|
18
|
+
export function getAppExtensionTranslations() {
|
|
19
|
+
return extensionTranslations;
|
|
20
|
+
}
|
|
21
|
+
export async function setupAppExtensions(host) {
|
|
22
|
+
extensions = (await loadExtensions()).filter(ext => ext.type.startsWith('console-*/') || ext.type.startsWith(host + '/'));
|
|
23
|
+
extensionTranslations = await loadTranslations();
|
|
16
24
|
return extensions;
|
|
17
25
|
}
|
|
18
|
-
|
|
26
|
+
async function loadTranslations() {
|
|
27
|
+
const entrypoints = extensions.reduce((acc, curr) => {
|
|
28
|
+
acc[curr.entrypoint] = {
|
|
29
|
+
scope: isLocalEnv()
|
|
30
|
+
? 'plugin__global~local-dev~service'
|
|
31
|
+
: `plugin__${curr.cluster}~${curr.pluginName}~${curr.appName}`,
|
|
32
|
+
fileName: `plugin__${curr.pluginName}~${curr.appName}`,
|
|
33
|
+
};
|
|
34
|
+
return acc;
|
|
35
|
+
}, {});
|
|
36
|
+
const lang = getUserLanguage();
|
|
37
|
+
if (isBuiltInLanguage(lang)) {
|
|
38
|
+
return await Promise.all(Object.entries(entrypoints).map(([entrypoint, { scope }]) => {
|
|
39
|
+
const path = `${entrypoint}/assets/i18n/${lang}.json`;
|
|
40
|
+
return fetchI18nFile(path).then(translations => ({
|
|
41
|
+
[lang]: { [scope]: translations },
|
|
42
|
+
}));
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
return await Promise.all(Object.entries(entrypoints).map(([entrypoint, { fileName, scope }]) => Promise.all([
|
|
46
|
+
fetchI18nFile(`${entrypoint}/assets/i18n/en.json`),
|
|
47
|
+
fetchI18nFile(`/console-i18n/${lang}/${fileName}.json`),
|
|
48
|
+
]).then(([en, other]) => ({
|
|
49
|
+
[lang]: {
|
|
50
|
+
[scope]: Object.assign(en, other),
|
|
51
|
+
},
|
|
52
|
+
}))));
|
|
53
|
+
}
|
|
54
|
+
function fetchI18nFile(path) {
|
|
55
|
+
return fetch(path)
|
|
56
|
+
.then(res => res.json())
|
|
57
|
+
.catch(err => {
|
|
58
|
+
console.error(`Failed to load plugin i18n file, ${path}`);
|
|
59
|
+
console.error(err);
|
|
60
|
+
return {};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9hcHAtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGlCQUFpQixHQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLElBQUksVUFBdUIsQ0FBQztBQUU1QixJQUFJLHFCQUFxQyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBdUIsRUFDdkIsT0FBZ0I7SUFFaEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUM3QixJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQXdCLENBQUM7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTyxxQkFBcUIsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0Is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LENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGdldFVzZXJMYW5ndWFnZSxcbiAgaXNCdWlsdEluTGFuZ3VhZ2UsXG4gIFRyYW5zbGF0aW9ucyxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5pbXBvcnQgeyBFeHRlbnNpb24sIGxvYWRFeHRlbnNpb25zIH0gZnJvbSAnLi9leHRlbnNpb25zLWxvYWRlcic7XG5pbXBvcnQgeyBpc0xvY2FsRW52IH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBleHRlbnNpb25zOiBFeHRlbnNpb25bXTtcblxubGV0IGV4dGVuc2lvblRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zW107XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBFeHRlbnNpb25zPFQgPSBhbnk+KFxuICB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgY2x1c3Rlcj86IHN0cmluZyxcbikge1xuICBjb25zdCB0eXBlcyA9IEFycmF5LmlzQXJyYXkodHlwZSkgPyB0eXBlIDogW3R5cGVdO1xuICBpZiAoIWV4dGVuc2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4dGVuc2lvbnMgbm90IGxvYWRlZCcpO1xuICB9XG4gIHJldHVybiBleHRlbnNpb25zLmZpbHRlcihleHQgPT4ge1xuICAgIGlmIChleHQuY2x1c3RlciAmJiBjbHVzdGVyICYmIGV4dC5jbHVzdGVyICE9PSBjbHVzdGVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzLmluY2x1ZGVzKGV4dC50eXBlKTtcbiAgfSkgYXMgQXJyYXk8RXh0ZW5zaW9uPFQ+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcEV4dGVuc2lvblRyYW5zbGF0aW9ucygpIHtcbiAgcmV0dXJuIGV4dGVuc2lvblRyYW5zbGF0aW9ucztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldHVwQXBwRXh0ZW5zaW9ucyhob3N0OiBzdHJpbmcpIHtcbiAgZXh0ZW5zaW9ucyA9IChhd2FpdCBsb2FkRXh0ZW5zaW9ucygpKS5maWx0ZXIoXG4gICAgZXh0ID0+IGV4dC50eXBlLnN0YXJ0c1dpdGgoJ2NvbnNvbGUtKi8nKSB8fCBleHQudHlwZS5zdGFydHNXaXRoKGhvc3QgKyAnLycpLFxuICApO1xuXG4gIGV4dGVuc2lvblRyYW5zbGF0aW9ucyA9IGF3YWl0IGxvYWRUcmFuc2xhdGlvbnMoKTtcblxuICByZXR1cm4gZXh0ZW5zaW9ucztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZFRyYW5zbGF0aW9ucygpOiBQcm9taXNlPFxuICBBcnJheTx7IFtsYW5nOiBzdHJpbmddOiBUcmFuc2xhdGlvbnMgfT5cbj4ge1xuICBjb25zdCBlbnRyeXBvaW50cyA9IGV4dGVuc2lvbnMucmVkdWNlKFxuICAgIChhY2MsIGN1cnIpID0+IHtcbiAgICAgIGFjY1tjdXJyLmVudHJ5cG9pbnRdID0ge1xuICAgICAgICBzY29wZTogaXNMb2NhbEVudigpXG4gICAgICAgICAgPyAncGx1Z2luX19nbG9iYWx+bG9jYWwtZGV2fnNlcnZpY2UnXG4gICAgICAgICAgOiBgcGx1Z2luX18ke2N1cnIuY2x1c3Rlcn1+JHtjdXJyLnBsdWdpbk5hbWV9fiR7Y3Vyci5hcHBOYW1lfWAsXG4gICAgICAgIGZpbGVOYW1lOiBgcGx1Z2luX18ke2N1cnIucGx1Z2luTmFtZX1+JHtjdXJyLmFwcE5hbWV9YCxcbiAgICAgIH07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgeyBmaWxlTmFtZTogc3RyaW5nOyBzY29wZTogc3RyaW5nIH0+LFxuICApO1xuXG4gIGNvbnN0IGxhbmcgPSBnZXRVc2VyTGFuZ3VhZ2UoKTtcblxuICBpZiAoaXNCdWlsdEluTGFuZ3VhZ2UobGFuZykpIHtcbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBPYmplY3QuZW50cmllcyhlbnRyeXBvaW50cykubWFwKChbZW50cnlwb2ludCwgeyBzY29wZSB9XSkgPT4ge1xuICAgICAgICBjb25zdCBwYXRoID0gYCR7ZW50cnlwb2ludH0vYXNzZXRzL2kxOG4vJHtsYW5nfS5qc29uYDtcbiAgICAgICAgcmV0dXJuIGZldGNoSTE4bkZpbGUocGF0aCkudGhlbih0cmFuc2xhdGlvbnMgPT4gKHtcbiAgICAgICAgICBbbGFuZ106IHsgW3Njb3BlXTogdHJhbnNsYXRpb25zIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIE9iamVjdC5lbnRyaWVzKGVudHJ5cG9pbnRzKS5tYXAoKFtlbnRyeXBvaW50LCB7IGZpbGVOYW1lLCBzY29wZSB9XSkgPT5cbiAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgZmV0Y2hJMThuRmlsZShgJHtlbnRyeXBvaW50fS9hc3NldHMvaTE4bi9lbi5qc29uYCksXG4gICAgICAgIGZldGNoSTE4bkZpbGUoYC9jb25zb2xlLWkxOG4vJHtsYW5nfS8ke2ZpbGVOYW1lfS5qc29uYCksXG4gICAgICBdKS50aGVuKChbZW4sIG90aGVyXSkgPT4gKHtcbiAgICAgICAgW2xhbmddOiB7XG4gICAgICAgICAgW3Njb3BlXTogT2JqZWN0LmFzc2lnbihlbiwgb3RoZXIpLFxuICAgICAgICB9LFxuICAgICAgfSkpLFxuICAgICksXG4gICk7XG59XG5cbmZ1bmN0aW9uIGZldGNoSTE4bkZpbGUocGF0aDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2xhdGlvbnM+IHtcbiAgcmV0dXJuIGZldGNoKHBhdGgpXG4gICAgLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpXG4gICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBwbHVnaW4gaTE4biBmaWxlLCAke3BhdGh9YCk7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICByZXR1cm4ge307XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -20,19 +20,19 @@ export class RemoteComponentOutletComponent {
|
|
|
20
20
|
this.remoteComponents = signal({});
|
|
21
21
|
this.name = input.required();
|
|
22
22
|
this.entrypoint = input.required();
|
|
23
|
-
this.expose = input(
|
|
23
|
+
this.expose = input();
|
|
24
24
|
this.inputs = input();
|
|
25
25
|
this.injector = input();
|
|
26
26
|
this.content = input();
|
|
27
27
|
this.component = computed(() => this.remoteComponents()[this.name()]);
|
|
28
28
|
effect(async () => {
|
|
29
29
|
if (this.entrypoint()) {
|
|
30
|
-
this.remoteComponents.set((await loadRemote(this.entrypoint(), this.expose())).default);
|
|
30
|
+
this.remoteComponents.set((await loadRemote(this.entrypoint(), this.expose() ?? './Components')).default);
|
|
31
31
|
}
|
|
32
32
|
}, { allowSignalWrites: true });
|
|
33
33
|
}
|
|
34
34
|
static { this.ɵfac = function RemoteComponentOutletComponent_Factory(t) { return new (t || RemoteComponentOutletComponent)(); }; }
|
|
35
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteComponentOutletComponent, selectors: [["
|
|
35
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteComponentOutletComponent, selectors: [["plg-remote-component-outlet"]], inputs: { name: [1, "name"], entrypoint: [1, "entrypoint"], expose: [1, "expose"], inputs: [1, "inputs"], injector: [1, "injector"], content: [1, "content"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 2, vars: 1, consts: [[4, "ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent"]], template: function RemoteComponentOutletComponent_Template(rf, ctx) { if (rf & 1) {
|
|
36
36
|
i0.ɵɵprojectionDef();
|
|
37
37
|
i0.ɵɵtemplate(0, RemoteComponentOutletComponent_Conditional_0_Template, 1, 4, "ng-container")(1, RemoteComponentOutletComponent_Conditional_1_Template, 1, 0);
|
|
38
38
|
} if (rf & 2) {
|
|
@@ -41,7 +41,7 @@ export class RemoteComponentOutletComponent {
|
|
|
41
41
|
}
|
|
42
42
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteComponentOutletComponent, [{
|
|
43
43
|
type: Component,
|
|
44
|
-
args: [{ selector: '
|
|
44
|
+
args: [{ selector: 'plg-remote-component-outlet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgComponentOutlet], template: "@if (component()) {\n <ng-container\n *ngComponentOutlet=\"\n component();\n inputs: inputs();\n injector: injector();\n content: content()\n \"\n ></ng-container>\n} @else {\n <ng-content></ng-content>\n}\n" }]
|
|
45
45
|
}], () => [], null); })();
|
|
46
46
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteComponentOutletComponent, { className: "RemoteComponentOutletComponent", filePath: "lib/components/remote-component-outlet/component.ts", lineNumber: 21 }); })();
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdGUtY29tcG9uZW50LW91dGxldC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9jb21wb25lbnRzL3JlbW90ZS1jb21wb25lbnQtb3V0bGV0L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7SUNWdkMsd0JBT2dCOzs7SUFQaEIsK0dBT0M7OztJQUZVLEFBREEsQUFEQSxBQUZSLHNEQUVRLDRDQUNBLGdEQUNBLDhDQUViOzs7SUFFRSxrQkFBeUI7O0FEVTNCLE1BQU0sT0FBTyw4QkFBOEI7SUFpQnpDO1FBaEJRLHFCQUFnQixHQUFHLE1BQU0sQ0FBa0MsRUFBRSxDQUFDLENBQUM7UUFFdkUsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVoQyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRXRDLFdBQU0sR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUV6QixXQUFNLEdBQUcsS0FBSyxFQUFnRCxDQUFDO1FBRS9ELGFBQVEsR0FBRyxLQUFLLEVBQWtELENBQUM7UUFFbkUsWUFBTyxHQUFHLEtBQUssRUFBaUQsQ0FBQztRQUVqRSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHL0QsTUFBTSxDQUNKLEtBQUssSUFBSSxFQUFFO1lBQ1QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FDdkIsQ0FDRSxNQUFNLFVBQVUsQ0FDZCxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxjQUFjLENBQ2hDLENBQ0YsQ0FBQyxPQUFPLENBQ1YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7K0ZBakNVLDhCQUE4QjtvRUFBOUIsOEJBQThCOztZQ1h6QyxBQVRGLDZGQUFtQixnRUFTVjs7WUFUVCx5Q0FXQzs0QkRPVyxpQkFBaUI7O2lGQUVoQiw4QkFBOEI7Y0FQMUMsU0FBUzsyQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLENBQUM7O2tGQUVqQiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgbG9hZFJlbW90ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGxnLXJlbW90ZS1jb21wb25lbnQtb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NvbXBvbmVudE91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNvbXBvbmVudE91dGxldENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVtb3RlQ29tcG9uZW50cyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBUeXBlPENvbXBvbmVudD4+Pih7fSk7XG5cbiAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICBlbnRyeXBvaW50ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIGV4cG9zZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBpbnB1dHMgPSBpbnB1dDxOZ0NvbXBvbmVudE91dGxldFsnbmdDb21wb25lbnRPdXRsZXRJbnB1dHMnXT4oKTtcblxuICBpbmplY3RvciA9IGlucHV0PE5nQ29tcG9uZW50T3V0bGV0WyduZ0NvbXBvbmVudE91dGxldEluamVjdG9yJ10+KCk7XG5cbiAgY29udGVudCA9IGlucHV0PE5nQ29tcG9uZW50T3V0bGV0WyduZ0NvbXBvbmVudE91dGxldENvbnRlbnQnXT4oKTtcblxuICBjb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlbW90ZUNvbXBvbmVudHMoKVt0aGlzLm5hbWUoKV0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZW50cnlwb2ludCgpKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdGVDb21wb25lbnRzLnNldChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgYXdhaXQgbG9hZFJlbW90ZShcbiAgICAgICAgICAgICAgICB0aGlzLmVudHJ5cG9pbnQoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmV4cG9zZSgpID8/ICcuL0NvbXBvbmVudHMnLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLmRlZmF1bHQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICB9XG59XG4iLCJAaWYgKGNvbXBvbmVudCgpKSB7XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgIGNvbXBvbmVudCgpO1xuICAgICAgaW5wdXRzOiBpbnB1dHMoKTtcbiAgICAgIGluamVjdG9yOiBpbmplY3RvcigpO1xuICAgICAgY29udGVudDogY29udGVudCgpXG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxufSBAZWxzZSB7XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, } from '@angular/core';
|
|
2
|
+
import { getAppExtensions } from '../app-extensions';
|
|
3
|
+
import { RemoteComponentOutletComponent } from '../components';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
function RemoteAccountMenuItemsComponent_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
i0.ɵɵelement(0, "plg-remote-component-outlet", 0);
|
|
7
|
+
} if (rf & 2) {
|
|
8
|
+
const item_r1 = ctx.$implicit;
|
|
9
|
+
i0.ɵɵproperty("entrypoint", item_r1.entrypoint)("expose", item_r1.options.expose)("name", item_r1.options.component);
|
|
10
|
+
} }
|
|
11
|
+
export function getAccountMenuItems(scope) {
|
|
12
|
+
return getAppExtensions(['console-*']
|
|
13
|
+
.concat(scope || [])
|
|
14
|
+
.map(scope => `${scope}/page/header/account-menu/item`)).sort((a, b) => -(a.options.index - b.options.index));
|
|
15
|
+
}
|
|
16
|
+
export class RemoteAccountMenuItemsComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.scope = input();
|
|
19
|
+
this.accountMenuItems = [];
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.accountMenuItems = getAccountMenuItems(this.scope());
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = function RemoteAccountMenuItemsComponent_Factory(t) { return new (t || RemoteAccountMenuItemsComponent)(); }; }
|
|
25
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteAccountMenuItemsComponent, selectors: [["plg-remote-account-menu-items"]], inputs: { scope: [1, "scope"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [[3, "entrypoint", "expose", "name"]], template: function RemoteAccountMenuItemsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
i0.ɵɵrepeaterCreate(0, RemoteAccountMenuItemsComponent_For_1_Template, 1, 3, "plg-remote-component-outlet", 0, i0.ɵɵrepeaterTrackByIndex);
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵrepeater(ctx.accountMenuItems);
|
|
29
|
+
} }, dependencies: [RemoteComponentOutletComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
30
|
+
}
|
|
31
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteAccountMenuItemsComponent, [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'plg-remote-account-menu-items',
|
|
35
|
+
template: `@for (item of accountMenuItems; track $index) {
|
|
36
|
+
<plg-remote-component-outlet
|
|
37
|
+
[entrypoint]="item.entrypoint"
|
|
38
|
+
[expose]="item.options.expose"
|
|
39
|
+
[name]="item.options.component"
|
|
40
|
+
></plg-remote-component-outlet>
|
|
41
|
+
}`,
|
|
42
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
43
|
+
standalone: true,
|
|
44
|
+
imports: [RemoteComponentOutletComponent],
|
|
45
|
+
}]
|
|
46
|
+
}], null, null); })();
|
|
47
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteAccountMenuItemsComponent, { className: "RemoteAccountMenuItemsComponent", filePath: "lib/extension-points/account-menu.ts", lineNumber: 39 }); })();
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvZXh0ZW5zaW9uLXBvaW50cy9hY2NvdW50LW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0lBb0IzRCxpREFJK0I7OztJQUQ3QixBQURBLEFBREEsK0NBQThCLGtDQUNBLG1DQUNDOztBQWRyQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyxPQUFPLGdCQUFnQixDQUNyQixDQUFDLFdBQVcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxnQ0FBZ0MsQ0FBQyxDQUMxRCxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQWVELE1BQU0sT0FBTywrQkFBK0I7SUFiNUM7UUFjRSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFeEIscUJBQWdCLEdBQWtELEVBQUUsQ0FBQztLQUt0RTtJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztnR0FQVSwrQkFBK0I7b0VBQS9CLCtCQUErQjtZQVgvQix5SUFNVjs7WUFOVSxtQ0FNVjs0QkFHUyw4QkFBOEI7O2lGQUU3QiwrQkFBK0I7Y0FiM0MsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLFFBQVEsRUFBRTs7Ozs7O0lBTVI7Z0JBQ0YsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUMxQzs7a0ZBQ1ksK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEV4dGVuc2lvbiB9IGZyb20gJy4uL2V4dGVuc2lvbnMtbG9hZGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TWVudUl0ZW1QbHVnaW5PcHRpb24ge1xuICBpbmRleD86IG51bWJlcjtcbiAgZXhwb3NlPzogc3RyaW5nO1xuICBjb21wb25lbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjY291bnRNZW51SXRlbXMoc2NvcGU6IHN0cmluZykge1xuICByZXR1cm4gZ2V0QXBwRXh0ZW5zaW9uczxBY2NvdW50TWVudUl0ZW1QbHVnaW5PcHRpb24+KFxuICAgIFsnY29uc29sZS0qJ11cbiAgICAgIC5jb25jYXQoc2NvcGUgfHwgW10pXG4gICAgICAubWFwKHNjb3BlID0+IGAke3Njb3BlfS9wYWdlL2hlYWRlci9hY2NvdW50LW1lbnUvaXRlbWApLFxuICApLnNvcnQoKGEsIGIpID0+IC0oYS5vcHRpb25zLmluZGV4IC0gYi5vcHRpb25zLmluZGV4KSk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BsZy1yZW1vdGUtYWNjb3VudC1tZW51LWl0ZW1zJyxcbiAgdGVtcGxhdGU6IGBAZm9yIChpdGVtIG9mIGFjY291bnRNZW51SXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgIDxwbGctcmVtb3RlLWNvbXBvbmVudC1vdXRsZXRcbiAgICAgIFtlbnRyeXBvaW50XT1cIml0ZW0uZW50cnlwb2ludFwiXG4gICAgICBbZXhwb3NlXT1cIml0ZW0ub3B0aW9ucy5leHBvc2VcIlxuICAgICAgW25hbWVdPVwiaXRlbS5vcHRpb25zLmNvbXBvbmVudFwiXG4gICAgPjwvcGxnLXJlbW90ZS1jb21wb25lbnQtb3V0bGV0PlxuICB9YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZW1vdGVDb21wb25lbnRPdXRsZXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBSZW1vdGVBY2NvdW50TWVudUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2NvcGUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgYWNjb3VudE1lbnVJdGVtczogQXJyYXk8RXh0ZW5zaW9uPEFjY291bnRNZW51SXRlbVBsdWdpbk9wdGlvbj4+ID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY2NvdW50TWVudUl0ZW1zID0gZ2V0QWNjb3VudE1lbnVJdGVtcyh0aGlzLnNjb3BlKCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, } from '@angular/core';
|
|
2
|
+
import { getAppExtensions } from '../app-extensions';
|
|
3
|
+
import { RemoteComponentOutletComponent } from '../components';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
function RemoteHeaderActionsComponent_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
i0.ɵɵelement(0, "plg-remote-component-outlet", 0);
|
|
7
|
+
} if (rf & 2) {
|
|
8
|
+
const item_r1 = ctx.$implicit;
|
|
9
|
+
i0.ɵɵproperty("entrypoint", item_r1.entrypoint)("expose", item_r1.options.expose)("name", item_r1.options.component);
|
|
10
|
+
} }
|
|
11
|
+
export function getHeaderActions(scope) {
|
|
12
|
+
return getAppExtensions(['console-*']
|
|
13
|
+
.concat(scope || [])
|
|
14
|
+
.map(scope => `${scope}/page/header/action`)).sort((a, b) => -(a.options.index - b.options.index));
|
|
15
|
+
}
|
|
16
|
+
export class RemoteHeaderActionsComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.scope = input();
|
|
19
|
+
this.headerActions = [];
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.headerActions = getHeaderActions(this.scope());
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = function RemoteHeaderActionsComponent_Factory(t) { return new (t || RemoteHeaderActionsComponent)(); }; }
|
|
25
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteHeaderActionsComponent, selectors: [["plg-remote-header-actions"]], inputs: { scope: [1, "scope"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [[3, "entrypoint", "expose", "name"]], template: function RemoteHeaderActionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
i0.ɵɵrepeaterCreate(0, RemoteHeaderActionsComponent_For_1_Template, 1, 3, "plg-remote-component-outlet", 0, i0.ɵɵrepeaterTrackByIndex);
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵrepeater(ctx.headerActions);
|
|
29
|
+
} }, dependencies: [RemoteComponentOutletComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
30
|
+
}
|
|
31
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteHeaderActionsComponent, [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'plg-remote-header-actions',
|
|
35
|
+
template: `@for (item of headerActions; track $index) {
|
|
36
|
+
<plg-remote-component-outlet
|
|
37
|
+
[entrypoint]="item.entrypoint"
|
|
38
|
+
[expose]="item.options.expose"
|
|
39
|
+
[name]="item.options.component"
|
|
40
|
+
></plg-remote-component-outlet>
|
|
41
|
+
}`,
|
|
42
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
43
|
+
standalone: true,
|
|
44
|
+
imports: [RemoteComponentOutletComponent],
|
|
45
|
+
}]
|
|
46
|
+
}], null, null); })();
|
|
47
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteHeaderActionsComponent, { className: "RemoteHeaderActionsComponent", filePath: "lib/extension-points/header-actions.ts", lineNumber: 39 }); })();
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb24tcG9pbnRzL2hlYWRlci1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztJQW9CM0QsaURBSStCOzs7SUFEN0IsQUFEQSxBQURBLCtDQUE4QixrQ0FDQSxtQ0FDQzs7QUFkckMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWE7SUFDNUMsT0FBTyxnQkFBZ0IsQ0FDckIsQ0FBQyxXQUFXLENBQUM7U0FDVixNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztTQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUsscUJBQXFCLENBQUMsQ0FDL0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFlRCxNQUFNLE9BQU8sNEJBQTRCO0lBYnpDO1FBY0UsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXhCLGtCQUFhLEdBQWdELEVBQUUsQ0FBQztLQUtqRTtJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7NkZBUFUsNEJBQTRCO29FQUE1Qiw0QkFBNEI7WUFYNUIsc0lBTVY7O1lBTlUsZ0NBTVY7NEJBR1MsOEJBQThCOztpRkFFN0IsNEJBQTRCO2NBYnhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7OztJQU1SO2dCQUNGLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUM7YUFDMUM7O2tGQUNZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRBcHBFeHRlbnNpb25zIH0gZnJvbSAnLi4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgUmVtb3RlQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tICcuLi9leHRlbnNpb25zLWxvYWRlcic7XG5cbmludGVyZmFjZSBIZWFkZXJBY3Rpb25zUGx1Z2luT3B0aW9uIHtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIGV4cG9zZT86IHN0cmluZztcbiAgY29tcG9uZW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWFkZXJBY3Rpb25zKHNjb3BlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGdldEFwcEV4dGVuc2lvbnM8SGVhZGVyQWN0aW9uc1BsdWdpbk9wdGlvbj4oXG4gICAgWydjb25zb2xlLSonXVxuICAgICAgLmNvbmNhdChzY29wZSB8fCBbXSlcbiAgICAgIC5tYXAoc2NvcGUgPT4gYCR7c2NvcGV9L3BhZ2UvaGVhZGVyL2FjdGlvbmApLFxuICApLnNvcnQoKGEsIGIpID0+IC0oYS5vcHRpb25zLmluZGV4IC0gYi5vcHRpb25zLmluZGV4KSk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BsZy1yZW1vdGUtaGVhZGVyLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZTogYEBmb3IgKGl0ZW0gb2YgaGVhZGVyQWN0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHBsZy1yZW1vdGUtY29tcG9uZW50LW91dGxldFxuICAgICAgW2VudHJ5cG9pbnRdPVwiaXRlbS5lbnRyeXBvaW50XCJcbiAgICAgIFtleHBvc2VdPVwiaXRlbS5vcHRpb25zLmV4cG9zZVwiXG4gICAgICBbbmFtZV09XCJpdGVtLm9wdGlvbnMuY29tcG9uZW50XCJcbiAgICA+PC9wbGctcmVtb3RlLWNvbXBvbmVudC1vdXRsZXQ+XG4gIH1gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlbW90ZUNvbXBvbmVudE91dGxldENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUhlYWRlckFjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzY29wZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBoZWFkZXJBY3Rpb25zOiBBcnJheTxFeHRlbnNpb248SGVhZGVyQWN0aW9uc1BsdWdpbk9wdGlvbj4+ID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zID0gZ2V0SGVhZGVyQWN0aW9ucyh0aGlzLnNjb3BlKCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, } from '@angular/core';
|
|
2
|
+
import { getAppExtensions } from '../app-extensions';
|
|
3
|
+
import { RemoteComponentOutletComponent } from '../components';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
function RemoteHelpMenuItemsComponent_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
i0.ɵɵelement(0, "plg-remote-component-outlet", 0);
|
|
7
|
+
} if (rf & 2) {
|
|
8
|
+
const item_r1 = ctx.$implicit;
|
|
9
|
+
i0.ɵɵproperty("entrypoint", item_r1.entrypoint)("expose", item_r1.options.expose)("name", item_r1.options.component);
|
|
10
|
+
} }
|
|
11
|
+
export function getHelpMenuItems(scope) {
|
|
12
|
+
return getAppExtensions(['console-*']
|
|
13
|
+
.concat(scope || [])
|
|
14
|
+
.map(scope => `${scope}/page/header/help-menu/item`)).sort((a, b) => -(a.options.index - b.options.index));
|
|
15
|
+
}
|
|
16
|
+
export class RemoteHelpMenuItemsComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.scope = input();
|
|
19
|
+
this.helpMenuItems = [];
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.helpMenuItems = getHelpMenuItems(this.scope());
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = function RemoteHelpMenuItemsComponent_Factory(t) { return new (t || RemoteHelpMenuItemsComponent)(); }; }
|
|
25
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteHelpMenuItemsComponent, selectors: [["plg-remote-help-menu-items"]], inputs: { scope: [1, "scope"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [[3, "entrypoint", "expose", "name"]], template: function RemoteHelpMenuItemsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
i0.ɵɵrepeaterCreate(0, RemoteHelpMenuItemsComponent_For_1_Template, 1, 3, "plg-remote-component-outlet", 0, i0.ɵɵrepeaterTrackByIndex);
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵrepeater(ctx.helpMenuItems);
|
|
29
|
+
} }, dependencies: [RemoteComponentOutletComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
30
|
+
}
|
|
31
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteHelpMenuItemsComponent, [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'plg-remote-help-menu-items',
|
|
35
|
+
template: `@for (item of helpMenuItems; track $index) {
|
|
36
|
+
<plg-remote-component-outlet
|
|
37
|
+
[entrypoint]="item.entrypoint"
|
|
38
|
+
[expose]="item.options.expose"
|
|
39
|
+
[name]="item.options.component"
|
|
40
|
+
></plg-remote-component-outlet>
|
|
41
|
+
}`,
|
|
42
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
43
|
+
standalone: true,
|
|
44
|
+
imports: [RemoteComponentOutletComponent],
|
|
45
|
+
}]
|
|
46
|
+
}], null, null); })();
|
|
47
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteHelpMenuItemsComponent, { className: "RemoteHelpMenuItemsComponent", filePath: "lib/extension-points/help-menu.ts", lineNumber: 39 }); })();
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvZXh0ZW5zaW9uLXBvaW50cy9oZWxwLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0lBb0IzRCxpREFJK0I7OztJQUQ3QixBQURBLEFBREEsK0NBQThCLGtDQUNBLG1DQUNDOztBQWRyQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUM1QyxPQUFPLGdCQUFnQixDQUNyQixDQUFDLFdBQVcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyw2QkFBNkIsQ0FBQyxDQUN2RCxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQWVELE1BQU0sT0FBTyw0QkFBNEI7SUFiekM7UUFjRSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFeEIsa0JBQWEsR0FBK0MsRUFBRSxDQUFDO0tBS2hFO0lBSEMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs2RkFQVSw0QkFBNEI7b0VBQTVCLDRCQUE0QjtZQVg1QixzSUFNVjs7WUFOVSxnQ0FNVjs0QkFHUyw4QkFBOEI7O2lGQUU3Qiw0QkFBNEI7Y0FieEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLFFBQVEsRUFBRTs7Ozs7O0lBTVI7Z0JBQ0YsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUMxQzs7a0ZBQ1ksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEV4dGVuc2lvbiB9IGZyb20gJy4uL2V4dGVuc2lvbnMtbG9hZGVyJztcblxuaW50ZXJmYWNlIEhlbHBNZW51SXRlbVBsdWdpbk9wdGlvbiB7XG4gIGluZGV4PzogbnVtYmVyO1xuICBleHBvc2U/OiBzdHJpbmc7XG4gIGNvbXBvbmVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscE1lbnVJdGVtcyhzY29wZTogc3RyaW5nKSB7XG4gIHJldHVybiBnZXRBcHBFeHRlbnNpb25zPEhlbHBNZW51SXRlbVBsdWdpbk9wdGlvbj4oXG4gICAgWydjb25zb2xlLSonXVxuICAgICAgLmNvbmNhdChzY29wZSB8fCBbXSlcbiAgICAgIC5tYXAoc2NvcGUgPT4gYCR7c2NvcGV9L3BhZ2UvaGVhZGVyL2hlbHAtbWVudS9pdGVtYCksXG4gICkuc29ydCgoYSwgYikgPT4gLShhLm9wdGlvbnMuaW5kZXggLSBiLm9wdGlvbnMuaW5kZXgpKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGxnLXJlbW90ZS1oZWxwLW1lbnUtaXRlbXMnLFxuICB0ZW1wbGF0ZTogYEBmb3IgKGl0ZW0gb2YgaGVscE1lbnVJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHBsZy1yZW1vdGUtY29tcG9uZW50LW91dGxldFxuICAgICAgW2VudHJ5cG9pbnRdPVwiaXRlbS5lbnRyeXBvaW50XCJcbiAgICAgIFtleHBvc2VdPVwiaXRlbS5vcHRpb25zLmV4cG9zZVwiXG4gICAgICBbbmFtZV09XCJpdGVtLm9wdGlvbnMuY29tcG9uZW50XCJcbiAgICA+PC9wbGctcmVtb3RlLWNvbXBvbmVudC1vdXRsZXQ+XG4gIH1gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlbW90ZUNvbXBvbmVudE91dGxldENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUhlbHBNZW51SXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzY29wZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBoZWxwTWVudUl0ZW1zOiBBcnJheTxFeHRlbnNpb248SGVscE1lbnVJdGVtUGx1Z2luT3B0aW9uPj4gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlbHBNZW51SXRlbXMgPSBnZXRIZWxwTWVudUl0ZW1zKHRoaXMuc2NvcGUoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './account-menu';
|
|
2
|
+
export * from './header-actions';
|
|
3
|
+
export * from './help-menu';
|
|
4
|
+
export * from './navigation';
|
|
5
|
+
export * from './route';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb24tcG9pbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWNjb3VudC1tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLWFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLW1lbnUnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUnO1xuIl19
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { getAppExtensions } from '../app-extensions';
|
|
2
|
+
import { filterLatestVersion } from '../utils';
|
|
3
|
+
export function getRemoteNavigations(scope, locale) {
|
|
4
|
+
if (!scope) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
const exts = getAppExtensions(scope + '/navigation');
|
|
8
|
+
return filterLatestVersion((options) => options.name)(exts)
|
|
9
|
+
.map(ext => ext.options)
|
|
10
|
+
.map(options => translateLabel(locale, options));
|
|
11
|
+
}
|
|
12
|
+
export function getRemoteNavigationGroups(scope, locale) {
|
|
13
|
+
if (!scope) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const exts = getAppExtensions(scope + '/navigation/group');
|
|
17
|
+
return filterLatestVersion((options) => options.name)(exts)
|
|
18
|
+
.map(ext => ext.options)
|
|
19
|
+
.map(options => translateLabel(locale, options));
|
|
20
|
+
}
|
|
21
|
+
export function insertNavItem(source, remotes) {
|
|
22
|
+
remotes.forEach(remote => {
|
|
23
|
+
remote = genItemKey(remote);
|
|
24
|
+
if (remote.insertAfter) {
|
|
25
|
+
const r = insert('after', remote.insertAfter, [], source, remote);
|
|
26
|
+
if (r.matched) {
|
|
27
|
+
source = r.result;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (remote.insertBefore) {
|
|
32
|
+
const r = insert('before', remote.insertBefore, [], source, remote);
|
|
33
|
+
if (r.matched) {
|
|
34
|
+
source = r.result;
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
source = source.concat(remote);
|
|
39
|
+
});
|
|
40
|
+
return source;
|
|
41
|
+
}
|
|
42
|
+
export function insertNavGroupItem(source, remotes) {
|
|
43
|
+
return source.map(group => {
|
|
44
|
+
const groupRemotes = remotes.filter(remote => remote.group === group.name);
|
|
45
|
+
return { ...group, items: insertNavItem(group.items, groupRemotes) };
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function translateLabel(locale, item) {
|
|
49
|
+
return {
|
|
50
|
+
...item,
|
|
51
|
+
children: item.children
|
|
52
|
+
? item.children.map(c => translateLabel(locale, c))
|
|
53
|
+
: null,
|
|
54
|
+
label: typeof item.displayName === 'string'
|
|
55
|
+
? item.displayName
|
|
56
|
+
: item.displayName[locale] || item.displayName['en'],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function insert(position, anchor, namePath, target, item) {
|
|
60
|
+
const offset = position === 'before' ? 0 : 1;
|
|
61
|
+
anchor = Array.isArray(anchor) ? anchor : [anchor];
|
|
62
|
+
for (const currentAnchor of anchor) {
|
|
63
|
+
for (let i = 0; i < target.length; i++) {
|
|
64
|
+
if (target[i].name === currentAnchor) {
|
|
65
|
+
return {
|
|
66
|
+
result: [
|
|
67
|
+
...target.slice(0, i + offset),
|
|
68
|
+
{ ...item, key: namePath.join('/') + '/' + item.name },
|
|
69
|
+
...target.slice(i + offset),
|
|
70
|
+
],
|
|
71
|
+
matched: true,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (target[i].children) {
|
|
75
|
+
const { result, matched } = insert(position, currentAnchor, namePath.concat(target[i].name), target[i].children, item);
|
|
76
|
+
if (matched) {
|
|
77
|
+
return {
|
|
78
|
+
result: target.map((item, index) => index === i
|
|
79
|
+
? {
|
|
80
|
+
...item,
|
|
81
|
+
children: result,
|
|
82
|
+
}
|
|
83
|
+
: item),
|
|
84
|
+
matched: true,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
result: target,
|
|
92
|
+
matched: false,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function genItemKey(item, parentKey = '') {
|
|
96
|
+
const currentKey = item.key ?? item.name;
|
|
97
|
+
const key = parentKey ? parentKey + '/' + currentKey : currentKey;
|
|
98
|
+
return {
|
|
99
|
+
...item,
|
|
100
|
+
key,
|
|
101
|
+
children: item.children?.map(c => genItemKey(c, key)),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9zcmMvbGliL2V4dGVuc2lvbi1wb2ludHMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0MsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxLQUFhLEVBQ2IsTUFBYztJQUVkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQztJQUVyRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMxRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBbUMsQ0FBQztTQUNuRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsS0FBYSxFQUNiLE1BQWM7SUFFZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztJQUUzRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMxRSxHQUFHLENBQUMs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LENBQUMsQ0FBQyxJQUFJLENBQ1Q7d0JBQ0QsT0FBTyxFQUFFLElBQUk7cUJBQ2QsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsVUFBVSxDQUNqQixJQUEwQixFQUMxQixZQUFvQixFQUFFO0lBRXRCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6QyxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDbEUsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLEdBQUc7UUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3RELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2R3JvdXBDb25maWcsIE5hdkl0ZW1Db25maWcgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBmaWx0ZXJMYXRlc3RWZXJzaW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlTmF2aWdhdGlvbnMoXG4gIHNjb3BlOiBzdHJpbmcsXG4gIGxvY2FsZTogc3RyaW5nLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10ge1xuICBpZiAoIXNjb3BlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL25hdmlnYXRpb24nKTtcblxuICByZXR1cm4gZmlsdGVyTGF0ZXN0VmVyc2lvbigob3B0aW9uczogeyBuYW1lOiBzdHJpbmcgfSkgPT4gb3B0aW9ucy5uYW1lKShleHRzKVxuICAgIC5tYXAoZXh0ID0+IGV4dC5vcHRpb25zIGFzIFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdClcbiAgICAubWFwKG9wdGlvbnMgPT4gdHJhbnNsYXRlTGFiZWwobG9jYWxlLCBvcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYXZpZ2F0aW9uR3JvdXBzKFxuICBzY29wZTogc3RyaW5nLFxuICBsb2NhbGU6IHN0cmluZyxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdIHtcbiAgaWYgKCFzY29wZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGV4dHMgPSBnZXRBcHBFeHRlbnNpb25zKHNjb3BlICsgJy9uYXZpZ2F0aW9uL2dyb3VwJyk7XG5cbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IHsgbmFtZTogc3RyaW5nIH0pID0+IG9wdGlvbnMubmFtZSkoZXh0cylcbiAgICAubWFwKGV4dCA9PiBleHQub3B0aW9ucyBhcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QpXG4gICAgLm1hcChvcHRpb25zID0+IHRyYW5zbGF0ZUxhYmVsKGxvY2FsZSwgb3B0aW9ucykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TmF2SXRlbShcbiAgc291cmNlOiBOYXZJdGVtQ29uZmlnW10sXG4gIHJlbW90ZXM6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdLFxuKTogTmF2SXRlbUNvbmZpZ1tdIHtcbiAgcmVtb3Rlcy5mb3JFYWNoKHJlbW90ZSA9PiB7XG4gICAgcmVtb3RlID0gZ2VuSXRlbUtleShyZW1vdGUpO1xuXG4gICAgaWYgKHJlbW90ZS5pbnNlcnRBZnRlcikge1xuICAgICAgY29uc3QgciA9IGluc2VydCgnYWZ0ZXInLCByZW1vdGUuaW5zZXJ0QWZ0ZXIsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlbW90ZS5pbnNlcnRCZWZvcmUpIHtcbiAgICAgIGNvbnN0IHIgPSBpbnNlcnQoJ2JlZm9yZScsIHJlbW90ZS5pbnNlcnRCZWZvcmUsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlID0gc291cmNlLmNvbmNhdChyZW1vdGUpO1xuICB9KTtcblxuICByZXR1cm4gc291cmNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TmF2R3JvdXBJdGVtKFxuICBzb3VyY2U6IE5hdkdyb3VwQ29uZmlnW10sXG4gIHJlbW90ZXM6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdLFxuKTogTmF2R3JvdXBDb25maWdbXSB7XG4gIHJldHVybiBzb3VyY2UubWFwKGdyb3VwID0+IHtcbiAgICBjb25zdCBncm91cFJlbW90ZXMgPSByZW1vdGVzLmZpbHRlcihyZW1vdGUgPT4gcmVtb3RlLmdyb3VwID09PSBncm91cC5uYW1lKTtcbiAgICByZXR1cm4geyAuLi5ncm91cCwgaXRlbXM6IGluc2VydE5hdkl0ZW0oZ3JvdXAuaXRlbXMsIGdyb3VwUmVtb3RlcykgfTtcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlTmF2aWdhdGlvbkl0ZW0gZXh0ZW5kcyBOYXZJdGVtQ29uZmlnIHtcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBjaGlsZHJlbj86IFJlbW90ZU5hdmlnYXRpb25JdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290IGV4dGVuZHMgUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICBpbnNlcnRBZnRlcj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBpbnNlcnRCZWZvcmU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuZnVuY3Rpb24gdHJhbnNsYXRlTGFiZWwoXG4gIGxvY2FsZTogc3RyaW5nLFxuICBpdGVtOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbSxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuXG4gICAgICA/IGl0ZW0uY2hpbGRyZW4ubWFwKGMgPT4gdHJhbnNsYXRlTGFiZWwobG9jYWxlLCBjKSlcbiAgICAgIDogbnVsbCxcbiAgICBsYWJlbDpcbiAgICAgIHR5cGVvZiBpdGVtLmRpc3BsYXlOYW1lID09PSAnc3RyaW5nJ1xuICAgICAgICA/IGl0ZW0uZGlzcGxheU5hbWVcbiAgICAgICAgOiBpdGVtLmRpc3BsYXlOYW1lW2xvY2FsZV0gfHwgaXRlbS5kaXNwbGF5TmFtZVsnZW4nXSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0KFxuICBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInLFxuICBhbmNob3I6IHN0cmluZyB8IHN0cmluZ1tdLFxuICBuYW1lUGF0aDogc3RyaW5nW10sXG4gIHRhcmdldDogTmF2SXRlbUNvbmZpZ1tdLFxuICBpdGVtOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QsXG4pOiB7IHJlc3VsdDogTmF2SXRlbUNvbmZpZ1tdOyBtYXRjaGVkOiBib29sZWFuIH0ge1xuICBjb25zdCBvZmZzZXQgPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAwIDogMTtcbiAgYW5jaG9yID0gQXJyYXkuaXNBcnJheShhbmNob3IpID8gYW5jaG9yIDogW2FuY2hvcl07XG5cbiAgZm9yIChjb25zdCBjdXJyZW50QW5jaG9yIG9mIGFuY2hvcikge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFyZ2V0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGFyZ2V0W2ldLm5hbWUgPT09IGN1cnJlbnRBbmNob3IpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXN1bHQ6IFtcbiAgICAgICAgICAgIC4uLnRhcmdldC5zbGljZSgwLCBpICsgb2Zmc2V0KSxcbiAgICAgICAgICAgIHsgLi4uaXRlbSwga2V5OiBuYW1lUGF0aC5qb2luKCcvJykgKyAnLycgKyBpdGVtLm5hbWUgfSxcbiAgICAgICAgICAgIC4uLnRhcmdldC5zbGljZShpICsgb2Zmc2V0KSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0YXJnZXRbaV0uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgeyByZXN1bHQsIG1hdGNoZWQgfSA9IGluc2VydChcbiAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICBjdXJyZW50QW5jaG9yLFxuICAgICAgICAgIG5hbWVQYXRoLmNvbmNhdCh0YXJnZXRbaV0ubmFtZSksXG4gICAgICAgICAgdGFyZ2V0W2ldLmNoaWxkcmVuLFxuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICk7XG4gICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3VsdDogdGFyZ2V0Lm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGluZGV4ID09PSBpXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVzdWx0OiB0YXJnZXQsXG4gICAgbWF0Y2hlZDogZmFsc2UsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdlbkl0ZW1LZXkoXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtLFxuICBwYXJlbnRLZXk6IHN0cmluZyA9ICcnLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICBjb25zdCBjdXJyZW50S2V5ID0gaXRlbS5rZXkgPz8gaXRlbS5uYW1lO1xuICBjb25zdCBrZXkgPSBwYXJlbnRLZXkgPyBwYXJlbnRLZXkgKyAnLycgKyBjdXJyZW50S2V5IDogY3VycmVudEtleTtcbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGtleSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbj8ubWFwKGMgPT4gZ2VuSXRlbUtleShjLCBrZXkpKSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getAppExtensions } from '../app-extensions';
|
|
2
|
+
import { filterLatestVersion, loadRemote } from '../utils';
|
|
3
|
+
export function mapToRoute(ext, addition = {}) {
|
|
4
|
+
return {
|
|
5
|
+
path: ext.options.path,
|
|
6
|
+
loadChildren: () => loadRemote(ext.entrypoint, ext.options.expose ?? './Routes').then(m => m.default),
|
|
7
|
+
...addition,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function getRootRoutes(scope) {
|
|
11
|
+
const exts = getAppExtensions(scope + '/routes/root');
|
|
12
|
+
return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
|
|
13
|
+
}
|
|
14
|
+
export function getFeatureRoutes(scope) {
|
|
15
|
+
const exts = getAppExtensions(scope + '/routes/feature');
|
|
16
|
+
return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb24tcG9pbnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0QsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsR0FBNEIsRUFDNUIsV0FBMkIsRUFBRTtJQUU3QixPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUN0QixZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNmO1FBQ0gsR0FBRyxRQUFRO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWE7SUFDekMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUMzRSxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FDdkIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUM1QyxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDM0UsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQ3ZCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBnZXRBcHBFeHRlbnNpb25zIH0gZnJvbSAnLi4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy1sb2FkZXInO1xuaW1wb3J0IHsgZmlsdGVyTGF0ZXN0VmVyc2lvbiwgbG9hZFJlbW90ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFRvUm91dGUoXG4gIGV4dDogRXh0ZW5zaW9uPFJvdXRlT3B0aW9ucz4sXG4gIGFkZGl0aW9uOiBQYXJ0aWFsPFJvdXRlPiA9IHt9LFxuKTogUm91dGUge1xuICByZXR1cm4ge1xuICAgIHBhdGg6IGV4dC5vcHRpb25zLnBhdGgsXG4gICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgbG9hZFJlbW90ZShleHQuZW50cnlwb2ludCwgZXh0Lm9wdGlvbnMuZXhwb3NlID8/ICcuL1JvdXRlcycpLnRoZW4oXG4gICAgICAgIG0gPT4gbS5kZWZhdWx0LFxuICAgICAgKSxcbiAgICAuLi5hZGRpdGlvbixcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RSb3V0ZXMoc2NvcGU6IHN0cmluZykge1xuICBjb25zdCBleHRzID0gZ2V0QXBwRXh0ZW5zaW9ucyhzY29wZSArICcvcm91dGVzL3Jvb3QnKTtcbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IFJvdXRlT3B0aW9ucykgPT4gb3B0aW9ucy5wYXRoKShleHRzKS5tYXAoXG4gICAgZXh0ID0+IG1hcFRvUm91dGUoZXh0KSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZlYXR1cmVSb3V0ZXMoc2NvcGU6IHN0cmluZykge1xuICBjb25zdCBleHRzID0gZ2V0QXBwRXh0ZW5zaW9ucyhzY29wZSArICcvcm91dGVzL2ZlYXR1cmUnKTtcbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IFJvdXRlT3B0aW9ucykgPT4gb3B0aW9ucy5wYXRoKShleHRzKS5tYXAoXG4gICAgZXh0ID0+IG1hcFRvUm91dGUoZXh0KSxcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZU9wdGlvbnMge1xuICBwYXRoOiBzdHJpbmc7XG4gIGV4cG9zZT86IHN0cmluZztcbiAgY2x1c3RlclN0cmF0ZWd5PzogJ2xhdGVzdCcgfCAnc3RyaWN0Jztcbn1cbiJdfQ==
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { attachAuthorizationHeader } from '@alauda-fe/common';
|
|
2
|
-
import { isLocalEnv } from './utils';
|
|
2
|
+
import { getBootMode, isLocalEnv, LOCAL_DEV_EXTENSION_INFO } from './utils';
|
|
3
3
|
export async function loadExtensions(query = {}) {
|
|
4
|
+
if (getBootMode() === 'safe') {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
4
7
|
return isLocalEnv()
|
|
5
8
|
? await loadDevExtensions(query)
|
|
6
9
|
: await loadProdExtensions(query);
|
|
@@ -14,8 +17,9 @@ async function loadDevExtensions(query = {}) {
|
|
|
14
17
|
return res.json();
|
|
15
18
|
})
|
|
16
19
|
.then((plugin) => plugin.extensions.map(ext => ({
|
|
20
|
+
...LOCAL_DEV_EXTENSION_INFO,
|
|
17
21
|
...ext,
|
|
18
|
-
entrypoint: '
|
|
22
|
+
entrypoint: '/dev-plugin',
|
|
19
23
|
})))
|
|
20
24
|
.catch(() => {
|
|
21
25
|
console.warn('Failed to fetch local dev extensions, loading prod extensions');
|
|
@@ -39,8 +43,9 @@ async function loadProdExtensions(query = {}) {
|
|
|
39
43
|
.then((rawPlugins) => Object.entries(rawPlugins).reduce((acc, [cluster, plugins]) => acc.concat(plugins.flatMap(plugin => JSON.parse(plugin['console-plugin.json']).extensions.map(ext => ({
|
|
40
44
|
...ext,
|
|
41
45
|
cluster,
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
pluginName: plugin.name,
|
|
47
|
+
pluginVersion: plugin.version,
|
|
48
|
+
appName: plugin.path.slice(plugin.path.lastIndexOf('/') + 1),
|
|
44
49
|
entrypoint: `${reqPrefix}/clusters-rewrite/${cluster}${plugin.path}`,
|
|
45
50
|
})))), []))
|
|
46
51
|
.catch(err => {
|
|
@@ -48,4 +53,4 @@ async function loadProdExtensions(query = {}) {
|
|
|
48
53
|
return [];
|
|
49
54
|
});
|
|
50
55
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb25zLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1RSxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxRQUF5QixFQUFFO0lBQzlELElBQUksV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxVQUFVLEVBQUU7UUFDakIsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLFFBQXlCLEVBQUU7SUFFM0IsT0FBTyxNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsd0JBQXdCO1FBQzNCLEdBQUcsR0FBRztRQUNOLFVBQVUsRUFBRSxhQUFhO0tBQzFCLENBQUMsQ0FBQyxDQUNKO1NBQ0EsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0RBQStELENBQ2hFLENBQUM7UUFDRixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FDL0IsUUFBeUIsRUFBRTtJQUUzQixNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFYixPQUFPLE1BQU0sS0FBSyxDQUNoQixHQUFHLFNBQVMsNkNBQTZDLFdBQVcsSUFBSSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFDdEg7UUFDRSxPQUFPLEVBQUUseUJBQXlCLEVBQUU7S0FDckMsQ0FDRjtTQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxDQUFDLFVBQXNCLEVBQUUsRUFBRSxDQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUMxQixHQUFHLENBQUMsTUFBTSxDQUNSLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FFckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FDekMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixHQUFHLEdBQUc7UUFDTixPQUFPO1FBQ1AsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ3ZCLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTztRQUM3QixPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELFVBQVUsRUFBRSxHQUFHLFNBQVMscUJBQXFCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFO0tBQ3JFLENBQUMsQ0FBQyxDQUNKLENBQ0YsRUFDSCxFQUFpQixDQUNsQixDQUNGO1NBQ0EsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEJvb3RNb2RlLCBpc0xvY2FsRW52LCBMT0NBTF9ERVZfRVhURU5TSU9OX0lORk8gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRFeHRlbnNpb25zKHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSkge1xuICBpZiAoZ2V0Qm9vdE1vZGUoKSA9PT0gJ3NhZmUnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBpc0xvY2FsRW52KClcbiAgICA/IGF3YWl0IGxvYWREZXZFeHRlbnNpb25zKHF1ZXJ5KVxuICAgIDogYXdhaXQgbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZERldkV4dGVuc2lvbnMoXG4gIHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSxcbik6IFByb21pc2U8RXh0ZW5zaW9uW10+IHtcbiAgcmV0dXJuIGF3YWl0IGZldGNoKGAvZGV2LXBsdWdpbi9jb25zb2xlLXBsdWdpbi5qc29uYClcbiAgICAudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKHBsdWdpbjogUGx1Z2luSlNPTikgPT5cbiAgICAgIHBsdWdpbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgLi4uTE9DQUxfREVWX0VYVEVOU0lPTl9JTkZPLFxuICAgICAgICAuLi5leHQsXG4gICAgICAgIGVudHJ5cG9pbnQ6ICcvZGV2LXBsdWdpbicsXG4gICAgICB9KSksXG4gICAgKVxuICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMsIGxvYWRpbmcgcHJvZCBleHRlbnNpb25zJyxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZFByb2RFeHRlbnNpb25zKFxuICBxdWVyeTogRXh0ZW5zaW9uc1F1ZXJ5ID0ge30sXG4pOiBQcm9taXNlPEV4dGVuc2lvbltdPiB7XG4gIGNvbnN0IHJlcVByZWZpeCA9IGlzTG9jYWxFbnYoKSA/ICcvYXBpLWdhdGV3YXknIDogJyc7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gT2JqZWN0LmVudHJpZXMocXVlcnkpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWUuam9pbignLCcpfWApXG4gICAgLmpvaW4oJzsnKTtcblxuICByZXR1cm4gYXdhaXQgZmV0Y2goXG4gICAgYCR7cmVxUHJlZml4fS9mcm9udGVuZC1wbHVnaW5zL2NsdXN0ZXJzL2NvbnNvbGUtcGx1Z2lucyR7cXVlcnlTdHJpbmcgJiYgJz9maWx0ZXI9JyArIGVuY29kZVVSSUNvbXBvbmVudChxdWVyeVN0cmluZyl9YCxcbiAgICB7XG4gICAgICBoZWFkZXJzOiBhdHRhY2hBdXRob3JpemF0aW9uSGVhZGVyKCksXG4gICAgfSxcbiAgKVxuICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBleHRlbnNpb25zJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9KVxuICAgIC50aGVuKChyYXdQbHVnaW5zOiBSYXdQbHVnaW5zKSA9PlxuICAgICAgT2JqZWN0LmVudHJpZXMocmF3UGx1Z2lucykucmVkdWNlKFxuICAgICAgICAoYWNjLCBbY2x1c3RlciwgcGx1Z2luc10pID0+XG4gICAgICAgICAgYWNjLmNvbmNhdChcbiAgICAgICAgICAgIHBsdWdpbnMuZmxhdE1hcChwbHVnaW4gPT5cbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIEpTT04ucGFyc2UocGx1Z2luWydjb25zb2xlLXBsdWdpbi5qc29uJ10pIGFzIFBsdWdpbkpTT05cbiAgICAgICAgICAgICAgKS5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5leHQsXG4gICAgICAgICAgICAgICAgY2x1c3RlcixcbiAgICAgICAgICAgICAgICBwbHVnaW5OYW1lOiBwbHVnaW4ubmFtZSxcbiAgICAgICAgICAgICAgICBwbHVnaW5WZXJzaW9uOiBwbHVnaW4udmVyc2lvbixcbiAgICAgICAgICAgICAgICBhcHBOYW1lOiBwbHVnaW4ucGF0aC5zbGljZShwbHVnaW4ucGF0aC5sYXN0SW5kZXhPZignLycpICsgMSksXG4gICAgICAgICAgICAgICAgZW50cnlwb2ludDogYCR7cmVxUHJlZml4fS9jbHVzdGVycy1yZXdyaXRlLyR7Y2x1c3Rlcn0ke3BsdWdpbi5wYXRofWAsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgW10gYXMgRXh0ZW5zaW9uW10sXG4gICAgICApLFxuICAgIClcbiAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25zUXVlcnkge1xuICB0eXBlcz86IHN0cmluZ1tdO1xuICBjbHVzdGVycz86IHN0cmluZ1tdO1xuICBvcGVyYXRvcnM/OiBzdHJpbmdbXTtcbiAgY2hhbm5lbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb248VCA9IGFueT4gZXh0ZW5kcyBSYXdFeHRlbnNpb248VD4ge1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJhd1BsdWdpbnMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogQXJyYXk8e1xuICAgIG9wZXJhdG9yOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgJ2NvbnNvbGUtcGx1Z2luLmpzb24nOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luSlNPTiB7XG4gIGV4dGVuc2lvbnM6IFJhd0V4dGVuc2lvbltdO1xufVxuXG5pbnRlcmZhY2UgUmF3RXh0ZW5zaW9uPFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBvcHRpb25zOiBUO1xufVxuIl19
|
package/esm2022/lib/utils.mjs
CHANGED
|
@@ -1,9 +1,32 @@
|
|
|
1
|
+
import { GLOBAL_CLUSTER } from '@alauda-fe/common';
|
|
1
2
|
import { loadRemoteModule, setRemoteDefinitions } from '@nx/angular/mf';
|
|
2
3
|
import { compare } from 'compare-versions';
|
|
3
4
|
const remoteRecord = new Set();
|
|
5
|
+
const BOOT_MODE_KEY = '__boot_mode__';
|
|
4
6
|
export function isLocalEnv() {
|
|
5
7
|
return location.hostname === 'localhost';
|
|
6
8
|
}
|
|
9
|
+
export const LOCAL_DEV_EXTENSION_INFO = {
|
|
10
|
+
cluster: GLOBAL_CLUSTER,
|
|
11
|
+
pluginName: 'local-dev',
|
|
12
|
+
pluginVersion: 'v1.0.0',
|
|
13
|
+
appName: 'service',
|
|
14
|
+
};
|
|
15
|
+
export function getBootMode() {
|
|
16
|
+
const query = location.search
|
|
17
|
+
.slice(1)
|
|
18
|
+
.split('&')
|
|
19
|
+
.reduce((acc, cur) => {
|
|
20
|
+
const [key, value] = cur.split('=');
|
|
21
|
+
acc[key] = value;
|
|
22
|
+
return acc;
|
|
23
|
+
}, {});
|
|
24
|
+
const mode = (query[BOOT_MODE_KEY] ||
|
|
25
|
+
sessionStorage.getItem(BOOT_MODE_KEY) ||
|
|
26
|
+
'standard');
|
|
27
|
+
sessionStorage.setItem(BOOT_MODE_KEY, mode);
|
|
28
|
+
return mode;
|
|
29
|
+
}
|
|
7
30
|
export function loadRemote(remote, module) {
|
|
8
31
|
if (!remoteRecord.has(remote)) {
|
|
9
32
|
remoteRecord.add(remote);
|
|
@@ -13,22 +36,22 @@ export function loadRemote(remote, module) {
|
|
|
13
36
|
}
|
|
14
37
|
export function filterLatestVersion(identity) {
|
|
15
38
|
return (exts) => exts.reduce((acc, ext) => {
|
|
16
|
-
const existedIndex = acc.findIndex(a => a.
|
|
39
|
+
const existedIndex = acc.findIndex(a => a.pluginName === ext.pluginName &&
|
|
17
40
|
identity(a.options) === identity(ext.options));
|
|
18
41
|
if (existedIndex === -1) {
|
|
19
42
|
acc.push(ext);
|
|
20
43
|
}
|
|
21
44
|
else {
|
|
22
45
|
try {
|
|
23
|
-
acc[existedIndex] = compare(acc[existedIndex].
|
|
46
|
+
acc[existedIndex] = compare(acc[existedIndex].pluginVersion, ext.pluginVersion, '>=')
|
|
24
47
|
? acc[existedIndex]
|
|
25
48
|
: ext;
|
|
26
49
|
}
|
|
27
50
|
catch {
|
|
28
|
-
console.error(`Error when comparing operator (${acc[existedIndex].
|
|
51
|
+
console.error(`Error when comparing operator (${acc[existedIndex].pluginName}) versions (${acc[existedIndex].pluginVersion}, ${ext.pluginVersion}). Using ${acc[existedIndex].pluginVersion} from cluster ${acc[existedIndex].cluster}`);
|
|
29
52
|
}
|
|
30
53
|
}
|
|
31
54
|
return acc;
|
|
32
55
|
}, []);
|
|
33
56
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTNDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7QUFFdkMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDLE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sUUFBUSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFFRixNQUFNLFVBQVUsV0FBVztJQUN6QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTTtTQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNYLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELEVBQTRCLENBQzdCLENBQUM7SUFDSixNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDaEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDckMsVUFBVSxDQUF3QixDQUFDO0lBRXJDLGNBQWMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTVDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM5QixZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxRQUE2QjtJQUU3QixPQUFPLENBQUMsSUFBeUIsRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxNQUFNLENBQ1QsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDWCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUNoQyxDQUFDLENBQUMsRUFBRSxDQUNGLENBQUMsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLFVBQVU7WUFDL0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUNoRCxDQUFDO1FBQ0YsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDO2dCQUNILEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQ3pCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxhQUFhLEVBQy9CLEdBQUcsQ0FBQyxhQUFhLEVBQ2pCLElBQUksQ0FDTDtvQkFDQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztvQkFDbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNWLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDWCxrQ0FBa0MsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsZUFBZSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxhQUFhLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsaUJBQWlCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDMU4sQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBeUIsQ0FDMUIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHTE9CQUxfQ0xVU1RFUiB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUsIHNldFJlbW90ZURlZmluaXRpb25zIH0gZnJvbSAnQG54L2FuZ3VsYXIvbWYnO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gJ2NvbXBhcmUtdmVyc2lvbnMnO1xuXG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tICcuL2V4dGVuc2lvbnMtbG9hZGVyJztcblxuY29uc3QgcmVtb3RlUmVjb3JkID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbmNvbnN0IEJPT1RfTU9ERV9LRVkgPSAnX19ib290X21vZGVfXyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvY2FsRW52KCkge1xuICByZXR1cm4gbG9jYXRpb24uaG9zdG5hbWUgPT09ICdsb2NhbGhvc3QnO1xufVxuXG5leHBvcnQgY29uc3QgTE9DQUxfREVWX0VYVEVOU0lPTl9JTkZPID0ge1xuICBjbHVzdGVyOiBHTE9CQUxfQ0xVU1RFUixcbiAgcGx1Z2luTmFtZTogJ2xvY2FsLWRldicsXG4gIHBsdWdpblZlcnNpb246ICd2MS4wLjAnLFxuICBhcHBOYW1lOiAnc2VydmljZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9vdE1vZGUoKTogJ3N0YW5kYXJkJyB8ICdzYWZlJyB7XG4gIGNvbnN0IHF1ZXJ5ID0gbG9jYXRpb24uc2VhcmNoXG4gICAgLnNsaWNlKDEpXG4gICAgLnNwbGl0KCcmJylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjYywgY3VyKSA9PiB7XG4gICAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGN1ci5zcGxpdCgnPScpO1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgKTtcbiAgY29uc3QgbW9kZSA9IChxdWVyeVtCT09UX01PREVfS0VZXSB8fFxuICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oQk9PVF9NT0RFX0tFWSkgfHxcbiAgICAnc3RhbmRhcmQnKSBhcyAnc3RhbmRhcmQnIHwgJ3NhZmUnO1xuXG4gIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oQk9PVF9NT0RFX0tFWSwgbW9kZSk7XG5cbiAgcmV0dXJuIG1vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVtb3RlKHJlbW90ZTogc3RyaW5nLCBtb2R1bGU6IHN0cmluZykge1xuICBpZiAoIXJlbW90ZVJlY29yZC5oYXMocmVtb3RlKSkge1xuICAgIHJlbW90ZVJlY29yZC5hZGQocmVtb3RlKTtcbiAgICBzZXRSZW1vdGVEZWZpbml0aW9ucyh7IFtyZW1vdGVdOiByZW1vdGUgfSk7XG4gIH1cblxuICByZXR1cm4gbG9hZFJlbW90ZU1vZHVsZShyZW1vdGUsIG1vZHVsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJMYXRlc3RWZXJzaW9uPE8gPSBhbnk+KFxuICBpZGVudGl0eTogKGV4dDogTykgPT4gdW5rbm93bixcbik6IChleHRzOiBBcnJheTxFeHRlbnNpb248Tz4+KSA9PiBBcnJheTxFeHRlbnNpb248Tz4+IHtcbiAgcmV0dXJuIChleHRzOiBBcnJheTxFeHRlbnNpb248Tz4+KSA9PlxuICAgIGV4dHMucmVkdWNlKFxuICAgICAgKGFjYywgZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0ZWRJbmRleCA9IGFjYy5maW5kSW5kZXgoXG4gICAgICAgICAgYSA9PlxuICAgICAgICAgICAgYS5wbHVnaW5OYW1lID09PSBleHQucGx1Z2luTmFtZSAmJlxuICAgICAgICAgICAgaWRlbnRpdHkoYS5vcHRpb25zKSA9PT0gaWRlbnRpdHkoZXh0Lm9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZXhpc3RlZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGFjYy5wdXNoKGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGFjY1tleGlzdGVkSW5kZXhdID0gY29tcGFyZShcbiAgICAgICAgICAgICAgYWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luVmVyc2lvbixcbiAgICAgICAgICAgICAgZXh0LnBsdWdpblZlcnNpb24sXG4gICAgICAgICAgICAgICc+PScsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgID8gYWNjW2V4aXN0ZWRJbmRleF1cbiAgICAgICAgICAgICAgOiBleHQ7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBgRXJyb3Igd2hlbiBjb21wYXJpbmcgb3BlcmF0b3IgKCR7YWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luTmFtZX0pIHZlcnNpb25zICgke2FjY1tleGlzdGVkSW5kZXhdLnBsdWdpblZlcnNpb259LCAke2V4dC5wbHVnaW5WZXJzaW9ufSkuIFVzaW5nICR7YWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luVmVyc2lvbn0gZnJvbSBjbHVzdGVyICR7YWNjW2V4aXN0ZWRJbmRleF0uY2x1c3Rlcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICBbXSBhcyBBcnJheTxFeHRlbnNpb248Tz4+LFxuICAgICk7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhdWRhLWZlLXBsdWdpbi1zZGstcmVtb3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3JlbW90ZS9hbGF1ZGEtZmUtcGx1Z2luLXNkay1yZW1vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './lib/runtime';
|
|
2
|
+
export * from './lib/translate';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvcmVtb3RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ydW50aW1lJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZSc7XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isLocalEnv, LOCAL_DEV_EXTENSION_INFO } from '@alauda-fe/plugin-sdk';
|
|
2
|
+
export const PUBLIC_PATH = __webpack_public_path__;
|
|
3
|
+
export const RUNTIME = runtimeInfo();
|
|
4
|
+
function runtimeInfo() {
|
|
5
|
+
if (isLocalEnv()) {
|
|
6
|
+
return {
|
|
7
|
+
...LOCAL_DEV_EXTENSION_INFO,
|
|
8
|
+
publicPath: PUBLIC_PATH,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const arr = PUBLIC_PATH.split('/');
|
|
12
|
+
const clusterIndex = arr.findIndex(item => item === 'clusters-rewrite') + 1;
|
|
13
|
+
const pluginIndex = arr.findIndex(item => item === 'plugin');
|
|
14
|
+
return {
|
|
15
|
+
publicPath: PUBLIC_PATH,
|
|
16
|
+
cluster: arr[clusterIndex],
|
|
17
|
+
pluginName: arr[pluginIndex + 1],
|
|
18
|
+
pluginVersion: arr[pluginIndex + 2],
|
|
19
|
+
appName: arr[pluginIndex + 3],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9yZW1vdGUvbGliL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTdFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFFckMsU0FBUyxXQUFXO0lBQ2xCLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNqQixPQUFPO1lBQ0wsR0FBRyx3QkFBd0I7WUFDM0IsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFNUUsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztJQUU3RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLFdBQVc7UUFDdkIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDMUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLGFBQWEsRUFBRSxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0xvY2FsRW52LCBMT0NBTF9ERVZfRVhURU5TSU9OX0lORk8gfSBmcm9tICdAYWxhdWRhLWZlL3BsdWdpbi1zZGsnO1xuXG5kZWNsYXJlIGNvbnN0IF9fd2VicGFja19wdWJsaWNfcGF0aF9fOiBzdHJpbmc7XG5cbmV4cG9ydCBjb25zdCBQVUJMSUNfUEFUSCA9IF9fd2VicGFja19wdWJsaWNfcGF0aF9fO1xuXG5leHBvcnQgY29uc3QgUlVOVElNRSA9IHJ1bnRpbWVJbmZvKCk7XG5cbmZ1bmN0aW9uIHJ1bnRpbWVJbmZvKCk6IFJ1bnRpbWUge1xuICBpZiAoaXNMb2NhbEVudigpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLkxPQ0FMX0RFVl9FWFRFTlNJT05fSU5GTyxcbiAgICAgIHB1YmxpY1BhdGg6IFBVQkxJQ19QQVRILFxuICAgIH07XG4gIH1cblxuICBjb25zdCBhcnIgPSBQVUJMSUNfUEFUSC5zcGxpdCgnLycpO1xuXG4gIGNvbnN0IGNsdXN0ZXJJbmRleCA9IGFyci5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSAnY2x1c3RlcnMtcmV3cml0ZScpICsgMTtcblxuICBjb25zdCBwbHVnaW5JbmRleCA9IGFyci5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSAncGx1Z2luJyk7XG5cbiAgcmV0dXJuIHtcbiAgICBwdWJsaWNQYXRoOiBQVUJMSUNfUEFUSCxcbiAgICBjbHVzdGVyOiBhcnJbY2x1c3RlckluZGV4XSxcbiAgICBwbHVnaW5OYW1lOiBhcnJbcGx1Z2luSW5kZXggKyAxXSxcbiAgICBwbHVnaW5WZXJzaW9uOiBhcnJbcGx1Z2luSW5kZXggKyAyXSxcbiAgICBhcHBOYW1lOiBhcnJbcGx1Z2luSW5kZXggKyAzXSxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lIHtcbiAgcHVibGljUGF0aDogc3RyaW5nO1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xuICBhcHBOYW1lOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { GLOBAL_CLUSTER, isBuiltInLanguage, TranslatePipe, TranslateService, } from '@alauda-fe/common';
|
|
2
|
+
import { inject, Injectable, Pipe } from '@angular/core';
|
|
3
|
+
import { RUNTIME } from './runtime';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TranslateScopeService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.translate = inject(TranslateService);
|
|
8
|
+
this.loadedLang = new Set();
|
|
9
|
+
this.scope = this.getScope();
|
|
10
|
+
if (!this.translate.translationsList.find(item => item?.[this.translate.locale]?.[this.scope])) {
|
|
11
|
+
this.setupI18nAssets();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
getScopedKey(key) {
|
|
15
|
+
return `${this.scope}.${key}`;
|
|
16
|
+
}
|
|
17
|
+
async setupI18nAssets() {
|
|
18
|
+
const lang = this.translate.locale;
|
|
19
|
+
if (isBuiltInLanguage(lang)) {
|
|
20
|
+
this.translate.addTranslations({
|
|
21
|
+
[lang]: { [this.scope]: await this.loadTranslations(lang) },
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const [en, other] = await Promise.all([
|
|
26
|
+
this.loadTranslations('en'),
|
|
27
|
+
this.loadTranslations(lang),
|
|
28
|
+
]);
|
|
29
|
+
this.translate.addTranslations({
|
|
30
|
+
[lang]: { [this.scope]: Object.assign(en, other) },
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
getScope() {
|
|
35
|
+
const cluster = isBuiltInLanguage(this.translate.locale)
|
|
36
|
+
? RUNTIME.cluster
|
|
37
|
+
: GLOBAL_CLUSTER;
|
|
38
|
+
return `plugin__${cluster}~${RUNTIME.pluginName}~${RUNTIME.appName}`;
|
|
39
|
+
}
|
|
40
|
+
async loadTranslations(lang) {
|
|
41
|
+
if (this.loadedLang.has(lang)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.loadedLang.add(lang);
|
|
45
|
+
return this.fetchI18nFile(lang);
|
|
46
|
+
}
|
|
47
|
+
fetchI18nFile(lang) {
|
|
48
|
+
const path = isBuiltInLanguage(lang)
|
|
49
|
+
? RUNTIME.publicPath + 'assets/i18n/' + lang + '.json'
|
|
50
|
+
: `/console-i18n/${lang}/plugin__${RUNTIME.pluginName}~${RUNTIME.appName}.json`;
|
|
51
|
+
return fetch(path)
|
|
52
|
+
.then(res => res.json())
|
|
53
|
+
.catch(err => {
|
|
54
|
+
console.error(`Failed to load i18n file for plugin ${RUNTIME.pluginName}~${RUNTIME.appName} and language ${lang}`);
|
|
55
|
+
console.error(err);
|
|
56
|
+
return {};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
static { this.ɵfac = function TranslateScopeService_Factory(t) { return new (t || TranslateScopeService)(); }; }
|
|
60
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateScopeService, factory: TranslateScopeService.ɵfac, providedIn: 'root' }); }
|
|
61
|
+
}
|
|
62
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslateScopeService, [{
|
|
63
|
+
type: Injectable,
|
|
64
|
+
args: [{
|
|
65
|
+
providedIn: 'root',
|
|
66
|
+
}]
|
|
67
|
+
}], () => [], null); })();
|
|
68
|
+
export class ScopedTranslateService {
|
|
69
|
+
constructor() {
|
|
70
|
+
this.scope = inject(TranslateScopeService);
|
|
71
|
+
this.translate = inject(TranslateService);
|
|
72
|
+
}
|
|
73
|
+
get(key, data, ignoreNonExist = false) {
|
|
74
|
+
return this.translate.get(this.scope.getScopedKey(key), data, ignoreNonExist);
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = function ScopedTranslateService_Factory(t) { return new (t || ScopedTranslateService)(); }; }
|
|
77
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ScopedTranslateService, factory: ScopedTranslateService.ɵfac, providedIn: 'root' }); }
|
|
78
|
+
}
|
|
79
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScopedTranslateService, [{
|
|
80
|
+
type: Injectable,
|
|
81
|
+
args: [{ providedIn: 'root' }]
|
|
82
|
+
}], null, null); })();
|
|
83
|
+
export class ScopedTranslatePipe extends TranslatePipe {
|
|
84
|
+
constructor() {
|
|
85
|
+
super(...arguments);
|
|
86
|
+
this.scope = inject(TranslateScopeService);
|
|
87
|
+
}
|
|
88
|
+
transform(key, data, ignoreNonExist) {
|
|
89
|
+
return super.transform(this.scope.getScopedKey(key), data, ignoreNonExist);
|
|
90
|
+
}
|
|
91
|
+
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵScopedTranslatePipe_BaseFactory; return function ScopedTranslatePipe_Factory(t) { return (ɵScopedTranslatePipe_BaseFactory || (ɵScopedTranslatePipe_BaseFactory = i0.ɵɵgetInheritedFactory(ScopedTranslatePipe)))(t || ScopedTranslatePipe); }; })(); }
|
|
92
|
+
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "scopedTranslate", type: ScopedTranslatePipe, pure: false, standalone: true }); }
|
|
93
|
+
}
|
|
94
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScopedTranslatePipe, [{
|
|
95
|
+
type: Pipe,
|
|
96
|
+
args: [{
|
|
97
|
+
standalone: true,
|
|
98
|
+
name: 'scopedTranslate',
|
|
99
|
+
pure: false,
|
|
100
|
+
}]
|
|
101
|
+
}], null, null); })();
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3JlbW90ZS9saWIvdHJhbnNsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBRWpCLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEM7UUFMUSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFFOUIsVUFBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUcvQixJQUNFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDcEQsRUFDRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQWlCO1FBQzVCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZTtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIs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QUMsR0FBRyxDQUFDLEVBQzVCLElBQUksRUFDSixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7dUZBVlUsc0JBQXNCO3VFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCLG1CQURULE1BQU07O2lGQUNuQixzQkFBc0I7Y0FEbEMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFtQmxDLE1BQU0sT0FBTyxtQkFDWCxTQUFRLGFBQWE7SUFOdkI7O1FBU1UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBUy9DO0lBUFUsU0FBUyxDQUNoQixHQUF1QixFQUN2QixJQUFjLEVBQ2QsY0FBd0I7UUFFeEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RSxDQUFDO2dQQVpVLG1CQUFtQixTQUFuQixtQkFBbUI7eUZBQW5CLG1CQUFtQjs7aUZBQW5CLG1CQUFtQjtjQUwvQixJQUFJO2VBQUM7Z0JBQ0osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxLQUFLO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBHTE9CQUxfQ0xVU1RFUixcbiAgaXNCdWlsdEluTGFuZ3VhZ2UsXG4gIFRyYW5zbGF0ZUtleSxcbiAgVHJhbnNsYXRlUGlwZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJVTlRJTUUgfSBmcm9tICcuL3J1bnRpbWUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2NvcGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgbG9hZGVkTGFuZyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIHJlYWRvbmx5IHNjb3BlID0gdGhpcy5nZXRTY29wZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGlvbnNMaXN0LmZpbmQoXG4gICAgICAgIGl0ZW0gPT4gaXRlbT8uW3RoaXMudHJhbnNsYXRlLmxvY2FsZV0/Llt0aGlzLnNjb3BlXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0dXBJMThuQXNzZXRzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2NvcGVkS2V5KGtleTogVHJhbnNsYXRlS2V5KSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2NvcGV9LiR7a2V5fWA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldHVwSTE4bkFzc2V0cygpIHtcbiAgICBjb25zdCBsYW5nID0gdGhpcy50cmFuc2xhdGUubG9jYWxlO1xuICAgIGlmIChpc0J1aWx0SW5MYW5ndWFnZShsYW5nKSkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuYWRkVHJhbnNsYXRpb25zKHtcbiAgICAgICAgW2xhbmddOiB7IFt0aGlzLnNjb3BlXTogYXdhaXQgdGhpcy5sb2FkVHJhbnNsYXRpb25zKGxhbmcpIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgW2VuLCBvdGhlcl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9ucygnZW4nKSxcbiAgICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb25zKGxhbmcpLFxuICAgICAgXSk7XG5cbiAgICAgIHRoaXMudHJhbnNsYXRlLmFkZFRyYW5zbGF0aW9ucyh7XG4gICAgICAgIFtsYW5nXTogeyBbdGhpcy5zY29wZV06IE9iamVjdC5hc3NpZ24oZW4sIG90aGVyKSB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY29wZSgpIHtcbiAgICBjb25zdCBjbHVzdGVyID0gaXNCdWlsdEluTGFuZ3VhZ2UodGhpcy50cmFuc2xhdGUubG9jYWxlKVxuICAgICAgPyBSVU5USU1FLmNsdXN0ZXJcbiAgICAgIDogR0xPQkFMX0NMVVNURVI7XG4gICAgcmV0dXJuIGBwbHVnaW5fXyR7Y2x1c3Rlcn1+JHtSVU5USU1FLnBsdWdpbk5hbWV9fiR7UlVOVElNRS5hcHBOYW1lfWA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubG9hZGVkTGFuZy5oYXMobGFuZykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRlZExhbmcuYWRkKGxhbmcpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hJMThuRmlsZShsYW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hJMThuRmlsZShsYW5nOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXRoID0gaXNCdWlsdEluTGFuZ3VhZ2UobGFuZylcbiAgICAgID8gUlVOVElNRS5wdWJsaWNQYXRoICsgJ2Fzc2V0cy9pMThuLycgKyBsYW5nICsgJy5qc29uJ1xuICAgICAgOiBgL2NvbnNvbGUtaTE4bi8ke2xhbmd9L3BsdWdpbl9fJHtSVU5USU1FLnBsdWdpbk5hbWV9fiR7UlVOVElNRS5hcHBOYW1lfS5qc29uYDtcbiAgICByZXR1cm4gZmV0Y2gocGF0aClcbiAgICAgIC50aGVuKHJlcyA9PiByZXMuanNvbigpKVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYEZhaWxlZCB0byBsb2FkIGkxOG4gZmlsZSBmb3IgcGx1Z2luICR7UlVOVElNRS5wbHVnaW5OYW1lfX4ke1JVTlRJTUUuYXBwTmFtZX0gYW5kIGxhbmd1YWdlICR7bGFuZ31gLFxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH0pO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2NvcGVkVHJhbnNsYXRlU2VydmljZSB7XG4gIHByaXZhdGUgc2NvcGUgPSBpbmplY3QoVHJhbnNsYXRlU2NvcGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgZ2V0KGtleTogVHJhbnNsYXRlS2V5LCBkYXRhPzogdW5rbm93biwgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoXG4gICAgICB0aGlzLnNjb3BlLmdldFNjb3BlZEtleShrZXkpLFxuICAgICAgZGF0YSxcbiAgICAgIGlnbm9yZU5vbkV4aXN0LFxuICAgICk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnc2NvcGVkVHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNjb3BlZFRyYW5zbGF0ZVBpcGVcbiAgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIHNjb3BlID0gaW5qZWN0KFRyYW5zbGF0ZVNjb3BlU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKFxuICAgIGtleTogVHJhbnNsYXRlS2V5IHwgYW55LFxuICAgIGRhdGE/OiB1bmtub3duLFxuICAgIGlnbm9yZU5vbkV4aXN0PzogYm9vbGVhbixcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKHRoaXMuc2NvcGUuZ2V0U2NvcGVkS2V5KGtleSksIGRhdGEsIGlnbm9yZU5vbkV4aXN0KTtcbiAgfVxufVxuIl19
|
package/index.d.ts
CHANGED
package/lib/app-extensions.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Translations } from '@alauda-fe/common';
|
|
1
2
|
import { Extension } from './extensions-loader';
|
|
2
|
-
export declare function getAppExtensions(type: string, cluster?: string): Extension<
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function getAppExtensions<T = any>(type: string | string[], cluster?: string): Array<Extension<T>>;
|
|
4
|
+
export declare function getAppExtensionTranslations(): Translations[];
|
|
5
|
+
export declare function setupAppExtensions(host: string): Promise<Extension<any>[]>;
|
|
@@ -11,5 +11,5 @@ export declare class RemoteComponentOutletComponent {
|
|
|
11
11
|
component: import("@angular/core").Signal<Type<Component>>;
|
|
12
12
|
constructor();
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<RemoteComponentOutletComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RemoteComponentOutletComponent, "
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RemoteComponentOutletComponent, "plg-remote-component-outlet", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "entrypoint": { "alias": "entrypoint"; "required": true; "isSignal": true; }; "expose": { "alias": "expose"; "required": false; "isSignal": true; }; "inputs": { "alias": "inputs"; "required": false; "isSignal": true; }; "injector": { "alias": "injector"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
15
15
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Extension } from '../extensions-loader';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface AccountMenuItemPluginOption {
|
|
5
|
+
index?: number;
|
|
6
|
+
expose?: string;
|
|
7
|
+
component: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getAccountMenuItems(scope: string): Extension<AccountMenuItemPluginOption>[];
|
|
10
|
+
export declare class RemoteAccountMenuItemsComponent implements OnInit {
|
|
11
|
+
scope: import("@angular/core").InputSignal<string>;
|
|
12
|
+
accountMenuItems: Array<Extension<AccountMenuItemPluginOption>>;
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RemoteAccountMenuItemsComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RemoteAccountMenuItemsComponent, "plg-remote-account-menu-items", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Extension } from '../extensions-loader';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
interface HeaderActionsPluginOption {
|
|
5
|
+
index?: number;
|
|
6
|
+
expose?: string;
|
|
7
|
+
component: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getHeaderActions(scope: string): Extension<HeaderActionsPluginOption>[];
|
|
10
|
+
export declare class RemoteHeaderActionsComponent implements OnInit {
|
|
11
|
+
scope: import("@angular/core").InputSignal<string>;
|
|
12
|
+
headerActions: Array<Extension<HeaderActionsPluginOption>>;
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RemoteHeaderActionsComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RemoteHeaderActionsComponent, "plg-remote-header-actions", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Extension } from '../extensions-loader';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
interface HelpMenuItemPluginOption {
|
|
5
|
+
index?: number;
|
|
6
|
+
expose?: string;
|
|
7
|
+
component: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getHelpMenuItems(scope: string): Extension<HelpMenuItemPluginOption>[];
|
|
10
|
+
export declare class RemoteHelpMenuItemsComponent implements OnInit {
|
|
11
|
+
scope: import("@angular/core").InputSignal<string>;
|
|
12
|
+
helpMenuItems: Array<Extension<HelpMenuItemPluginOption>>;
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RemoteHelpMenuItemsComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RemoteHelpMenuItemsComponent, "plg-remote-help-menu-items", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { NavGroupConfig, NavItemConfig } from '@alauda-fe/common';
|
|
2
2
|
export declare function getRemoteNavigations(scope: string, locale: string): RemoteNavigationItemRoot[];
|
|
3
3
|
export declare function getRemoteNavigationGroups(scope: string, locale: string): RemoteNavigationItemRoot[];
|
|
4
4
|
export declare function insertNavItem(source: NavItemConfig[], remotes: RemoteNavigationItemRoot[]): NavItemConfig[];
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Route } from '@angular/router';
|
|
2
|
-
import { Extension } from '
|
|
2
|
+
import { Extension } from '../extensions-loader';
|
|
3
3
|
export declare function mapToRoute(ext: Extension<RouteOptions>, addition?: Partial<Route>): Route;
|
|
4
4
|
export declare function getRootRoutes(scope: string): Route[];
|
|
5
5
|
export declare function getFeatureRoutes(scope: string): Route[];
|
|
6
6
|
export interface RouteOptions {
|
|
7
7
|
path: string;
|
|
8
8
|
expose?: string;
|
|
9
|
+
clusterStrategy?: 'latest' | 'strict';
|
|
9
10
|
}
|
|
@@ -6,9 +6,10 @@ export interface ExtensionsQuery {
|
|
|
6
6
|
channels?: string[];
|
|
7
7
|
}
|
|
8
8
|
export interface Extension<T = any> extends RawExtension<T> {
|
|
9
|
-
cluster
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
cluster: string;
|
|
10
|
+
pluginName: string;
|
|
11
|
+
pluginVersion: string;
|
|
12
|
+
appName: string;
|
|
12
13
|
entrypoint: string;
|
|
13
14
|
}
|
|
14
15
|
interface RawExtension<T = any> {
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { Extension } from './extensions-loader';
|
|
2
2
|
export declare function isLocalEnv(): boolean;
|
|
3
|
+
export declare const LOCAL_DEV_EXTENSION_INFO: {
|
|
4
|
+
cluster: string;
|
|
5
|
+
pluginName: string;
|
|
6
|
+
pluginVersion: string;
|
|
7
|
+
appName: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function getBootMode(): 'standard' | 'safe';
|
|
3
10
|
export declare function loadRemote(remote: string, module: string): Promise<any>;
|
|
4
11
|
export declare function filterLatestVersion<O = any>(identity: (ext: O) => unknown): (exts: Array<Extension<O>>) => Array<Extension<O>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alauda-fe/plugin-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@nx/angular": "^16.10.0"
|
|
6
6
|
},
|
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
"esm2022": "./esm2022/alauda-fe-plugin-sdk.mjs",
|
|
25
25
|
"esm": "./esm2022/alauda-fe-plugin-sdk.mjs",
|
|
26
26
|
"default": "./esm2022/alauda-fe-plugin-sdk.mjs"
|
|
27
|
+
},
|
|
28
|
+
"./remote": {
|
|
29
|
+
"types": "./remote/index.d.ts",
|
|
30
|
+
"esm2022": "./esm2022/remote/alauda-fe-plugin-sdk-remote.mjs",
|
|
31
|
+
"esm": "./esm2022/remote/alauda-fe-plugin-sdk-remote.mjs",
|
|
32
|
+
"default": "./esm2022/remote/alauda-fe-plugin-sdk-remote.mjs"
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
35
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TranslateKey, TranslatePipe } from '@alauda-fe/common';
|
|
2
|
+
import { PipeTransform } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TranslateScopeService {
|
|
5
|
+
private translate;
|
|
6
|
+
private loadedLang;
|
|
7
|
+
readonly scope: string;
|
|
8
|
+
constructor();
|
|
9
|
+
getScopedKey(key: TranslateKey): string;
|
|
10
|
+
private setupI18nAssets;
|
|
11
|
+
private getScope;
|
|
12
|
+
private loadTranslations;
|
|
13
|
+
private fetchI18nFile;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TranslateScopeService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TranslateScopeService>;
|
|
16
|
+
}
|
|
17
|
+
export declare class ScopedTranslateService {
|
|
18
|
+
private scope;
|
|
19
|
+
private translate;
|
|
20
|
+
get(key: TranslateKey, data?: unknown, ignoreNonExist?: boolean): string;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScopedTranslateService, never>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ScopedTranslateService>;
|
|
23
|
+
}
|
|
24
|
+
export declare class ScopedTranslatePipe extends TranslatePipe implements PipeTransform {
|
|
25
|
+
private scope;
|
|
26
|
+
transform(key: TranslateKey | any, data?: unknown, ignoreNonExist?: boolean): string;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScopedTranslatePipe, never>;
|
|
28
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<ScopedTranslatePipe, "scopedTranslate", true>;
|
|
29
|
+
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { getAppExtensions } from './app-extensions';
|
|
2
|
-
import { filterLatestVersion } from './utils';
|
|
3
|
-
export function getRemoteNavigations(scope, locale) {
|
|
4
|
-
if (!scope) {
|
|
5
|
-
return [];
|
|
6
|
-
}
|
|
7
|
-
const exts = getAppExtensions(scope + '/navigation');
|
|
8
|
-
return filterLatestVersion((options) => options.name)(exts)
|
|
9
|
-
.map(ext => ext.options)
|
|
10
|
-
.map(options => translateLabel(locale, options));
|
|
11
|
-
}
|
|
12
|
-
export function getRemoteNavigationGroups(scope, locale) {
|
|
13
|
-
if (!scope) {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
const exts = getAppExtensions(scope + '/navigation/group');
|
|
17
|
-
return filterLatestVersion((options) => options.name)(exts)
|
|
18
|
-
.map(ext => ext.options)
|
|
19
|
-
.map(options => translateLabel(locale, options));
|
|
20
|
-
}
|
|
21
|
-
export function insertNavItem(source, remotes) {
|
|
22
|
-
remotes.forEach(remote => {
|
|
23
|
-
if (remote.insertAfter) {
|
|
24
|
-
const r = insert('after', remote.insertAfter, [], source, remote);
|
|
25
|
-
if (r.matched) {
|
|
26
|
-
source = r.result;
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
if (remote.insertBefore) {
|
|
31
|
-
const r = insert('before', remote.insertBefore, [], source, remote);
|
|
32
|
-
if (r.matched) {
|
|
33
|
-
source = r.result;
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
source = source.concat({
|
|
38
|
-
...remote,
|
|
39
|
-
key: remote.key ?? remote.name,
|
|
40
|
-
children: remote.children
|
|
41
|
-
? remote.children.map(child => ({
|
|
42
|
-
...child,
|
|
43
|
-
key: child.key ?? child.name,
|
|
44
|
-
}))
|
|
45
|
-
: null,
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
return source;
|
|
49
|
-
}
|
|
50
|
-
export function insertNavGroupItem(source, remotes) {
|
|
51
|
-
return source.map(group => {
|
|
52
|
-
const groupRemotes = remotes.filter(remote => remote.group === group.name);
|
|
53
|
-
return { ...group, items: insertNavItem(group.items, groupRemotes) };
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
function translateLabel(locale, item) {
|
|
57
|
-
return {
|
|
58
|
-
...item,
|
|
59
|
-
children: item.children
|
|
60
|
-
? item.children.map(c => translateLabel(locale, c))
|
|
61
|
-
: null,
|
|
62
|
-
label: typeof item.displayName === 'string'
|
|
63
|
-
? item.displayName
|
|
64
|
-
: item.displayName[locale] || item.displayName['en'],
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
function insert(position, anchor, namePath, target, item) {
|
|
68
|
-
const offset = position === 'before' ? 0 : 1;
|
|
69
|
-
anchor = Array.isArray(anchor) ? anchor : [anchor];
|
|
70
|
-
for (const currentAnchor of anchor) {
|
|
71
|
-
for (let i = 0; i < target.length; i++) {
|
|
72
|
-
if (target[i].name === currentAnchor) {
|
|
73
|
-
return {
|
|
74
|
-
result: [
|
|
75
|
-
...target.slice(0, i + offset),
|
|
76
|
-
{ ...item, key: namePath.join('/') + item.name },
|
|
77
|
-
...target.slice(i + offset),
|
|
78
|
-
],
|
|
79
|
-
matched: true,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
if (target[i].children) {
|
|
83
|
-
const { result, matched } = insert(position, currentAnchor, namePath.concat(target[i].name), target[i].children, item);
|
|
84
|
-
if (matched) {
|
|
85
|
-
return {
|
|
86
|
-
result: target.map((item, index) => index === i
|
|
87
|
-
? {
|
|
88
|
-
...item,
|
|
89
|
-
children: result,
|
|
90
|
-
}
|
|
91
|
-
: item),
|
|
92
|
-
matched: true,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
result: target,
|
|
100
|
-
matched: false,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9zcmMvbGliL25hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTlDLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsS0FBYSxFQUNiLE1BQWM7SUFFZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFFckQsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDMUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQW1DLENBQUM7U0FDbkQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLEtBQWEsRUFDYixNQUFjO0lBRWQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLENBQUM7SUFFM0QsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDMUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMs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QUFJLENBQ0wsQ0FBQztnQkFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLE9BQU87d0JBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDakMsS0FBSyxLQUFLLENBQUM7NEJBQ1QsQ0FBQyxDQUFDO2dDQUNFLEdBQUcsSUFBSTtnQ0FDUCxRQUFRLEVBQUUsTUFBTTs2QkFDakI7NEJBQ0gsQ0FBQyxDQUFDLElBQUksQ0FDVDt3QkFDRCxPQUFPLEVBQUUsSUFBSTtxQkFDZCxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOYXZHcm91cENvbmZpZywgTmF2SXRlbUNvbmZpZyB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0QXBwRXh0ZW5zaW9ucyB9IGZyb20gJy4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgZmlsdGVyTGF0ZXN0VmVyc2lvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlTmF2aWdhdGlvbnMoXG4gIHNjb3BlOiBzdHJpbmcsXG4gIGxvY2FsZTogc3RyaW5nLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10ge1xuICBpZiAoIXNjb3BlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL25hdmlnYXRpb24nKTtcblxuICByZXR1cm4gZmlsdGVyTGF0ZXN0VmVyc2lvbigob3B0aW9uczogeyBuYW1lOiBzdHJpbmcgfSkgPT4gb3B0aW9ucy5uYW1lKShleHRzKVxuICAgIC5tYXAoZXh0ID0+IGV4dC5vcHRpb25zIGFzIFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdClcbiAgICAubWFwKG9wdGlvbnMgPT4gdHJhbnNsYXRlTGFiZWwobG9jYWxlLCBvcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYXZpZ2F0aW9uR3JvdXBzKFxuICBzY29wZTogc3RyaW5nLFxuICBsb2NhbGU6IHN0cmluZyxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdIHtcbiAgaWYgKCFzY29wZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGV4dHMgPSBnZXRBcHBFeHRlbnNpb25zKHNjb3BlICsgJy9uYXZpZ2F0aW9uL2dyb3VwJyk7XG5cbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IHsgbmFtZTogc3RyaW5nIH0pID0+IG9wdGlvbnMubmFtZSkoZXh0cylcbiAgICAubWFwKGV4dCA9PiBleHQub3B0aW9ucyBhcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QpXG4gICAgLm1hcChvcHRpb25zID0+IHRyYW5zbGF0ZUxhYmVsKGxvY2FsZSwgb3B0aW9ucykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TmF2SXRlbShcbiAgc291cmNlOiBOYXZJdGVtQ29uZmlnW10sXG4gIHJlbW90ZXM6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdLFxuKTogTmF2SXRlbUNvbmZpZ1tdIHtcbiAgcmVtb3Rlcy5mb3JFYWNoKHJlbW90ZSA9PiB7XG4gICAgaWYgKHJlbW90ZS5pbnNlcnRBZnRlcikge1xuICAgICAgY29uc3QgciA9IGluc2VydCgnYWZ0ZXInLCByZW1vdGUuaW5zZXJ0QWZ0ZXIsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlbW90ZS5pbnNlcnRCZWZvcmUpIHtcbiAgICAgIGNvbnN0IHIgPSBpbnNlcnQoJ2JlZm9yZScsIHJlbW90ZS5pbnNlcnRCZWZvcmUsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlID0gc291cmNlLmNvbmNhdCh7XG4gICAgICAuLi5yZW1vdGUsXG4gICAgICBrZXk6IHJlbW90ZS5rZXkgPz8gcmVtb3RlLm5hbWUsXG4gICAgICBjaGlsZHJlbjogcmVtb3RlLmNoaWxkcmVuXG4gICAgICAgID8gcmVtb3RlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgICBrZXk6IGNoaWxkLmtleSA/PyBjaGlsZC5uYW1lLFxuICAgICAgICAgIH0pKVxuICAgICAgICA6IG51bGwsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBzb3VyY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnROYXZHcm91cEl0ZW0oXG4gIHNvdXJjZTogTmF2R3JvdXBDb25maWdbXSxcbiAgcmVtb3RlczogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10sXG4pOiBOYXZHcm91cENvbmZpZ1tdIHtcbiAgcmV0dXJuIHNvdXJjZS5tYXAoZ3JvdXAgPT4ge1xuICAgIGNvbnN0IGdyb3VwUmVtb3RlcyA9IHJlbW90ZXMuZmlsdGVyKHJlbW90ZSA9PiByZW1vdGUuZ3JvdXAgPT09IGdyb3VwLm5hbWUpO1xuICAgIHJldHVybiB7IC4uLmdyb3VwLCBpdGVtczogaW5zZXJ0TmF2SXRlbShncm91cC5pdGVtcywgZ3JvdXBSZW1vdGVzKSB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIE5hdkl0ZW1Db25maWcge1xuICBncm91cD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGNoaWxkcmVuPzogUmVtb3RlTmF2aWdhdGlvbkl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QgZXh0ZW5kcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbSB7XG4gIGluc2VydEFmdGVyPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGluc2VydEJlZm9yZT86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG5mdW5jdGlvbiB0cmFuc2xhdGVMYWJlbChcbiAgbG9jYWxlOiBzdHJpbmcsXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICByZXR1cm4ge1xuICAgIC4uLml0ZW0sXG4gICAgY2hpbGRyZW46IGl0ZW0uY2hpbGRyZW5cbiAgICAgID8gaXRlbS5jaGlsZHJlbi5tYXAoYyA9PiB0cmFuc2xhdGVMYWJlbChsb2NhbGUsIGMpKVxuICAgICAgOiBudWxsLFxuICAgIGxhYmVsOlxuICAgICAgdHlwZW9mIGl0ZW0uZGlzcGxheU5hbWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8gaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICA6IGl0ZW0uZGlzcGxheU5hbWVbbG9jYWxlXSB8fCBpdGVtLmRpc3BsYXlOYW1lWydlbiddLFxuICB9O1xufVxuXG5mdW5jdGlvbiBpbnNlcnQoXG4gIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicsXG4gIGFuY2hvcjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG5hbWVQYXRoOiBzdHJpbmdbXSxcbiAgdGFyZ2V0OiBOYXZJdGVtQ29uZmlnW10sXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdCxcbik6IHsgcmVzdWx0OiBOYXZJdGVtQ29uZmlnW107IG1hdGNoZWQ6IGJvb2xlYW4gfSB7XG4gIGNvbnN0IG9mZnNldCA9IHBvc2l0aW9uID09PSAnYmVmb3JlJyA/IDAgOiAxO1xuICBhbmNob3IgPSBBcnJheS5pc0FycmF5KGFuY2hvcikgPyBhbmNob3IgOiBbYW5jaG9yXTtcblxuICBmb3IgKGNvbnN0IGN1cnJlbnRBbmNob3Igb2YgYW5jaG9yKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YXJnZXQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0YXJnZXRbaV0ubmFtZSA9PT0gY3VycmVudEFuY2hvcikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3VsdDogW1xuICAgICAgICAgICAgLi4udGFyZ2V0LnNsaWNlKDAsIGkgKyBvZmZzZXQpLFxuICAgICAgICAgICAgeyAuLi5pdGVtLCBrZXk6IG5hbWVQYXRoLmpvaW4oJy8nKSArIGl0ZW0ubmFtZSB9LFxuICAgICAgICAgICAgLi4udGFyZ2V0LnNsaWNlKGkgKyBvZmZzZXQpLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbWF0Y2hlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRhcmdldFtpXS5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCB7IHJlc3VsdCwgbWF0Y2hlZCB9ID0gaW5zZXJ0KFxuICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgIGN1cnJlbnRBbmNob3IsXG4gICAgICAgICAgbmFtZVBhdGguY29uY2F0KHRhcmdldFtpXS5uYW1lKSxcbiAgICAgICAgICB0YXJnZXRbaV0uY2hpbGRyZW4sXG4gICAgICAgICAgaXRlbSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzdWx0OiB0YXJnZXQubWFwKChpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IGl0ZW0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWF0Y2hlZDogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZXN1bHQ6IHRhcmdldCxcbiAgICBtYXRjaGVkOiBmYWxzZSxcbiAgfTtcbn1cbiJdfQ==
|
package/esm2022/lib/route.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { getAppExtensions } from './app-extensions';
|
|
2
|
-
import { filterLatestVersion, loadRemote } from './utils';
|
|
3
|
-
export function mapToRoute(ext, addition = {}) {
|
|
4
|
-
return {
|
|
5
|
-
path: ext.options.path,
|
|
6
|
-
loadChildren: () => loadRemote(ext.entrypoint, ext.options.expose ?? './Routes').then(m => m.default),
|
|
7
|
-
...addition,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export function getRootRoutes(scope) {
|
|
11
|
-
const exts = getAppExtensions(scope + '/routes/root');
|
|
12
|
-
return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
|
|
13
|
-
}
|
|
14
|
-
export function getFeatureRoutes(scope) {
|
|
15
|
-
const exts = getAppExtensions(scope + '/routes/feature');
|
|
16
|
-
return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFELE1BQU0sVUFBVSxVQUFVLENBQ3hCLEdBQTRCLEVBQzVCLFdBQTJCLEVBQUU7SUFFN0IsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDdEIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUNqQixVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQy9ELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDZjtRQUNILEdBQUcsUUFBUTtLQUNaLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3pDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQztJQUN0RCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDM0UsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQ3ZCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWE7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFDekQsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDLE9BQXFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQzNFLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgZ2V0QXBwRXh0ZW5zaW9ucyB9IGZyb20gJy4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi9leHRlbnNpb25zLWxvYWRlcic7XG5pbXBvcnQgeyBmaWx0ZXJMYXRlc3RWZXJzaW9uLCBsb2FkUmVtb3RlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBUb1JvdXRlKFxuICBleHQ6IEV4dGVuc2lvbjxSb3V0ZU9wdGlvbnM+LFxuICBhZGRpdGlvbjogUGFydGlhbDxSb3V0ZT4gPSB7fSxcbik6IFJvdXRlIHtcbiAgcmV0dXJuIHtcbiAgICBwYXRoOiBleHQub3B0aW9ucy5wYXRoLFxuICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgIGxvYWRSZW1vdGUoZXh0LmVudHJ5cG9pbnQsIGV4dC5vcHRpb25zLmV4cG9zZSA/PyAnLi9Sb3V0ZXMnKS50aGVuKFxuICAgICAgICBtID0+IG0uZGVmYXVsdCxcbiAgICAgICksXG4gICAgLi4uYWRkaXRpb24sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290Um91dGVzKHNjb3BlOiBzdHJpbmcpIHtcbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL3JvdXRlcy9yb290Jyk7XG4gIHJldHVybiBmaWx0ZXJMYXRlc3RWZXJzaW9uKChvcHRpb25zOiBSb3V0ZU9wdGlvbnMpID0+IG9wdGlvbnMucGF0aCkoZXh0cykubWFwKFxuICAgIGV4dCA9PiBtYXBUb1JvdXRlKGV4dCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGZWF0dXJlUm91dGVzKHNjb3BlOiBzdHJpbmcpIHtcbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL3JvdXRlcy9mZWF0dXJlJyk7XG4gIHJldHVybiBmaWx0ZXJMYXRlc3RWZXJzaW9uKChvcHRpb25zOiBSb3V0ZU9wdGlvbnMpID0+IG9wdGlvbnMucGF0aCkoZXh0cykubWFwKFxuICAgIGV4dCA9PiBtYXBUb1JvdXRlKGV4dCksXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVPcHRpb25zIHtcbiAgcGF0aDogc3RyaW5nO1xuICBleHBvc2U/OiBzdHJpbmc7XG59XG4iXX0=
|