@worktile/planet 12.1.2 → 13.0.0

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.
Files changed (77) hide show
  1. package/application/planet-application-loader.d.ts +3 -0
  2. package/application/planet-application-loader.d.ts.map +1 -1
  3. package/application/planet-application.service.d.ts +3 -0
  4. package/application/planet-application.service.d.ts.map +1 -1
  5. package/assets-loader.d.ts +3 -0
  6. package/assets-loader.d.ts.map +1 -1
  7. package/component/planet-component-loader.d.ts +3 -0
  8. package/component/planet-component-loader.d.ts.map +1 -1
  9. package/empty/empty.component.d.ts +3 -0
  10. package/empty/empty.component.d.ts.map +1 -1
  11. package/esm2020/application/planet-application-loader.mjs +454 -0
  12. package/esm2020/application/planet-application-ref.mjs +94 -0
  13. package/{esm2015/application/planet-application.service.js → esm2020/application/planet-application.service.mjs} +9 -11
  14. package/{esm2015/application/portal-application.js → esm2020/application/portal-application.mjs} +0 -0
  15. package/{esm2015/assets-loader.js → esm2020/assets-loader.mjs} +9 -10
  16. package/esm2020/component/planet-component-loader.mjs +153 -0
  17. package/{esm2015/component/planet-component-ref.js → esm2020/component/planet-component-ref.mjs} +0 -0
  18. package/{esm2015/component/plant-component.config.js → esm2020/component/plant-component.config.mjs} +0 -0
  19. package/{esm2015/debug.js → esm2020/debug.mjs} +0 -0
  20. package/esm2020/empty/empty.component.mjs +15 -0
  21. package/{esm2015/global-event-dispatcher.js → esm2020/global-event-dispatcher.mjs} +9 -10
  22. package/esm2020/global-planet.mjs +53 -0
  23. package/{esm2015/helpers.js → esm2020/helpers.mjs} +0 -0
  24. package/esm2020/module.mjs +31 -0
  25. package/{esm2015/planet.class.js → esm2020/planet.class.mjs} +0 -0
  26. package/esm2020/planet.mjs +91 -0
  27. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  28. package/{esm2015/sandbox/constants.js → esm2020/sandbox/constants.mjs} +0 -0
  29. package/{esm2015/sandbox/exec.js → esm2020/sandbox/exec.mjs} +0 -0
  30. package/{esm2015/sandbox/index.js → esm2020/sandbox/index.mjs} +0 -0
  31. package/{esm2015/sandbox/proxy/patches/document.js → esm2020/sandbox/proxy/patches/document.mjs} +0 -0
  32. package/{esm2015/sandbox/proxy/patches/eventListener.js → esm2020/sandbox/proxy/patches/eventListener.mjs} +0 -0
  33. package/{esm2015/sandbox/proxy/patches/index.js → esm2020/sandbox/proxy/patches/index.mjs} +0 -0
  34. package/{esm2015/sandbox/proxy/patches/storage.js → esm2020/sandbox/proxy/patches/storage.mjs} +0 -0
  35. package/{esm2015/sandbox/proxy/patches/timer.js → esm2020/sandbox/proxy/patches/timer.mjs} +0 -0
  36. package/{esm2015/sandbox/proxy/proxies/common.js → esm2020/sandbox/proxy/proxies/common.mjs} +2 -2
  37. package/{esm2015/sandbox/proxy/proxies/document.js → esm2020/sandbox/proxy/proxies/document.mjs} +0 -0
  38. package/{esm2015/sandbox/proxy/proxies/window.js → esm2020/sandbox/proxy/proxies/window.mjs} +5 -2
  39. package/{esm2015/sandbox/proxy/proxy-sandbox.js → esm2020/sandbox/proxy/proxy-sandbox.mjs} +2 -2
  40. package/{esm2015/sandbox/proxy/types.js → esm2020/sandbox/proxy/types.mjs} +0 -0
  41. package/{esm2015/sandbox/sandbox.js → esm2020/sandbox/sandbox.mjs} +0 -0
  42. package/{esm2015/sandbox/snapshot/snapshot-sandbox.js → esm2020/sandbox/snapshot/snapshot-sandbox.mjs} +0 -0
  43. package/{esm2015/sandbox/types.js → esm2020/sandbox/types.mjs} +0 -0
  44. package/esm2020/worktile-planet.mjs +5 -0
  45. package/fesm2015/{worktile-planet.js → worktile-planet.mjs} +231 -230
  46. package/fesm2015/worktile-planet.mjs.map +1 -0
  47. package/fesm2020/worktile-planet.mjs +2046 -0
  48. package/fesm2020/worktile-planet.mjs.map +1 -0
  49. package/global-event-dispatcher.d.ts +3 -0
  50. package/global-event-dispatcher.d.ts.map +1 -1
  51. package/module.d.ts +6 -0
  52. package/module.d.ts.map +1 -1
  53. package/package.json +28 -12
  54. package/planet.d.ts +3 -0
  55. package/planet.d.ts.map +1 -1
  56. package/worktile-planet.d.ts +1 -1
  57. package/worktile-planet.d.ts.map +1 -1
  58. package/application/planet-application-loader.ngfactory.d.ts.map +0 -1
  59. package/application/planet-application.service.ngfactory.d.ts.map +0 -1
  60. package/assets-loader.ngfactory.d.ts.map +0 -1
  61. package/bundles/worktile-planet.umd.js +0 -2564
  62. package/bundles/worktile-planet.umd.js.map +0 -1
  63. package/component/planet-component-loader.ngfactory.d.ts.map +0 -1
  64. package/empty/empty.component.ngfactory.d.ts.map +0 -1
  65. package/esm2015/application/planet-application-loader.js +0 -457
  66. package/esm2015/application/planet-application-ref.js +0 -97
  67. package/esm2015/component/planet-component-loader.js +0 -155
  68. package/esm2015/empty/empty.component.js +0 -10
  69. package/esm2015/global-planet.js +0 -54
  70. package/esm2015/module.js +0 -27
  71. package/esm2015/planet.js +0 -91
  72. package/esm2015/worktile-planet.js +0 -6
  73. package/fesm2015/worktile-planet.js.map +0 -1
  74. package/global-event-dispatcher.ngfactory.d.ts.map +0 -1
  75. package/module.ngfactory.d.ts.map +0 -1
  76. package/planet.ngfactory.d.ts.map +0 -1
  77. package/worktile-planet.metadata.json +0 -1
