@worktile/planet 12.1.2 → 14.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +422 -0
- package/LICENSE +21 -0
- package/README.md +348 -0
- package/application/planet-application-loader.d.ts +3 -0
- package/application/planet-application-loader.d.ts.map +1 -1
- package/application/planet-application.service.d.ts +3 -0
- package/application/planet-application.service.d.ts.map +1 -1
- package/assets-loader.d.ts +3 -0
- package/assets-loader.d.ts.map +1 -1
- package/component/planet-component-loader.d.ts +3 -0
- package/component/planet-component-loader.d.ts.map +1 -1
- package/empty/empty.component.d.ts +3 -0
- package/empty/empty.component.d.ts.map +1 -1
- package/esm2020/application/planet-application-loader.mjs +454 -0
- package/esm2020/application/planet-application-ref.mjs +94 -0
- package/{esm2015/application/planet-application.service.js → esm2020/application/planet-application.service.mjs} +9 -11
- package/{esm2015/application/portal-application.js → esm2020/application/portal-application.mjs} +0 -0
- package/{esm2015/assets-loader.js → esm2020/assets-loader.mjs} +9 -10
- package/esm2020/component/planet-component-loader.mjs +153 -0
- package/{esm2015/component/planet-component-ref.js → esm2020/component/planet-component-ref.mjs} +0 -0
- package/{esm2015/component/plant-component.config.js → esm2020/component/plant-component.config.mjs} +0 -0
- package/{esm2015/debug.js → esm2020/debug.mjs} +0 -0
- package/esm2020/empty/empty.component.mjs +15 -0
- package/{esm2015/global-event-dispatcher.js → esm2020/global-event-dispatcher.mjs} +9 -10
- package/esm2020/global-planet.mjs +53 -0
- package/{esm2015/helpers.js → esm2020/helpers.mjs} +0 -0
- package/esm2020/module.mjs +31 -0
- package/{esm2015/planet.class.js → esm2020/planet.class.mjs} +0 -0
- package/esm2020/planet.mjs +91 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/sandbox/constants.js → esm2020/sandbox/constants.mjs} +0 -0
- package/{esm2015/sandbox/exec.js → esm2020/sandbox/exec.mjs} +0 -0
- package/{esm2015/sandbox/index.js → esm2020/sandbox/index.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/document.js → esm2020/sandbox/proxy/patches/document.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/eventListener.js → esm2020/sandbox/proxy/patches/eventListener.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/index.js → esm2020/sandbox/proxy/patches/index.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/storage.js → esm2020/sandbox/proxy/patches/storage.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/timer.js → esm2020/sandbox/proxy/patches/timer.mjs} +0 -0
- package/{esm2015/sandbox/proxy/proxies/common.js → esm2020/sandbox/proxy/proxies/common.mjs} +2 -2
- package/{esm2015/sandbox/proxy/proxies/document.js → esm2020/sandbox/proxy/proxies/document.mjs} +0 -0
- package/{esm2015/sandbox/proxy/proxies/window.js → esm2020/sandbox/proxy/proxies/window.mjs} +5 -2
- package/{esm2015/sandbox/proxy/proxy-sandbox.js → esm2020/sandbox/proxy/proxy-sandbox.mjs} +2 -2
- package/{esm2015/sandbox/proxy/types.js → esm2020/sandbox/proxy/types.mjs} +0 -0
- package/{esm2015/sandbox/sandbox.js → esm2020/sandbox/sandbox.mjs} +0 -0
- package/{esm2015/sandbox/snapshot/snapshot-sandbox.js → esm2020/sandbox/snapshot/snapshot-sandbox.mjs} +0 -0
- package/{esm2015/sandbox/types.js → esm2020/sandbox/types.mjs} +0 -0
- package/esm2020/worktile-planet.mjs +5 -0
- package/fesm2015/{worktile-planet.js → worktile-planet.mjs} +231 -230
- package/fesm2015/worktile-planet.mjs.map +1 -0
- package/fesm2020/worktile-planet.mjs +2046 -0
- package/fesm2020/worktile-planet.mjs.map +1 -0
- package/global-event-dispatcher.d.ts +3 -0
- package/global-event-dispatcher.d.ts.map +1 -1
- package/index.d.ts +6 -0
- package/module.d.ts +6 -0
- package/module.d.ts.map +1 -1
- package/package.json +24 -12
- package/planet.d.ts +3 -0
- package/planet.d.ts.map +1 -1
- package/worktile-planet.d.ts.map +1 -1
- package/application/planet-application-loader.ngfactory.d.ts.map +0 -1
- package/application/planet-application.service.ngfactory.d.ts.map +0 -1
- package/assets-loader.ngfactory.d.ts.map +0 -1
- package/bundles/worktile-planet.umd.js +0 -2564
- package/bundles/worktile-planet.umd.js.map +0 -1
- package/component/planet-component-loader.ngfactory.d.ts.map +0 -1
- package/empty/empty.component.ngfactory.d.ts.map +0 -1
- package/esm2015/application/planet-application-loader.js +0 -457
- package/esm2015/application/planet-application-ref.js +0 -97
- package/esm2015/component/planet-component-loader.js +0 -155
- package/esm2015/empty/empty.component.js +0 -10
- package/esm2015/global-planet.js +0 -54
- package/esm2015/module.js +0 -27
- package/esm2015/planet.js +0 -91
- package/esm2015/worktile-planet.js +0 -6
- package/fesm2015/worktile-planet.js.map +0 -1
- package/global-event-dispatcher.ngfactory.d.ts.map +0 -1
- package/module.ngfactory.d.ts.map +0 -1
- package/planet.ngfactory.d.ts.map +0 -1
- package/worktile-planet.d.ts +0 -6
- package/worktile-planet.metadata.json +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { Router, NavigationEnd } from '@angular/router';
|
|
3
|
+
import { take } from 'rxjs/operators';
|
|
4
|
+
import { from } from 'rxjs';
|
|
5
|
+
import { getTagNameByTemplate } from '../helpers';
|
|
6
|
+
import { getSandboxInstance } from '../sandbox/';
|
|
7
|
+
export class PlanetApplicationRef {
|
|
8
|
+
constructor(name, options) {
|
|
9
|
+
this.name = name;
|
|
10
|
+
if (options) {
|
|
11
|
+
this.template = options.template;
|
|
12
|
+
this.innerSelector = this.template ? getTagNameByTemplate(this.template) : '';
|
|
13
|
+
this.appModuleBootstrap = options.bootstrap;
|
|
14
|
+
}
|
|
15
|
+
// This is a hack, since NgZone doesn't allow you to configure the property that identifies your zone.
|
|
16
|
+
// See https://github.com/PlaceMe-SAS/single-spa-angular-cli/issues/33,
|
|
17
|
+
NgZone.isInAngularZone = () => {
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
return window.Zone.current._properties[`ngx-planet-${name}`] === true;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
get selector() {
|
|
23
|
+
return this.innerSelector;
|
|
24
|
+
}
|
|
25
|
+
get bootstrapped() {
|
|
26
|
+
return !!this.appModuleRef;
|
|
27
|
+
}
|
|
28
|
+
get ngZone() {
|
|
29
|
+
return this.appModuleRef?.injector.get(NgZone);
|
|
30
|
+
}
|
|
31
|
+
get sandbox() {
|
|
32
|
+
return getSandboxInstance();
|
|
33
|
+
}
|
|
34
|
+
// 子应用路由变化后同步修改 portal 的 Route
|
|
35
|
+
syncPortalRouteWhenNavigationEnd() {
|
|
36
|
+
const router = this.appModuleRef?.injector.get(Router);
|
|
37
|
+
if (router) {
|
|
38
|
+
router.events.subscribe(event => {
|
|
39
|
+
if (event instanceof NavigationEnd) {
|
|
40
|
+
this.ngZone?.onStable
|
|
41
|
+
.asObservable()
|
|
42
|
+
.pipe(take(1))
|
|
43
|
+
.subscribe(() => {
|
|
44
|
+
this.portalApp.router.navigateByUrl(event.url);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
bootstrap(app) {
|
|
51
|
+
if (!this.appModuleBootstrap) {
|
|
52
|
+
throw new Error(`app(${this.name}) is not defined`);
|
|
53
|
+
}
|
|
54
|
+
this.portalApp = app;
|
|
55
|
+
return from(this.appModuleBootstrap(app).then(appModuleRef => {
|
|
56
|
+
this.appModuleRef = appModuleRef;
|
|
57
|
+
this.appModuleRef.instance.appName = this.name;
|
|
58
|
+
this.syncPortalRouteWhenNavigationEnd();
|
|
59
|
+
return this;
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
getRouter() {
|
|
63
|
+
return this.appModuleRef?.injector.get(Router);
|
|
64
|
+
}
|
|
65
|
+
getCurrentRouterStateUrl() {
|
|
66
|
+
return this.getRouter()?.routerState.snapshot.url;
|
|
67
|
+
}
|
|
68
|
+
navigateByUrl(url) {
|
|
69
|
+
const router = this.getRouter();
|
|
70
|
+
this.ngZone?.run(() => {
|
|
71
|
+
router?.navigateByUrl(url);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
getComponentFactory() {
|
|
75
|
+
return this.componentFactory;
|
|
76
|
+
}
|
|
77
|
+
registerComponentFactory(componentFactory) {
|
|
78
|
+
this.componentFactory = componentFactory;
|
|
79
|
+
}
|
|
80
|
+
destroy() {
|
|
81
|
+
if (this.appModuleRef) {
|
|
82
|
+
const router = this.appModuleRef.injector.get(Router);
|
|
83
|
+
if (router) {
|
|
84
|
+
router.dispose();
|
|
85
|
+
}
|
|
86
|
+
if (this.sandbox) {
|
|
87
|
+
this.sandbox.destroy();
|
|
88
|
+
}
|
|
89
|
+
this.appModuleRef.destroy();
|
|
90
|
+
this.appModuleRef = undefined;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFwcGxpY2F0aW9uLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBVyxNQUFNLGFBQWEsQ0FBQztBQWMxRCxNQUFNLE9BQU8sb0JBQW9CO0lBeUI3QixZQUFZLElBQVksRUFBRSxPQUEwQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQy9DO1FBQ0Qsc0dBQXNHO1FBQ3RHLHVFQUF1RTtRQUN2RSxNQUFNLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRTtZQUMxQixhQUFhO1lBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxLQUFL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QUM7WUFDdEQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3BCO1lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDMUI7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGVSZWYsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbiB9IGZyb20gJy4vcG9ydGFsLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBsYW50Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50L3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgUGxhbmV0Q29tcG9uZW50UmVmIH0gZnJvbSAnLi4vY29tcG9uZW50L3BsYW5ldC1jb21wb25lbnQtcmVmJztcbmltcG9ydCB7IGdldFRhZ05hbWVCeVRlbXBsYXRlIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBnZXRTYW5kYm94SW5zdGFuY2UsIFNhbmRib3ggfSBmcm9tICcuLi9zYW5kYm94Lyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vdHN0cmFwT3B0aW9ucyB7XG4gICAgdGVtcGxhdGU6IHN0cmluZztcbiAgICBib290c3RyYXA6IEJvb3RzdHJhcEFwcE1vZHVsZTtcbn1cblxuZXhwb3J0IHR5cGUgQm9vdHN0cmFwQXBwTW9kdWxlID0gKHBvcnRhbEFwcDogUGxhbmV0UG9ydGFsQXBwbGljYXRpb24pID0+IFByb21pc2U8TmdNb2R1bGVSZWY8YW55PiB8IHVuZGVmaW5lZCB8IG51bGw+O1xuXG5leHBvcnQgdHlwZSBQbGFudENvbXBvbmVudEZhY3RvcnkgPSA8VERhdGEsIFRDb21wPihcbiAgICBjb21wb25lbnROYW1lOiBzdHJpbmcsXG4gICAgY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZzxURGF0YT5cbikgPT4gUGxhbmV0Q29tcG9uZW50UmVmPFRDb21wPjtcblxuZXhwb3J0IGNsYXNzIFBsYW5ldEFwcGxpY2F0aW9uUmVmIHtcbiAgICBwdWJsaWMgYXBwTW9kdWxlUmVmPzogTmdNb2R1bGVSZWY8YW55PjtcbiAgICBwdWJsaWMgdGVtcGxhdGU/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpbm5lclNlbGVjdG9yPzogc3RyaW5nO1xuICAgIHByaXZhdGUgbmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgcG9ydGFsQXBwITogUGxhbmV0UG9ydGFsQXBwbGljYXRpb247XG4gICAgcHJpdmF0ZSBhcHBNb2R1bGVCb290c3RyYXA/OiBCb290c3RyYXBBcHBNb2R1bGU7XG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5PzogUGxhbnRDb21wb25lbnRGYWN0b3J5O1xuXG4gICAgcHVibGljIGdldCBzZWxlY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5uZXJTZWxlY3RvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJvb3RzdHJhcHBlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5hcHBNb2R1bGVSZWY7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBuZ1pvbmUoKTogTmdab25lIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwTW9kdWxlUmVmPy5pbmplY3Rvci5nZXQoTmdab25lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNhbmRib3goKTogU2FuZGJveCB7XG4gICAgICAgIHJldHVybiBnZXRTYW5kYm94SW5zdGFuY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBCb290c3RyYXBPcHRpb25zKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0gb3B0aW9ucy50ZW1wbGF0ZTtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJTZWxlY3RvciA9IHRoaXMudGVtcGxhdGUgPyBnZXRUYWdOYW1lQnlUZW1wbGF0ZSh0aGlzLnRlbXBsYXRlKSA6ICcnO1xuICAgICAgICAgICAgdGhpcy5hcHBNb2R1bGVCb290c3RyYXAgPSBvcHRpb25zLmJvb3RzdHJhcDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGlzIGlzIGEgaGFjaywgc2luY2UgTmdab25lIGRvZXNuJ3QgYWxsb3cgeW91IHRvIGNvbmZpZ3VyZSB0aGUgcHJvcGVydHkgdGhhdCBpZGVudGlmaWVzIHlvdXIgem9uZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9QbGFjZU1lLVNBUy9zaW5nbGUtc3BhLWFuZ3VsYXItY2xpL2lzc3Vlcy8zMyxcbiAgICAgICAgTmdab25lLmlzSW5Bbmd1bGFyWm9uZSA9ICgpID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3cuWm9uZS5jdXJyZW50Ll9wcm9wZXJ0aWVzW2BuZ3gtcGxhbmV0LSR7bmFtZX1gXSA9PT0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyDlrZDlupTnlKjot6/nlLHlj5jljJblkI7lkIzmraXkv67mlLkgcG9ydGFsIOeahCBSb3V0ZVxuICAgIHByaXZhdGUgc3luY1BvcnRhbFJvdXRlV2hlbk5hdmlnYXRpb25FbmQoKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlciA9IHRoaXMuYXBwTW9kdWxlUmVmPy5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICAgICAgaWYgKHJvdXRlcikge1xuICAgICAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmU/Lm9uU3RhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcnRhbEFwcC5yb3V0ZXIhLm5hdmlnYXRlQnlVcmwoZXZlbnQudXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYm9vdHN0cmFwKGFwcDogUGxhbmV0UG9ydGFsQXBwbGljYXRpb24pOiBPYnNlcnZhYmxlPHRoaXM+IHtcbiAgICAgICAgaWYgKCF0aGlzLmFwcE1vZHVsZUJvb3RzdHJhcCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBhcHAoJHt0aGlzLm5hbWV9KSBpcyBub3QgZGVmaW5lZGApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucG9ydGFsQXBwID0gYXBwO1xuICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAgIHRoaXMuYXBwTW9kdWxlQm9vdHN0cmFwKGFwcCkudGhlbihhcHBNb2R1bGVSZWYgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwTW9kdWxlUmVmID0gYXBwTW9kdWxlUmVmITtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcE1vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lID0gdGhpcy5uYW1lO1xuICAgICAgICAgICAgICAgIHRoaXMuc3luY1BvcnRhbFJvdXRlV2hlbk5hdmlnYXRpb25FbmQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0Um91dGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBNb2R1bGVSZWY/LmluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgIH1cblxuICAgIGdldEN1cnJlbnRSb3V0ZXJTdGF0ZVVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um91dGVyKCk/LnJvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcbiAgICB9XG5cbiAgICBuYXZpZ2F0ZUJ5VXJsKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJvdXRlciA9IHRoaXMuZ2V0Um91dGVyKCk7XG4gICAgICAgIHRoaXMubmdab25lPy5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgcm91dGVyPy5uYXZpZ2F0ZUJ5VXJsKHVybCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldENvbXBvbmVudEZhY3RvcnkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZhY3Rvcnk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudEZhY3Rvcnk6IFBsYW50Q29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnkgPSBjb21wb25lbnRGYWN0b3J5O1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFwcE1vZHVsZVJlZikge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVyID0gdGhpcy5hcHBNb2R1bGVSZWYuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gICAgICAgICAgICBpZiAocm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcm91dGVyLmRpc3Bvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnNhbmRib3gpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhbmRib3guZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hcHBNb2R1bGVSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5hcHBNb2R1bGVSZWYgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -74,14 +74,12 @@ export class PlanetApplicationService {
|
|
|
74
74
|
return this.apps;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
PlanetApplicationService.ɵ
|
|
78
|
-
PlanetApplicationService
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
];
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLekQsTUFBTSxPQUFPLHdCQUF3QjtJQUtqQyxZQUFvQixJQUFnQixFQUFVLFlBQTBCO1FBQXBELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUpoRSxTQUFJLEdBQXdCLEVBQUUsQ0FBQztRQUUvQixZQUFPLEdBQXlDLEVBQUUsQ0FBQztRQUd2RCxJQUFJLHFCQUFxQixFQUFFLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDWCw2RkFBNkYsQ0FDaEcsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBUyxTQUFrRTtRQUMvRSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDO2FBQ3JEO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFXO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNQLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUF5QixDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQW1CLEdBQVc7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLElBQUksR0FBRyxDQUFDLGdCQUFnQixZQUFZLE1BQU0sRUFBRTtnQkFDeEMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNILE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUMvQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZUFBMEI7UUFDdkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLElBQUksZUFBZSxFQUFFO2dCQUNqQixPQUFPLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3RDtpQkFBTTtnQkFDSCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDdEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7Ozs7WUE3RUosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFUUSxVQUFVO1lBSVYsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uIH0gZnJvbSAnLi4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzc2V0c0xvYWRlciB9IGZyb20gJy4uL2Fzc2V0cy1sb2FkZXInO1xuaW1wb3J0IHsgZ2V0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmFsLXBsYW5ldCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIGFwcHM6IFBsYW5ldEFwcGxpY2F0aW9uW10gPSBbXTtcblxuICAgIHByaXZhdGUgYXBwc01hcDogeyBba2V5OiBzdHJpbmddOiBQbGFuZXRBcHBsaWNhdGlvbiB9ID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgYXNzZXRzTG9hZGVyOiBBc3NldHNMb2FkZXIpIHtcbiAgICAgICAgaWYgKGdldEFwcGxpY2F0aW9uU2VydmljZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ1BsYW5ldEFwcGxpY2F0aW9uU2VydmljZSBoYXMgYmVlbiBpbmplY3RlZCBpbiB0aGUgcG9ydGFsLCByZXBlYXRlZCBpbmplY3Rpb24gaXMgbm90IGFsbG93ZWQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXI8VEV4dHJhPihhcHBPckFwcHM6IFBsYW5ldEFwcGxpY2F0aW9uPFRFeHRyYT4gfCBQbGFuZXRBcHBsaWNhdGlvbjxURXh0cmE+W10pIHtcbiAgICAgICAgY29uc3QgYXBwcyA9IGNvZXJjZUFycmF5KGFwcE9yQXBwcyk7XG4gICAgICAgIGFwcHMuZm9yRWFjaChhcHAgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXBwc01hcFthcHAubmFtZV0pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7YXBwLm5hbWV9IGhhcyBiZSByZWdpc3RlcmVkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hcHBzLnB1c2goYXBwKTtcbiAgICAgICAgICAgIHRoaXMuYXBwc01hcFthcHAubmFtZV0gPSBhcHA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQnlVcmwodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5odHRwLmdldChgJHt1cmx9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChhcHBzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXBwcyAmJiBBcnJheS5pc0FycmF5KGFwcHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXIoYXBwcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlcihhcHBzIGFzIFBsYW5ldEFwcGxpY2F0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnN1YnNjcmliZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHVucmVnaXN0ZXIobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcHNNYXBbbmFtZV0pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmFwcHNNYXBbbmFtZV07XG4gICAgICAgICAgICB0aGlzLmFwcHMgPSB0aGlzLmFwcHMuZmlsdGVyKGFwcCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcC5uYW1lICE9PSBuYW1lO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRBcHBzQnlNYXRjaGVkVXJsPFRFeHRyYSA9IHVua25vd24+KHVybDogc3RyaW5nKTogUGxhbmV0QXBwbGljYXRpb248VEV4dHJhPltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXBwcygpLmZpbHRlcihhcHAgPT4ge1xuICAgICAgICAgICAgaWYgKGFwcC5yb3V0ZXJQYXRoUHJlZml4IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcC5yb3V0ZXJQYXRoUHJlZml4LnRlc3QodXJsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVybC5zdGFydHNXaXRoKGFwcC5yb3V0ZXJQYXRoUHJlZml4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0QXBwQnlOYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBzTWFwW25hbWVdO1xuICAgIH1cblxuICAgIGdldEFwcHNUb1ByZWxvYWQoZXhjbHVkZUFwcE5hbWVzPzogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXBwcygpLmZpbHRlcihhcHAgPT4ge1xuICAgICAgICAgICAgaWYgKGV4Y2x1ZGVBcHBOYW1lcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcHAucHJlbG9hZCAmJiAhZXhjbHVkZUFwcE5hbWVzLmluY2x1ZGVzKGFwcC5uYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcC5wcmVsb2FkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRBcHBzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBzO1xuICAgIH1cbn1cbiJdfQ==
|
|
77
|
+
PlanetApplicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetApplicationService, deps: [{ token: i1.HttpClient }, { token: i2.AssetsLoader }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
PlanetApplicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetApplicationService, providedIn: 'root' });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetApplicationService, decorators: [{
|
|
80
|
+
type: Injectable,
|
|
81
|
+
args: [{
|
|
82
|
+
providedIn: 'root'
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AssetsLoader }]; } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLekQsTUFBTSxPQUFPLHdCQUF3QjtJQUtqQyxZQUFvQixJQUFnQixFQUFVLFlBQTBCO1FBQXBELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUpoRSxTQUFJLEdBQXdCLEVBQUUsQ0FBQztRQUUvQixZQUFPLEdBQXlDLEVBQUUsQ0FBQztRQUd2RCxJQUFJLHFCQUFxQixFQUFFLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDWCw2RkFBNkYsQ0FDaEcsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBUyxTQUFrRTtRQUMvRSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDO2FBQ3JEO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFXO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNQLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUF5QixDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQW1CLEdBQVc7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLElBQUksR0FBRyxDQUFDLGdCQUFnQixZQUFZLE1BQU0sRUFBRTtnQkFDeEMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNILE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUMvQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZUFBMEI7UUFDdkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLElBQUksZUFBZSxFQUFFO2dCQUNqQixPQUFPLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3RDtpQkFBTTtnQkFDSCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDdEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7O3FIQTFFUSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzJGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiB9IGZyb20gJy4uL3BsYW5ldC5jbGFzcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBc3NldHNMb2FkZXIgfSBmcm9tICcuLi9hc3NldHMtbG9hZGVyJztcbmltcG9ydCB7IGdldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2dsb2JhbC1wbGFuZXQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhcHBzOiBQbGFuZXRBcHBsaWNhdGlvbltdID0gW107XG5cbiAgICBwcml2YXRlIGFwcHNNYXA6IHsgW2tleTogc3RyaW5nXTogUGxhbmV0QXBwbGljYXRpb24gfSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGFzc2V0c0xvYWRlcjogQXNzZXRzTG9hZGVyKSB7XG4gICAgICAgIGlmIChnZXRBcHBsaWNhdGlvblNlcnZpY2UoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICdQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UgaGFzIGJlZW4gaW5qZWN0ZWQgaW4gdGhlIHBvcnRhbCwgcmVwZWF0ZWQgaW5qZWN0aW9uIGlzIG5vdCBhbGxvd2VkJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyPFRFeHRyYT4oYXBwT3JBcHBzOiBQbGFuZXRBcHBsaWNhdGlvbjxURXh0cmE+IHwgUGxhbmV0QXBwbGljYXRpb248VEV4dHJhPltdKSB7XG4gICAgICAgIGNvbnN0IGFwcHMgPSBjb2VyY2VBcnJheShhcHBPckFwcHMpO1xuICAgICAgICBhcHBzLmZvckVhY2goYXBwID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcHNNYXBbYXBwLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FwcC5uYW1lfSBoYXMgYmUgcmVnaXN0ZXJlZC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYXBwcy5wdXNoKGFwcCk7XG4gICAgICAgICAgICB0aGlzLmFwcHNNYXBbYXBwLm5hbWVdID0gYXBwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWdpc3RlckJ5VXJsKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuaHR0cC5nZXQoYCR7dXJsfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAoYXBwcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFwcHMgJiYgQXJyYXkuaXNBcnJheShhcHBzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyKGFwcHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXIoYXBwcyBhcyBQbGFuZXRBcHBsaWNhdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgpXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdC5zdWJzY3JpYmUoKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICB1bnJlZ2lzdGVyKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5hcHBzTWFwW25hbWVdKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5hcHBzTWFwW25hbWVdO1xuICAgICAgICAgICAgdGhpcy5hcHBzID0gdGhpcy5hcHBzLmZpbHRlcihhcHAgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcHAubmFtZSAhPT0gbmFtZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXBwc0J5TWF0Y2hlZFVybDxURXh0cmEgPSB1bmtub3duPih1cmw6IHN0cmluZyk6IFBsYW5ldEFwcGxpY2F0aW9uPFRFeHRyYT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFwcHMoKS5maWx0ZXIoYXBwID0+IHtcbiAgICAgICAgICAgIGlmIChhcHAucm91dGVyUGF0aFByZWZpeCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcHAucm91dGVyUGF0aFByZWZpeC50ZXN0KHVybCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aChhcHAucm91dGVyUGF0aFByZWZpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEFwcEJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwc01hcFtuYW1lXTtcbiAgICB9XG5cbiAgICBnZXRBcHBzVG9QcmVsb2FkKGV4Y2x1ZGVBcHBOYW1lcz86IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFwcHMoKS5maWx0ZXIoYXBwID0+IHtcbiAgICAgICAgICAgIGlmIChleGNsdWRlQXBwTmFtZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXBwLnByZWxvYWQgJiYgIWV4Y2x1ZGVBcHBOYW1lcy5pbmNsdWRlcyhhcHAubmFtZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcHAucHJlbG9hZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0QXBwcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwcztcbiAgICB9XG59XG4iXX0=
|
package/{esm2015/application/portal-application.js → esm2020/application/portal-application.mjs}
RENAMED
|
File without changes
|
|
@@ -205,13 +205,12 @@ export class AssetsLoader {
|
|
|
205
205
|
}));
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
|
-
AssetsLoader.ɵ
|
|
209
|
-
AssetsLoader
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
];
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvYXNzZXRzLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQVkxQyxNQUFNLE9BQU8sWUFBWTtJQUdyQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGtCQUFhLEdBQWEsRUFBRSxDQUFDO0lBRUUsQ0FBQztJQUV4QyxVQUFVLENBQUMsR0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsQ0FBQztnQkFDTixHQUFHLEVBQUUsR0FBRztnQkFDUixRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsSUFBSTtnQkFDWixNQUFNLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFvQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxNQUFNLEdBQXNCLFFBQVEsQ0FBQyxhQUFhLENBQUMs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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNoQ29kZSwgaXNFbXB0eSwgZ2V0U2NyaXB0c0FuZFN0eWxlc0Z1bGxQYXRocyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBvZiwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIGZvcmtKb2luLCBjb25jYXQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCBjb25jYXRBbGwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb24gfSBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5pbXBvcnQgeyBjcmVhdGVTYW5kYm94IH0gZnJvbSAnLi9zYW5kYm94JztcblxuZXhwb3J0IGludGVyZmFjZSBBc3NldHNMb2FkUmVzdWx0IHtcbiAgICBzcmM6IHN0cmluZztcbiAgICBoYXNoQ29kZTogbnVtYmVyO1xuICAgIGxvYWRlZDogYm9vbGVhbjtcbiAgICBzdGF0dXM6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBc3NldHNMb2FkZXIge1xuICAgIHByaXZhdGUgbG9hZGVkU291cmNlczogbnVtYmVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAgIGxvYWRTY3JpcHQoc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc2V0c0xvYWRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgaWQgPSBoYXNoQ29kZShzcmMpO1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRTb3VyY2VzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEFzc2V0c0xvYWRSZXN1bHQ+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgc2NyaXB0LnNyYyA9IHNyYztcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICBpZiAoc2NyaXB0WydyZWFkeVN0YXRlJ10pIHtcbiAgICAgICAgICAgICAgICAvLyBJRVxuICAgICAgICAgICAgICAgIHNjcmlwdFsnb25yZWFkeXN0YXRlY2hhbmdlJ10gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JpcHRbJ3JlYWR5U3RhdGUnXSA9PT0gJ2xvYWRlZCcgfHwgc2NyaXB0WydyZWFkeVN0YXRlJ10gPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdFsnb25yZWFkeXN0YXRlY2hhbmdlJ10gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBzcmMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdMb2FkZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZFNvdXJjZXMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBPdGhlcnNcbiAgICAgICAgICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkZWRTb3VyY2VzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY3JpcHQub25lcnJvciA9IGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWRTY3JpcHRXaXRoU2FuZGJveChhcHA6IHN0cmluZywgc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc2V0c0xvYWRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgaWQgPSBoYXNoQ29kZShzcmMpO1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRTb3VyY2VzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEFzc2V0c0xvYWRSZXN1bHQ+KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KHNyYywgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNvZGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZFNvdXJjZXMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhbmRib3ggPSBjcmVhdGVTYW5kYm94KGFwcCk7XG4gICAgICAgICAgICAgICAgICAgIHNhbmRib3guZXhlY1NjcmlwdChjb2RlLCBzcmMpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBzcmMsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnRXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWRTdHlsZShzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzZXRzTG9hZFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBpZCA9IGhhc2hDb2RlKHNyYyk7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFNvdXJjZXMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgIGhhc2hDb2RlOiBpZCxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QXNzZXRzTG9hZFJlc3VsdD4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgICAgIGxpbmsucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgICAgICAgICAgbGluay50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgIGxpbmsuaHJlZiA9IHNyYztcbiAgICAgICAgICAgIGxpbmsubWVkaWEgPSAnYWxsJztcbiAgICAgICAgICAgIGxpbmsub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGVkU291cmNlcy5wdXNoKGlkKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsaW5rLm9uZXJyb3IgPSBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCcsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvclxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9hZFNjcmlwdHMoXG4gICAgICAgIHNvdXJjZXM6IHN0cmluZ1tdLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBhcHA/OiBzdHJpbmc7XG4gICAgICAgICAgICBzYW5kYm94PzogYm9vbGVhbjtcbiAgICAgICAgICAgIHNlcmlhbD86IGJvb2xlYW47XG4gICAgICAgIH0gPSB7XG4gICAgICAgICAgICBzZXJpYWw6IGZhbHNlLFxuICAgICAgICAgICAgc2FuZGJveDogZmFsc2VcbiAgICAgICAgfVxuICAgICk6IE9ic2VydmFibGU8QXNzZXRzTG9hZFJlc3VsdFtdPiB7XG4gICAgICAgIGlmIChpc0VtcHR5KHNvdXJjZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBzb3VyY2VzLm1hcChzcmMgPT4ge1xuICAgICAgICAgICAgLy8gVE9ETzog5pqC5pe25Y+q5pSv5oyBUHJveHnmspnnrrFcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnNhbmRib3ggJiYgd2luZG93LlByb3h5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZFNjcmlwdFdpdGhTYW5kYm94KG9wdGlvbnMuYXBwLCBzcmMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkU2NyaXB0KHNyYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob3B0aW9ucy5zZXJpYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGEgPSBjb25jYXQoLi4ub2JzZXJ2YWJsZXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoW2l0ZW1dKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjb25jYXRBbGwoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkU3R5bGVzKHNvdXJjZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxBc3NldHNMb2FkUmVzdWx0W10+IHtcbiAgICAgICAgaWYgKGlzRW1wdHkoc291cmNlcykpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oXG4gICAgICAgICAgICBzb3VyY2VzLm1hcChzcmMgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRTdHlsZShzcmMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBsb2FkU2NyaXB0c0FuZFN0eWxlcyhcbiAgICAgICAgc2NyaXB0czogc3RyaW5nW10gPSBbXSxcbiAgICAgICAgc3R5bGVzOiBzdHJpbmdbXSA9IFtdLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgYXBwPzogc3RyaW5nO1xuICAgICAgICAgICAgc2FuZGJveD86IGJvb2xlYW47XG4gICAgICAgICAgICBzZXJpYWw/OiBib29sZWFuO1xuICAgICAgICB9XG4gICAgKSB7XG4gICAgICAgIHJldHVybiBmb3JrSm9pbihbdGhpcy5sb2FkU2NyaXB0cyhzY3JpcHRzLCBvcHRpb25zKSwgdGhpcy5sb2FkU3R5bGVzKHN0eWxlcyldKTtcbiAgICB9XG5cbiAgICBsb2FkQXBwQXNzZXRzKGFwcDogUGxhbmV0QXBwbGljYXRpb24pIHtcbiAgICAgICAgaWYgKGFwcC5tYW5pZmVzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZE1hbmlmZXN0KGAke2FwcC5tYW5pZmVzdH0/dD0ke25ldyBEYXRlKCkuZ2V0VGltZSgpfWApLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG1hbmlmZXN0UmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzY3JpcHRzLCBzdHlsZXMgfSA9IGdldFNjcmlwdHNBbmRTdHlsZXNGdWxsUGF0aHMoYXBwLCBtYW5pZmVzdFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRTY3JpcHRzQW5kU3R5bGVzKHNjcmlwdHMsIHN0eWxlcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBwOiBhcHAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNhbmRib3g6IGFwcC5zYW5kYm94LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsOiBhcHAubG9hZFNlcmlhbFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0cywgc3R5bGVzIH0gPSBnZXRTY3JpcHRzQW5kU3R5bGVzRnVsbFBhdGhzKGFwcCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkU2NyaXB0c0FuZFN0eWxlcyhzY3JpcHRzLCBzdHlsZXMsIHtcbiAgICAgICAgICAgICAgICBhcHA6IGFwcC5uYW1lLFxuICAgICAgICAgICAgICAgIHNhbmRib3g6IGFwcC5zYW5kYm94LFxuICAgICAgICAgICAgICAgIHNlcmlhbDogYXBwLmxvYWRTZXJpYWxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
208
|
+
AssetsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AssetsLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
209
|
+
AssetsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AssetsLoader, providedIn: 'root' });
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AssetsLoader, decorators: [{
|
|
211
|
+
type: Injectable,
|
|
212
|
+
args: [{
|
|
213
|
+
providedIn: 'root'
|
|
214
|
+
}]
|
|
215
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvYXNzZXRzLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQVkxQyxNQUFNLE9BQU8sWUFBWTtJQUdyQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGtCQUFhLEdBQWEsRUFBRSxDQUFDO0lBRUUsQ0FBQztJQUV4QyxVQUFVLENBQUMsR0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsQ0FBQztnQkFDTixHQUFHLEVBQUUsR0FBRztnQkFDUixRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsSUFBSTtnQkFDWixNQUFNLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFvQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxNQUFNLEdBQXNCLFFBQVEsQ0FBQyxhQUFhLENBQUMs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QztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNoQ29kZSwgaXNFbXB0eSwgZ2V0U2NyaXB0c0FuZFN0eWxlc0Z1bGxQYXRocyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBvZiwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIGZvcmtKb2luLCBjb25jYXQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCBjb25jYXRBbGwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb24gfSBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5pbXBvcnQgeyBjcmVhdGVTYW5kYm94IH0gZnJvbSAnLi9zYW5kYm94JztcblxuZXhwb3J0IGludGVyZmFjZSBBc3NldHNMb2FkUmVzdWx0IHtcbiAgICBzcmM6IHN0cmluZztcbiAgICBoYXNoQ29kZTogbnVtYmVyO1xuICAgIGxvYWRlZDogYm9vbGVhbjtcbiAgICBzdGF0dXM6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBc3NldHNMb2FkZXIge1xuICAgIHByaXZhdGUgbG9hZGVkU291cmNlczogbnVtYmVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAgIGxvYWRTY3JpcHQoc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc2V0c0xvYWRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgaWQgPSBoYXNoQ29kZShzcmMpO1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRTb3VyY2VzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEFzc2V0c0xvYWRSZXN1bHQ+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgc2NyaXB0LnNyYyA9IHNyYztcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICBpZiAoc2NyaXB0WydyZWFkeVN0YXRlJ10pIHtcbiAgICAgICAgICAgICAgICAvLyBJRVxuICAgICAgICAgICAgICAgIHNjcmlwdFsnb25yZWFkeXN0YXRlY2hhbmdlJ10gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JpcHRbJ3JlYWR5U3RhdGUnXSA9PT0gJ2xvYWRlZCcgfHwgc2NyaXB0WydyZWFkeVN0YXRlJ10gPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdFsnb25yZWFkeXN0YXRlY2hhbmdlJ10gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBzcmMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdMb2FkZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZFNvdXJjZXMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBPdGhlcnNcbiAgICAgICAgICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkZWRTb3VyY2VzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY3JpcHQub25lcnJvciA9IGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWRTY3JpcHRXaXRoU2FuZGJveChhcHA6IHN0cmluZywgc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc2V0c0xvYWRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgaWQgPSBoYXNoQ29kZShzcmMpO1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRTb3VyY2VzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEFzc2V0c0xvYWRSZXN1bHQ+KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KHNyYywgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNvZGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZFNvdXJjZXMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhbmRib3ggPSBjcmVhdGVTYW5kYm94KGFwcCk7XG4gICAgICAgICAgICAgICAgICAgIHNhbmRib3guZXhlY1NjcmlwdChjb2RlLCBzcmMpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBzcmMsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNoQ29kZTogaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnRXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWRTdHlsZShzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzZXRzTG9hZFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBpZCA9IGhhc2hDb2RlKHNyYyk7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFNvdXJjZXMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgICAgICAgIHNyYzogc3JjLFxuICAgICAgICAgICAgICAgIGhhc2hDb2RlOiBpZCxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QXNzZXRzTG9hZFJlc3VsdD4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgICAgIGxpbmsucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgICAgICAgICAgbGluay50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgIGxpbmsuaHJlZiA9IHNyYztcbiAgICAgICAgICAgIGxpbmsubWVkaWEgPSAnYWxsJztcbiAgICAgICAgICAgIGxpbmsub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGVkU291cmNlcy5wdXNoKGlkKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsaW5rLm9uZXJyb3IgPSBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICAgICAgICAgICAgaGFzaENvZGU6IGlkLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCcsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvclxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9hZFNjcmlwdHMoXG4gICAgICAgIHNvdXJjZXM6IHN0cmluZ1tdLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBhcHA/OiBzdHJpbmc7XG4gICAgICAgICAgICBzYW5kYm94PzogYm9vbGVhbjtcbiAgICAgICAgICAgIHNlcmlhbD86IGJvb2xlYW47XG4gICAgICAgIH0gPSB7XG4gICAgICAgICAgICBzZXJpYWw6IGZhbHNlLFxuICAgICAgICAgICAgc2FuZGJveDogZmFsc2VcbiAgICAgICAgfVxuICAgICk6IE9ic2VydmFibGU8QXNzZXRzTG9hZFJlc3VsdFtdPiB7XG4gICAgICAgIGlmIChpc0VtcHR5KHNvdXJjZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBzb3VyY2VzLm1hcChzcmMgPT4ge1xuICAgICAgICAgICAgLy8gVE9ETzog5pqC5pe25Y+q5pSv5oyBUHJveHnmspnnrrFcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnNhbmRib3ggJiYgd2luZG93LlByb3h5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZFNjcmlwdFdpdGhTYW5kYm94KG9wdGlvbnMuYXBwLCBzcmMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkU2NyaXB0KHNyYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob3B0aW9ucy5zZXJpYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGEgPSBjb25jYXQoLi4ub2JzZXJ2YWJsZXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoW2l0ZW1dKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjb25jYXRBbGwoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkU3R5bGVzKHNvdXJjZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxBc3NldHNMb2FkUmVzdWx0W10+IHtcbiAgICAgICAgaWYgKGlzRW1wdHkoc291cmNlcykpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oXG4gICAgICAgICAgICBzb3VyY2VzLm1hcChzcmMgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRTdHlsZShzcmMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBsb2FkU2NyaXB0c0FuZFN0eWxlcyhcbiAgICAgICAgc2NyaXB0czogc3RyaW5nW10gPSBbXSxcbiAgICAgICAgc3R5bGVzOiBzdHJpbmdbXSA9IFtdLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgYXBwPzogc3RyaW5nO1xuICAgICAgICAgICAgc2FuZGJveD86IGJvb2xlYW47XG4gICAgICAgICAgICBzZXJpYWw/OiBib29sZWFuO1xuICAgICAgICB9XG4gICAgKSB7XG4gICAgICAgIHJldHVybiBmb3JrSm9pbihbdGhpcy5sb2FkU2NyaXB0cyhzY3JpcHRzLCBvcHRpb25zKSwgdGhpcy5sb2FkU3R5bGVzKHN0eWxlcyldKTtcbiAgICB9XG5cbiAgICBsb2FkQXBwQXNzZXRzKGFwcDogUGxhbmV0QXBwbGljYXRpb24pIHtcbiAgICAgICAgaWYgKGFwcC5tYW5pZmVzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZE1hbmlmZXN0KGAke2FwcC5tYW5pZmVzdH0/dD0ke25ldyBEYXRlKCkuZ2V0VGltZSgpfWApLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG1hbmlmZXN0UmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzY3JpcHRzLCBzdHlsZXMgfSA9IGdldFNjcmlwdHNBbmRTdHlsZXNGdWxsUGF0aHMoYXBwLCBtYW5pZmVzdFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRTY3JpcHRzQW5kU3R5bGVzKHNjcmlwdHMsIHN0eWxlcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBwOiBhcHAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNhbmRib3g6IGFwcC5zYW5kYm94LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsOiBhcHAubG9hZFNlcmlhbFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0cywgc3R5bGVzIH0gPSBnZXRTY3JpcHRzQW5kU3R5bGVzRnVsbFBhdGhzKGFwcCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkU2NyaXB0c0FuZFN0eWxlcyhzY3JpcHRzLCBzdHlsZXMsIHtcbiAgICAgICAgICAgICAgICBhcHA6IGFwcC5uYW1lLFxuICAgICAgICAgICAgICAgIHNhbmRib3g6IGFwcC5zYW5kYm94LFxuICAgICAgICAgICAgICAgIHNlcmlhbDogYXBwLmxvYWRTZXJpYWxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Injectable, ApplicationRef, NgModuleRef, NgZone, Inject } from '@angular/core';
|
|
2
|
+
import { DomPortalOutlet, ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
3
|
+
import { PlanetComponentRef } from './planet-component-ref';
|
|
4
|
+
import { coerceArray } from '../helpers';
|
|
5
|
+
import { map, shareReplay, delayWhen } from 'rxjs/operators';
|
|
6
|
+
import { of, timer } from 'rxjs';
|
|
7
|
+
import { DOCUMENT } from '@angular/common';
|
|
8
|
+
import { globalPlanet, getApplicationLoader, getApplicationService } from '../global-planet';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
const componentWrapperClass = 'planet-component-wrapper';
|
|
11
|
+
export class PlanetComponentLoader {
|
|
12
|
+
constructor(applicationRef, ngModuleRef, ngZone, document) {
|
|
13
|
+
this.applicationRef = applicationRef;
|
|
14
|
+
this.ngModuleRef = ngModuleRef;
|
|
15
|
+
this.ngZone = ngZone;
|
|
16
|
+
this.document = document;
|
|
17
|
+
this.domPortalOutletCache = new WeakMap();
|
|
18
|
+
}
|
|
19
|
+
get applicationLoader() {
|
|
20
|
+
return getApplicationLoader();
|
|
21
|
+
}
|
|
22
|
+
get applicationService() {
|
|
23
|
+
return getApplicationService();
|
|
24
|
+
}
|
|
25
|
+
getPlantAppRef(name) {
|
|
26
|
+
if (globalPlanet.apps[name] && globalPlanet.apps[name].appModuleRef) {
|
|
27
|
+
return of(globalPlanet.apps[name]);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const app = this.applicationService.getAppByName(name);
|
|
31
|
+
return this.applicationLoader.preload(app, true).pipe(map(() => {
|
|
32
|
+
return globalPlanet.apps[name];
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
createInjector(appModuleRef, componentRef) {
|
|
37
|
+
const injectionTokens = new WeakMap([[PlanetComponentRef, componentRef]]);
|
|
38
|
+
const defaultInjector = appModuleRef.injector;
|
|
39
|
+
return new PortalInjector(defaultInjector, injectionTokens);
|
|
40
|
+
}
|
|
41
|
+
getContainerElement(config) {
|
|
42
|
+
if (!config.container) {
|
|
43
|
+
throw new Error(`config 'container' cannot be null`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (config.container.nativeElement) {
|
|
47
|
+
return config.container.nativeElement;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return config.container;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
createWrapperElement(config) {
|
|
55
|
+
const container = this.getContainerElement(config);
|
|
56
|
+
const element = this.document.createElement('div');
|
|
57
|
+
const subApp = this.applicationService.getAppByName(this.ngModuleRef.instance.appName);
|
|
58
|
+
element.classList.add(componentWrapperClass);
|
|
59
|
+
element.setAttribute('planet-inline', '');
|
|
60
|
+
if (config.wrapperClass) {
|
|
61
|
+
element.classList.add(config.wrapperClass);
|
|
62
|
+
}
|
|
63
|
+
if (subApp && subApp.stylePrefix) {
|
|
64
|
+
element.classList.add(subApp.stylePrefix);
|
|
65
|
+
}
|
|
66
|
+
container.appendChild(element);
|
|
67
|
+
return element;
|
|
68
|
+
}
|
|
69
|
+
attachComponent(plantComponent, appModuleRef, config) {
|
|
70
|
+
const plantComponentRef = new PlanetComponentRef();
|
|
71
|
+
const componentFactoryResolver = appModuleRef.componentFactoryResolver;
|
|
72
|
+
const appRef = this.applicationRef;
|
|
73
|
+
const injector = this.createInjector(appModuleRef, plantComponentRef);
|
|
74
|
+
const wrapper = this.createWrapperElement(config);
|
|
75
|
+
let portalOutlet = this.domPortalOutletCache.get(wrapper);
|
|
76
|
+
if (portalOutlet) {
|
|
77
|
+
portalOutlet.detach();
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
portalOutlet = new DomPortalOutlet(wrapper, componentFactoryResolver, appRef, injector);
|
|
81
|
+
this.domPortalOutletCache.set(wrapper, portalOutlet);
|
|
82
|
+
}
|
|
83
|
+
const componentPortal = new ComponentPortal(plantComponent.component, null);
|
|
84
|
+
const componentRef = portalOutlet.attachComponentPortal(componentPortal);
|
|
85
|
+
if (config.initialState) {
|
|
86
|
+
Object.assign(componentRef.instance, config.initialState);
|
|
87
|
+
}
|
|
88
|
+
plantComponentRef.componentInstance = componentRef.instance;
|
|
89
|
+
plantComponentRef.componentRef = componentRef;
|
|
90
|
+
plantComponentRef.wrapperElement = wrapper;
|
|
91
|
+
plantComponentRef.dispose = () => {
|
|
92
|
+
this.domPortalOutletCache.delete(wrapper);
|
|
93
|
+
portalOutlet.dispose();
|
|
94
|
+
};
|
|
95
|
+
return plantComponentRef;
|
|
96
|
+
}
|
|
97
|
+
registerComponentFactory(componentOrComponents) {
|
|
98
|
+
const app = this.ngModuleRef.instance.appName;
|
|
99
|
+
this.getPlantAppRef(app).subscribe(appRef => {
|
|
100
|
+
appRef.registerComponentFactory((componentName, config) => {
|
|
101
|
+
const components = coerceArray(componentOrComponents);
|
|
102
|
+
const component = components.find(item => item.name === componentName);
|
|
103
|
+
if (component) {
|
|
104
|
+
return this.ngZone.run(() => {
|
|
105
|
+
const componentRef = this.attachComponent(component, appRef.appModuleRef, config);
|
|
106
|
+
return componentRef;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
throw Error(`unregistered component ${componentName} in app ${app}`);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
register(components) {
|
|
116
|
+
setTimeout(() => {
|
|
117
|
+
this.registerComponentFactory(components);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
load(app, componentName, config) {
|
|
121
|
+
const result = this.getPlantAppRef(app).pipe(delayWhen(appRef => {
|
|
122
|
+
if (appRef.getComponentFactory()) {
|
|
123
|
+
return of('');
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
// Because register use 'setTimeout',so timer 20
|
|
127
|
+
return timer(20);
|
|
128
|
+
}
|
|
129
|
+
}), map(appRef => {
|
|
130
|
+
const componentFactory = appRef.getComponentFactory();
|
|
131
|
+
if (componentFactory) {
|
|
132
|
+
return componentFactory(componentName, config);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
throw new Error(`${app}'s component(${componentName}) is not registered`);
|
|
136
|
+
}
|
|
137
|
+
}), shareReplay());
|
|
138
|
+
result.subscribe();
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
PlanetComponentLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentLoader, deps: [{ token: i0.ApplicationRef }, { token: i0.NgModuleRef }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
143
|
+
PlanetComponentLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentLoader, providedIn: 'root' });
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentLoader, decorators: [{
|
|
145
|
+
type: Injectable,
|
|
146
|
+
args: [{
|
|
147
|
+
providedIn: 'root'
|
|
148
|
+
}]
|
|
149
|
+
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.NgModuleRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
150
|
+
type: Inject,
|
|
151
|
+
args: [DOCUMENT]
|
|
152
|
+
}] }]; } });
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBMkMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBd0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTdGLE1BQU0scUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFVekQsTUFBTSxPQUFPLHFCQUFxQjtJQVc5QixZQUNZLGNBQThCLEVBQzlCLFdBQTZCLEVBQzdCLE1BQWMsRUFDSSxRQUFhO1FBSC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNJLGFBQVEsR0FBUixRQUFRLENBQUs7UUFkbkMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7SUFlaEUsQ0FBQztJQWJKLElB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QUNyQixNQUFtQztRQUVuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2YsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakI7aUJBQU07Z0JBQ0gsZ0RBQWdEO2dCQUNoRCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNwQjtRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNULE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEQsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDbEIsT0FBTyxnQkFBZ0IsQ0FBZSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDaEU7aUJBQU07Z0JBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLGFBQWEscUJBQXFCLENBQUMsQ0FBQzthQUM3RTtRQUNMLENBQUMsQ0FBQyxFQUNGLFdBQVcsRUFBRSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2tIQXRKUSxxQkFBcUIsaUdBZWxCLFFBQVE7c0hBZlgscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZ0JRLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEFwcGxpY2F0aW9uUmVmLCBOZ01vZHVsZVJlZiwgTmdab25lLCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERvbVBvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tcmVmJztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudFJlZiB9IGZyb20gJy4vcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuaW1wb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGZpbmFsaXplLCBkZWJvdW5jZSwgZmlsdGVyLCB0YWtlLCBkZWxheSwgZGVsYXlXaGVuIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZ2xvYmFsUGxhbmV0LCBnZXRBcHBsaWNhdGlvbkxvYWRlciwgZ2V0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmFsLXBsYW5ldCc7XG5cbmNvbnN0IGNvbXBvbmVudFdyYXBwZXJDbGFzcyA9ICdwbGFuZXQtY29tcG9uZW50LXdyYXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYW5ldENvbXBvbmVudDxUID0gYW55PiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRMb2FkZXIge1xuICAgIHByaXZhdGUgZG9tUG9ydGFsT3V0bGV0Q2FjaGUgPSBuZXcgV2Vha01hcDxhbnksIERvbVBvcnRhbE91dGxldD4oKTtcblxuICAgIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBhcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgICAgIHJldHVybiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgbmdNb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0UGxhbnRBcHBSZWYobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQbGFuZXRBcHBsaWNhdGlvblJlZj4ge1xuICAgICAgICBpZiAoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0gJiYgZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0uYXBwTW9kdWxlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXBwID0gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0QXBwQnlOYW1lKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25Mb2FkZXIucHJlbG9hZChhcHAsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxURGF0YT4oXG4gICAgICAgIGFwcE1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgY29tcG9uZW50UmVmOiBQbGFuZXRDb21wb25lbnRSZWY8VERhdGE+XG4gICAgKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1tQbGFuZXRDb21wb25lbnRSZWYsIGNvbXBvbmVudFJlZl1dKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEluamVjdG9yID0gYXBwTW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKGRlZmF1bHRJbmplY3RvciwgaW5qZWN0aW9uVG9rZW5zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhaW5lckVsZW1lbnQoY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKCFjb25maWcuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZpZyAnY29udGFpbmVyJyBjYW5ub3QgYmUgbnVsbGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKChjb25maWcuY29udGFpbmVyIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGNvbmZpZy5jb250YWluZXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5jb250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVdyYXBwZXJFbGVtZW50KGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWcpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXJFbGVtZW50KGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCBzdWJBcHAgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBCeU5hbWUodGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbXBvbmVudFdyYXBwZXJDbGFzcyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGFuZXQtaW5saW5lJywgJycpO1xuICAgICAgICBpZiAoY29uZmlnLndyYXBwZXJDbGFzcykge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy53cmFwcGVyQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdWJBcHAgJiYgc3ViQXBwLnN0eWxlUHJlZml4KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoc3ViQXBwLnN0eWxlUHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50PFREYXRhPihcbiAgICAgICAgcGxhbnRDb21wb25lbnQ6IFBsYW5ldENvbXBvbmVudCxcbiAgICAgICAgYXBwTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnXG4gICAgKTogUGxhbmV0Q29tcG9uZW50UmVmPFREYXRhPiB7XG4gICAgICAgIGNvbnN0IHBsYW50Q29tcG9uZW50UmVmID0gbmV3IFBsYW5ldENvbXBvbmVudFJlZigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBhcHBNb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgICAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmFwcGxpY2F0aW9uUmVmO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZiwgcGxhbnRDb21wb25lbnRSZWYpO1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5jcmVhdGVXcmFwcGVyRWxlbWVudChjb25maWcpO1xuICAgICAgICBsZXQgcG9ydGFsT3V0bGV0ID0gdGhpcy5kb21Qb3J0YWxPdXRsZXRDYWNoZS5nZXQod3JhcHBlcik7XG4gICAgICAgIGlmIChwb3J0YWxPdXRsZXQpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQod3JhcHBlciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBhcHBSZWYsIGluamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuc2V0KHdyYXBwZXIsIHBvcnRhbE91dGxldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChwbGFudENvbXBvbmVudC5jb21wb25lbnQsIG51bGwpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBwb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsPFREYXRhPihjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICBpZiAoY29uZmlnLmluaXRpYWxTdGF0ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIGNvbmZpZy5pbml0aWFsU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBwbGFudENvbXBvbmVudFJlZi5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLndyYXBwZXJFbGVtZW50ID0gd3JhcHBlcjtcbiAgICAgICAgcGxhbnRDb21wb25lbnRSZWYuZGlzcG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuZGVsZXRlKHdyYXBwZXIpO1xuICAgICAgICAgICAgcG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHBsYW50Q29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE9yQ29tcG9uZW50czogUGxhbmV0Q29tcG9uZW50IHwgUGxhbmV0Q29tcG9uZW50W10pIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lO1xuICAgICAgICB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkuc3Vic2NyaWJlKGFwcFJlZiA9PiB7XG4gICAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KChjb21wb25lbnROYW1lOiBzdHJpbmcsIGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWc8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBjb2VyY2VBcnJheShjb21wb25lbnRPckNvbXBvbmVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbXBvbmVudHMuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXR0YWNoQ29tcG9uZW50PGFueT4oY29tcG9uZW50LCBhcHBSZWYuYXBwTW9kdWxlUmVmLCBjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYHVucmVnaXN0ZXJlZCBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBpbiBhcHAgJHthcHB9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGNvbXBvbmVudHM6IFBsYW5ldENvbXBvbmVudCB8IFBsYW5ldENvbXBvbmVudFtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWQ8VENvbXAgPSB1bmtub3duLCBURGF0YSA9IHVua25vd24+KFxuICAgICAgICBhcHA6IHN0cmluZyxcbiAgICAgICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPFREYXRhPlxuICAgICk6IE9ic2VydmFibGU8UGxhbmV0Q29tcG9uZW50UmVmPFRDb21wPj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkucGlwZShcbiAgICAgICAgICAgIGRlbGF5V2hlbihhcHBSZWYgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhcHBSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSByZWdpc3RlciB1c2UgJ3NldFRpbWVvdXQnLHNvIHRpbWVyIDIwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lcigyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoYXBwUmVmID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gYXBwUmVmLmdldENvbXBvbmVudEZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeTxURGF0YSwgVENvbXA+KGNvbXBvbmVudE5hbWUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FwcH0ncyBjb21wb25lbnQoJHtjb21wb25lbnROYW1lfSkgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnN1YnNjcmliZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
|
package/{esm2015/component/planet-component-ref.js → esm2020/component/planet-component-ref.mjs}
RENAMED
|
File without changes
|
package/{esm2015/component/plant-component.config.js → esm2020/component/plant-component.config.mjs}
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class EmptyComponent {
|
|
4
|
+
}
|
|
5
|
+
EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
EmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: EmptyComponent, selector: "empty-component", ngImport: i0, template: ``, isInline: true });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: EmptyComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{
|
|
10
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
11
|
+
selector: 'empty-component',
|
|
12
|
+
template: ``
|
|
13
|
+
}]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7K0ZBQWQsY0FBYyx1REFGYixFQUFFOzJGQUVILGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZW1wdHktY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge31cbiJdfQ==
|
|
@@ -59,13 +59,12 @@ export class GlobalEventDispatcher {
|
|
|
59
59
|
return this.subscriptionCount;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
GlobalEventDispatcher.ɵ
|
|
63
|
-
GlobalEventDispatcher
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2dsb2JhbC1ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0saUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQXFCOUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQjFCLGFBQVEsR0FBbUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6RCw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLHdCQUFtQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7SUFZbUMsQ0FBQztJQVY5QixzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBSUQsUUFBUSxDQUFXLElBQVksRUFBRSxPQUFrQjtRQUMvQyxNQUFNLENBQUMsYUFBYSxDQUNoQixJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtZQUMvQixNQUFNLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87YUFDbkI7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUksU0FBaUI7UUFDekIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNqQztZQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRO2lCQUM3QixJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7WUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUNwQztZQUNMLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDOzs7O1lBckVKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBWG9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbERpc3BhdGNoZXJFdmVudCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBheWxvYWQ6IGFueTtcbn1cblxuY29uc3QgQ1VTVE9NX0VWRU5UX05BTUUgPSAnUExBTkVUX0dMT0JBTF9FVkVOVF9ESVNQQVRDSEVSJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHbG9iYWxFdmVudERpc3BhdGNoZXIge1xuICAgIHByaXZhdGUgc3ViamVjdCQ6IFN1YmplY3Q8R2xvYmFsRGlzcGF0Y2hlckV2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uQ291bnQgPSAwO1xuXG4gICAgcHJpdmF0ZSBnbG9iYWxFdmVudExpc3RlbmVyID0gKGV2ZW50OiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnN1YmplY3QkLm5leHQoZXZlbnQuZGV0YWlsKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBhZGRHbG9iYWxFdmVudExpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLmhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIgPSB0cnVlO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihDVVNUT01fRVZFTlRfTkFNRSwgdGhpcy5nbG9iYWxFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUdsb2JhbEV2ZW50TGlzdGVuZXIoKSB7XG4gICAgICAgIHRoaXMuaGFzQWRkR2xvYmFsRXZlbnRMaXN0ZW5lciA9IGZhbHNlO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihDVVNUT01fRVZFTlRfTkFNRSwgdGhpcy5nbG9iYWxFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gICAgZGlzcGF0Y2g8VFBheWxvYWQ+KG5hbWU6IHN0cmluZywgcGF5bG9hZD86IFRQYXlsb2FkKSB7XG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KENVU1RPTV9FVkVOVF9OQU1FLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHBheWxvYWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyPFQ+KGV2ZW50TmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzQWRkR2xvYmFsRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Db3VudCsrO1xuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5zdWJqZWN0JFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50Lm5hbWUgPT09IGV2ZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucGF5bG9hZDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNvdW50LS07XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbkNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlR2xvYmFsRXZlbnRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFN1YnNjcmlwdGlvbkNvdW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25Db3VudDtcbiAgICB9XG59XG4iXX0=
|
|
62
|
+
GlobalEventDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GlobalEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
63
|
+
GlobalEventDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GlobalEventDispatcher, providedIn: 'root' });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GlobalEventDispatcher, decorators: [{
|
|
65
|
+
type: Injectable,
|
|
66
|
+
args: [{
|
|
67
|
+
providedIn: 'root'
|
|
68
|
+
}]
|
|
69
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2dsb2JhbC1ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0saUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQXFCOUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQjFCLGFBQVEsR0FBbUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6RCw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLHdCQUFtQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7SUFZbUMsQ0FBQztJQVY5QixzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBSUQsUUFBUSxDQUFXLElBQVksRUFBRSxPQUFrQjtRQUMvQyxNQUFNLENBQUMsYUFBYSxDQUNoQixJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtZQUMvQixNQUFNLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87YUFDbkI7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUksU0FBaUI7UUFDekIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNqQztZQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRO2lCQUM3QixJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7WUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUNwQztZQUNMLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDOztrSEFsRVEscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxEaXNwYXRjaGVyRXZlbnQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwYXlsb2FkOiBhbnk7XG59XG5cbmNvbnN0IENVU1RPTV9FVkVOVF9OQU1FID0gJ1BMQU5FVF9HTE9CQUxfRVZFTlRfRElTUEFUQ0hFUic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR2xvYmFsRXZlbnREaXNwYXRjaGVyIHtcbiAgICBwcml2YXRlIHN1YmplY3QkOiBTdWJqZWN0PEdsb2JhbERpc3BhdGNoZXJFdmVudD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBoYXNBZGRHbG9iYWxFdmVudExpc3RlbmVyID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbkNvdW50ID0gMDtcblxuICAgIHByaXZhdGUgZ2xvYmFsRXZlbnRMaXN0ZW5lciA9IChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zdWJqZWN0JC5uZXh0KGV2ZW50LmRldGFpbCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcigpIHtcbiAgICAgICAgdGhpcy5oYXNBZGRHbG9iYWxFdmVudExpc3RlbmVyID0gdHJ1ZTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoQ1VTVE9NX0VWRU5UX05BTUUsIHRoaXMuZ2xvYmFsRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVHbG9iYWxFdmVudExpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLmhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIgPSBmYWxzZTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoQ1VTVE9NX0VWRU5UX05BTUUsIHRoaXMuZ2xvYmFsRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICAgIGRpc3BhdGNoPFRQYXlsb2FkPihuYW1lOiBzdHJpbmcsIHBheWxvYWQ/OiBUUGF5bG9hZCkge1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudChDVVNUT01fRVZFTlRfTkFNRSwge1xuICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiBwYXlsb2FkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZWdpc3RlcjxUPihldmVudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEdsb2JhbEV2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uQ291bnQrKztcbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuc3ViamVjdCRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5uYW1lID09PSBldmVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnBheWxvYWQ7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHBheWxvYWQpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Db3VudC0tO1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb25Db3VudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUdsb2JhbEV2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRTdWJzY3JpcHRpb25Db3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uQ291bnQ7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { PlanetApplicationRef } from './application/planet-application-ref';
|
|
2
|
+
import { isFunction } from './helpers';
|
|
3
|
+
export const globalPlanet = (window.planet = window.planet || {
|
|
4
|
+
apps: {}
|
|
5
|
+
});
|
|
6
|
+
export function defineApplication(name, options) {
|
|
7
|
+
if (globalPlanet.apps[name]) {
|
|
8
|
+
throw new Error(`${name} application has exist.`);
|
|
9
|
+
}
|
|
10
|
+
if (isFunction(options)) {
|
|
11
|
+
options = {
|
|
12
|
+
template: '',
|
|
13
|
+
bootstrap: options
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const appRef = new PlanetApplicationRef(name, options);
|
|
17
|
+
globalPlanet.apps[name] = appRef;
|
|
18
|
+
}
|
|
19
|
+
export function getPlanetApplicationRef(appName) {
|
|
20
|
+
if (globalPlanet && globalPlanet.apps && globalPlanet.apps[appName]) {
|
|
21
|
+
return globalPlanet.apps[appName];
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function setPortalApplicationData(data) {
|
|
28
|
+
if (globalPlanet.portalApplication) {
|
|
29
|
+
globalPlanet.portalApplication.data = data;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function getPortalApplicationData() {
|
|
33
|
+
return globalPlanet.portalApplication?.data;
|
|
34
|
+
}
|
|
35
|
+
export function setApplicationLoader(loader) {
|
|
36
|
+
globalPlanet.applicationLoader = loader;
|
|
37
|
+
}
|
|
38
|
+
export function getApplicationLoader() {
|
|
39
|
+
return globalPlanet.applicationLoader;
|
|
40
|
+
}
|
|
41
|
+
export function setApplicationService(service) {
|
|
42
|
+
globalPlanet.applicationService = service;
|
|
43
|
+
}
|
|
44
|
+
export function getApplicationService() {
|
|
45
|
+
return globalPlanet.applicationService;
|
|
46
|
+
}
|
|
47
|
+
export function clearGlobalPlanet() {
|
|
48
|
+
window.planet.apps = {};
|
|
49
|
+
window.planet.portalApplication = null;
|
|
50
|
+
window.planet.applicationLoader = null;
|
|
51
|
+
window.planet.applicationService = null;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBsYW5ldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvZ2xvYmFsLXBsYW5ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQXdDLE1BQU0sc0NBQXNDLENBQUM7QUFJbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVd2QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJO0lBQ3hFLElBQUksRUFBRSxFQUFFO0NBQ1gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUE4QztJQUMxRixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUkseUJBQXlCLENBQUMsQ0FBQztLQUNyRDtJQUNELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sR0FBRztZQUNOLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLE9BQTZCO1NBQzNDLENBQUM7S0FDTDtJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQTJCLENBQUMsQ0FBQztJQUMzRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWU7SUFDbkQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0gsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUksSUFBTztJQUMvQyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtRQUNoQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztLQUM5QztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3BDLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQWEsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQStCO0lBQ2hFLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDaEMsT0FBTyxZQUFZLENBQUMsaUJBQWlCLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFpQztJQUNuRSxZQUFZLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sWUFBWSxDQUFDLGtCQUFrQixDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYsIEJvb3RzdHJhcEFwcE1vZHVsZSwgQm9vdHN0cmFwT3B0aW9ucyB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZic7XG5pbXBvcnQgeyBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24vcG9ydGFsLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsUGxhbmV0IHtcbiAgICBhcHBzOiB7IFtrZXk6IHN0cmluZ106IFBsYW5ldEFwcGxpY2F0aW9uUmVmIH07XG4gICAgcG9ydGFsQXBwbGljYXRpb24/OiBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbjtcbiAgICBhcHBsaWNhdGlvbkxvYWRlcjogUGxhbmV0QXBwbGljYXRpb25Mb2FkZXI7XG4gICAgYXBwbGljYXRpb25TZXJ2aWNlOiBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2U7XG59XG5cbmV4cG9ydCBjb25zdCBnbG9iYWxQbGFuZXQ6IEdsb2JhbFBsYW5ldCA9ICh3aW5kb3cucGxhbmV0ID0gd2luZG93LnBsYW5ldCB8fCB7XG4gICAgYXBwczoge31cbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lQXBwbGljYXRpb24obmFtZTogc3RyaW5nLCBvcHRpb25zOiBCb290c3RyYXBBcHBNb2R1bGUgfCBCb290c3RyYXBPcHRpb25zKSB7XG4gICAgaWYgKGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBhcHBsaWNhdGlvbiBoYXMgZXhpc3QuYCk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvbnMpKSB7XG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZTogJycsXG4gICAgICAgICAgICBib290c3RyYXA6IG9wdGlvbnMgYXMgQm9vdHN0cmFwQXBwTW9kdWxlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGFwcFJlZiA9IG5ldyBQbGFuZXRBcHBsaWNhdGlvblJlZihuYW1lLCBvcHRpb25zIGFzIEJvb3RzdHJhcE9wdGlvbnMpO1xuICAgIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdID0gYXBwUmVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGxhbmV0QXBwbGljYXRpb25SZWYoYXBwTmFtZTogc3RyaW5nKTogUGxhbmV0QXBwbGljYXRpb25SZWYgfCBudWxsIHtcbiAgICBpZiAoZ2xvYmFsUGxhbmV0ICYmIGdsb2JhbFBsYW5ldC5hcHBzICYmIGdsb2JhbFBsYW5ldC5hcHBzW2FwcE5hbWVdKSB7XG4gICAgICAgIHJldHVybiBnbG9iYWxQbGFuZXQuYXBwc1thcHBOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGE8VD4oZGF0YTogVCkge1xuICAgIGlmIChnbG9iYWxQbGFuZXQucG9ydGFsQXBwbGljYXRpb24pIHtcbiAgICAgICAgZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uLmRhdGEgPSBkYXRhO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvcnRhbEFwcGxpY2F0aW9uRGF0YTxURGF0YT4oKTogVERhdGEge1xuICAgIHJldHVybiBnbG9iYWxQbGFuZXQucG9ydGFsQXBwbGljYXRpb24/LmRhdGEgYXMgVERhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcHBsaWNhdGlvbkxvYWRlcihsb2FkZXI6IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyKSB7XG4gICAgZ2xvYmFsUGxhbmV0LmFwcGxpY2F0aW9uTG9hZGVyID0gbG9hZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKSB7XG4gICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBsaWNhdGlvbkxvYWRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFwcGxpY2F0aW9uU2VydmljZShzZXJ2aWNlOiBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UpIHtcbiAgICBnbG9iYWxQbGFuZXQuYXBwbGljYXRpb25TZXJ2aWNlID0gc2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcGxpY2F0aW9uU2VydmljZSgpIHtcbiAgICByZXR1cm4gZ2xvYmFsUGxhbmV0LmFwcGxpY2F0aW9uU2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyR2xvYmFsUGxhbmV0KCkge1xuICAgIHdpbmRvdy5wbGFuZXQuYXBwcyA9IHt9O1xuICAgIHdpbmRvdy5wbGFuZXQucG9ydGFsQXBwbGljYXRpb24gPSBudWxsO1xuICAgIHdpbmRvdy5wbGFuZXQuYXBwbGljYXRpb25Mb2FkZXIgPSBudWxsO1xuICAgIHdpbmRvdy5wbGFuZXQuYXBwbGljYXRpb25TZXJ2aWNlID0gbnVsbDtcbn1cbiJdfQ==
|
|
File without changes
|