@worktile/planet 14.0.0 → 14.1.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 +18 -0
- package/README.md +29 -3
- package/component/planet-component-loader.d.ts +5 -5
- package/component/planet-component-loader.d.ts.map +1 -1
- package/component/planet-component-outlet.d.ts +24 -0
- package/component/planet-component-outlet.d.ts.map +1 -0
- package/component/planet-component-ref.d.ts +1 -0
- package/component/planet-component-ref.d.ts.map +1 -1
- package/component/plant-component.config.d.ts +9 -2
- package/component/plant-component.config.d.ts.map +1 -1
- package/esm2020/component/planet-component-loader.mjs +42 -32
- package/esm2020/component/planet-component-outlet.mjs +68 -0
- package/esm2020/component/planet-component-ref.mjs +1 -1
- package/esm2020/component/plant-component.config.mjs +1 -1
- package/esm2020/module.mjs +5 -4
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/worktile-planet.mjs +132 -59
- package/fesm2015/worktile-planet.mjs.map +1 -1
- package/fesm2020/worktile-planet.mjs +131 -59
- package/fesm2020/worktile-planet.mjs.map +1 -1
- package/module.d.ts +3 -2
- package/module.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [14.1.1](https://github.com/worktile/ngx-planet/compare/14.1.0...14.1.1) (2023-02-01)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **planet-component:** invoke componentRef's destroy when plantComponentRef dispose ([#270](https://github.com/worktile/ngx-planet/issues/270)) ([73ace3c](https://github.com/worktile/ngx-planet/commit/73ace3c11b3529e8df23ec6c775c94423af35ceb))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [14.1.0](https://github.com/worktile/ngx-planet/compare/14.0.0...14.1.0) (2022-11-28)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add planetComponentOutlet and refactor attachComponent, remove wrapper element and cdk ([#261](https://github.com/worktile/ngx-planet/issues/261)) ([516ba55](https://github.com/worktile/ngx-planet/commit/516ba55ffaa42de18fb52426682b74c6b9375220))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
5
23
|
<a name="14.0.0"></a>
|
|
6
24
|
# [14.0.0](https://github.com/worktile/ngx-planet/compare/14.0.0-next.1...14.0.0) (2022-08-23)
|
|
7
25
|
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ $ yarn add @worktile/planet
|
|
|
40
40
|
|
|
41
41
|
## Dependencies
|
|
42
42
|
|
|
43
|
-
-
|
|
43
|
+
- `<= 14.0.0` you should install `@angular/cdk`
|
|
44
44
|
|
|
45
45
|
## Demo
|
|
46
46
|
|
|
@@ -220,9 +220,30 @@ export class AppModule {
|
|
|
220
220
|
this.planetComponentLoader.register([{ name: 'app1-project-list', component: App1ProjectListComponent }]);
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
+
```
|
|
223
224
|
|
|
224
|
-
|
|
225
|
+
Load `app1-project-list` component of app1 in other app via `PlanetComponentOutlet`
|
|
226
|
+
|
|
227
|
+
```html
|
|
228
|
+
<ng-container *planetComponentOutlet="'app1-project-list'; app: 'app1'; initialState: { search: 'xxx' }"></ng-container>
|
|
229
|
+
|
|
230
|
+
// or
|
|
231
|
+
<ng-container planetComponentOutlet="app1-project-list"
|
|
232
|
+
planetComponentOutletApp="app1"
|
|
233
|
+
[planetComponentOutletInitialState]="{ term: 'xxx' }"
|
|
234
|
+
(planetComponentLoaded)="planetComponentLoaded($event)">
|
|
235
|
+
</ng-container>
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Load `app1-project-list` component of app1 in other app via `PlanetComponentLoader`, must be call `dispose`
|
|
239
|
+
|
|
240
|
+
```ts
|
|
241
|
+
@Component({
|
|
242
|
+
...
|
|
243
|
+
})
|
|
225
244
|
export class OneComponent {
|
|
245
|
+
private componentRef: PlanetComponentRef;
|
|
246
|
+
|
|
226
247
|
constructor(private planetComponentLoader: PlanetComponentLoader) {
|
|
227
248
|
}
|
|
228
249
|
|
|
@@ -230,10 +251,15 @@ export class OneComponent {
|
|
|
230
251
|
this.planetComponentLoader.load('app1', 'app1-project-list', {
|
|
231
252
|
container: this.containerElementRef,
|
|
232
253
|
initialState: {}
|
|
254
|
+
}).subscribe((componentRef) => {
|
|
255
|
+
this.componentRef = componentRef;
|
|
233
256
|
});
|
|
234
257
|
}
|
|
235
|
-
}
|
|
236
258
|
|
|
259
|
+
ngOnDestroy() {
|
|
260
|
+
this.componentRef?.dispose();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
237
263
|
```
|
|
238
264
|
|
|
239
265
|
## FAQ
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { ApplicationRef, NgModuleRef, NgZone } from '@angular/core';
|
|
2
|
-
import { ComponentType } from '@angular/cdk/portal';
|
|
1
|
+
import { ApplicationRef, NgModuleRef, NgZone, Type } from '@angular/core';
|
|
3
2
|
import { PlanetComponentRef } from './planet-component-ref';
|
|
4
3
|
import { PlantComponentConfig } from './plant-component.config';
|
|
5
4
|
import { Observable } from 'rxjs';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export interface PlanetComponent<T = any> {
|
|
8
7
|
name: string;
|
|
9
|
-
component:
|
|
8
|
+
component: Type<T>;
|
|
10
9
|
}
|
|
11
10
|
export declare class PlanetComponentLoader {
|
|
12
11
|
private applicationRef;
|
|
13
12
|
private ngModuleRef;
|
|
14
13
|
private ngZone;
|
|
15
14
|
private document;
|
|
16
|
-
private domPortalOutletCache;
|
|
17
15
|
private get applicationLoader();
|
|
18
16
|
private get applicationService();
|
|
19
17
|
constructor(applicationRef: ApplicationRef, ngModuleRef: NgModuleRef<any>, ngZone: NgZone, document: any);
|
|
20
18
|
private getPlantAppRef;
|
|
21
19
|
private createInjector;
|
|
22
20
|
private getContainerElement;
|
|
23
|
-
private
|
|
21
|
+
private insertComponentRootNodeToContainer;
|
|
24
22
|
private attachComponent;
|
|
23
|
+
/** Gets the root HTMLElement for an instantiated component. */
|
|
24
|
+
private getComponentRootNode;
|
|
25
25
|
private registerComponentFactory;
|
|
26
26
|
register(components: PlanetComponent | PlanetComponent[]): void;
|
|
27
27
|
load<TComp = unknown, TData = unknown>(app: string, componentName: string, config: PlantComponentConfig<TData>): Observable<PlanetComponentRef<TComp>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planet-component-loader.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/planet-component-loader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"planet-component-loader.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/planet-component-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EACd,WAAW,EACX,MAAM,EAMN,IAAI,EAGP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAM,UAAU,EAAmB,MAAM,MAAM,CAAC;;AAMvD,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACtB;AAED,qBAGa,qBAAqB;IAU1B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACI,OAAO,CAAC,QAAQ;IAZtC,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,kBAAkB,GAE7B;gBAGW,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,MAAM,EAAE,MAAM,EACI,QAAQ,EAAE,GAAG;IAG3C,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kCAAkC;IAsB1C,OAAO,CAAC,eAAe;IAgCvB,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,wBAAwB;IAkBhC,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,EAAE;IAMxD,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EACjC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,GACpC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;yCA5I/B,qBAAqB;6CAArB,qBAAqB;CAmKjC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OnDestroy, OnChanges, SimpleChanges, AfterViewInit, ElementRef, NgZone, EventEmitter } from '@angular/core';
|
|
2
|
+
import { PlanetComponentLoader } from './planet-component-loader';
|
|
3
|
+
import { PlanetComponentRef } from './planet-component-ref';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class PlanetComponentOutlet implements OnChanges, OnDestroy, AfterViewInit {
|
|
6
|
+
private elementRef;
|
|
7
|
+
private planetComponentLoader;
|
|
8
|
+
private ngZone;
|
|
9
|
+
planetComponentOutlet: string;
|
|
10
|
+
planetComponentOutletApp: string;
|
|
11
|
+
planetComponentOutletInitialState: any;
|
|
12
|
+
planetComponentLoaded: EventEmitter<PlanetComponentRef<any>>;
|
|
13
|
+
private componentRef;
|
|
14
|
+
private destroyed$;
|
|
15
|
+
constructor(elementRef: ElementRef, planetComponentLoader: PlanetComponentLoader, ngZone: NgZone);
|
|
16
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
17
|
+
ngAfterViewInit(): void;
|
|
18
|
+
loadComponent(): void;
|
|
19
|
+
ngOnDestroy(): void;
|
|
20
|
+
clear(): void;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PlanetComponentOutlet, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PlanetComponentOutlet, "[planetComponentOutlet]", never, { "planetComponentOutlet": "planetComponentOutlet"; "planetComponentOutletApp": "planetComponentOutletApp"; "planetComponentOutletInitialState": "planetComponentOutletInitialState"; }, { "planetComponentLoaded": "planetComponentLoaded"; }, never, never, false>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=planet-component-outlet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planet-component-outlet.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/planet-component-outlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,SAAS,EACT,aAAa,EAEb,aAAa,EACb,UAAU,EACV,MAAM,EAEN,YAAY,EACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;AAE5D,qBAIa,qBAAsB,YAAW,SAAS,EAAE,SAAS,EAAE,aAAa;IAczE,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,MAAM;IAfT,qBAAqB,EAAE,MAAM,CAAC;IAE9B,wBAAwB,EAAE,MAAM,CAAC;IAEjC,iCAAiC,EAAE,GAAG,CAAC;IAEtC,qBAAqB,wCAA0C;IAEzE,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,UAAU,CAAuB;gBAG7B,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,MAAM;IAG1B,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,eAAe,IAAI,IAAI;IAIvB,aAAa;IAoBb,WAAW,IAAI,IAAI;IAKnB,KAAK;yCAtDI,qBAAqB;2CAArB,qBAAqB;CA0DjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planet-component-ref.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/planet-component-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AAEzD,qBAAa,kBAAkB,CAAC,KAAK,GAAG,GAAG;IACvC,cAAc,EAAE,WAAW,CAAC;IAC5B,iBAAiB,EAAE,KAAK,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"planet-component-ref.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/planet-component-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AAEzD,qBAAa,kBAAkB,CAAC,KAAK,GAAG,GAAG;IACvC,cAAc,EAAE,WAAW,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,KAAK,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
2
|
export declare class PlantComponentConfig<TData = any> {
|
|
3
3
|
/** Load target container */
|
|
4
|
-
container: HTMLElement | ElementRef<HTMLElement | any
|
|
5
|
-
/**
|
|
4
|
+
container: HTMLElement | ElementRef<HTMLElement | any> | Comment;
|
|
5
|
+
/**
|
|
6
|
+
* Wrapper class of plant component
|
|
7
|
+
* @deprecated please use hostClass
|
|
8
|
+
*/
|
|
6
9
|
wrapperClass?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Host class of plant component
|
|
12
|
+
*/
|
|
13
|
+
hostClass?: string;
|
|
7
14
|
/** Data being injected into the child component. */
|
|
8
15
|
initialState?: TData | null;
|
|
9
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plant-component.config.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/plant-component.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,qBAAa,oBAAoB,CAAC,KAAK,GAAG,GAAG;IACzC,4BAA4B;IAC5B,SAAS,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"plant-component.config.d.ts","sourceRoot":"","sources":["../../../packages/planet/src/component/plant-component.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,qBAAa,oBAAoB,CAAC,KAAK,GAAG,GAAG;IACzC,4BAA4B;IAC5B,SAAS,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC;IACjE;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAQ;CACtC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Injectable, ApplicationRef, NgModuleRef, NgZone, Inject } from '@angular/core';
|
|
2
|
-
import { DomPortalOutlet, ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
1
|
+
import { Injectable, ApplicationRef, NgModuleRef, NgZone, Inject, Injector, createComponent } from '@angular/core';
|
|
3
2
|
import { PlanetComponentRef } from './planet-component-ref';
|
|
4
3
|
import { coerceArray } from '../helpers';
|
|
5
4
|
import { map, shareReplay, delayWhen } from 'rxjs/operators';
|
|
@@ -14,7 +13,6 @@ export class PlanetComponentLoader {
|
|
|
14
13
|
this.ngModuleRef = ngModuleRef;
|
|
15
14
|
this.ngZone = ngZone;
|
|
16
15
|
this.document = document;
|
|
17
|
-
this.domPortalOutletCache = new WeakMap();
|
|
18
16
|
}
|
|
19
17
|
get applicationLoader() {
|
|
20
18
|
return getApplicationLoader();
|
|
@@ -34,9 +32,15 @@ export class PlanetComponentLoader {
|
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
34
|
createInjector(appModuleRef, componentRef) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
return Injector.create({
|
|
36
|
+
providers: [
|
|
37
|
+
{
|
|
38
|
+
provide: PlanetComponentRef,
|
|
39
|
+
useValue: componentRef
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
parent: appModuleRef.injector
|
|
43
|
+
});
|
|
40
44
|
}
|
|
41
45
|
getContainerElement(config) {
|
|
42
46
|
if (!config.container) {
|
|
@@ -51,49 +55,55 @@ export class PlanetComponentLoader {
|
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
|
-
|
|
55
|
-
const container = this.getContainerElement(config);
|
|
56
|
-
const element = this.document.createElement('div');
|
|
58
|
+
insertComponentRootNodeToContainer(container, componentRootNode, hostClass) {
|
|
57
59
|
const subApp = this.applicationService.getAppByName(this.ngModuleRef.instance.appName);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (
|
|
61
|
-
|
|
60
|
+
componentRootNode.classList.add(componentWrapperClass);
|
|
61
|
+
componentRootNode.setAttribute('planet-inline', '');
|
|
62
|
+
if (hostClass) {
|
|
63
|
+
componentRootNode.classList.add(hostClass);
|
|
62
64
|
}
|
|
63
65
|
if (subApp && subApp.stylePrefix) {
|
|
64
|
-
|
|
66
|
+
componentRootNode.classList.add(subApp.stylePrefix);
|
|
67
|
+
}
|
|
68
|
+
// container 是注释则在前方插入,否则在元素内部插入
|
|
69
|
+
if (container.nodeType === 8) {
|
|
70
|
+
container.parentElement.insertBefore(componentRootNode, container);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
container.appendChild(componentRootNode);
|
|
65
74
|
}
|
|
66
|
-
container.appendChild(element);
|
|
67
|
-
return element;
|
|
68
75
|
}
|
|
69
76
|
attachComponent(plantComponent, appModuleRef, config) {
|
|
70
77
|
const plantComponentRef = new PlanetComponentRef();
|
|
71
|
-
const componentFactoryResolver = appModuleRef.componentFactoryResolver;
|
|
72
78
|
const appRef = this.applicationRef;
|
|
73
79
|
const injector = this.createInjector(appModuleRef, plantComponentRef);
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
const componentPortal = new ComponentPortal(plantComponent.component, null);
|
|
84
|
-
const componentRef = portalOutlet.attachComponentPortal(componentPortal);
|
|
80
|
+
const container = this.getContainerElement(config);
|
|
81
|
+
const componentRef = createComponent(plantComponent.component, {
|
|
82
|
+
environmentInjector: appModuleRef.injector,
|
|
83
|
+
elementInjector: injector
|
|
84
|
+
});
|
|
85
|
+
appRef.attachView(componentRef.hostView);
|
|
86
|
+
const componentRootNode = this.getComponentRootNode(componentRef);
|
|
87
|
+
this.insertComponentRootNodeToContainer(container, componentRootNode, config.hostClass || config.wrapperClass);
|
|
85
88
|
if (config.initialState) {
|
|
86
89
|
Object.assign(componentRef.instance, config.initialState);
|
|
87
90
|
}
|
|
88
91
|
plantComponentRef.componentInstance = componentRef.instance;
|
|
89
92
|
plantComponentRef.componentRef = componentRef;
|
|
90
|
-
plantComponentRef.
|
|
93
|
+
plantComponentRef.hostElement = componentRootNode;
|
|
91
94
|
plantComponentRef.dispose = () => {
|
|
92
|
-
|
|
93
|
-
|
|
95
|
+
if (appRef.viewCount > 0) {
|
|
96
|
+
appRef.detachView(componentRef.hostView);
|
|
97
|
+
}
|
|
98
|
+
componentRef?.destroy();
|
|
99
|
+
componentRootNode.remove();
|
|
94
100
|
};
|
|
95
101
|
return plantComponentRef;
|
|
96
102
|
}
|
|
103
|
+
/** Gets the root HTMLElement for an instantiated component. */
|
|
104
|
+
getComponentRootNode(componentRef) {
|
|
105
|
+
return componentRef.hostView.rootNodes[0];
|
|
106
|
+
}
|
|
97
107
|
registerComponentFactory(componentOrComponents) {
|
|
98
108
|
const app = this.ngModuleRef.instance.appName;
|
|
99
109
|
this.getPlantAppRef(app).subscribe(appRef => {
|
|
@@ -150,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
150
160
|
type: Inject,
|
|
151
161
|
args: [DOCUMENT]
|
|
152
162
|
}] }]; } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBMkMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBd0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTdGLE1BQU0scUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFVekQsTUFBTSxPQUFPLHFCQUFxQjtJQVc5QixZQUNZLGNBQThCLEVBQzlCLFdBQTZCLEVBQzdCLE1BQWMsRUFDSSxRQUFhO1FBSC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNJLGFBQVEsR0FBUixRQUFRLENBQUs7UUFkbkMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7SUFlaEUsQ0FBQztJQWJKLElB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QUNyQixNQUFtQztRQUVuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2YsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakI7aUJBQU07Z0JBQ0gsZ0RBQWdEO2dCQUNoRCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNwQjtRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNULE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEQsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDbEIsT0FBTyxnQkFBZ0IsQ0FBZSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDaEU7aUJBQU07Z0JBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLGFBQWEscUJBQXFCLENBQUMsQ0FBQzthQUM3RTtRQUNMLENBQUMsQ0FBQyxFQUNGLFdBQVcsRUFBRSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2tIQXRKUSxxQkFBcUIsaUdBZWxCLFFBQVE7c0hBZlgscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZ0JRLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEFwcGxpY2F0aW9uUmVmLCBOZ01vZHVsZVJlZiwgTmdab25lLCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERvbVBvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tcmVmJztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudFJlZiB9IGZyb20gJy4vcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuaW1wb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGZpbmFsaXplLCBkZWJvdW5jZSwgZmlsdGVyLCB0YWtlLCBkZWxheSwgZGVsYXlXaGVuIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZ2xvYmFsUGxhbmV0LCBnZXRBcHBsaWNhdGlvbkxvYWRlciwgZ2V0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmFsLXBsYW5ldCc7XG5cbmNvbnN0IGNvbXBvbmVudFdyYXBwZXJDbGFzcyA9ICdwbGFuZXQtY29tcG9uZW50LXdyYXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYW5ldENvbXBvbmVudDxUID0gYW55PiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRMb2FkZXIge1xuICAgIHByaXZhdGUgZG9tUG9ydGFsT3V0bGV0Q2FjaGUgPSBuZXcgV2Vha01hcDxhbnksIERvbVBvcnRhbE91dGxldD4oKTtcblxuICAgIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBhcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgICAgIHJldHVybiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgbmdNb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0UGxhbnRBcHBSZWYobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQbGFuZXRBcHBsaWNhdGlvblJlZj4ge1xuICAgICAgICBpZiAoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0gJiYgZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0uYXBwTW9kdWxlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXBwID0gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0QXBwQnlOYW1lKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25Mb2FkZXIucHJlbG9hZChhcHAsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxURGF0YT4oXG4gICAgICAgIGFwcE1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgY29tcG9uZW50UmVmOiBQbGFuZXRDb21wb25lbnRSZWY8VERhdGE+XG4gICAgKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1tQbGFuZXRDb21wb25lbnRSZWYsIGNvbXBvbmVudFJlZl1dKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEluamVjdG9yID0gYXBwTW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKGRlZmF1bHRJbmplY3RvciwgaW5qZWN0aW9uVG9rZW5zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhaW5lckVsZW1lbnQoY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKCFjb25maWcuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZpZyAnY29udGFpbmVyJyBjYW5ub3QgYmUgbnVsbGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKChjb25maWcuY29udGFpbmVyIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGNvbmZpZy5jb250YWluZXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5jb250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVdyYXBwZXJFbGVtZW50KGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWcpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXJFbGVtZW50KGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCBzdWJBcHAgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBCeU5hbWUodGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbXBvbmVudFdyYXBwZXJDbGFzcyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGFuZXQtaW5saW5lJywgJycpO1xuICAgICAgICBpZiAoY29uZmlnLndyYXBwZXJDbGFzcykge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy53cmFwcGVyQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdWJBcHAgJiYgc3ViQXBwLnN0eWxlUHJlZml4KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoc3ViQXBwLnN0eWxlUHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50PFREYXRhPihcbiAgICAgICAgcGxhbnRDb21wb25lbnQ6IFBsYW5ldENvbXBvbmVudCxcbiAgICAgICAgYXBwTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnXG4gICAgKTogUGxhbmV0Q29tcG9uZW50UmVmPFREYXRhPiB7XG4gICAgICAgIGNvbnN0IHBsYW50Q29tcG9uZW50UmVmID0gbmV3IFBsYW5ldENvbXBvbmVudFJlZigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBhcHBNb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgICAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmFwcGxpY2F0aW9uUmVmO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZiwgcGxhbnRDb21wb25lbnRSZWYpO1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5jcmVhdGVXcmFwcGVyRWxlbWVudChjb25maWcpO1xuICAgICAgICBsZXQgcG9ydGFsT3V0bGV0ID0gdGhpcy5kb21Qb3J0YWxPdXRsZXRDYWNoZS5nZXQod3JhcHBlcik7XG4gICAgICAgIGlmIChwb3J0YWxPdXRsZXQpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQod3JhcHBlciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBhcHBSZWYsIGluamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuc2V0KHdyYXBwZXIsIHBvcnRhbE91dGxldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChwbGFudENvbXBvbmVudC5jb21wb25lbnQsIG51bGwpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBwb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsPFREYXRhPihjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICBpZiAoY29uZmlnLmluaXRpYWxTdGF0ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIGNvbmZpZy5pbml0aWFsU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBwbGFudENvbXBvbmVudFJlZi5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLndyYXBwZXJFbGVtZW50ID0gd3JhcHBlcjtcbiAgICAgICAgcGxhbnRDb21wb25lbnRSZWYuZGlzcG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuZGVsZXRlKHdyYXBwZXIpO1xuICAgICAgICAgICAgcG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHBsYW50Q29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE9yQ29tcG9uZW50czogUGxhbmV0Q29tcG9uZW50IHwgUGxhbmV0Q29tcG9uZW50W10pIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lO1xuICAgICAgICB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkuc3Vic2NyaWJlKGFwcFJlZiA9PiB7XG4gICAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KChjb21wb25lbnROYW1lOiBzdHJpbmcsIGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWc8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBjb2VyY2VBcnJheShjb21wb25lbnRPckNvbXBvbmVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbXBvbmVudHMuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXR0YWNoQ29tcG9uZW50PGFueT4oY29tcG9uZW50LCBhcHBSZWYuYXBwTW9kdWxlUmVmLCBjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYHVucmVnaXN0ZXJlZCBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBpbiBhcHAgJHthcHB9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGNvbXBvbmVudHM6IFBsYW5ldENvbXBvbmVudCB8IFBsYW5ldENvbXBvbmVudFtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWQ8VENvbXAgPSB1bmtub3duLCBURGF0YSA9IHVua25vd24+KFxuICAgICAgICBhcHA6IHN0cmluZyxcbiAgICAgICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPFREYXRhPlxuICAgICk6IE9ic2VydmFibGU8UGxhbmV0Q29tcG9uZW50UmVmPFRDb21wPj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkucGlwZShcbiAgICAgICAgICAgIGRlbGF5V2hlbihhcHBSZWYgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhcHBSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSByZWdpc3RlciB1c2UgJ3NldFRpbWVvdXQnLHNvIHRpbWVyIDIwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lcigyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoYXBwUmVmID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gYXBwUmVmLmdldENvbXBvbmVudEZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeTxURGF0YSwgVENvbXA+KGNvbXBvbmVudE5hbWUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FwcH0ncyBjb21wb25lbnQoJHtjb21wb25lbnROYW1lfSkgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnN1YnNjcmliZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUNWLGNBQWMsRUFDZCxXQUFXLEVBQ1gsTUFBTSxFQUVOLE1BQU0sRUFDTixRQUFRLEVBQ1IsZUFBZSxFQUtsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUEyQyxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsRUFBRSxFQUF3QixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0YsTUFBTSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQVV6RCxNQUFNLE9BQU8scUJBQXFCO0lBUzlCLFlBQ1ksY0FBOEIsRUFDOUIsV0FBNkIsRUFDN0IsTUFBYyxFQUNJLFFBQWE7UUFIL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0ksYUFBUSxHQUFSLFFBQVEsQ0FBSztJQUN4QyxDQUFDO0lBYkosSUFBWSxpQkFBaUI7UUFDekIsT0FBTyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFZLGtCQUFrQjtRQUMxQixPQUFPLHFCQUFx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QyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDZixJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO2dCQUM5QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQjtpQkFBTTtnQkFDSCxnREFBZ0Q7Z0JBQ2hELE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3BCO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1QsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN0RCxJQUFJLGdCQUFnQixFQUFFO2dCQUNsQixPQUFPLGdCQUFnQixDQUFlLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNoRTtpQkFBTTtnQkFDSCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsYUFBYSxxQkFBcUIsQ0FBQyxDQUFDO2FBQzdFO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxFQUFFLENBQ2hCLENBQUM7UUFDRixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7a0hBbEtRLHFCQUFxQixpR0FhbEIsUUFBUTtzSEFiWCxxQkFBcUIsY0FGbEIsTUFBTTsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFjUSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEluamVjdGFibGUsXG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgTmdNb2R1bGVSZWYsXG4gICAgTmdab25lLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIGNyZWF0ZUNvbXBvbmVudCxcbiAgICBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIFR5cGUsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uUmVmIH0gZnJvbSAnLi4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZic7XG5pbXBvcnQgeyBQbGFuZXRDb21wb25lbnRSZWYgfSBmcm9tICcuL3BsYW5ldC1jb21wb25lbnQtcmVmJztcbmltcG9ydCB7IFBsYW50Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9wbGFudC1jb21wb25lbnQuY29uZmlnJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBmaW5hbGl6ZSwgZGVib3VuY2UsIGZpbHRlciwgdGFrZSwgZGVsYXksIGRlbGF5V2hlbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9mLCBPYnNlcnZhYmxlLCBpbnRlcnZhbCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGdsb2JhbFBsYW5ldCwgZ2V0QXBwbGljYXRpb25Mb2FkZXIsIGdldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2dsb2JhbC1wbGFuZXQnO1xuXG5jb25zdCBjb21wb25lbnRXcmFwcGVyQ2xhc3MgPSAncGxhbmV0LWNvbXBvbmVudC13cmFwcGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFuZXRDb21wb25lbnQ8VCA9IGFueT4ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjb21wb25lbnQ6IFR5cGU8VD47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhbmV0Q29tcG9uZW50TG9hZGVyIHtcbiAgICBwcml2YXRlIGdldCBhcHBsaWNhdGlvbkxvYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIGdldEFwcGxpY2F0aW9uTG9hZGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYXBwbGljYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25TZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIG5nTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGdldFBsYW50QXBwUmVmKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8UGxhbmV0QXBwbGljYXRpb25SZWY+IHtcbiAgICAgICAgaWYgKGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdICYmIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdLmFwcE1vZHVsZVJlZikge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGFwcCA9IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmdldEFwcEJ5TmFtZShuYW1lKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uTG9hZGVyLnByZWxvYWQoYXBwLCB0cnVlKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnbG9iYWxQbGFuZXQuYXBwc1tuYW1lXTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PiwgY29tcG9uZW50UmVmOiBQbGFuZXRDb21wb25lbnRSZWY8VERhdGE+KTogSW5qZWN0b3Ige1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUGxhbmV0Q29tcG9uZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogY29tcG9uZW50UmVmXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudDogYXBwTW9kdWxlUmVmLmluamVjdG9yXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGFpbmVyRWxlbWVudChjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAoIWNvbmZpZy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY29uZmlnICdjb250YWluZXInIGNhbm5vdCBiZSBudWxsYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoKGNvbmZpZy5jb250YWluZXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoY29uZmlnLmNvbnRhaW5lciBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLmNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5zZXJ0Q29tcG9uZW50Um9vdE5vZGVUb0NvbnRhaW5lcihcbiAgICAgICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICAgICAgY29tcG9uZW50Um9vdE5vZGU6IEhUTUxFbGVtZW50LFxuICAgICAgICBob3N0Q2xhc3M6IHN0cmluZ1xuICAgICkge1xuICAgICAgICBjb25zdCBzdWJBcHAgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBCeU5hbWUodGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lKTtcbiAgICAgICAgY29tcG9uZW50Um9vdE5vZGUuY2xhc3NMaXN0LmFkZChjb21wb25lbnRXcmFwcGVyQ2xhc3MpO1xuICAgICAgICBjb21wb25lbnRSb290Tm9kZS5zZXRBdHRyaWJ1dGUoJ3BsYW5ldC1pbmxpbmUnLCAnJyk7XG4gICAgICAgIGlmIChob3N0Q2xhc3MpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFJvb3ROb2RlLmNsYXNzTGlzdC5hZGQoaG9zdENsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3ViQXBwICYmIHN1YkFwcC5zdHlsZVByZWZpeCkge1xuICAgICAgICAgICAgY29tcG9uZW50Um9vdE5vZGUuY2xhc3NMaXN0LmFkZChzdWJBcHAuc3R5bGVQcmVmaXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnRhaW5lciDmmK/ms6jph4rliJnlnKjliY3mlrnmj5LlhaXvvIzlkKbliJnlnKjlhYPntKDlhoXpg6jmj5LlhaVcbiAgICAgICAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gOCkge1xuICAgICAgICAgICAgY29udGFpbmVyLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKGNvbXBvbmVudFJvb3ROb2RlLCBjb250YWluZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNvbXBvbmVudFJvb3ROb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50PFREYXRhPihcbiAgICAgICAgcGxhbnRDb21wb25lbnQ6IFBsYW5ldENvbXBvbmVudCxcbiAgICAgICAgYXBwTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnXG4gICAgKTogUGxhbmV0Q29tcG9uZW50UmVmPFREYXRhPiB7XG4gICAgICAgIGNvbnN0IHBsYW50Q29tcG9uZW50UmVmID0gbmV3IFBsYW5ldENvbXBvbmVudFJlZigpO1xuICAgICAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmFwcGxpY2F0aW9uUmVmO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZiwgcGxhbnRDb21wb25lbnRSZWYpO1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldENvbnRhaW5lckVsZW1lbnQoY29uZmlnKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KHBsYW50Q29tcG9uZW50LmNvbXBvbmVudCwge1xuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogYXBwTW9kdWxlUmVmLmluamVjdG9yLFxuICAgICAgICAgICAgZWxlbWVudEluamVjdG9yOiBpbmplY3RvclxuICAgICAgICB9KTtcbiAgICAgICAgYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50Um9vdE5vZGUgPSB0aGlzLmdldENvbXBvbmVudFJvb3ROb2RlKGNvbXBvbmVudFJlZik7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29tcG9uZW50Um9vdE5vZGVUb0NvbnRhaW5lcihjb250YWluZXIsIGNvbXBvbmVudFJvb3ROb2RlLCBjb25maWcuaG9zdENsYXNzIHx8IGNvbmZpZy53cmFwcGVyQ2xhc3MpO1xuICAgICAgICBpZiAoY29uZmlnLmluaXRpYWxTdGF0ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIGNvbmZpZy5pbml0aWFsU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBwbGFudENvbXBvbmVudFJlZi5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmhvc3RFbGVtZW50ID0gY29tcG9uZW50Um9vdE5vZGU7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmRpc3Bvc2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXBwUmVmLnZpZXdDb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgICBhcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gICAgICAgICAgICBjb21wb25lbnRSb290Tm9kZS5yZW1vdmUoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHBsYW50Q29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBHZXRzIHRoZSByb290IEhUTUxFbGVtZW50IGZvciBhbiBpbnN0YW50aWF0ZWQgY29tcG9uZW50LiAqL1xuICAgIHByaXZhdGUgZ2V0Q29tcG9uZW50Um9vdE5vZGUoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pik6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRPckNvbXBvbmVudHM6IFBsYW5ldENvbXBvbmVudCB8IFBsYW5ldENvbXBvbmVudFtdKSB7XG4gICAgICAgIGNvbnN0IGFwcCA9IHRoaXMubmdNb2R1bGVSZWYuaW5zdGFuY2UuYXBwTmFtZTtcbiAgICAgICAgdGhpcy5nZXRQbGFudEFwcFJlZihhcHApLnN1YnNjcmliZShhcHBSZWYgPT4ge1xuICAgICAgICAgICAgYXBwUmVmLnJlZ2lzdGVyQ29tcG9uZW50RmFjdG9yeSgoY29tcG9uZW50TmFtZTogc3RyaW5nLCBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRzID0gY29lcmNlQXJyYXkoY29tcG9uZW50T3JDb21wb25lbnRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjb21wb25lbnRzLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IGNvbXBvbmVudE5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmF0dGFjaENvbXBvbmVudDxhbnk+KGNvbXBvbmVudCwgYXBwUmVmLmFwcE1vZHVsZVJlZiwgY29uZmlnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGB1bnJlZ2lzdGVyZWQgY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gaW4gYXBwICR7YXBwfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWdpc3Rlcihjb21wb25lbnRzOiBQbGFuZXRDb21wb25lbnQgfCBQbGFuZXRDb21wb25lbnRbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudHMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkPFRDb21wID0gdW5rbm93biwgVERhdGEgPSB1bmtub3duPihcbiAgICAgICAgYXBwOiBzdHJpbmcsXG4gICAgICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbiAgICAgICAgY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZzxURGF0YT5cbiAgICApOiBPYnNlcnZhYmxlPFBsYW5ldENvbXBvbmVudFJlZjxUQ29tcD4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5nZXRQbGFudEFwcFJlZihhcHApLnBpcGUoXG4gICAgICAgICAgICBkZWxheVdoZW4oYXBwUmVmID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXBwUmVmLmdldENvbXBvbmVudEZhY3RvcnkoKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoJycpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgcmVnaXN0ZXIgdXNlICdzZXRUaW1lb3V0JyxzbyB0aW1lciAyMFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKGFwcFJlZiA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IGFwcFJlZi5nZXRDb21wb25lbnRGYWN0b3J5KCk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudEZhY3RvcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudEZhY3Rvcnk8VERhdGEsIFRDb21wPihjb21wb25lbnROYW1lLCBjb25maWcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHthcHB9J3MgY29tcG9uZW50KCR7Y29tcG9uZW50TmFtZX0pIGlzIG5vdCByZWdpc3RlcmVkYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgpXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdC5zdWJzY3JpYmUoKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Directive, Input, ElementRef, NgZone, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { PlanetComponentLoader } from './planet-component-loader';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./planet-component-loader";
|
|
7
|
+
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
8
|
+
export class PlanetComponentOutlet {
|
|
9
|
+
constructor(elementRef, planetComponentLoader, ngZone) {
|
|
10
|
+
this.elementRef = elementRef;
|
|
11
|
+
this.planetComponentLoader = planetComponentLoader;
|
|
12
|
+
this.ngZone = ngZone;
|
|
13
|
+
this.planetComponentLoaded = new EventEmitter();
|
|
14
|
+
this.destroyed$ = new Subject();
|
|
15
|
+
}
|
|
16
|
+
ngOnChanges(changes) {
|
|
17
|
+
if (this.planetComponentOutlet && !changes.planetComponentOutlet.isFirstChange()) {
|
|
18
|
+
this.loadComponent();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
this.loadComponent();
|
|
23
|
+
}
|
|
24
|
+
loadComponent() {
|
|
25
|
+
this.clear();
|
|
26
|
+
if (this.planetComponentOutlet && this.planetComponentOutletApp) {
|
|
27
|
+
this.planetComponentLoader
|
|
28
|
+
.load(this.planetComponentOutletApp, this.planetComponentOutlet, {
|
|
29
|
+
container: this.elementRef.nativeElement,
|
|
30
|
+
initialState: this.planetComponentOutletInitialState
|
|
31
|
+
})
|
|
32
|
+
.pipe(takeUntil(this.destroyed$))
|
|
33
|
+
.subscribe(componentRef => {
|
|
34
|
+
this.componentRef = componentRef;
|
|
35
|
+
this.ngZone.run(() => {
|
|
36
|
+
Promise.resolve().then(() => {
|
|
37
|
+
this.planetComponentLoaded.emit(this.componentRef);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
this.clear();
|
|
45
|
+
this.destroyed$.complete();
|
|
46
|
+
}
|
|
47
|
+
clear() {
|
|
48
|
+
this.componentRef?.dispose();
|
|
49
|
+
this.destroyed$.next();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
PlanetComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentOutlet, deps: [{ token: i0.ElementRef }, { token: i1.PlanetComponentLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
PlanetComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: PlanetComponentOutlet, selector: "[planetComponentOutlet]", inputs: { planetComponentOutlet: "planetComponentOutlet", planetComponentOutletApp: "planetComponentOutletApp", planetComponentOutletInitialState: "planetComponentOutletInitialState" }, outputs: { planetComponentLoaded: "planetComponentLoaded" }, usesOnChanges: true, ngImport: i0 });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentOutlet, decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{
|
|
57
|
+
selector: '[planetComponentOutlet]'
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PlanetComponentLoader }, { type: i0.NgZone }]; }, propDecorators: { planetComponentOutlet: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], planetComponentOutletApp: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], planetComponentOutletInitialState: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], planetComponentLoaded: [{
|
|
66
|
+
type: Output
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1vdXRsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LW91dGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUtULEtBQUssRUFFTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU1sRSxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLHFCQUFxQjtJQWE5QixZQUNZLFVBQXNCLEVBQ3RCLHFCQUE0QyxFQUM1QyxNQUFjO1FBRmQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFUaEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFJakUsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFNdEMsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUM5RSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUM3RCxJQUFJLENBQUMscUJBQXFCO2lCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDN0QsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtnQkFDeEMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQ0FBaUM7YUFDdkQsQ0FBQztpQkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDaEMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3ZELENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7U0FDVjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSEF6RFEscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO2lCQUN0QzswSkFHWSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLGlDQUFpQztzQkFBekMsS0FBSztnQkFFSSxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFuZXRDb21wb25lbnRMb2FkZXIgfSBmcm9tICcuL3BsYW5ldC1jb21wb25lbnQtbG9hZGVyJztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudFJlZiB9IGZyb20gJy4vcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twbGFuZXRDb21wb25lbnRPdXRsZXRdJ1xufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIFBsYW5ldENvbXBvbmVudE91dGxldCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKSBwbGFuZXRDb21wb25lbnRPdXRsZXQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHBsYW5ldENvbXBvbmVudE91dGxldEFwcDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcGxhbmV0Q29tcG9uZW50T3V0bGV0SW5pdGlhbFN0YXRlOiBhbnk7XG5cbiAgICBAT3V0cHV0KCkgcGxhbmV0Q29tcG9uZW50TG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFuZXRDb21wb25lbnRSZWY+KCk7XG5cbiAgICBwcml2YXRlIGNvbXBvbmVudFJlZjogUGxhbmV0Q29tcG9uZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcGxhbmV0Q29tcG9uZW50TG9hZGVyOiBQbGFuZXRDb21wb25lbnRMb2FkZXIsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLnBsYW5ldENvbXBvbmVudE91dGxldCAmJiAhY2hhbmdlcy5wbGFuZXRDb21wb25lbnRPdXRsZXQuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KCk7XG4gICAgfVxuXG4gICAgbG9hZENvbXBvbmVudCgpIHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICBpZiAodGhpcy5wbGFuZXRDb21wb25lbnRPdXRsZXQgJiYgdGhpcy5wbGFuZXRDb21wb25lbnRPdXRsZXRBcHApIHtcbiAgICAgICAgICAgIHRoaXMucGxhbmV0Q29tcG9uZW50TG9hZGVyXG4gICAgICAgICAgICAgICAgLmxvYWQodGhpcy5wbGFuZXRDb21wb25lbnRPdXRsZXRBcHAsIHRoaXMucGxhbmV0Q29tcG9uZW50T3V0bGV0LCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZTogdGhpcy5wbGFuZXRDb21wb25lbnRPdXRsZXRJbml0aWFsU3RhdGVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoY29tcG9uZW50UmVmID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5ldENvbXBvbmVudExvYWRlZC5lbWl0KHRoaXMuY29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class PlanetComponentRef {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sa0JBQWtCO0NBTTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRSZWY8VENvbXAgPSBhbnk+IHtcbiAgICB3cmFwcGVyRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIGNvbXBvbmVudEluc3RhbmNlOiBUQ29tcDtcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUQ29tcD47XG4gICAgZGlzcG9zZTogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
|
|
@@ -4,4 +4,4 @@ export class PlantComponentConfig {
|
|
|
4
4
|
this.initialState = null;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbnQtY29tcG9uZW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvY29tcG9uZW50L3BsYW50LWNvbXBvbmVudC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQVlJLG9EQUFvRDtRQUNwRCxpQkFBWSxHQUFrQixJQUFJLENBQUM7SUFDdkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgUGxhbnRDb21wb25lbnRDb25maWc8VERhdGEgPSBhbnk+IHtcbiAgICAvKiogTG9hZCB0YXJnZXQgY29udGFpbmVyICovXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQgfCBhbnk+IHwgQ29tbWVudDtcbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIGNsYXNzIG9mIHBsYW50IGNvbXBvbmVudFxuICAgICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgaG9zdENsYXNzXG4gICAgICovXG4gICAgd3JhcHBlckNsYXNzPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEhvc3QgY2xhc3Mgb2YgcGxhbnQgY29tcG9uZW50XG4gICAgICovXG4gICAgaG9zdENsYXNzPzogc3RyaW5nO1xuICAgIC8qKiBEYXRhIGJlaW5nIGluamVjdGVkIGludG8gdGhlIGNoaWxkIGNvbXBvbmVudC4gKi9cbiAgICBpbml0aWFsU3RhdGU/OiBURGF0YSB8IG51bGwgPSBudWxsO1xufVxuIl19
|
package/esm2020/module.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { PLANET_APPLICATIONS } from './planet.class';
|
|
3
3
|
import { HttpClientModule } from '@angular/common/http';
|
|
4
4
|
import { EmptyComponent } from './empty/empty.component';
|
|
5
|
+
import { PlanetComponentOutlet } from './component/planet-component-outlet';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class NgxPlanetModule {
|
|
7
8
|
static forRoot(apps) {
|
|
@@ -17,15 +18,15 @@ export class NgxPlanetModule {
|
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
NgxPlanetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
-
NgxPlanetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, declarations: [EmptyComponent], imports: [HttpClientModule], exports: [HttpClientModule, EmptyComponent] });
|
|
21
|
+
NgxPlanetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, declarations: [EmptyComponent, PlanetComponentOutlet], imports: [HttpClientModule], exports: [HttpClientModule, EmptyComponent, PlanetComponentOutlet] });
|
|
21
22
|
NgxPlanetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, imports: [HttpClientModule, HttpClientModule] });
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, decorators: [{
|
|
23
24
|
type: NgModule,
|
|
24
25
|
args: [{
|
|
25
|
-
declarations: [EmptyComponent],
|
|
26
|
+
declarations: [EmptyComponent, PlanetComponentOutlet],
|
|
26
27
|
imports: [HttpClientModule],
|
|
27
28
|
providers: [],
|
|
28
|
-
exports: [HttpClientModule, EmptyComponent]
|
|
29
|
+
exports: [HttpClientModule, EmptyComponent, PlanetComponentOutlet]
|
|
29
30
|
}]
|
|
30
31
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFRNUUsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUF5QjtRQUNwQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OzRHQVhRLGVBQWU7NkdBQWYsZUFBZSxpQkFMVCxjQUFjLEVBQUUscUJBQXFCLGFBQzFDLGdCQUFnQixhQUVoQixnQkFBZ0IsRUFBRSxjQUFjLEVBQUUscUJBQXFCOzZHQUV4RCxlQUFlLFlBSmQsZ0JBQWdCLEVBRWhCLGdCQUFnQjsyRkFFakIsZUFBZTtrQkFOM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUM7b0JBQ3JELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUscUJBQXFCLENBQUM7aUJBQ3JFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uLCBQTEFORVRfQVBQTElDQVRJT05TIH0gZnJvbSAnLi9wbGFuZXQuY2xhc3MnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVtcHR5Q29tcG9uZW50IH0gZnJvbSAnLi9lbXB0eS9lbXB0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhbmV0Q29tcG9uZW50T3V0bGV0IH0gZnJvbSAnLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1vdXRsZXQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0VtcHR5Q29tcG9uZW50LCBQbGFuZXRDb21wb25lbnRPdXRsZXRdLFxuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGV4cG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBFbXB0eUNvbXBvbmVudCwgUGxhbmV0Q29tcG9uZW50T3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hQbGFuZXRNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KGFwcHM6IFBsYW5ldEFwcGxpY2F0aW9uW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFBsYW5ldE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5neFBsYW5ldE1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUExBTkVUX0FQUExJQ0FUSU9OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGFwcHNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -13,6 +13,7 @@ export * from './application/planet-application-loader';
|
|
|
13
13
|
export * from './assets-loader';
|
|
14
14
|
export { PlanetComponentLoader } from './component/planet-component-loader';
|
|
15
15
|
export { PlanetComponentRef } from './component/planet-component-ref';
|
|
16
|
+
export { PlanetComponentOutlet } from './component/planet-component-outlet';
|
|
16
17
|
export { PlantComponentConfig } from './component/plant-component.config';
|
|
17
18
|
export * from './empty/empty.component';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQW1CLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29yZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcGxhbmV0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi9wb3J0YWwtYXBwbGljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFuZXQuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnO1xuZXhwb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi1yZWYnO1xuZXhwb3J0IHsgZGVmaW5lQXBwbGljYXRpb24sIGdldFBvcnRhbEFwcGxpY2F0aW9uRGF0YSwgZ2V0UGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuL2dsb2JhbC1wbGFuZXQnO1xuZXhwb3J0IHsgUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NldHMtbG9hZGVyJztcbmV4cG9ydCB7IFBsYW5ldENvbXBvbmVudCwgUGxhbmV0Q29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1sb2FkZXInO1xuZXhwb3J0IHsgUGxhbmV0Q29tcG9uZW50UmVmIH0gZnJvbSAnLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuZXhwb3J0IHsgUGxhbmV0Q29tcG9uZW50T3V0bGV0IH0gZnJvbSAnLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1vdXRsZXQnO1xuZXhwb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvbXBvbmVudC9wbGFudC1jb21wb25lbnQuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcbiJdfQ==
|