@veloceapps/sdk 7.0.2-9 → 8.0.0-0
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/cms.actions.d.ts +102 -11
- package/cms/cms.default.d.ts +2 -2
- package/cms/components/element-children/element-children.component.d.ts +3 -1
- package/cms/components/element-tools-panel/element-tools-panel.component.d.ts +14 -0
- package/cms/components/preview/preview.component.d.ts +10 -12
- package/cms/components/preview/preview.module.d.ts +2 -1
- package/cms/components/preview/preview.types.d.ts +9 -0
- package/cms/definitions/index.d.ts +1 -0
- package/cms/definitions/ui-builder.definitions.d.ts +6 -0
- package/cms/index.d.ts +2 -0
- package/cms/injection-tokens.d.ts +2 -4
- package/cms/modules/migrations/services/migrations.service.d.ts +1 -1
- package/cms/modules/migrations/types/migrations.types.d.ts +1 -1
- package/cms/modules/runtime/index.d.ts +1 -0
- package/cms/modules/runtime/services/compilation.service.d.ts +3 -2
- package/cms/modules/runtime/services/runtime-editor.service.d.ts +6 -4
- package/cms/modules/runtime/services/runtime.service.d.ts +6 -2
- package/cms/modules/runtime/types/runtime.actions.d.ts +5 -2
- package/cms/plugins/element-hover.plugin.d.ts +33 -0
- package/cms/plugins/page.plugin.d.ts +15 -0
- package/cms/plugins/script.plugin.d.ts +0 -3
- package/cms/services/resources.service.d.ts +9 -0
- package/cms/types/common.types.d.ts +11 -1
- package/cms/types/index.d.ts +2 -0
- package/cms/types/integration.types.d.ts +1 -0
- package/cms/types/layouts.types.d.ts +30 -2
- package/cms/types/pages.types.d.ts +1 -0
- package/cms/utils/element.utils.d.ts +1 -1
- package/cms/utils/elements-resolver.d.ts +6 -2
- package/cms/utils/encoding.utils.d.ts +2 -0
- package/cms/utils/index.d.ts +1 -0
- package/cms/utils/script.utils.d.ts +2 -0
- package/cms/utils/ui-builder-layout.utils.d.ts +4 -0
- package/cms/vendor-map.d.ts +16 -19
- package/core/core.module.d.ts +2 -0
- package/core/directives/directives.module.d.ts +7 -0
- package/core/directives/index.d.ts +2 -0
- package/core/directives/primeng-calendar.directive.d.ts +14 -0
- package/core/index.d.ts +2 -0
- package/core/modules/configuration/helpers.d.ts +4 -2
- package/core/modules/configuration/index.d.ts +2 -0
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +5 -4
- package/core/modules/configuration/services/configuration.service.d.ts +13 -7
- package/core/modules/configuration/services/configuration.state.d.ts +30 -0
- package/core/modules/configuration/services/runtime-context.service.d.ts +1 -1
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +1 -0
- package/core/modules/configuration/types/configuration.types.d.ts +10 -0
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -1
- package/core/pipes/date.pipe.d.ts +12 -0
- package/core/pipes/index.d.ts +4 -0
- package/core/pipes/number.pipe.d.ts +10 -0
- package/core/pipes/pipes.module.d.ts +9 -0
- package/core/pipes/price.pipe.d.ts +10 -0
- package/core/services/index.d.ts +1 -0
- package/core/services/runtime-settings.service.d.ts +21 -0
- package/core/types/formatting-settings.types.d.ts +11 -0
- package/core/types/index.d.ts +1 -0
- package/core/types/runtime.types.d.ts +2 -3
- package/core/types/ui-definition.types.d.ts +0 -40
- package/core/utils/line-item.utils.d.ts +10 -15
- package/core/utils/line-item.worker.d.ts +3 -6
- package/core/utils/ui-definition.utils.d.ts +1 -1
- package/esm2020/cms/cms.actions.mjs +140 -40
- package/esm2020/cms/cms.default.mjs +1 -1
- package/esm2020/cms/cms.elements.mjs +16 -4
- package/esm2020/cms/cms.layouts.mjs +73 -13
- package/esm2020/cms/components/element-children/element-children.component.mjs +11 -6
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +2 -2
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +35 -0
- package/esm2020/cms/components/preview/preview.component.mjs +30 -48
- package/esm2020/cms/components/preview/preview.module.mjs +22 -4
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/definitions/index.mjs +2 -0
- package/esm2020/cms/definitions/ui-builder.definitions.mjs +18 -0
- package/esm2020/cms/index.mjs +3 -1
- package/esm2020/cms/injection-tokens.mjs +1 -2
- package/esm2020/cms/modules/migrations/migrations.mjs +10 -3
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +1 -1
- package/esm2020/cms/modules/migrations/types/migrations.types.mjs +1 -1
- package/esm2020/cms/modules/runtime/index.mjs +2 -1
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +5 -3
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +5 -3
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +41 -6
- package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +1 -1
- package/esm2020/cms/plugins/element-hover.plugin.mjs +121 -0
- package/esm2020/cms/plugins/page.plugin.mjs +37 -0
- package/esm2020/cms/plugins/region.plugin.mjs +3 -2
- package/esm2020/cms/plugins/script.plugin.mjs +6 -40
- package/esm2020/cms/services/integration.state.mjs +3 -6
- package/esm2020/cms/services/io-provider.service.mjs +7 -5
- package/esm2020/cms/services/resources.service.mjs +19 -1
- package/esm2020/cms/types/common.types.mjs +1 -1
- package/esm2020/cms/types/index.mjs +3 -1
- package/esm2020/cms/types/integration.types.mjs +1 -1
- package/esm2020/cms/types/layouts.types.mjs +70 -1
- package/esm2020/cms/types/pages.types.mjs +2 -0
- package/esm2020/cms/utils/element.utils.mjs +9 -9
- package/esm2020/cms/utils/elements-resolver.mjs +22 -8
- package/esm2020/cms/utils/encoding.utils.mjs +28 -0
- package/esm2020/cms/utils/index.mjs +2 -1
- package/esm2020/cms/utils/script.utils.mjs +42 -0
- package/esm2020/cms/utils/ui-builder-layout.utils.mjs +46 -0
- package/esm2020/cms/vendor-map.mjs +6 -3
- package/esm2020/core/core.module.mjs +33 -4
- package/esm2020/core/directives/directives.module.mjs +16 -0
- package/esm2020/core/directives/index.mjs +3 -0
- package/esm2020/core/directives/primeng-calendar.directive.mjs +41 -0
- package/esm2020/core/index.mjs +3 -1
- package/esm2020/core/modules/configuration/configuration.module.mjs +5 -2
- package/esm2020/core/modules/configuration/helpers.mjs +37 -7
- package/esm2020/core/modules/configuration/index.mjs +3 -1
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +28 -19
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +68 -28
- package/esm2020/core/modules/configuration/services/configuration.state.mjs +142 -0
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +10 -17
- package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +2 -0
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +4 -4
- package/esm2020/core/pipes/date.pipe.mjs +38 -0
- package/esm2020/core/pipes/index.mjs +5 -0
- package/esm2020/core/pipes/number.pipe.mjs +27 -0
- package/esm2020/core/pipes/pipes.module.mjs +18 -0
- package/esm2020/core/pipes/price.pipe.mjs +30 -0
- package/esm2020/core/services/index.mjs +2 -1
- package/esm2020/core/services/quote-draft.service.mjs +1 -1
- package/esm2020/core/services/runtime-settings.service.mjs +95 -0
- package/esm2020/core/types/formatting-settings.types.mjs +3 -0
- package/esm2020/core/types/index.mjs +2 -1
- package/esm2020/core/types/runtime.types.mjs +1 -1
- package/esm2020/core/types/ui-definition.types.mjs +1 -1
- package/esm2020/core/utils/line-item.utils.mjs +24 -11
- package/esm2020/core/utils/line-item.worker.mjs +5 -5
- package/esm2020/core/utils/ui-definition.utils.mjs +1 -1
- package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +2 -2
- package/esm2020/runtime/services/runtime-context.service.mjs +8 -5
- package/esm2020/runtime/services/runtime.service.mjs +1 -1
- package/esm2020/runtime/types/runtime.types.mjs +1 -1
- package/esm2020/src/components/dialog/dialog.component.mjs +3 -3
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +31 -8
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +117 -0
- package/esm2020/src/components/guided-selling/guided-selling.module.mjs +19 -0
- package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +5 -6
- package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +7 -4
- package/esm2020/src/components/header/header.component.mjs +46 -36
- package/esm2020/src/components/header/header.module.mjs +7 -3
- package/esm2020/src/components/header/metrics/metrics.component.mjs +35 -7
- package/esm2020/src/components/header/metrics/metrics.module.mjs +7 -3
- package/esm2020/src/flow-routing.module.mjs +1 -1
- package/esm2020/src/flow.component.mjs +4 -3
- package/esm2020/src/flow.module.mjs +11 -6
- package/esm2020/src/guards/context.guard.mjs +11 -8
- package/esm2020/src/pages/assets/assets.component.mjs +3 -3
- package/esm2020/src/pages/catalog/catalog.component.mjs +4 -4
- package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +4 -4
- package/esm2020/src/pages/product/product.component.mjs +52 -61
- package/esm2020/src/pages/remote/remote.component.mjs +19 -19
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +4 -4
- package/esm2020/src/services/flow-dialog.service.mjs +15 -15
- package/esm2020/src/services/flow-router.service.mjs +10 -5
- package/esm2020/src/services/flow.service.mjs +2 -2
- package/esm2020/src/services/guided-selling.service.mjs +33 -0
- package/esm2020/src/types/flow-customization.types.mjs +1 -1
- package/fesm2015/veloceapps-sdk-cms.mjs +947 -440
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +578 -89
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-runtime.mjs +7 -4
- package/fesm2015/veloceapps-sdk-runtime.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +408 -186
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +1027 -442
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +563 -85
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-runtime.mjs +7 -4
- package/fesm2020/veloceapps-sdk-runtime.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +397 -182
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +4 -4
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
- package/runtime/services/runtime.service.d.ts +2 -2
- package/runtime/types/runtime.types.d.ts +2 -2
- package/src/components/doc-gen/doc-gen.component.d.ts +7 -3
- package/src/components/guided-selling/guided-selling.component.d.ts +29 -0
- package/src/components/guided-selling/guided-selling.module.d.ts +9 -0
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
- package/src/components/header/header.component.d.ts +3 -4
- package/src/components/header/header.module.d.ts +2 -1
- package/src/components/header/metrics/metrics.component.d.ts +10 -2
- package/src/components/header/metrics/metrics.module.d.ts +2 -1
- package/src/flow.module.d.ts +6 -5
- package/src/guards/context.guard.d.ts +3 -2
- package/src/pages/assets/assets.component.d.ts +2 -1
- package/src/pages/catalog/catalog.component.d.ts +2 -1
- package/src/pages/product/product.component.d.ts +13 -21
- package/src/pages/remote/remote.component.d.ts +4 -4
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +2 -1
- package/src/services/flow-router.service.d.ts +3 -1
- package/src/services/guided-selling.service.d.ts +13 -0
- package/src/types/flow-customization.types.d.ts +4 -4
@@ -1,25 +1,53 @@
|
|
1
1
|
import { Injectable, Injector } from '@angular/core';
|
2
|
+
import { cloneDeep } from 'lodash';
|
2
3
|
import { applyPatch } from 'rfc6902';
|
3
4
|
import { BehaviorSubject, Subject, distinctUntilChanged, map, of, startWith, switchMap, tap } from 'rxjs';
|
5
|
+
import { CmsAction } from '../../../cms.actions';
|
6
|
+
import { IntegrationState } from '../../../services/integration.state';
|
4
7
|
import { findElementByPath } from '../../../utils/ui-definition.utils';
|
5
8
|
import { CMS_COMPILATION_SERVICE } from '../tokens';
|
6
9
|
import * as i0 from "@angular/core";
|
10
|
+
import * as i1 from "../../../services/integration.state";
|
7
11
|
export class RuntimeService {
|
8
|
-
constructor(injector) {
|
12
|
+
constructor(injector, integrationState) {
|
9
13
|
this.injector = injector;
|
14
|
+
this.integrationState = integrationState;
|
10
15
|
this.moduleRefs = [];
|
11
16
|
this.componentTypes = {};
|
12
17
|
this.applicationTree = [];
|
13
18
|
this.isInitialized$ = new BehaviorSubject(false);
|
14
19
|
this.updated$ = new Subject();
|
20
|
+
this.selectedPageName$ = new BehaviorSubject(null);
|
21
|
+
this.selectedOverlayNames$ = new BehaviorSubject([]);
|
15
22
|
this.compilationService = this.injector.get(CMS_COMPILATION_SERVICE);
|
23
|
+
this.integrationState
|
24
|
+
.listen$(CmsAction.GO_TO_PAGE)
|
25
|
+
.pipe(map(({ pageName }) => pageName), distinctUntilChanged())
|
26
|
+
.subscribe(pageName => this.selectedPageName$.next(pageName));
|
27
|
+
this.integrationState
|
28
|
+
.listen$(CmsAction.SHOW_OVERLAY)
|
29
|
+
.pipe(map(({ name }) => name))
|
30
|
+
.subscribe(overlayName => {
|
31
|
+
const overlayNames = this.selectedOverlayNames$.value;
|
32
|
+
if (!overlayNames.includes(overlayName)) {
|
33
|
+
this.selectedOverlayNames$.next([...overlayNames, overlayName]);
|
34
|
+
}
|
35
|
+
});
|
36
|
+
this.integrationState
|
37
|
+
.listen$(CmsAction.HIDE_OVERLAY)
|
38
|
+
.pipe(map(({ name }) => name))
|
39
|
+
.subscribe(overlayName => {
|
40
|
+
const overlayNames = this.selectedOverlayNames$.value;
|
41
|
+
this.selectedOverlayNames$.next(overlayNames.filter(name => name !== overlayName));
|
42
|
+
});
|
43
|
+
this.integrationState.listen$(CmsAction.HIDE_ALL_OVERLAYS).subscribe(() => this.selectedOverlayNames$.next([]));
|
16
44
|
}
|
17
45
|
initialize$(uiDefinition, config) {
|
18
46
|
this.config = config;
|
19
47
|
if (!uiDefinition) {
|
20
48
|
return of([]);
|
21
49
|
}
|
22
|
-
return this.compilationService.compileUIDefinition$(uiDefinition).pipe(map(result => {
|
50
|
+
return this.compilationService.compileUIDefinition$(uiDefinition, config).pipe(map(result => {
|
23
51
|
this.applicationTree = result.elements;
|
24
52
|
this.componentTypes = {
|
25
53
|
...this.componentTypes,
|
@@ -41,6 +69,13 @@ export class RuntimeService {
|
|
41
69
|
observable$ = observable$.pipe(map(() => this.deleteElement(operation)));
|
42
70
|
break;
|
43
71
|
}
|
72
|
+
case 'replace': {
|
73
|
+
observable$ = observable$.pipe(switchMap(() => {
|
74
|
+
this.deleteElement({ op: 'remove', path: operation.path });
|
75
|
+
return this.addElement$({ op: 'add', path: operation.path, value: operation.value });
|
76
|
+
}));
|
77
|
+
break;
|
78
|
+
}
|
44
79
|
default:
|
45
80
|
observable$ = of();
|
46
81
|
}
|
@@ -65,16 +100,16 @@ export class RuntimeService {
|
|
65
100
|
...result.componentTypes,
|
66
101
|
};
|
67
102
|
this.moduleRefs.push(result.moduleRef);
|
68
|
-
applyPatch(this.applicationTree, [{ ...operation, value: result.elements[0] }]);
|
103
|
+
applyPatch(this.applicationTree, [{ ...operation, value: cloneDeep(result.elements[0]) }]);
|
69
104
|
}));
|
70
105
|
}
|
71
106
|
deleteElement(operation) {
|
72
107
|
applyPatch(this.applicationTree, [operation]);
|
73
108
|
}
|
74
109
|
}
|
75
|
-
RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
110
|
+
RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService, deps: [{ token: i0.Injector }, { token: i1.IntegrationState }], target: i0.ɵɵFactoryTarget.Injectable });
|
76
111
|
RuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService });
|
77
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService, decorators: [{
|
78
113
|
type: Injectable
|
79
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBUyxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSXBELE1BQU0sT0FBTyxjQUFjO0lBVXpCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFUL0IsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFDekMsbUJBQWMsR0FBaUMsRUFBRSxDQUFDO1FBQ2xELG9CQUFlLEdBQXNCLEVBQUUsQ0FBQztRQUV4QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBS3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxXQUFXLENBQUMsWUFBMkIsRUFBRSxNQUF5QjtRQUN2RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxDQUFD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QUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsU0FBMEI7UUFDOUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OzJHQXhGVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZSwgTmdNb2R1bGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IFBhdGNoLCBhcHBseVBhdGNoIH0gZnJvbSAncmZjNjkwMic7XG5pbXBvcnQgeyBBZGRPcGVyYXRpb24sIFJlbW92ZU9wZXJhdGlvbiB9IGZyb20gJ3JmYzY5MDIvZGlmZic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG9mLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDTVNQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcudHlwZXMnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZmluZEVsZW1lbnRCeVBhdGggfSBmcm9tICcuLi8uLi8uLi91dGlscy91aS1kZWZpbml0aW9uLnV0aWxzJztcbmltcG9ydCB7IENNU19DT01QSUxBVElPTl9TRVJWSUNFIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB0eXBlIHsgQ29tcGlsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb21waWxhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVTZXJ2aWNlIHtcbiAgcHVibGljIG1vZHVsZVJlZnM6IE5nTW9kdWxlUmVmPE5nTW9kdWxlPltdID0gW107XG4gIHB1YmxpYyBjb21wb25lbnRUeXBlczogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+PiA9IHt9O1xuICBwdWJsaWMgYXBwbGljYXRpb25UcmVlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuICBwdWJsaWMgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZztcbiAgcHVibGljIGlzSW5pdGlhbGl6ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHB1YmxpYyB1cGRhdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBjb21waWxhdGlvblNlcnZpY2U6IENvbXBpbGF0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuY29tcGlsYXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQ01TX0NPTVBJTEFUSU9OX1NFUlZJQ0UpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUkKHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbiwgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZyk6IE9ic2VydmFibGU8RWxlbWVudE1ldGFkYXRhW10+IHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIGlmICghdWlEZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbXBpbGF0aW9uU2VydmljZS5jb21waWxlVUlEZWZpbml0aW9uJCh1aURlZmluaXRpb24pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvblRyZWUgPSByZXN1bHQuZWxlbWVudHM7XG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZXMgPSB7XG4gICAgICAgICAgLi4udGhpcy5jb21wb25lbnRUeXBlcyxcbiAgICAgICAgICAuLi5yZXN1bHQuY29tcG9uZW50VHlwZXMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubW9kdWxlUmVmcy5wdXNoKHJlc3VsdC5tb2R1bGVSZWYpO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmVsZW1lbnRzO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pc0luaXRpYWxpemVkJC5uZXh0KHRydWUpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGx5UGF0Y2gkKHBhdGNoOiBQYXRjaCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBvYnNlcnZhYmxlJDogT2JzZXJ2YWJsZTx2b2lkPiA9IG9mKHVuZGVmaW5lZCk7XG5cbiAgICBwYXRjaC5mb3JFYWNoKG9wZXJhdGlvbiA9PiB7XG4gICAgICBzd2l0Y2ggKG9wZXJhdGlvbi5vcCkge1xuICAgICAgICBjYXNlICdhZGQnOiB7XG4gICAgICAgICAgb2JzZXJ2YWJsZSQgPSBvYnNlcnZhYmxlJC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLmFkZEVsZW1lbnQkKG9wZXJhdGlvbikpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdyZW1vdmUnOiB7XG4gICAgICAgICAgb2JzZXJ2YWJsZSQgPSBvYnNlcnZhYmxlJC5waXBlKG1hcCgoKSA9PiB0aGlzLmRlbGV0ZUVsZW1lbnQob3BlcmF0aW9uKSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgb2JzZXJ2YWJsZSQgPSBvZigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGUkLnBpcGUodGFwKCgpID0+IHRoaXMudXBkYXRlZCQubmV4dCgpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29tcGlsZWRFbGVtZW50JChwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQkLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIG1hcCgoKSA9PiBmaW5kRWxlbWVudEJ5UGF0aCh0aGlzLmFwcGxpY2F0aW9uVHJlZSwgcGF0aCkpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGlsYXRpb25TZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy5tb2R1bGVSZWZzLmZvckVhY2gobSA9PiBtLmRlc3Ryb3koKSk7XG4gICAgdGhpcy5tb2R1bGVSZWZzID0gW107XG4gICAgdGhpcy5hcHBsaWNhdGlvblRyZWUgPSBbXTtcbiAgICB0aGlzLmNvbXBvbmVudFR5cGVzID0ge307XG4gICAgdGhpcy5pc0luaXRpYWxpemVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRWxlbWVudCQob3BlcmF0aW9uOiBBZGRPcGVyYXRpb24pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb21waWxhdGlvblNlcnZpY2UuY29tcGlsZUVsZW1lbnQkKG9wZXJhdGlvbi52YWx1ZSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGVzID0ge1xuICAgICAgICAgIC4uLnRoaXMuY29tcG9uZW50VHlwZXMsXG4gICAgICAgICAgLi4ucmVzdWx0LmNvbXBvbmVudFR5cGVzLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1vZHVsZVJlZnMucHVzaChyZXN1bHQubW9kdWxlUmVmKTtcbiAgICAgICAgYXBwbHlQYXRjaCh0aGlzLmFwcGxpY2F0aW9uVHJlZSwgW3sgLi4ub3BlcmF0aW9uLCB2YWx1ZTogcmVzdWx0LmVsZW1lbnRzWzBdIH1dKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUVsZW1lbnQob3BlcmF0aW9uOiBSZW1vdmVPcGVyYXRpb24pOiB2b2lkIHtcbiAgICBhcHBseVBhdGNoKHRoaXMuYXBwbGljYXRpb25UcmVlLCBbb3BlcmF0aW9uXSk7XG4gIH1cbn1cbiJdfQ==
|
114
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.IntegrationState }]; } });
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFTLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUlwRCxNQUFNLE9BQU8sY0FBYztJQVl6QixZQUFvQixRQUFrQixFQUFVLGdCQUFrQztRQUE5RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVgzRSxlQUFVLEdBQTRCLEVBQUUsQ0FBQztRQUN6QyxtQkFBYyxHQUFpQyxFQUFFLENBQUM7UUFDbEQsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBRXhDLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0Isc0JBQWlCLEdBQUcsSUFBSSxlQUFl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LElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFLEdBQUcsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLFNBQTBCO1FBQzlDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOzsyR0EvSFUsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdNb2R1bGUsIE5nTW9kdWxlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSURlZmluaXRpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQYXRjaCwgYXBwbHlQYXRjaCB9IGZyb20gJ3JmYzY5MDInO1xuaW1wb3J0IHsgQWRkT3BlcmF0aW9uLCBSZW1vdmVPcGVyYXRpb24gfSBmcm9tICdyZmM2OTAyL2RpZmYnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ21zQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY21zLmFjdGlvbnMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LnR5cGVzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL2VuZ2luZS9tb2RlbHMvZW50aXR5JztcbmltcG9ydCB7IEludGVncmF0aW9uU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbnRlZ3JhdGlvbi5zdGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBmaW5kRWxlbWVudEJ5UGF0aCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3VpLWRlZmluaXRpb24udXRpbHMnO1xuaW1wb3J0IHsgQ01TX0NPTVBJTEFUSU9OX1NFUlZJQ0UgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHR5cGUgeyBDb21waWxhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbXBpbGF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2Uge1xuICBwdWJsaWMgbW9kdWxlUmVmczogTmdNb2R1bGVSZWY8TmdNb2R1bGU+W10gPSBbXTtcbiAgcHVibGljIGNvbXBvbmVudFR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBUeXBlPEVudGl0eT4+ID0ge307XG4gIHB1YmxpYyBhcHBsaWNhdGlvblRyZWU6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuICBwdWJsaWMgaXNJbml0aWFsaXplZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIHVwZGF0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHNlbGVjdGVkUGFnZU5hbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHNlbGVjdGVkT3ZlcmxheU5hbWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcblxuICBwcml2YXRlIGNvbXBpbGF0aW9uU2VydmljZTogQ29tcGlsYXRpb25TZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUpIHtcbiAgICB0aGlzLmNvbXBpbGF0aW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KENNU19DT01QSUxBVElPTl9TRVJWSUNFKTtcblxuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQ8eyBwYWdlTmFtZTogc3RyaW5nIH0+KENtc0FjdGlvbi5HT19UT19QQUdFKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoeyBwYWdlTmFtZSB9KSA9PiBwYWdlTmFtZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHBhZ2VOYW1lID0+IHRoaXMuc2VsZWN0ZWRQYWdlTmFtZSQubmV4dChwYWdlTmFtZSkpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJDx7IG5hbWU6IHN0cmluZyB9PihDbXNBY3Rpb24uU0hPV19PVkVSTEFZKVxuICAgICAgLnBpcGUobWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkpXG4gICAgICAuc3Vic2NyaWJlKG92ZXJsYXlOYW1lID0+IHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheU5hbWVzID0gdGhpcy5zZWxlY3RlZE92ZXJsYXlOYW1lcyQudmFsdWU7XG4gICAgICAgIGlmICghb3ZlcmxheU5hbWVzLmluY2x1ZGVzKG92ZXJsYXlOYW1lKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPdmVybGF5TmFtZXMkLm5leHQoWy4uLm92ZXJsYXlOYW1lcywgb3ZlcmxheU5hbWVdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kPHsgbmFtZTogc3RyaW5nIH0+KENtc0FjdGlvbi5ISURFX09WRVJMQVkpXG4gICAgICAucGlwZShtYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSlcbiAgICAgIC5zdWJzY3JpYmUob3ZlcmxheU5hbWUgPT4ge1xuICAgICAgICBjb25zdCBvdmVybGF5TmFtZXMgPSB0aGlzLnNlbGVjdGVkT3ZlcmxheU5hbWVzJC52YWx1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE92ZXJsYXlOYW1lcyQubmV4dChvdmVybGF5TmFtZXMuZmlsdGVyKG5hbWUgPT4gbmFtZSAhPT0gb3ZlcmxheU5hbWUpKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLmxpc3RlbiQoQ21zQWN0aW9uLkhJREVfQUxMX09WRVJMQVlTKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZWxlY3RlZE92ZXJsYXlOYW1lcyQubmV4dChbXSkpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUkKHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbiwgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZyk6IE9ic2VydmFibGU8RWxlbWVudE1ldGFkYXRhW10+IHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIGlmICghdWlEZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbXBpbGF0aW9uU2VydmljZS5jb21waWxlVUlEZWZpbml0aW9uJCh1aURlZmluaXRpb24sIGNvbmZpZykucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uVHJlZSA9IHJlc3VsdC5lbGVtZW50cztcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlcyA9IHtcbiAgICAgICAgICAuLi50aGlzLmNvbXBvbmVudFR5cGVzLFxuICAgICAgICAgIC4uLnJlc3VsdC5jb21wb25lbnRUeXBlcyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5tb2R1bGVSZWZzLnB1c2gocmVzdWx0Lm1vZHVsZVJlZik7XG4gICAgICAgIHJldHVybiByZXN1bHQuZWxlbWVudHM7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmlzSW5pdGlhbGl6ZWQkLm5leHQodHJ1ZSkpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlQYXRjaCQocGF0Y2g6IFBhdGNoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgbGV0IG9ic2VydmFibGUkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gb2YodW5kZWZpbmVkKTtcblxuICAgIHBhdGNoLmZvckVhY2gob3BlcmF0aW9uID0+IHtcbiAgICAgIHN3aXRjaCAob3BlcmF0aW9uLm9wKSB7XG4gICAgICAgIGNhc2UgJ2FkZCc6IHtcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9ic2VydmFibGUkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuYWRkRWxlbWVudCQob3BlcmF0aW9uKSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3JlbW92ZSc6IHtcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9ic2VydmFibGUkLnBpcGUobWFwKCgpID0+IHRoaXMuZGVsZXRlRWxlbWVudChvcGVyYXRpb24pKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAncmVwbGFjZSc6IHtcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9ic2VydmFibGUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUVsZW1lbnQoeyBvcDogJ3JlbW92ZScsIHBhdGg6IG9wZXJhdGlvbi5wYXRoIH0pO1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hZGRFbGVtZW50JCh7IG9wOiAnYWRkJywgcGF0aDogb3BlcmF0aW9uLnBhdGgsIHZhbHVlOiBvcGVyYXRpb24udmFsdWUgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgb2JzZXJ2YWJsZSQgPSBvZigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGUkLnBpcGUodGFwKCgpID0+IHRoaXMudXBkYXRlZCQubmV4dCgpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29tcGlsZWRFbGVtZW50JChwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQkLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIG1hcCgoKSA9PiBmaW5kRWxlbWVudEJ5UGF0aCh0aGlzLmFwcGxpY2F0aW9uVHJlZSwgcGF0aCkpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGlsYXRpb25TZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy5tb2R1bGVSZWZzLmZvckVhY2gobSA9PiBtLmRlc3Ryb3koKSk7XG4gICAgdGhpcy5tb2R1bGVSZWZzID0gW107XG4gICAgdGhpcy5hcHBsaWNhdGlvblRyZWUgPSBbXTtcbiAgICB0aGlzLmNvbXBvbmVudFR5cGVzID0ge307XG4gICAgdGhpcy5pc0luaXRpYWxpemVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRWxlbWVudCQob3BlcmF0aW9uOiBBZGRPcGVyYXRpb24pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb21waWxhdGlvblNlcnZpY2UuY29tcGlsZUVsZW1lbnQkKG9wZXJhdGlvbi52YWx1ZSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGVzID0ge1xuICAgICAgICAgIC4uLnRoaXMuY29tcG9uZW50VHlwZXMsXG4gICAgICAgICAgLi4ucmVzdWx0LmNvbXBvbmVudFR5cGVzLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1vZHVsZVJlZnMucHVzaChyZXN1bHQubW9kdWxlUmVmKTtcbiAgICAgICAgYXBwbHlQYXRjaCh0aGlzLmFwcGxpY2F0aW9uVHJlZSwgW3sgLi4ub3BlcmF0aW9uLCB2YWx1ZTogY2xvbmVEZWVwKHJlc3VsdC5lbGVtZW50c1swXSkgfV0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVsZXRlRWxlbWVudChvcGVyYXRpb246IFJlbW92ZU9wZXJhdGlvbik6IHZvaWQge1xuICAgIGFwcGx5UGF0Y2godGhpcy5hcHBsaWNhdGlvblRyZWUsIFtvcGVyYXRpb25dKTtcbiAgfVxufVxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS90eXBlcy9ydW50aW1lLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lRWxlbWVudERyb3BFdmVudCB7XG4gIGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YTtcbiAgcGF0aDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVFbGVtZW50RGVsZXRlRXZlbnQge1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZVNob3dTZXR0aW5nc0V2ZW50IHtcbiAgcGF0aDogc3RyaW5nO1xufVxuIl19
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { ApplicationRef, ElementRef, Injectable, createComponent, inject } from '@angular/core';
|
3
|
+
import { BehaviorSubject, Subject, combineLatest, takeUntil } from 'rxjs';
|
4
|
+
import { ElementToolsPanelComponent } from '../components/element-tools-panel/element-tools-panel.component';
|
5
|
+
import { ElementComponent } from '../components/element.component';
|
6
|
+
import { ELEMENT_METADATA } from '../injection-tokens';
|
7
|
+
import { RuntimeEditorService } from '../modules/runtime/services/runtime-editor.service';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "../components/element.component";
|
10
|
+
export class ElementHoverPlugin {
|
11
|
+
constructor(host) {
|
12
|
+
this.host = host;
|
13
|
+
this.hoverClassName = 'element-hover';
|
14
|
+
this.metadata = inject(ELEMENT_METADATA);
|
15
|
+
this.appRef = inject(ApplicationRef);
|
16
|
+
this.el = inject(ElementRef);
|
17
|
+
this.document = inject(DOCUMENT);
|
18
|
+
this.runtimeEditorService = inject(RuntimeEditorService);
|
19
|
+
this.isHovered$ = new BehaviorSubject(false);
|
20
|
+
this.isSelected$ = new BehaviorSubject(false);
|
21
|
+
this.destroyed$ = new Subject();
|
22
|
+
this.listenersAttached = false;
|
23
|
+
this.mouseOverListenerBound = this.mouseOverListener.bind(this);
|
24
|
+
this.mouseLeaveListenerBound = this.mouseLeaveListener.bind(this);
|
25
|
+
this.clickListenerBound = this.clickListener.bind(this);
|
26
|
+
combineLatest([this.runtimeEditorService.editorMode$, this.isHovered$, this.isSelected$])
|
27
|
+
.pipe(takeUntil(this.destroyed$))
|
28
|
+
.subscribe(([editorMode]) => {
|
29
|
+
if (!editorMode) {
|
30
|
+
this.detachListeners();
|
31
|
+
this.removeHighlight();
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
this.attachListeners();
|
35
|
+
this.updateHighlight();
|
36
|
+
});
|
37
|
+
this.runtimeEditorService.selectedElementPath$.pipe(takeUntil(this.destroyed$)).subscribe(path => {
|
38
|
+
const isSelected = this.metadata.path === path;
|
39
|
+
if (this.isSelected$.value !== isSelected) {
|
40
|
+
this.isSelected$.next(isSelected);
|
41
|
+
}
|
42
|
+
});
|
43
|
+
}
|
44
|
+
ngOnDestroy() {
|
45
|
+
this.destroyed$.next();
|
46
|
+
this.destroyed$.complete();
|
47
|
+
this.detachListeners();
|
48
|
+
}
|
49
|
+
attachListeners() {
|
50
|
+
if (this.listenersAttached) {
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
this.el.nativeElement.addEventListener('mouseover', this.mouseOverListenerBound);
|
54
|
+
this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListenerBound);
|
55
|
+
this.el.nativeElement.addEventListener('click', this.clickListenerBound);
|
56
|
+
this.listenersAttached = true;
|
57
|
+
}
|
58
|
+
detachListeners() {
|
59
|
+
if (!this.listenersAttached) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
this.el.nativeElement.removeEventListener('mouseover', this.mouseOverListenerBound);
|
63
|
+
this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListenerBound);
|
64
|
+
this.el.nativeElement.removeEventListener('click', this.clickListenerBound);
|
65
|
+
this.listenersAttached = false;
|
66
|
+
}
|
67
|
+
mouseOverListener(e) {
|
68
|
+
const path = e.composedPath();
|
69
|
+
const innerPath = path.slice(0, path.indexOf(this.el.nativeElement));
|
70
|
+
const hasChildHovered = innerPath.some(target => {
|
71
|
+
const t = target;
|
72
|
+
return t.tagName === 'VL-ELEMENT' && t.classList.contains(this.hoverClassName);
|
73
|
+
});
|
74
|
+
const isHovered = !hasChildHovered;
|
75
|
+
if (this.isHovered$.value !== isHovered) {
|
76
|
+
this.isHovered$.next(isHovered);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
clickListener(e) {
|
80
|
+
if (this.el.nativeElement === e.target) {
|
81
|
+
this.runtimeEditorService.selectedElementPath$.next(this.metadata.path);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
mouseLeaveListener() {
|
85
|
+
this.isHovered$.next(false);
|
86
|
+
}
|
87
|
+
addHighlight() {
|
88
|
+
this.el.nativeElement.classList.add(this.hoverClassName);
|
89
|
+
this.overlayEl = this.document.createElement('div');
|
90
|
+
this.el.nativeElement.appendChild(this.overlayEl);
|
91
|
+
const ref = createComponent(ElementToolsPanelComponent, {
|
92
|
+
environmentInjector: this.appRef.injector,
|
93
|
+
hostElement: this.overlayEl,
|
94
|
+
elementInjector: this.host.injector,
|
95
|
+
});
|
96
|
+
ref.instance.runtimeEditorService = this.runtimeEditorService;
|
97
|
+
ref.changeDetectorRef.detectChanges();
|
98
|
+
}
|
99
|
+
removeHighlight() {
|
100
|
+
this.el.nativeElement.classList.remove(this.hoverClassName);
|
101
|
+
if (this.overlayEl) {
|
102
|
+
this.el.nativeElement.removeChild(this.overlayEl);
|
103
|
+
this.overlayEl = undefined;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
updateHighlight() {
|
107
|
+
const hasOverlay = (this.overlayEl && this.el.nativeElement.contains(this.overlayEl)) ?? false;
|
108
|
+
if ((this.isHovered$.value || this.isSelected$.value) && !hasOverlay) {
|
109
|
+
setTimeout(() => this.addHighlight());
|
110
|
+
}
|
111
|
+
if (!this.isHovered$.value && !this.isSelected$.value && hasOverlay) {
|
112
|
+
this.removeHighlight();
|
113
|
+
}
|
114
|
+
}
|
115
|
+
}
|
116
|
+
ElementHoverPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ElementHoverPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Injectable });
|
117
|
+
ElementHoverPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ElementHoverPlugin });
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ElementHoverPlugin, decorators: [{
|
119
|
+
type: Injectable
|
120
|
+
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1ob3Zlci5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9lbGVtZW50LWhvdmVyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFhLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7O0FBRzFGLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQW1CLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBbEJ4QixtQkFBYyxHQUFHLGVBQWUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoQyxPQUFFLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUNqRCxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRzdELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQU9oQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEQsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN0RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDZixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdkIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxDQUFhO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlDLE1BQU0sQ0FBQyxHQUFHLE1BQXFCLENBQUM7WUFDaEMsT0FBTyxDQUFDLENBQUMsT0FBTyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsQ0FBYTtRQUNqQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEQsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLDBCQUEwQixFQUFFO1lBQ3RELG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUN6QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDM0IsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNwQyxDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsUUFBUSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUM5RCxHQUFHLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUUvRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxVQUFVLEVBQUU7WUFDbkUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7K0dBcklVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBjcmVhdGVDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRUb29sc1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LXRvb2xzLXBhbmVsL2VsZW1lbnQtdG9vbHMtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsdWdpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFTEVNRU5UX01FVEFEQVRBIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBSdW50aW1lRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLWVkaXRvci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRIb3ZlclBsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBob3ZlckNsYXNzTmFtZSA9ICdlbGVtZW50LWhvdmVyJztcblxuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhID0gaW5qZWN0KEVMRU1FTlRfTUVUQURBVEEpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSByZWFkb25seSBydW50aW1lRWRpdG9yU2VydmljZSA9IGluamVjdChSdW50aW1lRWRpdG9yU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBvdmVybGF5RWw/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpc0hvdmVyZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgaXNTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBsaXN0ZW5lcnNBdHRhY2hlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgbW91c2VPdmVyTGlzdGVuZXJCb3VuZDogKGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIHByaXZhdGUgbW91c2VMZWF2ZUxpc3RlbmVyQm91bmQ6IChlOiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBwcml2YXRlIGNsaWNrTGlzdGVuZXJCb3VuZDogKGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICB0aGlzLm1vdXNlT3Zlckxpc3RlbmVyQm91bmQgPSB0aGlzLm1vdXNlT3Zlckxpc3RlbmVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5tb3VzZUxlYXZlTGlzdGVuZXJCb3VuZCA9IHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbGlja0xpc3RlbmVyQm91bmQgPSB0aGlzLmNsaWNrTGlzdGVuZXIuYmluZCh0aGlzKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZUVkaXRvclNlcnZpY2UuZWRpdG9yTW9kZSQsIHRoaXMuaXNIb3ZlcmVkJCwgdGhpcy5pc1NlbGVjdGVkJF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtlZGl0b3JNb2RlXSkgPT4ge1xuICAgICAgICBpZiAoIWVkaXRvck1vZGUpIHtcbiAgICAgICAgICB0aGlzLmRldGFjaExpc3RlbmVycygpO1xuICAgICAgICAgIHRoaXMucmVtb3ZlSGlnaGxpZ2h0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdHRhY2hMaXN0ZW5lcnMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHQoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ydW50aW1lRWRpdG9yU2VydmljZS5zZWxlY3RlZEVsZW1lbnRQYXRoJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUocGF0aCA9PiB7XG4gICAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5tZXRhZGF0YS5wYXRoID09PSBwYXRoO1xuICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZCQudmFsdWUgIT09IGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkJC5uZXh0KGlzU2VsZWN0ZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXRhY2hMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlbmVyc0F0dGFjaGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMubW91c2VPdmVyTGlzdGVuZXJCb3VuZCk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lckJvdW5kKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrTGlzdGVuZXJCb3VuZCk7XG4gICAgdGhpcy5saXN0ZW5lcnNBdHRhY2hlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGRldGFjaExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubGlzdGVuZXJzQXR0YWNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5tb3VzZU92ZXJMaXN0ZW5lckJvdW5kKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyQm91bmQpO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tMaXN0ZW5lckJvdW5kKTtcbiAgICB0aGlzLmxpc3RlbmVyc0F0dGFjaGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG1vdXNlT3Zlckxpc3RlbmVyKGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoID0gZS5jb21wb3NlZFBhdGgoKTtcbiAgICBjb25zdCBpbm5lclBhdGggPSBwYXRoLnNsaWNlKDAsIHBhdGguaW5kZXhPZih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICBjb25zdCBoYXNDaGlsZEhvdmVyZWQgPSBpbm5lclBhdGguc29tZSh0YXJnZXQgPT4ge1xuICAgICAgY29uc3QgdCA9IHRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHJldHVybiB0LnRhZ05hbWUgPT09ICdWTC1FTEVNRU5UJyAmJiB0LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmhvdmVyQ2xhc3NOYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGlzSG92ZXJlZCA9ICFoYXNDaGlsZEhvdmVyZWQ7XG5cbiAgICBpZiAodGhpcy5pc0hvdmVyZWQkLnZhbHVlICE9PSBpc0hvdmVyZWQpIHtcbiAgICAgIHRoaXMuaXNIb3ZlcmVkJC5uZXh0KGlzSG92ZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGlja0xpc3RlbmVyKGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgdGhpcy5ydW50aW1lRWRpdG9yU2VydmljZS5zZWxlY3RlZEVsZW1lbnRQYXRoJC5uZXh0KHRoaXMubWV0YWRhdGEucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VzZUxlYXZlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc0hvdmVyZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRIaWdobGlnaHQoKTogdm9pZCB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5ob3ZlckNsYXNzTmFtZSk7XG5cbiAgICB0aGlzLm92ZXJsYXlFbCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheUVsKTtcblxuICAgIGNvbnN0IHJlZiA9IGNyZWF0ZUNvbXBvbmVudChFbGVtZW50VG9vbHNQYW5lbENvbXBvbmVudCwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5hcHBSZWYuaW5qZWN0b3IsXG4gICAgICBob3N0RWxlbWVudDogdGhpcy5vdmVybGF5RWwsXG4gICAgICBlbGVtZW50SW5qZWN0b3I6IHRoaXMuaG9zdC5pbmplY3RvcixcbiAgICB9KTtcblxuICAgIHJlZi5pbnN0YW5jZS5ydW50aW1lRWRpdG9yU2VydmljZSA9IHRoaXMucnVudGltZUVkaXRvclNlcnZpY2U7XG4gICAgcmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSGlnaGxpZ2h0KCk6IHZvaWQge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuaG92ZXJDbGFzc05hbWUpO1xuXG4gICAgaWYgKHRoaXMub3ZlcmxheUVsKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5vdmVybGF5RWwpO1xuICAgICAgdGhpcy5vdmVybGF5RWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVIaWdobGlnaHQoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzT3ZlcmxheSA9ICh0aGlzLm92ZXJsYXlFbCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGhpcy5vdmVybGF5RWwpKSA/PyBmYWxzZTtcblxuICAgIGlmICgodGhpcy5pc0hvdmVyZWQkLnZhbHVlIHx8IHRoaXMuaXNTZWxlY3RlZCQudmFsdWUpICYmICFoYXNPdmVybGF5KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYWRkSGlnaGxpZ2h0KCkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0hvdmVyZWQkLnZhbHVlICYmICF0aGlzLmlzU2VsZWN0ZWQkLnZhbHVlICYmIGhhc092ZXJsYXkpIHtcbiAgICAgIHRoaXMucmVtb3ZlSGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { Directive, ElementRef } from '@angular/core';
|
2
|
+
import { Subject, takeUntil, tap } from 'rxjs';
|
3
|
+
import { ElementComponent } from '../components/element.component';
|
4
|
+
import { ELEMENT_METADATA } from '../injection-tokens';
|
5
|
+
import { RuntimeService } from '../modules/runtime';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../components/element.component";
|
8
|
+
export class PagePlugin {
|
9
|
+
constructor(host) {
|
10
|
+
this.host = host;
|
11
|
+
this.destroy$ = new Subject();
|
12
|
+
this.metadata = this.host.injector.get(ELEMENT_METADATA);
|
13
|
+
this.el = this.host.injector.get(ElementRef);
|
14
|
+
const runtimeService = this.host.injector.get(RuntimeService);
|
15
|
+
runtimeService.selectedOverlayNames$
|
16
|
+
.pipe(tap(overlayNames => {
|
17
|
+
if (this.metadata.pageType === 'FULL_PAGE') {
|
18
|
+
this.styleFullPage(overlayNames.length > 0);
|
19
|
+
}
|
20
|
+
}), takeUntil(this.destroy$))
|
21
|
+
.subscribe();
|
22
|
+
}
|
23
|
+
ngOnDestroy() {
|
24
|
+
this.destroy$.next();
|
25
|
+
this.destroy$.complete();
|
26
|
+
}
|
27
|
+
styleFullPage(hasOverlays) {
|
28
|
+
this.el.nativeElement.style.background = hasOverlays ? '#F5F7FA' : '';
|
29
|
+
this.el.nativeElement.style.pointerEvents = hasOverlays ? 'none' : '';
|
30
|
+
}
|
31
|
+
}
|
32
|
+
PagePlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PagePlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
33
|
+
PagePlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: PagePlugin, ngImport: i0 });
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PagePlugin, decorators: [{
|
35
|
+
type: Directive
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9wYWdlLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLFVBQVU7SUFLckIsWUFBbUIsSUFBc0I7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFGakMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUQsY0FBYyxDQUFDLHFCQUFxQjthQUNqQyxJQUFJLENBQ0gsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sYUFBYSxDQUFDLFdBQW9CO1FBQ3hDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEUsQ0FBQzs7dUdBL0JVLFVBQVU7MkZBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbHVnaW5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUxFTUVOVF9NRVRBREFUQSB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi9tb2R1bGVzL3J1bnRpbWUnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUGFnZVBsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBtZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhO1xuICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICB0aGlzLm1ldGFkYXRhID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChFTEVNRU5UX01FVEFEQVRBKTtcbiAgICB0aGlzLmVsID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChFbGVtZW50UmVmKTtcblxuICAgIGNvbnN0IHJ1bnRpbWVTZXJ2aWNlID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChSdW50aW1lU2VydmljZSk7XG5cbiAgICBydW50aW1lU2VydmljZS5zZWxlY3RlZE92ZXJsYXlOYW1lcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAob3ZlcmxheU5hbWVzID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5tZXRhZGF0YS5wYWdlVHlwZSA9PT0gJ0ZVTExfUEFHRScpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGdWxsUGFnZShvdmVybGF5TmFtZXMubGVuZ3RoID4gMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3R5bGVGdWxsUGFnZShoYXNPdmVybGF5czogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kID0gaGFzT3ZlcmxheXMgPyAnI0Y1RjdGQScgOiAnJztcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IGhhc092ZXJsYXlzID8gJ25vbmUnIDogJyc7XG4gIH1cbn1cbiJdfQ==
|
@@ -17,7 +17,8 @@ export class RegionPlugin {
|
|
17
17
|
const runtimeEditorService = this.host.injector.get(RuntimeEditorService);
|
18
18
|
runtimeEditorService.editorMode$
|
19
19
|
.pipe(tap(editMode => {
|
20
|
-
this.
|
20
|
+
const hasBorder = !!this.metadata.configuredStyles?.border;
|
21
|
+
this.el.nativeElement.style.outline = editMode && !hasBorder ? 'dashed 1px #dce5ef' : '';
|
21
22
|
if (editMode && !this.metadata.children.length) {
|
22
23
|
this.addRegionName();
|
23
24
|
}
|
@@ -55,4 +56,4 @@ RegionPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version:
|
|
55
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RegionPlugin, decorators: [{
|
56
57
|
type: Directive
|
57
58
|
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9wbHVnaW5zL3JlZ2lvbi5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7QUFJMUYsTUFBTSxPQUFPLFlBQVk7SUFPdkIsWUFBbUIsSUFBc0I7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFGakMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTFFLG9CQUFvQixDQUFDLFdBQVc7YUFDN0IsSUFBSSxDQUNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNiLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztZQUMzRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUV6RixJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFakQsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUF1QjtZQUNsRCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLE1BQU07WUFDZixjQUFjLEVBQUUsUUFBUTtZQUN4QixVQUFVLEVBQUUsUUFBUTtZQUNwQixLQUFLLEVBQUUsU0FBUztZQUNoQixhQUFhLEVBQUUsTUFBTTtZQUNyQixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7O3lHQXhEVSxZQUFZOzZGQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7IEVMRU1FTlRfTUVUQURBVEEgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IFJ1bnRpbWVFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kdWxlcy9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBSZWdpb25QbHVnaW4gaW1wbGVtZW50cyBQbHVnaW5Db21wb25lbnQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YTtcbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBwcml2YXRlIHJlZ2lvbk5hbWVFbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0OiBFbGVtZW50Q29tcG9uZW50KSB7XG4gICAgdGhpcy5tZXRhZGF0YSA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRUxFTUVOVF9NRVRBREFUQSk7XG4gICAgdGhpcy5kb2N1bWVudCA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRE9DVU1FTlQpO1xuICAgIHRoaXMuZWwgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVsZW1lbnRSZWYpO1xuXG4gICAgY29uc3QgcnVudGltZUVkaXRvclNlcnZpY2UgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KFJ1bnRpbWVFZGl0b3JTZXJ2aWNlKTtcblxuICAgIHJ1bnRpbWVFZGl0b3JTZXJ2aWNlLmVkaXRvck1vZGUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKGVkaXRNb2RlID0+IHtcbiAgICAgICAgICBjb25zdCBoYXNCb3JkZXIgPSAhIXRoaXMubWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcz8uYm9yZGVyO1xuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5vdXRsaW5lID0gZWRpdE1vZGUgJiYgIWhhc0JvcmRlciA/ICdkYXNoZWQgMXB4ICNkY2U1ZWYnIDogJyc7XG5cbiAgICAgICAgICBpZiAoZWRpdE1vZGUgJiYgIXRoaXMubWV0YWRhdGEuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFJlZ2lvbk5hbWUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZWdpb25OYW1lRWw/LnJlbW92ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFJlZ2lvbk5hbWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVnaW9uTmFtZUVsKSB7XG4gICAgICB0aGlzLnJlZ2lvbk5hbWVFbC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlZ2lvbk5hbWVFbCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZWdpb25OYW1lRWwuaW5uZXJIVE1MID0gdGhpcy5tZXRhZGF0YS5uYW1lO1xuXG4gICAgbWVyZ2UodGhpcy5yZWdpb25OYW1lRWwuc3R5bGUsIDxDU1NTdHlsZURlY2xhcmF0aW9uPntcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgY29sb3I6ICcjQUVCNUJEJyxcbiAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgIHVzZXJTZWxlY3Q6ICdub25lJyxcbiAgICB9KTtcblxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy5yZWdpb25OYW1lRWwpO1xuICB9XG59XG4iXX0=
|
@@ -1,32 +1,12 @@
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
2
1
|
import { Directive } from '@angular/core';
|
3
|
-
import { UUID } from '@veloceapps/core';
|
4
2
|
import { ElementComponent } from '../components/element.component';
|
5
|
-
import { ELEMENT_METADATA, SHARED_ELEMENT_METADATA
|
3
|
+
import { ELEMENT_METADATA, SHARED_ELEMENT_METADATA } from '../injection-tokens';
|
4
|
+
import { getScriptClass } from '../utils/script.utils';
|
6
5
|
import * as i0 from "@angular/core";
|
7
6
|
import * as i1 from "../components/element.component";
|
8
7
|
export class ScriptPlugin {
|
9
8
|
constructor(host) {
|
10
9
|
this.host = host;
|
11
|
-
this.normalizeImports = (script, elementPath) => {
|
12
|
-
const regexp = new RegExp(`import([ \\n\\t]*(?:[^ \\n\\t\\{\\}]+[ \\n\\t]*,?)?(?:[ \\n\\t]*\\{(?:[ \\n\\t]*[^ \\n\\t"'\\{\\}]+[ \\n\\t]*,?)+\\})?[ \\n\\t]*)from[ \\n\\t]*(['"])([^'"\\n]+)(?:['"]);`, 'g');
|
13
|
-
const result = script.replace(regexp, (match, g1, g2, src) => {
|
14
|
-
const imports = g1
|
15
|
-
.trim()
|
16
|
-
.slice(1, -1)
|
17
|
-
.split(',')
|
18
|
-
.map(item => item.trim());
|
19
|
-
imports.forEach(item => {
|
20
|
-
if (!this.vendorMap[src]?.[item]) {
|
21
|
-
throw new Error(`Failed to import ${item} from '${src}' in ${elementPath}/script.ts`);
|
22
|
-
}
|
23
|
-
});
|
24
|
-
return `const ${g1} = vendor['${src}'];`;
|
25
|
-
});
|
26
|
-
return result;
|
27
|
-
};
|
28
|
-
this.document = this.host.injector.get(DOCUMENT);
|
29
|
-
this.vendorMap = this.host.injector.get(VENDOR_MAP);
|
30
10
|
const elementMetadata = this.host.injector.get(ELEMENT_METADATA);
|
31
11
|
const sharedElementMetadata = this.host.injector.get(SHARED_ELEMENT_METADATA);
|
32
12
|
this.addScript(sharedElementMetadata);
|
@@ -36,25 +16,11 @@ export class ScriptPlugin {
|
|
36
16
|
if (!metadata?.script) {
|
37
17
|
return;
|
38
18
|
}
|
39
|
-
const
|
40
|
-
const script = this.document.createElement('script');
|
41
|
-
script.type = `text/javascript`;
|
42
|
-
let scriptContent = this.normalizeImports(metadata.script, metadata.path ?? metadata.name);
|
43
|
-
const classMatch = /export class (\S+)/.exec(scriptContent);
|
44
|
-
const className = classMatch?.[1];
|
45
|
-
if (!classMatch || !className) {
|
46
|
-
console.error("Script doesn't have exported class");
|
47
|
-
return;
|
48
|
-
}
|
49
|
-
scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);
|
50
|
-
script.text = `var ${id} = function(vendor) {${scriptContent}
|
51
|
-
return ${className}; };`;
|
52
|
-
this.document.body.appendChild(script);
|
53
|
-
const ScriptClass = window[id](this.vendorMap);
|
19
|
+
const ScriptClass = getScriptClass(metadata);
|
54
20
|
if (ScriptClass instanceof Object) {
|
55
|
-
|
21
|
+
const instance = new ScriptClass(this.host);
|
22
|
+
this.host.registerPlugin(instance);
|
56
23
|
}
|
57
|
-
this.document.body.removeChild(script);
|
58
24
|
}
|
59
25
|
}
|
60
26
|
ScriptPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ScriptPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
@@ -62,4 +28,4 @@ ScriptPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version:
|
|
62
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ScriptPlugin, decorators: [{
|
63
29
|
type: Directive
|
64
30
|
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9wbHVnaW5zL3NjcmlwdC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUduRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUd2RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFtQixJQUFzQjtRQUF0QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUN2QyxNQUFNLGVBQWUsR0FBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEYsTUFBTSxxQkFBcUIsR0FBZ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFM0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLFNBQVMsQ0FBQyxRQUEwQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0MsSUFBSSxXQUFXLFlBQVksTUFBTSxFQUFFO1lBQ2pDLE1BQU0sUUFBUSxHQUFXLElBQUssV0FBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDOzt5R0FwQlUsWUFBWTs2RkFBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsdWdpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5pbXBvcnQgeyBFTEVNRU5UX01FVEFEQVRBLCBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGdldFNjcmlwdENsYXNzIH0gZnJvbSAnLi4vdXRpbHMvc2NyaXB0LnV0aWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2NyaXB0UGx1Z2luIGltcGxlbWVudHMgUGx1Z2luQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICBjb25zdCBlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRUxFTUVOVF9NRVRBREFUQSk7XG4gICAgY29uc3Qgc2hhcmVkRWxlbWVudE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBKTtcblxuICAgIHRoaXMuYWRkU2NyaXB0KHNoYXJlZEVsZW1lbnRNZXRhZGF0YSk7XG4gICAgdGhpcy5hZGRTY3JpcHQoZWxlbWVudE1ldGFkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2NyaXB0KG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhKTogdm9pZCB7XG4gICAgaWYgKCFtZXRhZGF0YT8uc2NyaXB0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgU2NyaXB0Q2xhc3MgPSBnZXRTY3JpcHRDbGFzcyhtZXRhZGF0YSk7XG5cbiAgICBpZiAoU2NyaXB0Q2xhc3MgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIGNvbnN0IGluc3RhbmNlOiBQbHVnaW4gPSBuZXcgKFNjcmlwdENsYXNzIGFzIGFueSkodGhpcy5ob3N0KTtcbiAgICAgIHRoaXMuaG9zdC5yZWdpc3RlclBsdWdpbihpbnN0YW5jZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -1,12 +1,10 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
|
-
import { BehaviorSubject, filter, map } from 'rxjs';
|
2
|
+
import { BehaviorSubject, filter, map, Subject } from 'rxjs';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
const InitAction = { type: 'INIT' };
|
5
|
-
const ClearAction = { type: 'CLEAR' };
|
6
4
|
export class IntegrationState {
|
7
5
|
constructor() {
|
8
6
|
this.stateSubj$ = new BehaviorSubject({});
|
9
|
-
this.action$ = new
|
7
|
+
this.action$ = new Subject();
|
10
8
|
}
|
11
9
|
get state$() {
|
12
10
|
return this.stateSubj$.asObservable();
|
@@ -28,7 +26,6 @@ export class IntegrationState {
|
|
28
26
|
}
|
29
27
|
clear() {
|
30
28
|
this.stateSubj$.next({});
|
31
|
-
this.action$.next(ClearAction);
|
32
29
|
}
|
33
30
|
}
|
34
31
|
IntegrationState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IntegrationState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
@@ -37,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
37
34
|
type: Injectable,
|
38
35
|
args: [{ providedIn: 'root' }]
|
39
36
|
}] });
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW50ZWdyYXRpb24uc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl6RSxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRW1CLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBSSxFQUFPLENBQUMsQ0FBQztRQUM3QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7S0FnQzdEO0lBOUJDLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxVQUFVLENBQUMsTUFBa0I7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBeUI7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBVSxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxFQUM1QyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBWSxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQW1CLENBQUM7SUFDdEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs2R0FqQ1UsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzJGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25BY3Rpb24sIEludGVncmF0aW9uU3RhdGVNb2RlbCB9IGZyb20gJy4uL3R5cGVzL2ludGVncmF0aW9uLnR5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblN0YXRlPFMgPSBJbnRlZ3JhdGlvblN0YXRlTW9kZWw+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTPih7fSBhcyBTKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb24kID0gbmV3IFN1YmplY3Q8SW50ZWdyYXRpb25BY3Rpb24+KCk7XG5cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogUyB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHBhdGNoU3RhdGUodXBkYXRlOiBQYXJ0aWFsPFM+KTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVN1YmokLm5leHQoeyAuLi50aGlzLnN0YXRlU3ViaiQuZ2V0VmFsdWUoKSwgLi4udXBkYXRlIH0pO1xuICB9XG5cbiAgcHVibGljIGRpc3BhdGNoKGFjdGlvbjogSW50ZWdyYXRpb25BY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbiQubmV4dChhY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIGxpc3RlbiQ8UCA9IGFueT4oYWN0aW9uVHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uJC5waXBlKFxuICAgICAgZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZSksXG4gICAgICBtYXAoYWN0aW9uID0+IGFjdGlvbi5wYXlsb2FkIGFzIFApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuQWxsJDxUIGV4dGVuZHMgSW50ZWdyYXRpb25BY3Rpb24+KCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbiQuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxUPjtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU3ViaiQubmV4dCh7fSBhcyBTKTtcbiAgfVxufVxuIl19
|
@@ -20,12 +20,14 @@ export class IOProviderService {
|
|
20
20
|
if (isHost) {
|
21
21
|
return this.createSubjectSafe(el.path ?? '', name);
|
22
22
|
}
|
23
|
+
const pathIsValue = target.startsWith('"') && target.endsWith('"');
|
24
|
+
if (pathIsValue) {
|
25
|
+
return this.createSubjectSafe(el.path, name, new BehaviorSubject(target.slice(1, -1)));
|
26
|
+
}
|
23
27
|
const elPath = parsePath(target);
|
24
|
-
const pathIsValue = elPath.segments.length === 1 && elPath.segments[0].startsWith('"') && elPath.segments[0].endsWith('"');
|
25
28
|
const finalName = elPath.variable ?? name;
|
26
|
-
const
|
27
|
-
|
28
|
-
return this.createSubjectSafe(absolutePath ?? '', finalName, value);
|
29
|
+
const absolutePath = getAbsolutePath(this.runtimeService.applicationTree, el, elPath);
|
30
|
+
return this.createSubjectSafe(absolutePath ?? '', finalName, undefined);
|
29
31
|
}
|
30
32
|
createSubjectSafe(path, name, subject) {
|
31
33
|
if (!this.inputs[path]) {
|
@@ -47,4 +49,4 @@ IOProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
47
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IOProviderService, decorators: [{
|
48
50
|
type: Injectable
|
49
51
|
}], ctorParameters: function () { return [{ type: i1.RuntimeService }]; } });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRjFDLFdBQU0sR0FBaUQsRUFBRSxDQUFDO0lBRWIsQ0FBQztJQUUvQyxPQUFPLENBQUMsRUFBbUIsRUFBRSxJQUFZLEVBQUUsTUFBc0I7UUFDdEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxFQUFtQixFQUFFLElBQVksRUFBRSxNQUFzQjtRQUN0RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sYUFBYSxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLE1BQXNCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRXZCLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkUsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4RjtRQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUMxQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXRGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLE9BQThCO1FBQ2xGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxJQUFJLElBQUksZUFBZSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1NBQzFFO1FBRUQsSUFBSSxPQUFPLElBQUksb0JBQW9CLEVBQUU7WUFDbkMsd0VBQXdFO1lBQ3hFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs4R0FqRFUsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGdldEFic29sdXRlUGF0aCwgcGFyc2VQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJT1Byb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaW5wdXRzOiBEaWN0aW9uYXJ5PERpY3Rpb25hcnk8QmVoYXZpb3JTdWJqZWN0PGFueT4+PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25uZWN0KGVsOiBFbGVtZW50TWV0YWRhdGEsIG5hbWU6IHN0cmluZywgdGFyZ2V0Pzogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KT8uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgcHJvdmlkZShlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVRhcmdldChlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNIb3N0ID0gIXRhcmdldDtcblxuICAgIGlmIChpc0hvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1YmplY3RTYWZlKGVsLnBhdGggPz8gJycsIG5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhJc1ZhbHVlID0gdGFyZ2V0LnN0YXJ0c1dpdGgoJ1wiJykgJiYgdGFyZ2V0LmVuZHNXaXRoKCdcIicpO1xuICAgIGlmIChwYXRoSXNWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlU3ViamVjdFNhZmUoZWwucGF0aCwgbmFtZSwgbmV3IEJlaGF2aW9yU3ViamVjdCh0YXJnZXQuc2xpY2UoMSwgLTEpKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxQYXRoID0gcGFyc2VQYXRoKHRhcmdldCk7XG4gICAgY29uc3QgZmluYWxOYW1lID0gZWxQYXRoLnZhcmlhYmxlID8/IG5hbWU7XG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gZ2V0QWJzb2x1dGVQYXRoKHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlLCBlbCwgZWxQYXRoKTtcblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1YmplY3RTYWZlKGFic29sdXRlUGF0aCA/PyAnJywgZmluYWxOYW1lLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdWJqZWN0U2FmZShwYXRoOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgc3ViamVjdD86IEJlaGF2aW9yU3ViamVjdDxhbnk+KTogQmVoYXZpb3JTdWJqZWN0PGFueT4ge1xuICAgIGlmICghdGhpcy5pbnB1dHNbcGF0aF0pIHtcbiAgICAgIHRoaXMuaW5wdXRzW3BhdGhdID0ge307XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViamVjdEFscmVhZHlFeGlzdHMgPSBCb29sZWFuKHRoaXMuaW5wdXRzW3BhdGhdW25hbWVdKTtcblxuICAgIGlmICghdGhpcy5pbnB1dHNbcGF0aF1bbmFtZV0pIHtcbiAgICAgIHRoaXMuaW5wdXRzW3BhdGhdW25hbWVdID0gc3ViamVjdCA/PyBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdCAmJiBzdWJqZWN0QWxyZWFkeUV4aXN0cykge1xuICAgICAgLy8gcHVzaCBkZWxheWVkIHZhbHVlIHRvIHdvcmthcm91bmQgJ2NoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWQnIGlzc3VlXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5wdXRzW3BhdGhdW25hbWVdLm5leHQoc3ViamVjdC52YWx1ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmlucHV0c1twYXRoXVtuYW1lXTtcbiAgfVxufVxuIl19
|