@@ -1,97 +0,0 @@
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
- var _a;
30
- return (_a = this.appModuleRef) === null || _a === void 0 ? void 0 : _a.injector.get(NgZone);
31
- }
32
- get sandbox() {
33
- return getSandboxInstance();
34
- }
35
- // 子应用路由变化后同步修改 portal 的 Route
36
- syncPortalRouteWhenNavigationEnd() {
37
- var _a;
38
- const router = (_a = this.appModuleRef) === null || _a === void 0 ? void 0 : _a.injector.get(Router);
39
- if (router) {
40
- router.events.subscribe(event => {
41
- var _a;
42
- if (event instanceof NavigationEnd) {
43
- (_a = this.ngZone) === null || _a === void 0 ? void 0 : _a.onStable.asObservable().pipe(take(1)).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
- var _a;
64
- return (_a = this.appModuleRef) === null || _a === void 0 ? void 0 : _a.injector.get(Router);
65
- }
66
- getCurrentRouterStateUrl() {
67
- var _a;
68
- return (_a = this.getRouter()) === null || _a === void 0 ? void 0 : _a.routerState.snapshot.url;
69
- }
70
- navigateByUrl(url) {
71
- var _a;
72
- const router = this.getRouter();
73
- (_a = this.ngZone) === null || _a === void 0 ? void 0 : _a.run(() => {
74
- router === null || router === void 0 ? void 0 : router.navigateByUrl(url);
75
- });
76
- }
77
- getComponentFactory() {
78
- return this.componentFactory;
79
- }
80
- registerComponentFactory(componentFactory) {
81
- this.componentFactory = componentFactory;
82
- }
83
- destroy() {
84
- if (this.appModuleRef) {
85
- const router = this.appModuleRef.injector.get(Router);
86
- if (router) {
87
- router.dispose();
88
- }
89
- if (this.sandbox) {
90
- this.sandbox.destroy();
91
- }
92
- this.appModuleRef.destroy();
93
- this.appModuleRef = undefined;
94
- }
95
- }
96
- }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFwcGxpY2F0aW9uLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBVyxNQUFNLGFBQWEsQ0FBQztBQWMxRCxNQUFNLE9BQU8sb0JBQW9CO0lBeUI3QixZQUFZLElBQVksRUFBRSxPQUEwQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQy9DO1FBQ0Qsc0dBQXNHO1FBQ3RHLHVFQUF1RTtRQUN2RSxNQUFNLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRTtZQUMxQixhQUFhO1lBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxLQUFL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QUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLE1BQU0sRUFBRTtnQkFDUixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDcEI7WUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7U0FDakM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZVJlZiwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYW5ldFBvcnRhbEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9wb3J0YWwtYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnQvcGxhbnQtY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFuZXRDb21wb25lbnRSZWYgfSBmcm9tICcuLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuaW1wb3J0IHsgZ2V0VGFnTmFtZUJ5VGVtcGxhdGUgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IGdldFNhbmRib3hJbnN0YW5jZSwgU2FuZGJveCB9IGZyb20gJy4uL3NhbmRib3gvJztcblxuZXhwb3J0IGludGVyZmFjZSBCb290c3RyYXBPcHRpb25zIHtcbiAgICB0ZW1wbGF0ZTogc3RyaW5nO1xuICAgIGJvb3RzdHJhcDogQm9vdHN0cmFwQXBwTW9kdWxlO1xufVxuXG5leHBvcnQgdHlwZSBCb290c3RyYXBBcHBNb2R1bGUgPSAocG9ydGFsQXBwOiBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbikgPT4gUHJvbWlzZTxOZ01vZHVsZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHwgbnVsbD47XG5cbmV4cG9ydCB0eXBlIFBsYW50Q29tcG9uZW50RmFjdG9yeSA9IDxURGF0YSwgVENvbXA+KFxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbiAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPFREYXRhPlxuKSA9PiBQbGFuZXRDb21wb25lbnRSZWY8VENvbXA+O1xuXG5leHBvcnQgY2xhc3MgUGxhbmV0QXBwbGljYXRpb25SZWYge1xuICAgIHB1YmxpYyBhcHBNb2R1bGVSZWY/OiBOZ01vZHVsZVJlZjxhbnk+O1xuICAgIHB1YmxpYyB0ZW1wbGF0ZT86IHN0cmluZztcbiAgICBwcml2YXRlIGlubmVyU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBwb3J0YWxBcHAhOiBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbjtcbiAgICBwcml2YXRlIGFwcE1vZHVsZUJvb3RzdHJhcD86IEJvb3RzdHJhcEFwcE1vZHVsZTtcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk/OiBQbGFudENvbXBvbmVudEZhY3Rvcnk7XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclNlbGVjdG9yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYm9vdHN0cmFwcGVkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmFwcE1vZHVsZVJlZjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5nWm9uZSgpOiBOZ1pvbmUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBNb2R1bGVSZWY/LmluamVjdG9yLmdldChOZ1pvbmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2FuZGJveCgpOiBTYW5kYm94IHtcbiAgICAgICAgcmV0dXJuIGdldFNhbmRib3hJbnN0YW5jZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgb3B0aW9ucz86IEJvb3RzdHJhcE9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSBvcHRpb25zLnRlbXBsYXRlO1xuICAgICAgICAgICAgdGhpcy5pbm5lclNlbGVjdG9yID0gdGhpcy50ZW1wbGF0ZSA/IGdldFRhZ05hbWVCeVRlbXBsYXRlKHRoaXMudGVtcGxhdGUpIDogJyc7XG4gICAgICAgICAgICB0aGlzLmFwcE1vZHVsZUJvb3RzdHJhcCA9IG9wdGlvbnMuYm9vdHN0cmFwO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgaXMgYSBoYWNrLCBzaW5jZSBOZ1pvbmUgZG9lc24ndCBhbGxvdyB5b3UgdG8gY29uZmlndXJlIHRoZSBwcm9wZXJ0eSB0aGF0IGlkZW50aWZpZXMgeW91ciB6b25lLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL1BsYWNlTWUtU0FTL3NpbmdsZS1zcGEtYW5ndWxhci1jbGkvaXNzdWVzLzMzLFxuICAgICAgICBOZ1pvbmUuaXNJbkFuZ3VsYXJab25lID0gKCkgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5ab25lLmN1cnJlbnQuX3Byb3BlcnRpZXNbYG5neC1wbGFuZXQtJHtuYW1lfWBdID09PSB0cnVlO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIOWtkOW6lOeUqOi3r+eUseWPmOWMluWQjuWQjOatpeS/ruaUuSBwb3J0YWwg55qEIFJvdXRlXG4gICAgcHJpdmF0ZSBzeW5jUG9ydGFsUm91dGVXaGVuTmF2aWdhdGlvbkVuZCgpIHtcbiAgICAgICAgY29uc3Qgcm91dGVyID0gdGhpcy5hcHBNb2R1bGVSZWY/LmluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgICAgICBpZiAocm91dGVyKSB7XG4gICAgICAgICAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZT8ub25TdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9ydGFsQXBwLnJvdXRlciEubmF2aWdhdGVCeVVybChldmVudC51cmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib290c3RyYXAoYXBwOiBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbik6IE9ic2VydmFibGU8dGhpcz4ge1xuICAgICAgICBpZiAoIXRoaXMuYXBwTW9kdWxlQm9vdHN0cmFwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGFwcCgke3RoaXMubmFtZX0pIGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wb3J0YWxBcHAgPSBhcHA7XG4gICAgICAgIHJldHVybiBmcm9tKFxuICAgICAgICAgICAgdGhpcy5hcHBNb2R1bGVCb290c3RyYXAoYXBwKS50aGVuKGFwcE1vZHVsZVJlZiA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBNb2R1bGVSZWYgPSBhcHBNb2R1bGVSZWYhO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwTW9kdWxlUmVmLmluc3RhbmNlLmFwcE5hbWUgPSB0aGlzLm5hbWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zeW5jUG9ydGFsUm91dGVXaGVuTmF2aWdhdGlvbkVuZCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRSb3V0ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcE1vZHVsZVJlZj8uaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudFJvdXRlclN0YXRlVXJsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3V0ZXIoKT8ucm91dGVyU3RhdGUuc25hcHNob3QudXJsO1xuICAgIH1cblxuICAgIG5hdmlnYXRlQnlVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgcm91dGVyID0gdGhpcy5nZXRSb3V0ZXIoKTtcbiAgICAgICAgdGhpcy5uZ1pvbmU/LnJ1bigoKSA9PiB7XG4gICAgICAgICAgICByb3V0ZXI/Lm5hdmlnYXRlQnlVcmwodXJsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q29tcG9uZW50RmFjdG9yeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RmFjdG9yeTtcbiAgICB9XG5cbiAgICByZWdpc3RlckNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50RmFjdG9yeTogUGxhbnRDb21wb25lbnRGYWN0b3J5KSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeSA9IGNvbXBvbmVudEZhY3Rvcnk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXBwTW9kdWxlUmVmKSB7XG4gICAgICAgICAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmFwcE1vZHVsZVJlZi5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICAgICAgICAgIGlmIChyb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByb3V0ZXIuZGlzcG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuc2FuZGJveCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2FuZGJveC5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmFwcE1vZHVsZVJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmFwcE1vZHVsZVJlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,155 +0,0 @@
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
- import * as i1 from "@angular/common";
11
- const componentWrapperClass = 'planet-component-wrapper';
12
- export class PlanetComponentLoader {
13
- constructor(applicationRef, ngModuleRef, ngZone, document) {
14
- this.applicationRef = applicationRef;
15
- this.ngModuleRef = ngModuleRef;
16
- this.ngZone = ngZone;
17
- this.document = document;
18
- this.domPortalOutletCache = new WeakMap();
19
- }
20
- get applicationLoader() {
21
- return getApplicationLoader();
22
- }
23
- get applicationService() {
24
- return getApplicationService();
25
- }
26
- getPlantAppRef(name) {
27
- if (globalPlanet.apps[name] && globalPlanet.apps[name].appModuleRef) {
28
- return of(globalPlanet.apps[name]);
29
- }
30
- else {
31
- const app = this.applicationService.getAppByName(name);
32
- return this.applicationLoader.preload(app, true).pipe(map(() => {
33
- return globalPlanet.apps[name];
34
- }));
35
- }
36
- }
37
- createInjector(appModuleRef, componentRef) {
38
- const injectionTokens = new WeakMap([[PlanetComponentRef, componentRef]]);
39
- const defaultInjector = appModuleRef.injector;
40
- return new PortalInjector(defaultInjector, injectionTokens);
41
- }
42
- getContainerElement(config) {
43
- if (!config.container) {
44
- throw new Error(`config 'container' cannot be null`);
45
- }
46
- else {
47
- if (config.container.nativeElement) {
48
- return config.container.nativeElement;
49
- }
50
- else {
51
- return config.container;
52
- }
53
- }
54
- }
55
- createWrapperElement(config) {
56
- const container = this.getContainerElement(config);
57
- const element = this.document.createElement('div');
58
- const subApp = this.applicationService.getAppByName(this.ngModuleRef.instance.appName);
59
- element.classList.add(componentWrapperClass);
60
- element.setAttribute('planet-inline', '');
61
- if (config.wrapperClass) {
62
- element.classList.add(config.wrapperClass);
63
- }
64
- if (subApp && subApp.stylePrefix) {
65
- element.classList.add(subApp.stylePrefix);
66
- }
67
- container.appendChild(element);
68
- return element;
69
- }
70
- attachComponent(plantComponent, appModuleRef, config) {
71
- const plantComponentRef = new PlanetComponentRef();
72
- const componentFactoryResolver = appModuleRef.componentFactoryResolver;
73
- const appRef = this.applicationRef;
74
- const injector = this.createInjector(appModuleRef, plantComponentRef);
75
- const wrapper = this.createWrapperElement(config);
76
- let portalOutlet = this.domPortalOutletCache.get(wrapper);
77
- if (portalOutlet) {
78
- portalOutlet.detach();
79
- }
80
- else {
81
- portalOutlet = new DomPortalOutlet(wrapper, componentFactoryResolver, appRef, injector);
82
- this.domPortalOutletCache.set(wrapper, portalOutlet);
83
- }
84
- const componentPortal = new ComponentPortal(plantComponent.component, null);
85
- const componentRef = portalOutlet.attachComponentPortal(componentPortal);
86
- if (config.initialState) {
87
- Object.assign(componentRef.instance, config.initialState);
88
- }
89
- plantComponentRef.componentInstance = componentRef.instance;
90
- plantComponentRef.componentRef = componentRef;
91
- plantComponentRef.wrapperElement = wrapper;
92
- plantComponentRef.dispose = () => {
93
- this.domPortalOutletCache.delete(wrapper);
94
- portalOutlet.dispose();
95
- };
96
- return plantComponentRef;
97
- }
98
- registerComponentFactory(componentOrComponents) {
99
- const app = this.ngModuleRef.instance.appName;
100
- this.getPlantAppRef(app).subscribe(appRef => {
101
- appRef.registerComponentFactory((componentName, config) => {
102
- const components = coerceArray(componentOrComponents);
103
- const component = components.find(item => item.name === componentName);
104
- if (component) {
105
- return this.ngZone.run(() => {
106
- const componentRef = this.attachComponent(component, appRef.appModuleRef, config);
107
- return componentRef;
108
- });
109
- }
110
- else {
111
- throw Error(`unregistered component ${componentName} in app ${app}`);
112
- }
113
- });
114
- });
115
- }
116
- register(components) {
117
- setTimeout(() => {
118
- this.registerComponentFactory(components);
119
- });
120
- }
121
- load(app, componentName, config) {
122
- const result = this.getPlantAppRef(app).pipe(delayWhen(appRef => {
123
- if (appRef.getComponentFactory()) {
124
- return of('');
125
- }
126
- else {
127
- // Because register use 'setTimeout',so timer 20
128
- return timer(20);
129
- }
130
- }), map(appRef => {
131
- const componentFactory = appRef.getComponentFactory();
132
- if (componentFactory) {
133
- return componentFactory(componentName, config);
134
- }
135
- else {
136
- throw new Error(`${app}'s component(${componentName}) is not registered`);
137
- }
138
- }), shareReplay());
139
- result.subscribe();
140
- return result;
141
- }
142
- }
143
- PlanetComponentLoader.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlanetComponentLoader_Factory() { return new PlanetComponentLoader(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.NgModuleRef), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.DOCUMENT)); }, token: PlanetComponentLoader, providedIn: "root" });
144
- PlanetComponentLoader.decorators = [
145
- { type: Injectable, args: [{
146
- providedIn: 'root'
147
- },] }
148
- ];
149
- PlanetComponentLoader.ctorParameters = () => [
150
- { type: ApplicationRef },
151
- { type: NgModuleRef },
152
- { type: NgZone },
153
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
154
- ];
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBMkMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBd0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUU3RixNQUFNLHFCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBVXpELE1BQU0sT0FBTyxxQkFBcUI7SUFXOUIsWUFDWSxjQUE4QixFQUM5QixXQUE2QixFQUM3QixNQUFjLEVBQ0ksUUFBYTtRQUgvQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDSSxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBZG5DLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUF3QixDQUFDO0lBZWhFLENBQUM7SUFiSixJ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RUFDckIsTUFBbUM7UUFFbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3hDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNmLElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7Z0JBQzlCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2pCO2lCQUFNO2dCQUNILGdEQUFnRDtnQkFDaEQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDVCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RELElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2xCLE9BQU8sZ0JBQWdCLENBQWUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2hFO2lCQUFNO2dCQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLGdCQUFnQixhQUFhLHFCQUFxQixDQUFDLENBQUM7YUFDN0U7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7O1lBekpKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBcEJvQixjQUFjO1lBQUUsV0FBVztZQUFFLE1BQU07NENBb0MvQyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEFwcGxpY2F0aW9uUmVmLCBOZ01vZHVsZVJlZiwgTmdab25lLCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERvbVBvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tcmVmJztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudFJlZiB9IGZyb20gJy4vcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuaW1wb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGZpbmFsaXplLCBkZWJvdW5jZSwgZmlsdGVyLCB0YWtlLCBkZWxheSwgZGVsYXlXaGVuIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZ2xvYmFsUGxhbmV0LCBnZXRBcHBsaWNhdGlvbkxvYWRlciwgZ2V0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmFsLXBsYW5ldCc7XG5cbmNvbnN0IGNvbXBvbmVudFdyYXBwZXJDbGFzcyA9ICdwbGFuZXQtY29tcG9uZW50LXdyYXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYW5ldENvbXBvbmVudDxUID0gYW55PiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRMb2FkZXIge1xuICAgIHByaXZhdGUgZG9tUG9ydGFsT3V0bGV0Q2FjaGUgPSBuZXcgV2Vha01hcDxhbnksIERvbVBvcnRhbE91dGxldD4oKTtcblxuICAgIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBhcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgICAgIHJldHVybiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgbmdNb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0UGxhbnRBcHBSZWYobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQbGFuZXRBcHBsaWNhdGlvblJlZj4ge1xuICAgICAgICBpZiAoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0gJiYgZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0uYXBwTW9kdWxlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXBwID0gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0QXBwQnlOYW1lKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25Mb2FkZXIucHJlbG9hZChhcHAsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxURGF0YT4oXG4gICAgICAgIGFwcE1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgY29tcG9uZW50UmVmOiBQbGFuZXRDb21wb25lbnRSZWY8VERhdGE+XG4gICAgKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1tQbGFuZXRDb21wb25lbnRSZWYsIGNvbXBvbmVudFJlZl1dKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEluamVjdG9yID0gYXBwTW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKGRlZmF1bHRJbmplY3RvciwgaW5qZWN0aW9uVG9rZW5zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhaW5lckVsZW1lbnQoY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKCFjb25maWcuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZpZyAnY29udGFpbmVyJyBjYW5ub3QgYmUgbnVsbGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKChjb25maWcuY29udGFpbmVyIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGNvbmZpZy5jb250YWluZXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5jb250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVdyYXBwZXJFbGVtZW50KGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWcpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXJFbGVtZW50KGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCBzdWJBcHAgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBCeU5hbWUodGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbXBvbmVudFdyYXBwZXJDbGFzcyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGFuZXQtaW5saW5lJywgJycpO1xuICAgICAgICBpZiAoY29uZmlnLndyYXBwZXJDbGFzcykge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy53cmFwcGVyQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdWJBcHAgJiYgc3ViQXBwLnN0eWxlUHJlZml4KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoc3ViQXBwLnN0eWxlUHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50PFREYXRhPihcbiAgICAgICAgcGxhbnRDb21wb25lbnQ6IFBsYW5ldENvbXBvbmVudCxcbiAgICAgICAgYXBwTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnXG4gICAgKTogUGxhbmV0Q29tcG9uZW50UmVmPFREYXRhPiB7XG4gICAgICAgIGNvbnN0IHBsYW50Q29tcG9uZW50UmVmID0gbmV3IFBsYW5ldENvbXBvbmVudFJlZigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBhcHBNb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgICAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmFwcGxpY2F0aW9uUmVmO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZiwgcGxhbnRDb21wb25lbnRSZWYpO1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5jcmVhdGVXcmFwcGVyRWxlbWVudChjb25maWcpO1xuICAgICAgICBsZXQgcG9ydGFsT3V0bGV0ID0gdGhpcy5kb21Qb3J0YWxPdXRsZXRDYWNoZS5nZXQod3JhcHBlcik7XG4gICAgICAgIGlmIChwb3J0YWxPdXRsZXQpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQod3JhcHBlciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBhcHBSZWYsIGluamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuc2V0KHdyYXBwZXIsIHBvcnRhbE91dGxldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChwbGFudENvbXBvbmVudC5jb21wb25lbnQsIG51bGwpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBwb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsPFREYXRhPihjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICBpZiAoY29uZmlnLmluaXRpYWxTdGF0ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIGNvbmZpZy5pbml0aWFsU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBwbGFudENvbXBvbmVudFJlZi5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLndyYXBwZXJFbGVtZW50ID0gd3JhcHBlcjtcbiAgICAgICAgcGxhbnRDb21wb25lbnRSZWYuZGlzcG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuZGVsZXRlKHdyYXBwZXIpO1xuICAgICAgICAgICAgcG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHBsYW50Q29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE9yQ29tcG9uZW50czogUGxhbmV0Q29tcG9uZW50IHwgUGxhbmV0Q29tcG9uZW50W10pIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lO1xuICAgICAgICB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkuc3Vic2NyaWJlKGFwcFJlZiA9PiB7XG4gICAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KChjb21wb25lbnROYW1lOiBzdHJpbmcsIGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWc8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBjb2VyY2VBcnJheShjb21wb25lbnRPckNvbXBvbmVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbXBvbmVudHMuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXR0YWNoQ29tcG9uZW50PGFueT4oY29tcG9uZW50LCBhcHBSZWYuYXBwTW9kdWxlUmVmLCBjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYHVucmVnaXN0ZXJlZCBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBpbiBhcHAgJHthcHB9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGNvbXBvbmVudHM6IFBsYW5ldENvbXBvbmVudCB8IFBsYW5ldENvbXBvbmVudFtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWQ8VENvbXAgPSB1bmtub3duLCBURGF0YSA9IHVua25vd24+KFxuICAgICAgICBhcHA6IHN0cmluZyxcbiAgICAgICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPFREYXRhPlxuICAgICk6IE9ic2VydmFibGU8UGxhbmV0Q29tcG9uZW50UmVmPFRDb21wPj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkucGlwZShcbiAgICAgICAgICAgIGRlbGF5V2hlbihhcHBSZWYgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhcHBSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSByZWdpc3RlciB1c2UgJ3NldFRpbWVvdXQnLHNvIHRpbWVyIDIwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lcigyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoYXBwUmVmID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gYXBwUmVmLmdldENvbXBvbmVudEZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeTxURGF0YSwgVENvbXA+KGNvbXBvbmVudE5hbWUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FwcH0ncyBjb21wb25lbnQoJHtjb21wb25lbnROYW1lfSkgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnN1YnNjcmliZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { Component } from '@angular/core';
2
- export class EmptyComponent {
3
- }
4
- EmptyComponent.decorators = [
5
- { type: Component, args: [{
6
- selector: 'empty-component',
7
- template: ``
8
- },] }
9
- ];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxNQUFNLE9BQU8sY0FBYzs7O1lBSjFCLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUUsRUFBRTthQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZW1wdHktY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge31cbiJdfQ==
@@ -1,54 +0,0 @@
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
- var _a;
34
- return (_a = globalPlanet.portalApplication) === null || _a === void 0 ? void 0 : _a.data;
35
- }
36
- export function setApplicationLoader(loader) {
37
- globalPlanet.applicationLoader = loader;
38
- }
39
- export function getApplicationLoader() {
40
- return globalPlanet.applicationLoader;
41
- }
42
- export function setApplicationService(service) {
43
- globalPlanet.applicationService = service;
44
- }
45
- export function getApplicationService() {
46
- return globalPlanet.applicationService;
47
- }
48
- export function clearGlobalPlanet() {
49
- window.planet.apps = {};
50
- window.planet.portalApplication = null;
51
- window.planet.applicationLoader = null;
52
- window.planet.applicationService = null;
53
- }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBsYW5ldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvZ2xvYmFsLXBsYW5ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQXdDLE1BQU0sc0NBQXNDLENBQUM7QUFJbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVd2QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJO0lBQ3hFLElBQUksRUFBRSxFQUFFO0NBQ1gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUE4QztJQUMxRixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUkseUJBQXlCLENBQUMsQ0FBQztLQUNyRDtJQUNELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sR0FBRztZQUNOLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLE9BQTZCO1NBQzNDLENBQUM7S0FDTDtJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQTJCLENBQUMsQ0FBQztJQUMzRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWU7SUFDbkQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0gsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUksSUFBTztJQUMvQyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtRQUNoQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztLQUM5QztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCOztJQUNwQyxPQUFPLE1BQUEsWUFBWSxDQUFDLGlCQUFpQiwwQ0FBRSxJQUFhLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUErQjtJQUNoRSxZQUFZLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsT0FBaUM7SUFDbkUsWUFBWSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uUmVmLCBCb290c3RyYXBBcHBNb2R1bGUsIEJvb3RzdHJhcE9wdGlvbnMgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi1yZWYnO1xuaW1wb3J0IHsgUGxhbmV0UG9ydGFsQXBwbGljYXRpb24gfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BvcnRhbC1hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlciB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbFBsYW5ldCB7XG4gICAgYXBwczogeyBba2V5OiBzdHJpbmddOiBQbGFuZXRBcHBsaWNhdGlvblJlZiB9O1xuICAgIHBvcnRhbEFwcGxpY2F0aW9uPzogUGxhbmV0UG9ydGFsQXBwbGljYXRpb247XG4gICAgYXBwbGljYXRpb25Mb2FkZXI6IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyO1xuICAgIGFwcGxpY2F0aW9uU2VydmljZTogUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlO1xufVxuXG5leHBvcnQgY29uc3QgZ2xvYmFsUGxhbmV0OiBHbG9iYWxQbGFuZXQgPSAod2luZG93LnBsYW5ldCA9IHdpbmRvdy5wbGFuZXQgfHwge1xuICAgIGFwcHM6IHt9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUFwcGxpY2F0aW9uKG5hbWU6IHN0cmluZywgb3B0aW9uczogQm9vdHN0cmFwQXBwTW9kdWxlIHwgQm9vdHN0cmFwT3B0aW9ucykge1xuICAgIGlmIChnbG9iYWxQbGFuZXQuYXBwc1tuYW1lXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gYXBwbGljYXRpb24gaGFzIGV4aXN0LmApO1xuICAgIH1cbiAgICBpZiAoaXNGdW5jdGlvbihvcHRpb25zKSkge1xuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGVtcGxhdGU6ICcnLFxuICAgICAgICAgICAgYm9vdHN0cmFwOiBvcHRpb25zIGFzIEJvb3RzdHJhcEFwcE1vZHVsZVxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBSZWYgPSBuZXcgUGxhbmV0QXBwbGljYXRpb25SZWYobmFtZSwgb3B0aW9ucyBhcyBCb290c3RyYXBPcHRpb25zKTtcbiAgICBnbG9iYWxQbGFuZXQuYXBwc1tuYW1lXSA9IGFwcFJlZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBsYW5ldEFwcGxpY2F0aW9uUmVmKGFwcE5hbWU6IHN0cmluZyk6IFBsYW5ldEFwcGxpY2F0aW9uUmVmIHwgbnVsbCB7XG4gICAgaWYgKGdsb2JhbFBsYW5ldCAmJiBnbG9iYWxQbGFuZXQuYXBwcyAmJiBnbG9iYWxQbGFuZXQuYXBwc1thcHBOYW1lXSkge1xuICAgICAgICByZXR1cm4gZ2xvYmFsUGxhbmV0LmFwcHNbYXBwTmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UG9ydGFsQXBwbGljYXRpb25EYXRhPFQ+KGRhdGE6IFQpIHtcbiAgICBpZiAoZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uKSB7XG4gICAgICAgIGdsb2JhbFBsYW5ldC5wb3J0YWxBcHBsaWNhdGlvbi5kYXRhID0gZGF0YTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGE8VERhdGE+KCk6IFREYXRhIHtcbiAgICByZXR1cm4gZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uPy5kYXRhIGFzIFREYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QXBwbGljYXRpb25Mb2FkZXIobG9hZGVyOiBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcikge1xuICAgIGdsb2JhbFBsYW5ldC5hcHBsaWNhdGlvbkxvYWRlciA9IGxvYWRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgIHJldHVybiBnbG9iYWxQbGFuZXQuYXBwbGljYXRpb25Mb2FkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcHBsaWNhdGlvblNlcnZpY2Uoc2VydmljZTogUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKSB7XG4gICAgZ2xvYmFsUGxhbmV0LmFwcGxpY2F0aW9uU2VydmljZSA9IHNlcnZpY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBsaWNhdGlvblNlcnZpY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckdsb2JhbFBsYW5ldCgpIHtcbiAgICB3aW5kb3cucGxhbmV0LmFwcHMgPSB7fTtcbiAgICB3aW5kb3cucGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uID0gbnVsbDtcbiAgICB3aW5kb3cucGxhbmV0LmFwcGxpY2F0aW9uTG9hZGVyID0gbnVsbDtcbiAgICB3aW5kb3cucGxhbmV0LmFwcGxpY2F0aW9uU2VydmljZSA9IG51bGw7XG59XG4iXX0=
package/esm2015/module.js DELETED
@@ -1,27 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PLANET_APPLICATIONS } from './planet.class';
3
- import { HttpClientModule } from '@angular/common/http';
4
- import { EmptyComponent } from './empty/empty.component';
5
- export class NgxPlanetModule {
6
- static forRoot(apps) {
7
- return {
8
- ngModule: NgxPlanetModule,
9
- providers: [
10
- {
11
- provide: PLANET_APPLICATIONS,
12
- useValue: apps
13
- }
14
- ]
15
- };
16
- }
17
- }
18
- NgxPlanetModule.decorators = [
19
- { type: NgModule, args: [{
20
- declarations: [EmptyComponent],
21
- entryComponents: [EmptyComponent],
22
- imports: [HttpClientModule],
23
- providers: [],
24
- exports: [HttpClientModule, EmptyComponent]
25
- },] }
26
- ];
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVN6RCxNQUFNLE9BQU8sZUFBZTtJQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQXlCO1FBQ3BDLE9BQU87WUFDSCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsUUFBUSxFQUFFLElBQUk7aUJBQ2pCO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBbEJKLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQzlCLGVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQzthQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiwgUExBTkVUX0FQUExJQ0FUSU9OUyB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFbXB0eUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtFbXB0eUNvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbRW1wdHlDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGV4cG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBFbXB0eUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UGxhbmV0TW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdChhcHBzOiBQbGFuZXRBcHBsaWNhdGlvbltdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hQbGFuZXRNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hQbGFuZXRNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFBMQU5FVF9BUFBMSUNBVElPTlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBhcHBzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
package/esm2015/planet.js DELETED
@@ -1,91 +0,0 @@
1
- import { Injectable, Inject, Optional, Injector } from '@angular/core';
2
- import { NavigationEnd, Router } from '@angular/router';
3
- import { PLANET_APPLICATIONS } from './planet.class';
4
- import { PlanetApplicationService } from './application/planet-application.service';
5
- import { PlanetApplicationLoader } from './application/planet-application-loader';
6
- import { filter, startWith, distinctUntilChanged, map } from 'rxjs/operators';
7
- import { setPortalApplicationData, setApplicationLoader, setApplicationService, getApplicationLoader, getApplicationService } from './global-planet';
8
- import { setDebugFactory } from './debug';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/router";
11
- import * as i2 from "./planet.class";
12
- export class Planet {
13
- constructor(injector, router, planetApplications) {
14
- this.injector = injector;
15
- this.router = router;
16
- if (!this.planetApplicationLoader) {
17
- setApplicationLoader(this.injector.get(PlanetApplicationLoader));
18
- }
19
- if (!this.planetApplicationService) {
20
- setApplicationService(this.injector.get(PlanetApplicationService));
21
- }
22
- if (planetApplications) {
23
- this.registerApps(planetApplications);
24
- }
25
- }
26
- get planetApplicationLoader() {
27
- return getApplicationLoader();
28
- }
29
- get planetApplicationService() {
30
- return getApplicationService();
31
- }
32
- get loadingDone() {
33
- return this.planetApplicationLoader.loadingDone;
34
- }
35
- get appStatusChange() {
36
- return this.planetApplicationLoader.appStatusChange;
37
- }
38
- get appsLoadingStart() {
39
- return this.planetApplicationLoader.appsLoadingStart;
40
- }
41
- setOptions(options) {
42
- this.planetApplicationLoader.setOptions(options);
43
- if (options.debugFactory) {
44
- setDebugFactory(options.debugFactory);
45
- }
46
- }
47
- setPortalAppData(data) {
48
- setPortalApplicationData(data);
49
- }
50
- registerApp(app) {
51
- this.planetApplicationService.register(app);
52
- }
53
- registerApps(apps) {
54
- this.planetApplicationService.register(apps);
55
- }
56
- unregisterApp(name) {
57
- this.planetApplicationService.unregister(name);
58
- }
59
- getApps() {
60
- return this.planetApplicationService.getApps();
61
- }
62
- start() {
63
- this.subscription = this.router.events
64
- .pipe(filter(event => {
65
- return event instanceof NavigationEnd;
66
- }), map(event => {
67
- return event.urlAfterRedirects || event.url;
68
- }), startWith(location.pathname), distinctUntilChanged())
69
- .subscribe((url) => {
70
- this.planetApplicationLoader.reroute({
71
- url: url
72
- });
73
- });
74
- }
75
- stop() {
76
- var _a;
77
- (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
78
- }
79
- }
80
- Planet.ɵprov = i0.ɵɵdefineInjectable({ factory: function Planet_Factory() { return new Planet(i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.PLANET_APPLICATIONS, 8)); }, token: Planet, providedIn: "root" });
81
- Planet.decorators = [
82
- { type: Injectable, args: [{
83
- providedIn: 'root'
84
- },] }
85
- ];
86
- Planet.ctorParameters = () => [
87
- { type: Injector },
88
- { type: Router },
89
- { type: Array, decorators: [{ type: Inject, args: [PLANET_APPLICATIONS,] }, { type: Optional }] }
90
- ];
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBb0MsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQ0gsdUJBQXVCLEVBRzFCLE1BQU0seUNBQXlDLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTyxNQUFNO0lBdUJmLFlBQ1ksUUFBa0IsRUFDbEIsTUFBYyxFQUNtQixrQkFBdUM7UUFGeEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR3RCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDL0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUFJLGtCQUFrQixFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFyQ0QsSUFBWSx1QkFBdUI7UUFDL0IsT0FBTyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFZLHdCQUF3QjtRQUNoQyxPQUFPLHFCQUFxQixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDO0lBQ3pELENBQUM7SUFxQkQsVUFBVSxDQUFDLE9BQStCO1FBQ3RDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3RCLGVBQWUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUksSUFBTztRQUN2Qix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFTLEdBQThCO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBUyxJQUFpQztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBa0M7YUFDOUQsSUFBSSxDQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNYLE9BQU8sS0FBSyxZQUFZLGFBQWEsQ0FBQztRQUMxQyxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixPQUFRLEtBQXVCLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNuRSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUM1QixvQkFBb0IsRUFBRSxDQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLEdBQUcsRUFBRSxHQUFHO2FBQ1gsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBSTs7UUFDQSxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7Ozs7WUEzRkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUF0QnNDLFFBQVE7WUFDVixNQUFNO3dDQWdEbEMsTUFBTSxTQUFDLG1CQUFtQixjQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIE9wdGlvbmFsLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyRXZlbnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQbGFuZXRPcHRpb25zLCBQbGFuZXRBcHBsaWNhdGlvbiwgUExBTkVUX0FQUExJQ0FUSU9OUyB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcixcbiAgICBBcHBzTG9hZGluZ1N0YXJ0RXZlbnQsXG4gICAgQXBwU3RhdHVzQ2hhbmdlRXZlbnRcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIHNldFBvcnRhbEFwcGxpY2F0aW9uRGF0YSxcbiAgICBzZXRBcHBsaWNhdGlvbkxvYWRlcixcbiAgICBzZXRBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgZ2V0QXBwbGljYXRpb25Mb2FkZXIsXG4gICAgZ2V0QXBwbGljYXRpb25TZXJ2aWNlXG59IGZyb20gJy4vZ2xvYmFsLXBsYW5ldCc7XG5pbXBvcnQgeyBzZXREZWJ1Z0ZhY3RvcnkgfSBmcm9tICcuL2RlYnVnJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXQge1xuICAgIHByaXZhdGUgZ2V0IHBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyKCk6IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyIHtcbiAgICAgICAgcmV0dXJuIGdldEFwcGxpY2F0aW9uTG9hZGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25TZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2FkaW5nRG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIubG9hZGluZ0RvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBTdGF0dXNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBcHBTdGF0dXNDaGFuZ2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlci5hcHBTdGF0dXNDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBzTG9hZGluZ1N0YXJ0KCk6IE9ic2VydmFibGU8QXBwc0xvYWRpbmdTdGFydEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyLmFwcHNMb2FkaW5nU3RhcnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoUExBTkVUX0FQUExJQ0FUSU9OUykgQE9wdGlvbmFsKCkgcGxhbmV0QXBwbGljYXRpb25zOiBQbGFuZXRBcHBsaWNhdGlvbltdXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlcikge1xuICAgICAgICAgICAgc2V0QXBwbGljYXRpb25Mb2FkZXIodGhpcy5pbmplY3Rvci5nZXQoUGxhbmV0QXBwbGljYXRpb25Mb2FkZXIpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgICAgICBzZXRBcHBsaWNhdGlvblNlcnZpY2UodGhpcy5pbmplY3Rvci5nZXQoUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGxhbmV0QXBwbGljYXRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQXBwcyhwbGFuZXRBcHBsaWNhdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0T3B0aW9ucyhvcHRpb25zOiBQYXJ0aWFsPFBsYW5ldE9wdGlvbnM+KSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIuc2V0T3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZGVidWdGYWN0b3J5KSB7XG4gICAgICAgICAgICBzZXREZWJ1Z0ZhY3Rvcnkob3B0aW9ucy5kZWJ1Z0ZhY3RvcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0UG9ydGFsQXBwRGF0YTxUPihkYXRhOiBUKSB7XG4gICAgICAgIHNldFBvcnRhbEFwcGxpY2F0aW9uRGF0YShkYXRhKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckFwcDxURXh0cmE+KGFwcDogUGxhbmV0QXBwbGljYXRpb248VEV4dHJhPikge1xuICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS5yZWdpc3RlcihhcHApO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQXBwczxURXh0cmE+KGFwcHM6IFBsYW5ldEFwcGxpY2F0aW9uPFRFeHRyYT5bXSkge1xuICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS5yZWdpc3RlcihhcHBzKTtcbiAgICB9XG5cbiAgICB1bnJlZ2lzdGVyQXBwKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS51bnJlZ2lzdGVyKG5hbWUpO1xuICAgIH1cblxuICAgIGdldEFwcHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBzKCk7XG4gICAgfVxuXG4gICAgc3RhcnQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gKHRoaXMucm91dGVyLmV2ZW50cyBhcyBPYnNlcnZhYmxlPFJvdXRlckV2ZW50PilcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChldmVudCBhcyBOYXZpZ2F0aW9uRW5kKS51cmxBZnRlclJlZGlyZWN0cyB8fCBldmVudC51cmw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGxvY2F0aW9uLnBhdGhuYW1lKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIucmVyb3V0ZSh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogdXJsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdG9wKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { globalPlanet as ɵa } from './global-planet';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3RpbGUtcGxhbmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy93b3JrdGlsZS1wbGFuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge2dsb2JhbFBsYW5ldCBhcyDJtWF9IGZyb20gJy4vZ2xvYmFsLXBsYW5ldCc7Il19