@o3r/components 12.0.0-next.2 → 12.0.0-next.21
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/builders/component-extractor/helpers/component/component-config.extractor.js +2 -2
- package/builders/component-extractor/helpers/component/component-config.extractor.js.map +1 -1
- package/builders/component-extractor/helpers/component/component.extractor.d.ts.map +1 -1
- package/builders/component-extractor/helpers/component/component.extractor.js +3 -0
- package/builders/component-extractor/helpers/component/component.extractor.js.map +1 -1
- package/builders/component-extractor/index.d.ts.map +1 -1
- package/builders/component-extractor/index.js +1 -0
- package/builders/component-extractor/index.js.map +1 -1
- package/builders/metadata-check/helpers/config-metadata-comparison.helper.d.ts.map +1 -1
- package/builders/metadata-check/helpers/config-metadata-comparison.helper.js +1 -3
- package/builders/metadata-check/helpers/config-metadata-comparison.helper.js.map +1 -1
- package/builders/package.json +3 -0
- package/fesm2022/o3r-components-rules-engine.mjs +11 -16
- package/fesm2022/o3r-components-rules-engine.mjs.map +1 -1
- package/fesm2022/o3r-components.mjs +64 -183
- package/fesm2022/o3r-components.mjs.map +1 -1
- package/package.json +26 -29
- package/rules-engine/package.json +3 -0
- package/rules-engine/placeholder.rules-engine.effect.d.ts +2 -2
- package/rules-engine/placeholder.rules-engine.effect.d.ts.map +1 -1
- package/schemas/placeholder-template.schema.json +0 -8
- package/schematics/package.json +3 -0
- package/stores/placeholder-request/placeholder-request.state.d.ts +0 -1
- package/stores/placeholder-request/placeholder-request.state.d.ts.map +1 -1
- package/tools/component-replacement/c11n.directive.d.ts.map +1 -1
- package/tools/component-replacement/c11n.mock.module.d.ts.map +1 -1
- package/tools/pipes/capitalize/capitalize.pipe.d.ts +0 -7
- package/tools/pipes/capitalize/capitalize.pipe.d.ts.map +1 -1
- package/tools/pipes/capitalize/index.d.ts +0 -1
- package/tools/pipes/capitalize/index.d.ts.map +1 -1
- package/tools/pipes/duration/duration.pipe.d.ts +0 -8
- package/tools/pipes/duration/duration.pipe.d.ts.map +1 -1
- package/tools/pipes/duration/index.d.ts +0 -1
- package/tools/pipes/duration/index.d.ts.map +1 -1
- package/tools/pipes/keep-white-space/index.d.ts +0 -1
- package/tools/pipes/keep-white-space/index.d.ts.map +1 -1
- package/tools/pipes/keep-white-space/keep-white-space.pipe.d.ts +1 -8
- package/tools/pipes/keep-white-space/keep-white-space.pipe.d.ts.map +1 -1
- package/tools/pipes/replace-with-bold/index.d.ts +0 -1
- package/tools/pipes/replace-with-bold/index.d.ts.map +1 -1
- package/tools/pipes/replace-with-bold/replace-with-bold.pipe.d.ts +0 -8
- package/tools/pipes/replace-with-bold/replace-with-bold.pipe.d.ts.map +1 -1
- package/tools/placeholder/placeholder.component.d.ts.map +1 -1
- package/esm2022/core/component.output.mjs +0 -2
- package/esm2022/core/index.mjs +0 -3
- package/esm2022/core/rendering/helpers.mjs +0 -31
- package/esm2022/core/rendering/index.mjs +0 -2
- package/esm2022/devkit/components-devkit.interface.mjs +0 -13
- package/esm2022/devkit/components-devtools.message.service.mjs +0 -115
- package/esm2022/devkit/components-devtools.module.mjs +0 -43
- package/esm2022/devkit/components-devtools.token.mjs +0 -6
- package/esm2022/devkit/index.mjs +0 -6
- package/esm2022/devkit/inspector/index.mjs +0 -4
- package/esm2022/devkit/inspector/ng/index.mjs +0 -2
- package/esm2022/devkit/inspector/ng/ng.mjs +0 -2
- package/esm2022/devkit/inspector/otter-inspector.helpers.mjs +0 -114
- package/esm2022/devkit/inspector/otter-inspector.service.mjs +0 -166
- package/esm2022/o3r-components.mjs +0 -5
- package/esm2022/public_api.mjs +0 -5
- package/esm2022/rules-engine/o3r-components-rules-engine.mjs +0 -5
- package/esm2022/rules-engine/placeholder.action-handler.mjs +0 -156
- package/esm2022/rules-engine/placeholder.interfaces.mjs +0 -3
- package/esm2022/rules-engine/placeholder.rules-engine.effect.mjs +0 -136
- package/esm2022/rules-engine/placeholder.rules-engine.module.mjs +0 -31
- package/esm2022/rules-engine/public_api.mjs +0 -4
- package/esm2022/stores/index.mjs +0 -3
- package/esm2022/stores/placeholder-request/index.mjs +0 -7
- package/esm2022/stores/placeholder-request/placeholder-request.actions.mjs +0 -18
- package/esm2022/stores/placeholder-request/placeholder-request.module.mjs +0 -39
- package/esm2022/stores/placeholder-request/placeholder-request.reducer.mjs +0 -71
- package/esm2022/stores/placeholder-request/placeholder-request.selectors.mjs +0 -15
- package/esm2022/stores/placeholder-request/placeholder-request.state.mjs +0 -5
- package/esm2022/stores/placeholder-request/placeholder-request.sync.mjs +0 -18
- package/esm2022/stores/placeholder-template/index.mjs +0 -7
- package/esm2022/stores/placeholder-template/placeholder-template.actions.mjs +0 -10
- package/esm2022/stores/placeholder-template/placeholder-template.module.mjs +0 -39
- package/esm2022/stores/placeholder-template/placeholder-template.reducer.mjs +0 -39
- package/esm2022/stores/placeholder-template/placeholder-template.selectors.mjs +0 -70
- package/esm2022/stores/placeholder-template/placeholder-template.state.mjs +0 -5
- package/esm2022/stores/placeholder-template/placeholder-template.sync.mjs +0 -15
- package/esm2022/tools/component-replacement/c11n.directive.mjs +0 -159
- package/esm2022/tools/component-replacement/c11n.helpers.mjs +0 -11
- package/esm2022/tools/component-replacement/c11n.mock.module.mjs +0 -46
- package/esm2022/tools/component-replacement/c11n.module.mjs +0 -47
- package/esm2022/tools/component-replacement/c11n.service.mjs +0 -37
- package/esm2022/tools/component-replacement/c11n.token.mjs +0 -6
- package/esm2022/tools/component-replacement/index.mjs +0 -7
- package/esm2022/tools/index.mjs +0 -4
- package/esm2022/tools/pipes/capitalize/capitalize.module.mjs +0 -19
- package/esm2022/tools/pipes/capitalize/capitalize.pipe.mjs +0 -27
- package/esm2022/tools/pipes/capitalize/index.mjs +0 -3
- package/esm2022/tools/pipes/duration/duration.model.mjs +0 -20
- package/esm2022/tools/pipes/duration/duration.module.mjs +0 -19
- package/esm2022/tools/pipes/duration/duration.pipe.mjs +0 -78
- package/esm2022/tools/pipes/duration/index.mjs +0 -3
- package/esm2022/tools/pipes/index.mjs +0 -5
- package/esm2022/tools/pipes/keep-white-space/index.mjs +0 -3
- package/esm2022/tools/pipes/keep-white-space/keep-white-space.module.mjs +0 -19
- package/esm2022/tools/pipes/keep-white-space/keep-white-space.pipe.mjs +0 -29
- package/esm2022/tools/pipes/replace-with-bold/index.mjs +0 -3
- package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.module.mjs +0 -19
- package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.pipe.mjs +0 -40
- package/esm2022/tools/placeholder/index.mjs +0 -3
- package/esm2022/tools/placeholder/placeholder.component.mjs +0 -83
- package/esm2022/tools/placeholder/placeholder.interface.mjs +0 -2
- package/esm2022/tools/placeholder/placeholder.module.mjs +0 -32
- package/tools/pipes/capitalize/capitalize.module.d.ts +0 -11
- package/tools/pipes/capitalize/capitalize.module.d.ts.map +0 -1
- package/tools/pipes/duration/duration.module.d.ts +0 -11
- package/tools/pipes/duration/duration.module.d.ts.map +0 -1
- package/tools/pipes/keep-white-space/keep-white-space.module.d.ts +0 -11
- package/tools/pipes/keep-white-space/keep-white-space.module.d.ts.map +0 -1
- package/tools/pipes/replace-with-bold/replace-with-bold.module.d.ts +0 -11
- package/tools/pipes/replace-with-bold/replace-with-bold.module.d.ts.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './ng';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9uZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmcnO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9uZy9uZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOZyB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGNvbXBvbmVudCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBET00gZWxlbWVudC5cbiAgICpcbiAgICogVXNhZ2U6XG4gICAqXG4gICAqIEdpdmVuIHRoZSBmb2xsb3dpbmcgRE9NIHN0cnVjdHVyZTpcbiAgICogYGBgaHRtbFxuICAgKiA8bXktYXBwPlxuICAgKiAgIDxkaXY+XG4gICAqICAgICA8Y2hpbGQtY29tcD48L2NoaWxkLWNvbXA+XG4gICAqICAgPC9kaXY+XG4gICAqIDwvbXktYXBwPlxuICAgKiBgYGBcbiAgICogQ2FsbGluZyBgZ2V0Q29tcG9uZW50YCBvbiBgPGNoaWxkLWNvbXA+YCB3aWxsIHJldHVybiB0aGUgaW5zdGFuY2Ugb2YgYENoaWxkQ29tcG9uZW50YFxuICAgKiBhc3NvY2lhdGVkIHdpdGggdGhpcyBET00gZWxlbWVudC5cbiAgICpcbiAgICogQ2FsbGluZyB0aGUgZnVuY3Rpb24gb24gYDxteS1hcHA+YCB3aWxsIHJldHVybiB0aGUgYE15QXBwYCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGVsZW1lbnQgRE9NIGVsZW1lbnQgZnJvbSB3aGljaCB0aGUgY29tcG9uZW50IHNob3VsZCBiZSByZXRyaWV2ZWQuXG4gICAqIEByZXR1cm5zIENvbXBvbmVudCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnQgb3IgYG51bGxgIGlmIHRoZXJlXG4gICAqICAgIGlzIG5vIGNvbXBvbmVudCBhc3NvY2lhdGVkIHdpdGggaXQuXG4gICAqL1xuICBnZXRDb21wb25lbnQ8VCA9IGFueT4oZWxlbWVudDogRWxlbWVudCk6IFQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGNvbXBvbmVudCBpbnN0YW5jZSB3aG9zZSB2aWV3IGNvbnRhaW5zIHRoZSBET00gZWxlbWVudC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIGA8Y2hpbGQtY29tcD5gIGlzIHVzZWQgaW4gdGhlIHRlbXBsYXRlIG9mIGA8YXBwLWNvbXA+YFxuICAgKiAoaS5lLiBhIGBWaWV3Q2hpbGRgIG9mIGA8YXBwLWNvbXA+YCksIGNhbGxpbmcgYGdldE93bmluZ0NvbXBvbmVudGAgb24gYDxjaGlsZC1jb21wPmBcbiAgICogd291bGQgcmV0dXJuIGA8YXBwLWNvbXA+YC5cbiAgICogQHBhcmFtIGVsZW1lbnRPckRpciBET00gZWxlbWVudCwgY29tcG9uZW50IG9yIGRpcmVjdGl2ZSBpbnN0YW5jZVxuICAgKiAgICBmb3Igd2hpY2ggdG8gcmV0cmlldmUgdGhlIHJvb3QgY29tcG9uZW50cy5cbiAgICogQHJldHVybnMgQ29tcG9uZW50IGluc3RhbmNlIHdob3NlIHZpZXcgb3ducyB0aGUgRE9NIGVsZW1lbnQgb3IgbnVsbCBpZiB0aGUgZWxlbWVudCBpcyBub3RcbiAgICogICAgcGFydCBvZiBhIGNvbXBvbmVudCB2aWV3LlxuICAgKi9cbiAgZ2V0T3duaW5nQ29tcG9uZW50PFQgPSBhbnk+KGVsZW1lbnRPckRpcjogRWxlbWVudCB8IG9iamVjdCk6IFQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGhvc3QgZWxlbWVudCBvZiBhIGNvbXBvbmVudCBvciBkaXJlY3RpdmUgaW5zdGFuY2UuXG4gICAqIFRoZSBob3N0IGVsZW1lbnQgaXMgdGhlIERPTSBlbGVtZW50IHRoYXQgbWF0Y2hlZCB0aGUgc2VsZWN0b3Igb2YgdGhlIGRpcmVjdGl2ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudE9yRGlyZWN0aXZlIENvbXBvbmVudCBvciBkaXJlY3RpdmUgaW5zdGFuY2UgZm9yIHdoaWNoIHRoZSBob3N0XG4gICAqICAgICBlbGVtZW50IHNob3VsZCBiZSByZXRyaWV2ZWQuXG4gICAqIEByZXR1cm5zIEhvc3QgZWxlbWVudCBvZiB0aGUgdGFyZ2V0LlxuICAgKi9cbiAgZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50T3JEaXJlY3RpdmU6IG9iamVjdCk6IEVsZW1lbnQ7XG59XG4iXX0=
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { otterComponentInfoPropertyName, } from '@o3r/core';
|
|
2
|
-
/**
|
|
3
|
-
* Otter inspector css class
|
|
4
|
-
*/
|
|
5
|
-
export const INSPECTOR_CLASS = 'otter-devtools-inspector';
|
|
6
|
-
/**
|
|
7
|
-
* Determine if a node is an Otter container
|
|
8
|
-
* @param node Element to check
|
|
9
|
-
* @returns true if the node is an Otter container
|
|
10
|
-
*/
|
|
11
|
-
export const isContainer = (node) => {
|
|
12
|
-
return !!node?.tagName.toLowerCase().endsWith('cont');
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Determine the config id of a component instance
|
|
16
|
-
* @param instance component instance
|
|
17
|
-
* @returns the config id of the component instance
|
|
18
|
-
*/
|
|
19
|
-
export const getConfigId = (instance) => {
|
|
20
|
-
return instance[otterComponentInfoPropertyName]?.configId;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Recursive method to determin the translations of a node
|
|
24
|
-
* @param node HTMLElement to check
|
|
25
|
-
* @param rec recursive method
|
|
26
|
-
* @returns the trasnslations associated to their component name
|
|
27
|
-
*/
|
|
28
|
-
export function getTranslationsRec(node, rec) {
|
|
29
|
-
const angularDevTools = window.ng;
|
|
30
|
-
const o3rInfoProperty = '__otter-info__';
|
|
31
|
-
if (!node || !angularDevTools) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const component = angularDevTools.getComponent(node);
|
|
35
|
-
const subTranslations = Array.from(node.children).map((child) => rec(child, rec));
|
|
36
|
-
const translations = {};
|
|
37
|
-
subTranslations.forEach((s) => {
|
|
38
|
-
Object.entries(s || {}).forEach(([k, v]) => {
|
|
39
|
-
if (v.length > 0) {
|
|
40
|
-
translations[k] = v;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
if (component) {
|
|
45
|
-
const componentName = component.constructor.name;
|
|
46
|
-
const componentTranslations = Object.values(component[o3rInfoProperty]?.translations || {}).filter((t) => typeof t === 'string');
|
|
47
|
-
if (componentTranslations.length > 0) {
|
|
48
|
-
translations[componentName] = componentTranslations;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return Object.keys(translations).length > 0 ? translations : undefined;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Determine the translations of a node
|
|
55
|
-
* @param node HTMLElement to check
|
|
56
|
-
* @returns the translations associated to their component name
|
|
57
|
-
*/
|
|
58
|
-
export const getTranslations = (node) => getTranslationsRec(node, getTranslations);
|
|
59
|
-
/**
|
|
60
|
-
* Recursive method to determine the analytics of a node
|
|
61
|
-
* @param node Element to check
|
|
62
|
-
* @param rec recursive method
|
|
63
|
-
* @returns the analytics associated to their component name
|
|
64
|
-
*/
|
|
65
|
-
export function getAnalyticEventsRec(node, rec) {
|
|
66
|
-
const angularDevTools = window.ng;
|
|
67
|
-
const o3rInfoProperty = '__otter-info__';
|
|
68
|
-
if (!node || !angularDevTools) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const component = angularDevTools.getComponent(node);
|
|
72
|
-
const subEvents = Array.from(node.children).map((child) => rec(child, rec));
|
|
73
|
-
const events = {};
|
|
74
|
-
subEvents.forEach((s) => {
|
|
75
|
-
Object.entries(s || {}).forEach(([k, v]) => {
|
|
76
|
-
if (v.length > 0) {
|
|
77
|
-
events[k] = v;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
if (component && component[o3rInfoProperty]) {
|
|
82
|
-
const componentName = component.constructor.name;
|
|
83
|
-
const componentEvents = Object.values(component.analyticsEvents || {}).map((eventConstructor) => eventConstructor.name);
|
|
84
|
-
if (componentEvents.length > 0) {
|
|
85
|
-
events[componentName] = componentEvents;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return Object.keys(events).length > 0 ? events : undefined;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Determine the analytics of a node
|
|
92
|
-
* @param node Element to check
|
|
93
|
-
* @returns the analytics associated to their component name
|
|
94
|
-
*/
|
|
95
|
-
export const getAnalyticEvents = (node) => getAnalyticEventsRec(node, getAnalyticEvents);
|
|
96
|
-
/**
|
|
97
|
-
* Determine all info from an Otter component
|
|
98
|
-
* @param componentClassInstance component instance
|
|
99
|
-
* @param host HTML element hosting the component
|
|
100
|
-
* @returns all info from an Otter component
|
|
101
|
-
*/
|
|
102
|
-
export const getOtterLikeComponentInfo = (componentClassInstance, host) => {
|
|
103
|
-
const configId = getConfigId(componentClassInstance);
|
|
104
|
-
const translations = getTranslations(host);
|
|
105
|
-
const analytics = getAnalyticEvents(host);
|
|
106
|
-
return {
|
|
107
|
-
// Cannot use anymore `constructor.name` else all components are named `_a`
|
|
108
|
-
componentName: componentClassInstance.constructor.ɵcmp?.debugInfo?.className || componentClassInstance.constructor.name,
|
|
109
|
-
configId,
|
|
110
|
-
translations,
|
|
111
|
-
analytics
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsOEJBQThCLEdBQy9CLE1BQU0sV0FBVyxDQUFDO0FBZW5COztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLDBCQUEwQixDQUFDO0FBRTFEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFnQyxFQUFtQixFQUFFO0lBQy9FLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBRTtJQUMzQyxPQUFPLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLFFBQVEsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFvQixFQUFFLEdBQThCO0lBQ3JGLE1BQU0sZUFBZSxHQUFJLE1BQWMsQ0FBQyxFQUFFLENBQUM7SUFDM0MsTUFBTSxlQUFlLEdBQTBDLGdCQUFnQixDQUFDO0lBQ2hGLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QixPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxlQUFlLEdBQTZDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFF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QUFlLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZJLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzdELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFvQixFQUF3QyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFFL0k7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLHNCQUEyQixFQUFFLElBQWEsRUFBMEIsRUFBRTtJQUM5RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTztRQUNMLDJFQUEyRTtRQUMzRSxhQUFhLEVBQUUsc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxJQUFJLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJO1FBQ3ZILFFBQVE7UUFDUixZQUFZO1FBQ1osU0FBUztLQUNWLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWUsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB7XG4gIC8qKiBDb250YWluZXIgaW5mb3JtYXRpb24gKi9cbiAgY29udGFpbmVyPzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbztcbiAgLyoqIENvbmZpZ3VyYXRpb24gSUQgKi9cbiAgY29uZmlnSWQ/OiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgbmFtZSAqL1xuICBjb21wb25lbnROYW1lOiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgdHJhbnNsYXRpb24gKi9cbiAgdHJhbnNsYXRpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xuICAvKiogQ29tcG9uZW50IGFuYWx5dGljcyAqL1xuICBhbmFseXRpY3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG59XG5cbi8qKlxuICogT3R0ZXIgaW5zcGVjdG9yIGNzcyBjbGFzc1xuICovXG5leHBvcnQgY29uc3QgSU5TUEVDVE9SX0NMQVNTID0gJ290dGVyLWRldnRvb2xzLWluc3BlY3Rvcic7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgbm9kZSBpcyBhbiBPdHRlciBjb250YWluZXJcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgaXMgYW4gT3R0ZXIgY29udGFpbmVyXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvbnRhaW5lciA9IChub2RlOiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IG5vZGUgaXMgRWxlbWVudCA9PiB7XG4gIHJldHVybiAhIW5vZGU/LnRhZ05hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnY29udCcpO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIGNvbmZpZyBpZCBvZiBhIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHBhcmFtIGluc3RhbmNlIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHJldHVybnMgdGhlIGNvbmZpZyBpZCBvZiB0aGUgY29tcG9uZW50IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb25maWdJZCA9IChpbnN0YW5jZTogYW55KSA9PiB7XG4gIHJldHVybiBpbnN0YW5jZVtvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWVdPy5jb25maWdJZDtcbn07XG5cbi8qKlxuICogUmVjdXJzaXZlIG1ldGhvZCB0byBkZXRlcm1pbiB0aGUgdHJhbnNsYXRpb25zIG9mIGEgbm9kZVxuICogQHBhcmFtIG5vZGUgSFRNTEVsZW1lbnQgdG8gY2hlY2tcbiAqIEBwYXJhbSByZWMgcmVjdXJzaXZlIG1ldGhvZFxuICogQHJldHVybnMgdGhlIHRyYXNuc2xhdGlvbnMgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNsYXRpb25zUmVjKG5vZGU6IEVsZW1lbnQgfCBudWxsLCByZWM6IHR5cGVvZiBnZXRUcmFuc2xhdGlvbnNSZWMpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQge1xuICBjb25zdCBhbmd1bGFyRGV2VG9vbHMgPSAod2luZG93IGFzIGFueSkubmc7XG4gIGNvbnN0IG8zckluZm9Qcm9wZXJ0eTogdHlwZW9mIG90dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZSA9ICdfX290dGVyLWluZm9fXyc7XG4gIGlmICghbm9kZSB8fCAhYW5ndWxhckRldlRvb2xzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGNvbXBvbmVudCA9IGFuZ3VsYXJEZXZUb29scy5nZXRDb21wb25lbnQobm9kZSk7XG4gIGNvbnN0IHN1YlRyYW5zbGF0aW9uczogKFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZClbXSA9IEFycmF5LmZyb20obm9kZS5jaGlsZHJlbikubWFwKChjaGlsZCkgPT4gcmVjKGNoaWxkLCByZWMpKTtcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgc3ViVHJhbnNsYXRpb25zLmZvckVhY2goKHMpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhzIHx8IHt9KS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgIGlmICh2Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgdHJhbnNsYXRpb25zW2tdID0gdjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGlmIChjb21wb25lbnQpIHtcbiAgICBjb25zdCBjb21wb25lbnROYW1lOiBzdHJpbmcgPSBjb21wb25lbnQuY29uc3RydWN0b3IubmFtZTtcbiAgICBjb25zdCBjb21wb25lbnRUcmFuc2xhdGlvbnMgPSBPYmplY3QudmFsdWVzPHN0cmluZz4oY29tcG9uZW50W28zckluZm9Qcm9wZXJ0eV0/LnRyYW5zbGF0aW9ucyB8fCB7fSkuZmlsdGVyKCh0KSA9PiB0eXBlb2YgdCA9PT0gJ3N0cmluZycpO1xuICAgIGlmIChjb21wb25lbnRUcmFuc2xhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdHJhbnNsYXRpb25zW2NvbXBvbmVudE5hbWVdID0gY29tcG9uZW50VHJhbnNsYXRpb25zO1xuICAgIH1cbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXModHJhbnNsYXRpb25zKS5sZW5ndGggPiAwID8gdHJhbnNsYXRpb25zIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIERldGVybWluZSB0aGUgdHJhbnNsYXRpb25zIG9mIGEgbm9kZVxuICogQHBhcmFtIG5vZGUgSFRNTEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRoZSB0cmFuc2xhdGlvbnMgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNsYXRpb25zID0gKG5vZGU6IEVsZW1lbnQgfCBudWxsKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkID0+IGdldFRyYW5zbGF0aW9uc1JlYyhub2RlLCBnZXRUcmFuc2xhdGlvbnMpO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZSBtZXRob2QgdG8gZGV0ZXJtaW5lIHRoZSBhbmFseXRpY3Mgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBFbGVtZW50IHRvIGNoZWNrXG4gKiBAcGFyYW0gcmVjIHJlY3Vyc2l2ZSBtZXRob2RcbiAqIEByZXR1cm5zIHRoZSBhbmFseXRpY3MgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW5hbHl0aWNFdmVudHNSZWMobm9kZTogRWxlbWVudCB8IG51bGwsIHJlYzogdHlwZW9mIGdldEFuYWx5dGljRXZlbnRzUmVjKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nO1xuICBjb25zdCBvM3JJbmZvUHJvcGVydHk6IHR5cGVvZiBvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWUgPSAnX19vdHRlci1pbmZvX18nO1xuICBpZiAoIW5vZGUgfHwgIWFuZ3VsYXJEZXZUb29scykge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBjb21wb25lbnQgPSBhbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpO1xuICBjb25zdCBzdWJFdmVudHMgPSBBcnJheS5mcm9tKG5vZGUuY2hpbGRyZW4pLm1hcCgoY2hpbGQpID0+IHJlYyhjaGlsZCwgcmVjKSk7XG4gIGNvbnN0IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gIHN1YkV2ZW50cy5mb3JFYWNoKChzKSA9PiB7XG4gICAgT2JqZWN0LmVudHJpZXMocyB8fCB7fSkuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICBpZiAodi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGV2ZW50c1trXSA9IHY7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudFtvM3JJbmZvUHJvcGVydHldKSB7XG4gICAgY29uc3QgY29tcG9uZW50TmFtZTogc3RyaW5nID0gY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgY29uc3QgY29tcG9uZW50RXZlbnRzOiBzdHJpbmdbXSA9IE9iamVjdC52YWx1ZXM8YW55Pihjb21wb25lbnQuYW5hbHl0aWNzRXZlbnRzIHx8IHt9KS5tYXAoKGV2ZW50Q29uc3RydWN0b3IpID0+IGV2ZW50Q29uc3RydWN0b3IubmFtZSk7XG4gICAgaWYgKGNvbXBvbmVudEV2ZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudHNbY29tcG9uZW50TmFtZV0gPSBjb21wb25lbnRFdmVudHM7XG4gICAgfVxuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhldmVudHMpLmxlbmd0aCA+IDAgPyBldmVudHMgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSBhbmFseXRpY3Mgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBFbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0aGUgYW5hbHl0aWNzIGFzc29jaWF0ZWQgdG8gdGhlaXIgY29tcG9uZW50IG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFuYWx5dGljRXZlbnRzID0gKG5vZGU6IEVsZW1lbnQgfCBudWxsKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkID0+IGdldEFuYWx5dGljRXZlbnRzUmVjKG5vZGUsIGdldEFuYWx5dGljRXZlbnRzKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgYWxsIGluZm8gZnJvbSBhbiBPdHRlciBjb21wb25lbnRcbiAqIEBwYXJhbSBjb21wb25lbnRDbGFzc0luc3RhbmNlIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHBhcmFtIGhvc3QgSFRNTCBlbGVtZW50IGhvc3RpbmcgdGhlIGNvbXBvbmVudFxuICogQHJldHVybnMgYWxsIGluZm8gZnJvbSBhbiBPdHRlciBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8gPSAoY29tcG9uZW50Q2xhc3NJbnN0YW5jZTogYW55LCBob3N0OiBFbGVtZW50KTogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyA9PiB7XG4gIGNvbnN0IGNvbmZpZ0lkID0gZ2V0Q29uZmlnSWQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSk7XG4gIGNvbnN0IHRyYW5zbGF0aW9ucyA9IGdldFRyYW5zbGF0aW9ucyhob3N0KTtcbiAgY29uc3QgYW5hbHl0aWNzID0gZ2V0QW5hbHl0aWNFdmVudHMoaG9zdCk7XG4gIHJldHVybiB7XG4gICAgLy8gQ2Fubm90IHVzZSBhbnltb3JlIGBjb25zdHJ1Y3Rvci5uYW1lYCBlbHNlIGFsbCBjb21wb25lbnRzIGFyZSBuYW1lZCBgX2FgXG4gICAgY29tcG9uZW50TmFtZTogY29tcG9uZW50Q2xhc3NJbnN0YW5jZS5jb25zdHJ1Y3Rvci7JtWNtcD8uZGVidWdJbmZvPy5jbGFzc05hbWUgfHwgY29tcG9uZW50Q2xhc3NJbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgIGNvbmZpZ0lkLFxuICAgIHRyYW5zbGF0aW9ucyxcbiAgICBhbmFseXRpY3NcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, } from 'rxjs';
|
|
2
|
-
import { getOtterLikeComponentInfo, INSPECTOR_CLASS, isContainer, } from './otter-inspector.helpers';
|
|
3
|
-
/**
|
|
4
|
-
* Service to handle the custom inspector for the Otter Devtools Chrome extension.
|
|
5
|
-
*/
|
|
6
|
-
export class OtterInspectorService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.elementMouseOverCallback = this.elementMouseOver.bind(this);
|
|
9
|
-
this.elementClickCallback = this.elementClick.bind(this);
|
|
10
|
-
this.cancelEventCallback = this.cancelEvent.bind(this);
|
|
11
|
-
this.inspectorDiv = null;
|
|
12
|
-
this.otterLikeComponentInfoToBeSent = new BehaviorSubject(undefined);
|
|
13
|
-
/**
|
|
14
|
-
* Stream of component info to be sent to the extension app.
|
|
15
|
-
*/
|
|
16
|
-
this.otterLikeComponentInfoToBeSent$ = this.otterLikeComponentInfoToBeSent.asObservable();
|
|
17
|
-
this.angularDevTools = window.ng;
|
|
18
|
-
}
|
|
19
|
-
startInspecting() {
|
|
20
|
-
window.addEventListener('mouseover', this.elementMouseOverCallback, true);
|
|
21
|
-
window.addEventListener('click', this.elementClickCallback, true);
|
|
22
|
-
window.addEventListener('mouseout', this.cancelEventCallback, true);
|
|
23
|
-
}
|
|
24
|
-
elementClick(e) {
|
|
25
|
-
e.stopImmediatePropagation();
|
|
26
|
-
e.stopPropagation();
|
|
27
|
-
e.preventDefault();
|
|
28
|
-
if (!this.selectedComponent || !this.angularDevTools) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const parentElement = this.selectedComponent.host.parentElement;
|
|
32
|
-
const parent = parentElement && (this.angularDevTools.getComponent(parentElement) || this.angularDevTools.getOwningComponent(parentElement));
|
|
33
|
-
const parentHost = parent && this.angularDevTools.getHostElement(parent);
|
|
34
|
-
const container = isContainer(parentHost)
|
|
35
|
-
? getOtterLikeComponentInfo(parent, parentHost)
|
|
36
|
-
: undefined;
|
|
37
|
-
const { component, host, ...infoToBeSent } = this.selectedComponent;
|
|
38
|
-
this.otterLikeComponentInfoToBeSent.next({
|
|
39
|
-
...infoToBeSent,
|
|
40
|
-
container
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
isOtterLikeComponent(info) {
|
|
44
|
-
const hasConfigId = !!info.configId;
|
|
45
|
-
const hasTranslations = !!info.translations?.length;
|
|
46
|
-
const hasAnalytics = Object.keys(info.analytics || {}).length > 0;
|
|
47
|
-
return hasConfigId || hasTranslations || hasAnalytics;
|
|
48
|
-
}
|
|
49
|
-
findComponentInfo(node) {
|
|
50
|
-
if (!this.angularDevTools) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
let componentClassInstance = this.angularDevTools.getComponent(node) || this.angularDevTools.getOwningComponent(node);
|
|
54
|
-
let o3rLikeComponentInfo;
|
|
55
|
-
let isO3rLike;
|
|
56
|
-
if (!componentClassInstance) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
do {
|
|
60
|
-
o3rLikeComponentInfo = getOtterLikeComponentInfo(componentClassInstance, this.angularDevTools.getHostElement(componentClassInstance));
|
|
61
|
-
isO3rLike = this.isOtterLikeComponent(o3rLikeComponentInfo);
|
|
62
|
-
if (!isO3rLike) {
|
|
63
|
-
componentClassInstance = this.angularDevTools.getOwningComponent(componentClassInstance);
|
|
64
|
-
}
|
|
65
|
-
} while (!isO3rLike && componentClassInstance);
|
|
66
|
-
if (isO3rLike) {
|
|
67
|
-
return {
|
|
68
|
-
component: componentClassInstance,
|
|
69
|
-
host: this.angularDevTools.getHostElement(componentClassInstance),
|
|
70
|
-
...o3rLikeComponentInfo
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
elementMouseOver(e) {
|
|
75
|
-
this.cancelEvent(e);
|
|
76
|
-
const el = e.target;
|
|
77
|
-
if (el) {
|
|
78
|
-
const selectedComponent = this.findComponentInfo(el);
|
|
79
|
-
if (selectedComponent?.host !== this.selectedComponent?.host) {
|
|
80
|
-
this.unHighlight();
|
|
81
|
-
this.highlight(selectedComponent);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
highlight(selectedComponent) {
|
|
86
|
-
this.selectedComponent = selectedComponent;
|
|
87
|
-
if (this.selectedComponent?.host && this.inspectorDiv) {
|
|
88
|
-
const rect = this.selectedComponent.host.getBoundingClientRect();
|
|
89
|
-
this.inspectorDiv.style.width = `${rect.width}px`;
|
|
90
|
-
this.inspectorDiv.style.height = `${rect.height}px`;
|
|
91
|
-
this.inspectorDiv.style.top = `${rect.top}px`;
|
|
92
|
-
this.inspectorDiv.style.left = `${rect.left}px`;
|
|
93
|
-
this.inspectorDiv.firstChild.textContent = `<${this.selectedComponent.componentName}>`;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
unHighlight() {
|
|
97
|
-
if (this.selectedComponent?.host && this.inspectorDiv) {
|
|
98
|
-
this.inspectorDiv.style.width = '0';
|
|
99
|
-
this.inspectorDiv.style.height = '0';
|
|
100
|
-
this.inspectorDiv.style.top = '0';
|
|
101
|
-
this.inspectorDiv.style.left = '0';
|
|
102
|
-
}
|
|
103
|
-
this.selectedComponent = undefined;
|
|
104
|
-
}
|
|
105
|
-
cancelEvent(e) {
|
|
106
|
-
e.stopPropagation();
|
|
107
|
-
e.stopImmediatePropagation();
|
|
108
|
-
e.preventDefault();
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Prepare the inspector div and add it to the DOM.
|
|
112
|
-
*/
|
|
113
|
-
prepareInspector() {
|
|
114
|
-
if (this.inspectorDiv) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
const inspectorCss = document.createElement('style');
|
|
118
|
-
inspectorCss.textContent = `
|
|
119
|
-
.${INSPECTOR_CLASS} {
|
|
120
|
-
z-index: 9999999;
|
|
121
|
-
width: 0;
|
|
122
|
-
height: 0;
|
|
123
|
-
background: rgba(104, 182, 255, 0.35);
|
|
124
|
-
position: fixed;
|
|
125
|
-
left: 0;
|
|
126
|
-
top: 0;
|
|
127
|
-
pointer-events: none;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.${INSPECTOR_CLASS} > span {
|
|
131
|
-
bottom: -25px;
|
|
132
|
-
position: absolute;
|
|
133
|
-
right: 10px;
|
|
134
|
-
background: rgba(104, 182, 255, 0.9);;
|
|
135
|
-
padding: 5px;
|
|
136
|
-
border-radius: 5px;
|
|
137
|
-
color: white;
|
|
138
|
-
}`;
|
|
139
|
-
const inspectorDiv = document.createElement('div');
|
|
140
|
-
const inspectorSpan = document.createElement('span');
|
|
141
|
-
inspectorDiv.append(inspectorSpan);
|
|
142
|
-
inspectorDiv.classList.add(INSPECTOR_CLASS);
|
|
143
|
-
document.head.append(inspectorCss);
|
|
144
|
-
document.body.append(inspectorDiv);
|
|
145
|
-
this.inspectorDiv = inspectorDiv;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Toggle the inspector.
|
|
149
|
-
* @param isRunning true if the inspector is running
|
|
150
|
-
*/
|
|
151
|
-
toggleInspector(isRunning) {
|
|
152
|
-
if (isRunning) {
|
|
153
|
-
this.startInspecting();
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
this.stopInspecting();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
stopInspecting() {
|
|
160
|
-
this.unHighlight();
|
|
161
|
-
window.removeEventListener('mouseover', this.elementMouseOverCallback, true);
|
|
162
|
-
window.removeEventListener('click', this.elementClickCallback, true);
|
|
163
|
-
window.removeEventListener('mouseout', this.cancelEventCallback, true);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxHQUVoQixNQUFNLE1BQU0sQ0FBQztBQUlkLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLFdBQVcsR0FFWixNQUFNLDJCQUEyQixDQUFDO0FBT25DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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bkQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOZyxcbn0gZnJvbSAnLi9uZyc7XG5pbXBvcnQge1xuICBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvLFxuICBJTlNQRUNUT1JfQ0xBU1MsXG4gIGlzQ29udGFpbmVyLFxuICBPdHRlckxpa2VDb21wb25lbnRJbmZvLFxufSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuaW50ZXJmYWNlIENvbXBvbmVudEluZm8gZXh0ZW5kcyBPdHRlckxpa2VDb21wb25lbnRJbmZvIHtcbiAgY29tcG9uZW50OiBhbnk7XG4gIGhvc3Q6IEVsZW1lbnQ7XG59XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgdGhlIGN1c3RvbSBpbnNwZWN0b3IgZm9yIHRoZSBPdHRlciBEZXZ0b29scyBDaHJvbWUgZXh0ZW5zaW9uLlxuICovXG5leHBvcnQgY2xhc3MgT3R0ZXJJbnNwZWN0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhbmd1bGFyRGV2VG9vbHM6IE5nIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjayA9IHRoaXMuZWxlbWVudE1vdXNlT3Zlci5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRDbGlja0NhbGxiYWNrID0gdGhpcy5lbGVtZW50Q2xpY2suYmluZCh0aGlzKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5jZWxFdmVudENhbGxiYWNrID0gdGhpcy5jYW5jZWxFdmVudC5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHNlbGVjdGVkQ29tcG9uZW50OiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGluc3BlY3RvckRpdjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBvdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE90dGVyTGlrZUNvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBvZiBjb21wb25lbnQgaW5mbyB0byBiZSBzZW50IHRvIHRoZSBleHRlbnNpb24gYXBwLlxuICAgKi9cbiAgcHVibGljIG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCQ6IE9ic2VydmFibGU8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4gPSB0aGlzLm90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFuZ3VsYXJEZXZUb29scyA9ICh3aW5kb3cgYXMgYW55KS5uZyBhcyBOZyB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRJbnNwZWN0aW5nKCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCB0aGlzLmVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5lbGVtZW50Q2xpY2tDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgdGhpcy5jYW5jZWxFdmVudENhbGxiYWNrLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5zZWxlY3RlZENvbXBvbmVudCB8fCAhdGhpcy5hbmd1bGFyRGV2VG9vbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IHBhcmVudCA9IHBhcmVudEVsZW1lbnQgJiYgKHRoaXMuYW5ndWxhckRldlRvb2xzLmdldENvbXBvbmVudChwYXJlbnRFbGVtZW50KSB8fCB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRPd25pbmdDb21wb25lbnQocGFyZW50RWxlbWVudCkpO1xuICAgIGNvbnN0IHBhcmVudEhvc3QgPSBwYXJlbnQgJiYgdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQocGFyZW50KTtcbiAgICBjb25zdCBjb250YWluZXIgPSBpc0NvbnRhaW5lcihwYXJlbnRIb3N0KVxuICAgICAgPyBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKHBhcmVudCwgcGFyZW50SG9zdClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudCB9ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudDtcblxuICAgIHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50Lm5leHQoe1xuICAgICAgLi4uaW5mb1RvQmVTZW50LFxuICAgICAgY29udGFpbmVyXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzT3R0ZXJMaWtlQ29tcG9uZW50KGluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm8pIHtcbiAgICBjb25zdCBoYXNDb25maWdJZCA9ICEhaW5mby5jb25maWdJZDtcbiAgICBjb25zdCBoYXNUcmFuc2xhdGlvbnMgPSAhIWluZm8udHJhbnNsYXRpb25zPy5sZW5ndGg7XG4gICAgY29uc3QgaGFzQW5hbHl0aWNzID0gT2JqZWN0LmtleXMoaW5mby5hbmFseXRpY3MgfHwge30pLmxlbmd0aCA+IDA7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50TmFtZX0+YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tcG9uZW50Py5ob3N0ICYmIHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS53aWR0aCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmhlaWdodCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEV2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIGluc3BlY3RvciBkaXYgYW5kIGFkZCBpdCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIHByZXBhcmVJbnNwZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc3BlY3RvckNzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgaW5zcGVjdG9yQ3NzLnRleHRDb250ZW50ID0gYFxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTA0LCAxODIsIDI1NSwgMC4zNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSA+IHNwYW4ge1xuICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuOSk7O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfWA7XG5cbiAgICBjb25zdCBpbnNwZWN0b3JEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb25zdCBpbnNwZWN0b3JTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGluc3BlY3RvckRpdi5hcHBlbmQoaW5zcGVjdG9yU3Bhbik7XG4gICAgaW5zcGVjdG9yRGl2LmNsYXNzTGlzdC5hZGQoSU5TUEVDVE9SX0NMQVNTKTtcblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKGluc3BlY3RvckNzcyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoaW5zcGVjdG9yRGl2KTtcbiAgICB0aGlzLmluc3BlY3RvckRpdiA9IGluc3BlY3RvckRpdjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGluc3BlY3Rvci5cbiAgICogQHBhcmFtIGlzUnVubmluZyB0cnVlIGlmIHRoZSBpbnNwZWN0b3IgaXMgcnVubmluZ1xuICAgKi9cbiAgcHVibGljIHRvZ2dsZUluc3BlY3Rvcihpc1J1bm5pbmc6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNSdW5uaW5nKSB7XG4gICAgICB0aGlzLnN0YXJ0SW5zcGVjdGluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3BJbnNwZWN0aW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0b3BJbnNwZWN0aW5nKCkge1xuICAgIHRoaXMudW5IaWdobGlnaHQoKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5lbGVtZW50TW91c2VPdmVyQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuZWxlbWVudENsaWNrQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIHRoaXMuY2FuY2VsRXZlbnRDYWxsYmFjaywgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbzNyLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './core/index';
|
|
2
|
-
export * from './devkit/index';
|
|
3
|
-
export * from './stores/index';
|
|
4
|
-
export * from './tools/index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgQ29udGV4dCwgQ29udGV4dElucHV0LCBCYXNlQ29udGV4dE91dHB1dCwgVGVtcGxhdGVDb250ZXh0IH0gZnJvbSAnQG8zci9jb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3Jlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xzL2luZGV4JztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbXBvbmVudHMtcnVsZXMtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9vM3ItY29tcG9uZW50cy1ydWxlcy1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector, Optional, } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed, } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { select, Store, } from '@ngrx/store';
|
|
4
|
-
import { DynamicContentService, } from '@o3r/dynamic-content';
|
|
5
|
-
import { LocalizationService, } from '@o3r/localization';
|
|
6
|
-
import { LoggerService, } from '@o3r/logger';
|
|
7
|
-
import { combineLatest, distinctUntilChanged, firstValueFrom, map, of, startWith, Subject, withLatestFrom, } from 'rxjs';
|
|
8
|
-
import { RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE, } from './placeholder.interfaces';
|
|
9
|
-
import { deletePlaceholderTemplateEntity, selectPlaceholderRequestEntities, selectPlaceholderTemplateEntities, setPlaceholderRequestEntityFromUrl, setPlaceholderTemplateEntity, updatePlaceholderRequestEntity, } from '@o3r/components';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@ngrx/store";
|
|
12
|
-
import * as i2 from "@o3r/logger";
|
|
13
|
-
import * as i3 from "@o3r/localization";
|
|
14
|
-
/**
|
|
15
|
-
* Service to handle async PlaceholderTemplate actions
|
|
16
|
-
*/
|
|
17
|
-
export class PlaceholderRulesEngineActionHandler {
|
|
18
|
-
constructor(store, logger, injector, translateService) {
|
|
19
|
-
this.logger = logger;
|
|
20
|
-
this.injector = injector;
|
|
21
|
-
this.placeholdersActions$ = new Subject();
|
|
22
|
-
/** @inheritdoc */
|
|
23
|
-
this.supportingActions = [RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE];
|
|
24
|
-
const lang$ = translateService
|
|
25
|
-
? translateService.getTranslateService().onLangChange.pipe(map(({ lang }) => lang), startWith(translateService.getCurrentLanguage()), distinctUntilChanged())
|
|
26
|
-
: of(null);
|
|
27
|
-
const filteredActions$ = combineLatest([
|
|
28
|
-
lang$,
|
|
29
|
-
this.placeholdersActions$.pipe(distinctUntilChanged((prev, next) => JSON.stringify(prev) === JSON.stringify(next)))
|
|
30
|
-
]).pipe(withLatestFrom(combineLatest([store.pipe(select(selectPlaceholderTemplateEntities)), store.pipe(select(selectPlaceholderRequestEntities))])), map(([langAndTemplatesUrls, storedPlaceholdersAndRequests]) => {
|
|
31
|
-
const [lang, placeholderActions] = langAndTemplatesUrls;
|
|
32
|
-
const storedPlaceholders = storedPlaceholdersAndRequests[0] || {};
|
|
33
|
-
const storedPlaceholderRequests = storedPlaceholdersAndRequests[1] || {};
|
|
34
|
-
const placeholderNewRequests = [];
|
|
35
|
-
// Stores all raw Urls used from the current engine execution
|
|
36
|
-
const usedUrls = {};
|
|
37
|
-
// Get all Urls that needs to be resolved from current rules engine output
|
|
38
|
-
const placeholdersTemplates = placeholderActions.reduce((acc, placeholderAction) => {
|
|
39
|
-
const placeholdersTemplateUrl = {
|
|
40
|
-
rawUrl: placeholderAction.templateUrl,
|
|
41
|
-
priority: placeholderAction.priority
|
|
42
|
-
};
|
|
43
|
-
if (acc[placeholderAction.placeholderId]) {
|
|
44
|
-
acc[placeholderAction.placeholderId].push(placeholdersTemplateUrl);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
acc[placeholderAction.placeholderId] = [placeholdersTemplateUrl];
|
|
48
|
-
}
|
|
49
|
-
const resolvedUrl = this.resolveUrlWithLang(placeholderAction.templateUrl, lang);
|
|
50
|
-
// Filters duplicates and resolved urls that are already in the store
|
|
51
|
-
if (!usedUrls[placeholderAction.templateUrl] && (!storedPlaceholderRequests[placeholderAction.templateUrl]
|
|
52
|
-
|| storedPlaceholderRequests[placeholderAction.templateUrl].resolvedUrl !== resolvedUrl)) {
|
|
53
|
-
placeholderNewRequests.push({
|
|
54
|
-
rawUrl: placeholderAction.templateUrl,
|
|
55
|
-
resolvedUrl: this.resolveUrlWithLang(placeholderAction.templateUrl, lang)
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
usedUrls[placeholderAction.templateUrl] = true;
|
|
59
|
-
return acc;
|
|
60
|
-
}, {});
|
|
61
|
-
// Urls not used anymore and not already disabled
|
|
62
|
-
const placeholderRequestsToDisable = [];
|
|
63
|
-
// Urls used that were disabled
|
|
64
|
-
const placeholderRequestsToEnable = [];
|
|
65
|
-
Object.keys(storedPlaceholderRequests).forEach((storedPlaceholderRequestRawUrl) => {
|
|
66
|
-
const usedFromEngineIteration = usedUrls[storedPlaceholderRequestRawUrl];
|
|
67
|
-
const usedFromStore = (storedPlaceholderRequests && storedPlaceholderRequests[storedPlaceholderRequestRawUrl]) ? storedPlaceholderRequests[storedPlaceholderRequestRawUrl].used : false;
|
|
68
|
-
if (!usedFromEngineIteration && usedFromStore) {
|
|
69
|
-
placeholderRequestsToDisable.push(storedPlaceholderRequestRawUrl);
|
|
70
|
-
}
|
|
71
|
-
else if (usedFromEngineIteration && !usedFromStore) {
|
|
72
|
-
placeholderRequestsToEnable.push(storedPlaceholderRequestRawUrl);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
// Placeholder that are no longer filled by the current engine execution output will be cleared
|
|
76
|
-
const placeholdersTemplatesToBeCleanedUp = Object.keys(storedPlaceholders)
|
|
77
|
-
.filter((placeholderId) => !placeholdersTemplates[placeholderId]);
|
|
78
|
-
const placeholdersTemplatesToBeSet = Object.keys(placeholdersTemplates).reduce((changedPlaceholderTemplates, placeholderTemplateId) => {
|
|
79
|
-
// Caching if the placeholder template already exists with the same urls
|
|
80
|
-
if (!storedPlaceholders[placeholderTemplateId]
|
|
81
|
-
|| !(JSON.stringify(storedPlaceholders[placeholderTemplateId].urlsWithPriority) === JSON.stringify(placeholdersTemplates[placeholderTemplateId]))) {
|
|
82
|
-
changedPlaceholderTemplates.push({
|
|
83
|
-
id: placeholderTemplateId,
|
|
84
|
-
urlsWithPriority: placeholdersTemplates[placeholderTemplateId]
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return changedPlaceholderTemplates;
|
|
88
|
-
}, []);
|
|
89
|
-
return {
|
|
90
|
-
placeholdersTemplatesToBeCleanedUp,
|
|
91
|
-
placeholderRequestsToDisable,
|
|
92
|
-
placeholderRequestsToEnable,
|
|
93
|
-
placeholdersTemplatesToBeSet,
|
|
94
|
-
placeholderNewRequests
|
|
95
|
-
};
|
|
96
|
-
}));
|
|
97
|
-
filteredActions$.pipe(takeUntilDestroyed()).subscribe((placeholdersUpdates) => {
|
|
98
|
-
placeholdersUpdates.placeholdersTemplatesToBeCleanedUp.forEach((placeholderId) => store.dispatch(deletePlaceholderTemplateEntity({
|
|
99
|
-
id: placeholderId
|
|
100
|
-
})));
|
|
101
|
-
placeholdersUpdates.placeholdersTemplatesToBeSet.forEach((placeholdersTemplateToBeSet) => {
|
|
102
|
-
store.dispatch(setPlaceholderTemplateEntity({ entity: placeholdersTemplateToBeSet }));
|
|
103
|
-
});
|
|
104
|
-
placeholdersUpdates.placeholderRequestsToDisable.forEach((placeholderRequestToDisable) => {
|
|
105
|
-
store.dispatch(updatePlaceholderRequestEntity({ entity: { id: placeholderRequestToDisable, used: false } }));
|
|
106
|
-
});
|
|
107
|
-
placeholdersUpdates.placeholderRequestsToEnable.forEach((placeholderRequestToEnable) => {
|
|
108
|
-
store.dispatch(updatePlaceholderRequestEntity({ entity: { id: placeholderRequestToEnable, used: true } }));
|
|
109
|
-
});
|
|
110
|
-
placeholdersUpdates.placeholderNewRequests.forEach((placeholderNewRequest) => {
|
|
111
|
-
store.dispatch(setPlaceholderRequestEntityFromUrl({
|
|
112
|
-
resolvedUrl: placeholderNewRequest.resolvedUrl,
|
|
113
|
-
id: placeholderNewRequest.rawUrl,
|
|
114
|
-
call: this.retrieveTemplate(placeholderNewRequest.resolvedUrl)
|
|
115
|
-
}));
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Localize the url, replacing the language marker
|
|
121
|
-
* @param url
|
|
122
|
-
* @param language
|
|
123
|
-
*/
|
|
124
|
-
resolveUrlWithLang(url, language) {
|
|
125
|
-
if (!language && url.includes('[LANGUAGE]')) {
|
|
126
|
-
this.logger.warn(`Missing language when trying to resolve ${url}`);
|
|
127
|
-
}
|
|
128
|
-
return language ? url.replace(/\[LANGUAGE]/g, language) : url;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Retrieve template as json from a given url
|
|
132
|
-
* @param url
|
|
133
|
-
*/
|
|
134
|
-
async retrieveTemplate(url) {
|
|
135
|
-
const resolvedUrl$ = this.injector.get(DynamicContentService, null, { optional: true })?.getContentPathStream(url) || of(url);
|
|
136
|
-
const fullUrl = await firstValueFrom(resolvedUrl$);
|
|
137
|
-
return fetch(fullUrl).then((response) => response.json());
|
|
138
|
-
}
|
|
139
|
-
/** @inheritdoc */
|
|
140
|
-
executeActions(actions) {
|
|
141
|
-
const templates = actions.map((action) => ({
|
|
142
|
-
placeholderId: action.placeholderId,
|
|
143
|
-
templateUrl: action.value,
|
|
144
|
-
priority: action.priority || 0
|
|
145
|
-
}));
|
|
146
|
-
this.placeholdersActions$.next(templates);
|
|
147
|
-
}
|
|
148
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionHandler, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i0.Injector }, { token: i3.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
149
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionHandler }); }
|
|
150
|
-
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionHandler, decorators: [{
|
|
152
|
-
type: Injectable
|
|
153
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: i0.Injector }, { type: i3.LocalizationService, decorators: [{
|
|
154
|
-
type: Optional
|
|
155
|
-
}] }] });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuYWN0aW9uLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMtZW5naW5lL3BsYWNlaG9sZGVyLmFjdGlvbi1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsa0JBQWtCLEdBQ25CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUNMLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxtQkFBbUIsR0FDcEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsYUFBYSxHQUNkLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxHQUFHLEVBQ0gsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUVMLDJDQUEyQyxHQUM1QyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCwrQkFBK0IsRUFHL0IsZ0NBQWdDLEVBQ2hDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsNEJBQTRCLEVBQzVCLDhCQUE4QixHQUMvQixNQUFNLGlCQUFpQixDQUFDOzs7OztBQUV6Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxtQ0FBbUM7SUFNOUMsWUFDRSxLQUFzQyxFQUNyQixNQUFxQixFQUNyQixRQUFrQixFQUN2QixnQkFBc0M7UUFGakMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUjNCLHlCQUFvQixHQUFnRixJQUFJLE9BQU8sRUFBRSxD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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgdGFrZVVudGlsRGVzdHJveWVkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBzZWxlY3QsXG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcixcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIER5bmFtaWNDb250ZW50U2VydmljZSxcbn0gZnJvbSAnQG8zci9keW5hbWljLWNvbnRlbnQnO1xuaW1wb3J0IHtcbiAgTG9jYWxpemF0aW9uU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtcbiAgTG9nZ2VyU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpcnN0VmFsdWVGcm9tLFxuICBtYXAsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFjdGlvblVwZGF0ZVBsYWNlaG9sZGVyQmxvY2ssXG4gIFJVTEVTX0VOR0lORV9QTEFDRUhPTERFUl9VUERBVEVfQUNUSU9OX1RZUEUsXG59IGZyb20gJy4vcGxhY2Vob2xkZXIuaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBkZWxldGVQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5LFxuICBQbGFjZWhvbGRlclJlcXVlc3RSZXBseSxcbiAgUGxhY2Vob2xkZXJUZW1wbGF0ZVN0b3JlLFxuICBzZWxlY3RQbGFjZWhvbGRlclJlcXVlc3RFbnRpdGllcyxcbiAgc2VsZWN0UGxhY2Vob2xkZXJUZW1wbGF0ZUVudGl0aWVzLFxuICBzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsLFxuICBzZXRQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5LFxuICB1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHksXG59IGZyb20gJ0BvM3IvY29tcG9uZW50cyc7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgYXN5bmMgUGxhY2Vob2xkZXJUZW1wbGF0ZSBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlclJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciBpbXBsZW1lbnRzIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcjxBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrPiB7XG4gIHByb3RlY3RlZCBwbGFjZWhvbGRlcnNBY3Rpb25zJDogU3ViamVjdDx7IHBsYWNlaG9sZGVySWQ6IHN0cmluZzsgdGVtcGxhdGVVcmw6IHN0cmluZzsgcHJpb3JpdHk6IG51bWJlciB9W10+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRpbmdBY3Rpb25zID0gW1JVTEVTX0VOR0lORV9QTEFDRUhPTERFUl9VUERBVEVfQUNUSU9OX1RZUEVdIGFzIGNvbnN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZTxQbGFjZWhvbGRlclRlbXBsYXRlU3RvcmU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHRyYW5zbGF0ZVNlcnZpY2U/OiBMb2NhbGl6YXRpb25TZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IGxhbmckID0gdHJhbnNsYXRlU2VydmljZVxuICAgICAgPyB0cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0ZVNlcnZpY2UoKS5vbkxhbmdDaGFuZ2UucGlwZShcbiAgICAgICAgbWFwKCh7IGxhbmcgfSkgPT4gbGFuZyksXG4gICAgICAgIHN0YXJ0V2l0aCh0cmFuc2xhdGVTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgOiBvZihudWxsKTtcblxuICAgIGNvbnN0IGZpbHRlcmVkQWN0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGxhbmckLFxuICAgICAgdGhpcy5wbGFjZWhvbGRlcnNBY3Rpb25zJC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgbmV4dCkgPT4gSlNPTi5zdHJpbmdpZnkocHJldikgPT09IEpTT04uc3RyaW5naWZ5KG5leHQpKVxuICAgICAgKVxuICAgIF0pLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgY29tYmluZUxhdGVzdChbc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0UGxhY2Vob2xkZXJUZW1wbGF0ZUVudGl0aWVzKSksIHN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0aWVzKSldKVxuICAgICAgKSxcbiAgICAgIG1hcCgoW2xhbmdBbmRUZW1wbGF0ZXNVcmxzLCBzdG9yZWRQbGFjZWhvbGRlcnNBbmRSZXF1ZXN0c10pID0+IHtcbiAgICAgICAgY29uc3QgW2xhbmcsIHBsYWNlaG9sZGVyQWN0aW9uc10gPSBsYW5nQW5kVGVtcGxhdGVzVXJscztcbiAgICAgICAgY29uc3Qgc3RvcmVkUGxhY2Vob2xkZXJzID0gc3RvcmVkUGxhY2Vob2xkZXJzQW5kUmVxdWVzdHNbMF0gfHwge307XG4gICAgICAgIGNvbnN0IHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdHMgPSBzdG9yZWRQbGFjZWhvbGRlcnNBbmRSZXF1ZXN0c1sxXSB8fCB7fTtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0czogeyByYXdVcmw6IHN0cmluZzsgcmVzb2x2ZWRVcmw6IHN0cmluZyB9W10gPSBbXTtcbiAgICAgICAgLy8gU3RvcmVzIGFsbCByYXcgVXJscyB1c2VkIGZyb20gdGhlIGN1cnJlbnQgZW5naW5lIGV4ZWN1dGlvblxuICAgICAgICBjb25zdCB1c2VkVXJsczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgICAgICAgLy8gR2V0IGFsbCBVcmxzIHRoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQgZnJvbSBjdXJyZW50IHJ1bGVzIGVuZ2luZSBvdXRwdXRcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJzVGVtcGxhdGVzID0gcGxhY2Vob2xkZXJBY3Rpb25zLnJlZHVjZSgoYWNjLCBwbGFjZWhvbGRlckFjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyc1RlbXBsYXRlVXJsID0ge1xuICAgICAgICAgICAgcmF3VXJsOiBwbGFjZWhvbGRlckFjdGlvbi50ZW1wbGF0ZVVybCxcbiAgICAgICAgICAgIHByaW9yaXR5OiBwbGFjZWhvbGRlckFjdGlvbi5wcmlvcml0eVxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKGFjY1twbGFjZWhvbGRlckFjdGlvbi5wbGFjZWhvbGRlcklkXSkge1xuICAgICAgICAgICAgYWNjW3BsYWNlaG9sZGVyQWN0aW9uLnBsYWNlaG9sZGVySWRdLnB1c2gocGxhY2Vob2xkZXJzVGVtcGxhdGVVcmwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY2NbcGxhY2Vob2xkZXJBY3Rpb24ucGxhY2Vob2xkZXJJZF0gPSBbcGxhY2Vob2xkZXJzVGVtcGxhdGVVcmxdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCByZXNvbHZlZFVybCA9IHRoaXMucmVzb2x2ZVVybFdpdGhMYW5nKHBsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsLCBsYW5nKTtcbiAgICAgICAgICAvLyBGaWx0ZXJzIGR1cGxpY2F0ZXMgYW5kIHJlc29sdmVkIHVybHMgdGhhdCBhcmUgYWxyZWFkeSBpbiB0aGUgc3RvcmVcbiAgICAgICAgICBpZiAoIXVzZWRVcmxzW3BsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsXSAmJiAoIXN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdHNbcGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmxdXG4gICAgICAgICAgICB8fCBzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzW3BsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsXSEucmVzb2x2ZWRVcmwgIT09IHJlc29sdmVkVXJsKSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0cy5wdXNoKHtcbiAgICAgICAgICAgICAgcmF3VXJsOiBwbGFjZWhvbGRlckFjdGlvbi50ZW1wbGF0ZVVybCxcbiAgICAgICAgICAgICAgcmVzb2x2ZWRVcmw6IHRoaXMucmVzb2x2ZVVybFdpdGhMYW5nKHBsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsLCBsYW5nKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVzZWRVcmxzW3BsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsXSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30gYXMgeyBba2V5OiBzdHJpbmddOiB7IHJhd1VybDogc3RyaW5nOyBwcmlvcml0eTogbnVtYmVyIH1bXSB9KTtcbiAgICAgICAgLy8gVXJscyBub3QgdXNlZCBhbnltb3JlIGFuZCBub3QgYWxyZWFkeSBkaXNhYmxlZFxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlclJlcXVlc3RzVG9EaXNhYmxlOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAvLyBVcmxzIHVzZWQgdGhhdCB3ZXJlIGRpc2FibGVkXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyUmVxdWVzdHNUb0VuYWJsZTogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgT2JqZWN0LmtleXMoc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0cykuZm9yRWFjaCgoc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0UmF3VXJsKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXNlZEZyb21FbmdpbmVJdGVyYXRpb24gPSB1c2VkVXJsc1tzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmxdO1xuICAgICAgICAgIGNvbnN0IHVzZWRGcm9tU3RvcmUgPSAoc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0cyAmJiBzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzW3N0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybF0pID8gc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0c1tzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmxdLnVzZWQgOiBmYWxzZTtcbiAgICAgICAgICBpZiAoIXVzZWRGcm9tRW5naW5lSXRlcmF0aW9uICYmIHVzZWRGcm9tU3RvcmUpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUucHVzaChzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmwpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodXNlZEZyb21FbmdpbmVJdGVyYXRpb24gJiYgIXVzZWRGcm9tU3RvcmUpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0VuYWJsZS5wdXNoKHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gUGxhY2Vob2xkZXIgdGhhdCBhcmUgbm8gbG9uZ2VyIGZpbGxlZCBieSB0aGUgY3VycmVudCBlbmdpbmUgZXhlY3V0aW9uIG91dHB1dCB3aWxsIGJlIGNsZWFyZWRcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJzVGVtcGxhdGVzVG9CZUNsZWFuZWRVcCA9IE9iamVjdC5rZXlzKHN0b3JlZFBsYWNlaG9sZGVycylcbiAgICAgICAgICAuZmlsdGVyKChwbGFjZWhvbGRlcklkKSA9PiAhcGxhY2Vob2xkZXJzVGVtcGxhdGVzW3BsYWNlaG9sZGVySWRdKTtcblxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlU2V0ID0gT2JqZWN0LmtleXMocGxhY2Vob2xkZXJzVGVtcGxhdGVzKS5yZWR1Y2UoKGNoYW5nZWRQbGFjZWhvbGRlclRlbXBsYXRlcywgcGxhY2Vob2xkZXJUZW1wbGF0ZUlkKSA9PiB7XG4gICAgICAgICAgLy8gQ2FjaGluZyBpZiB0aGUgcGxhY2Vob2xkZXIgdGVtcGxhdGUgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGUgc2FtZSB1cmxzXG4gICAgICAgICAgaWYgKCFzdG9yZWRQbGFjZWhvbGRlcnNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXVxuICAgICAgICAgICAgfHwgIShKU09OLnN0cmluZ2lmeShzdG9yZWRQbGFjZWhvbGRlcnNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXS51cmxzV2l0aFByaW9yaXR5KSA9PT0gSlNPTi5zdHJpbmdpZnkocGxhY2Vob2xkZXJzVGVtcGxhdGVzW3BsYWNlaG9sZGVyVGVtcGxhdGVJZF0pKSkge1xuICAgICAgICAgICAgY2hhbmdlZFBsYWNlaG9sZGVyVGVtcGxhdGVzLnB1c2goe1xuICAgICAgICAgICAgICBpZDogcGxhY2Vob2xkZXJUZW1wbGF0ZUlkLFxuICAgICAgICAgICAgICB1cmxzV2l0aFByaW9yaXR5OiBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaGFuZ2VkUGxhY2Vob2xkZXJUZW1wbGF0ZXM7XG4gICAgICAgIH0sIFtdIGFzIHsgaWQ6IHN0cmluZzsgdXJsc1dpdGhQcmlvcml0eTogeyByYXdVcmw6IHN0cmluZzsgcHJpb3JpdHk6IG51bWJlciB9W10gfVtdKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlQ2xlYW5lZFVwLFxuICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUsXG4gICAgICAgICAgcGxhY2Vob2xkZXJSZXF1ZXN0c1RvRW5hYmxlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyc1RlbXBsYXRlc1RvQmVTZXQsXG4gICAgICAgICAgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0c1xuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICAgIGZpbHRlcmVkQWN0aW9ucyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChwbGFjZWhvbGRlcnNVcGRhdGVzKSA9PiB7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyc1RlbXBsYXRlc1RvQmVDbGVhbmVkVXAuZm9yRWFjaCgocGxhY2Vob2xkZXJJZCkgPT5cbiAgICAgICAgc3RvcmUuZGlzcGF0Y2goZGVsZXRlUGxhY2Vob2xkZXJUZW1wbGF0ZUVudGl0eSh7XG4gICAgICAgICAgaWQ6IHBsYWNlaG9sZGVySWRcbiAgICAgICAgfSkpXG4gICAgICApO1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlU2V0LmZvckVhY2goKHBsYWNlaG9sZGVyc1RlbXBsYXRlVG9CZVNldCkgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaChzZXRQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5KHsgZW50aXR5OiBwbGFjZWhvbGRlcnNUZW1wbGF0ZVRvQmVTZXQgfSkpO1xuICAgICAgfSk7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUuZm9yRWFjaCgocGxhY2Vob2xkZXJSZXF1ZXN0VG9EaXNhYmxlKSA9PiB7XG4gICAgICAgIHN0b3JlLmRpc3BhdGNoKHVwZGF0ZVBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eSh7IGVudGl0eTogeyBpZDogcGxhY2Vob2xkZXJSZXF1ZXN0VG9EaXNhYmxlLCB1c2VkOiBmYWxzZSB9IH0pKTtcbiAgICAgIH0pO1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlclJlcXVlc3RzVG9FbmFibGUuZm9yRWFjaCgocGxhY2Vob2xkZXJSZXF1ZXN0VG9FbmFibGUpID0+IHtcbiAgICAgICAgc3RvcmUuZGlzcGF0Y2godXBkYXRlUGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5KHsgZW50aXR5OiB7IGlkOiBwbGFjZWhvbGRlclJlcXVlc3RUb0VuYWJsZSwgdXNlZDogdHJ1ZSB9IH0pKTtcbiAgICAgIH0pO1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlck5ld1JlcXVlc3RzLmZvckVhY2goKHBsYWNlaG9sZGVyTmV3UmVxdWVzdCkgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaChzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsKHtcbiAgICAgICAgICByZXNvbHZlZFVybDogcGxhY2Vob2xkZXJOZXdSZXF1ZXN0LnJlc29sdmVkVXJsLFxuICAgICAgICAgIGlkOiBwbGFjZWhvbGRlck5ld1JlcXVlc3QucmF3VXJsLFxuICAgICAgICAgIGNhbGw6IHRoaXMucmV0cmlldmVUZW1wbGF0ZShwbGFjZWhvbGRlck5ld1JlcXVlc3QucmVzb2x2ZWRVcmwpXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvY2FsaXplIHRoZSB1cmwsIHJlcGxhY2luZyB0aGUgbGFuZ3VhZ2UgbWFya2VyXG4gICAqIEBwYXJhbSB1cmxcbiAgICogQHBhcmFtIGxhbmd1YWdlXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb2x2ZVVybFdpdGhMYW5nKHVybDogc3RyaW5nLCBsYW5ndWFnZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKCFsYW5ndWFnZSAmJiB1cmwuaW5jbHVkZXMoJ1tMQU5HVUFHRV0nKSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihgTWlzc2luZyBsYW5ndWFnZSB3aGVuIHRyeWluZyB0byByZXNvbHZlICR7dXJsfWApO1xuICAgIH1cbiAgICByZXR1cm4gbGFuZ3VhZ2UgPyB1cmwucmVwbGFjZSgvXFxbTEFOR1VBR0VdL2csIGxhbmd1YWdlKSA6IHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0ZW1wbGF0ZSBhcyBqc29uIGZyb20gYSBnaXZlbiB1cmxcbiAgICogQHBhcmFtIHVybFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIHJldHJpZXZlVGVtcGxhdGUodXJsOiBzdHJpbmcpOiBQcm9taXNlPFBsYWNlaG9sZGVyUmVxdWVzdFJlcGx5PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRVcmwkID0gdGhpcy5pbmplY3Rvci5nZXQoRHluYW1pY0NvbnRlbnRTZXJ2aWNlLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pPy5nZXRDb250ZW50UGF0aFN0cmVhbSh1cmwpIHx8IG9mKHVybCk7XG4gICAgY29uc3QgZnVsbFVybCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlc29sdmVkVXJsJCk7XG4gICAgcmV0dXJuIGZldGNoKGZ1bGxVcmwpLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBleGVjdXRlQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrW10pIHtcbiAgICBjb25zdCB0ZW1wbGF0ZXMgPSBhY3Rpb25zLm1hcCgoYWN0aW9uKSA9PiAoe1xuICAgICAgcGxhY2Vob2xkZXJJZDogYWN0aW9uLnBsYWNlaG9sZGVySWQsXG4gICAgICB0ZW1wbGF0ZVVybDogYWN0aW9uLnZhbHVlLFxuICAgICAgcHJpb3JpdHk6IGFjdGlvbi5wcmlvcml0eSB8fCAwXG4gICAgfSkpO1xuXG4gICAgdGhpcy5wbGFjZWhvbGRlcnNBY3Rpb25zJC5uZXh0KHRlbXBsYXRlcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/** ActionUpdatePlaceholderBlock */
|
|
2
|
-
export const RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE = 'UPDATE_PLACEHOLDER';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJ1bGVzRW5naW5lQWN0aW9uLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuXG4vKiogQWN0aW9uVXBkYXRlUGxhY2Vob2xkZXJCbG9jayAgKi9cbmV4cG9ydCBjb25zdCBSVUxFU19FTkdJTkVfUExBQ0VIT0xERVJfVVBEQVRFX0FDVElPTl9UWVBFID0gJ1VQREFURV9QTEFDRUhPTERFUic7XG5cbi8qKlxuICogQ29udGVudCBvZiBhY3Rpb24gdGhhdCB1cGRhdGVzIGEgcGxhY2Vob2xkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrIGV4dGVuZHMgUnVsZXNFbmdpbmVBY3Rpb24ge1xuICBhY3Rpb25UeXBlOiB0eXBlb2YgUlVMRVNfRU5HSU5FX1BMQUNFSE9MREVSX1VQREFURV9BQ1RJT05fVFlQRTtcbiAgcGxhY2Vob2xkZXJJZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cbiJdfQ==
|