@ngx-formly/core 6.0.0-rc.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/esm2020/lib/components/formly.field.mjs +5 -2
- package/esm2020/lib/components/formly.form.mjs +11 -1
- package/esm2020/lib/extensions/field-form/field-form.mjs +10 -2
- package/esm2020/lib/models/config.mjs +1 -1
- package/esm2020/lib/models/fieldconfig.mjs +1 -1
- package/esm2020/lib/services/formly.config.mjs +12 -3
- package/esm2020/lib/templates/field-template.type.mjs +2 -1
- package/esm2020/lib/templates/formly.attributes.mjs +6 -3
- package/esm2020/lib/templates/formly.group.mjs +2 -1
- package/esm2020/lib/templates/formly.validation-message.mjs +4 -1
- package/fesm2015/ngx-formly-core.mjs +43 -5
- package/fesm2015/ngx-formly-core.mjs.map +1 -1
- package/fesm2020/ngx-formly-core.mjs +43 -5
- package/fesm2020/ngx-formly-core.mjs.map +1 -1
- package/lib/components/formly.field.d.ts +4 -0
- package/lib/components/formly.form.d.ts +10 -0
- package/lib/models/config.d.ts +6 -4
- package/lib/models/fieldconfig.d.ts +15 -15
- package/lib/services/formly.config.d.ts +11 -2
- package/lib/templates/field-template.type.d.ts +1 -0
- package/lib/templates/formly.attributes.d.ts +4 -0
- package/lib/templates/formly.group.d.ts +1 -0
- package/lib/templates/formly.validation-message.d.ts +4 -0
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Injectable, InjectionToken, Type } from '@angular/core';
|
|
2
2
|
import { reverseDeepMerge, defineHiddenProp } from './../utils';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* An InjectionToken for registering additional formly config options (types, wrappers ...).
|
|
6
|
+
*/
|
|
4
7
|
export const FORMLY_CONFIG = new InjectionToken('FORMLY_CONFIG');
|
|
5
8
|
/**
|
|
6
|
-
* Maintains list of formly
|
|
9
|
+
* Maintains list of formly config options. This can be used to register new field type.
|
|
7
10
|
*/
|
|
8
11
|
export class FormlyConfig {
|
|
9
12
|
constructor() {
|
|
@@ -51,6 +54,10 @@ export class FormlyConfig {
|
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Allows you to specify a custom type which you can use in your field configuration.
|
|
59
|
+
* You can pass an object of options, or an array of objects of options.
|
|
60
|
+
*/
|
|
54
61
|
setType(options) {
|
|
55
62
|
if (Array.isArray(options)) {
|
|
56
63
|
options.forEach((option) => this.setType(option));
|
|
@@ -79,6 +86,7 @@ export class FormlyConfig {
|
|
|
79
86
|
this.mergeExtendedType(name);
|
|
80
87
|
return this.types[name];
|
|
81
88
|
}
|
|
89
|
+
/** @ignore */
|
|
82
90
|
getMergedField(field = {}) {
|
|
83
91
|
const type = this.getType(field.type);
|
|
84
92
|
if (!type) {
|
|
@@ -107,7 +115,7 @@ export class FormlyConfig {
|
|
|
107
115
|
field.wrappers = [...type.wrappers];
|
|
108
116
|
}
|
|
109
117
|
}
|
|
110
|
-
/** @internal */
|
|
118
|
+
/** @ignore @internal */
|
|
111
119
|
resolveFieldTypeRef(field = {}) {
|
|
112
120
|
const type = this.getType(field.type);
|
|
113
121
|
if (!type) {
|
|
@@ -142,6 +150,7 @@ export class FormlyConfig {
|
|
|
142
150
|
}
|
|
143
151
|
return this.wrappers[name];
|
|
144
152
|
}
|
|
153
|
+
/** @ignore */
|
|
145
154
|
setTypeWrapper(type, name) {
|
|
146
155
|
if (!this.types[type]) {
|
|
147
156
|
this.types[type] = {};
|
|
@@ -212,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
212
221
|
type: Injectable,
|
|
213
222
|
args: [{ providedIn: 'root' }]
|
|
214
223
|
}] });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NyYy9saWIvc2VydmljZXMvZm9ybWx5LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBZ0IsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFlaEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFpQixlQUFlLENBQUMsQ0FBQztBQUdqRjs7R0FFRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBRHpCO1FBRUUsVUFBSyxHQUFtQyxFQUFFLENBQUM7UUFDM0MsZUFBVSxHQUF3QyxFQUFFLENBQUM7UUFDckQsYUFBUSxHQUFzQyxFQUFFLENBQUM7UUFDakQsYUFBUSxHQUEyRCxFQUFFLENBQUM7UUFDdEUsV0FBTSxHQUF3QztZQUM1QyxpQkFBaUIsRUFBRSxhQUFhO1lBQ2hDLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixTQUFTLENBQUMsS0FBZ0I7Z0JBQ3hCLE9BQU8sQ0FDTCxLQUFLLENBQUMsV0FBVyxFQUFFLE9BQU87b0JBQzFCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FDdEcsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDO1FBQ0YsZUFBVSxHQUF3QyxFQUFFLENBQUM7UUFDckQsWUFBTyxHQUE0RSxFQUFFLENBQUM7UUFFOUUseUJBQW9CLEdBQXdELEVBQUUsQ0FBQztLQWdPeEY7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QUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztTQUNyRDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1NBQ25EO0lBQ0gsQ0FBQzs7MEdBblBVLFlBQVk7OEdBQVosWUFBWSxjQURDLE1BQU07NEZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIENvbXBvbmVudFJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi8uLi90ZW1wbGF0ZXMvZmllbGQudHlwZSc7XG5pbXBvcnQgeyByZXZlcnNlRGVlcE1lcmdlLCBkZWZpbmVIaWRkZW5Qcm9wIH0gZnJvbSAnLi8uLi91dGlscyc7XG5pbXBvcnQge1xuICBGb3JtbHlGaWVsZENvbmZpZyxcbiAgRm9ybWx5RmllbGRDb25maWdDYWNoZSxcbiAgQ29uZmlnT3B0aW9uLFxuICBUeXBlT3B0aW9uLFxuICBWYWxpZGF0b3JPcHRpb24sXG4gIFdyYXBwZXJPcHRpb24sXG4gIEZvcm1seUV4dGVuc2lvbixcbiAgVmFsaWRhdGlvbk1lc3NhZ2VPcHRpb24sXG4gIEV4dGVuc2lvbk9wdGlvbixcbiAgRm9ybWx5RmllbGRDb25maWdQcmVzZXRQcm92aWRlcixcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpZWxkV3JhcHBlciB9IGZyb20gJy4uL3RlbXBsYXRlcy9maWVsZC53cmFwcGVyJztcblxuZXhwb3J0IGNvbnN0IEZPUk1MWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnT3B0aW9uW10+KCdGT1JNTFlfQ09ORklHJyk7XG5kZWNsYXJlIGNvbnN0IG5nRGV2TW9kZTogYW55O1xuXG4vKipcbiAqIE1haW50YWlucyBsaXN0IG9mIGZvcm1seSBmaWVsZCBkaXJlY3RpdmUgdHlwZXMuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcmVnaXN0ZXIgbmV3IGZpZWxkIHRlbXBsYXRlcy5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlDb25maWcge1xuICB0eXBlczogeyBbbmFtZTogc3RyaW5nXTogVHlwZU9wdGlvbiB9ID0ge307XG4gIHZhbGlkYXRvcnM6IHsgW25hbWU6IHN0cmluZ106IFZhbGlkYXRvck9wdGlvbiB9ID0ge307XG4gIHdyYXBwZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBXcmFwcGVyT3B0aW9uIH0gPSB7fTtcbiAgbWVzc2FnZXM6IHsgW25hbWU6IHN0cmluZ106IFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uWydtZXNzYWdlJ10gfSA9IHt9O1xuICBleHRyYXM6IE5vbk51bGxhYmxlPENvbmZpZ09wdGlvblsnZXh0cmFzJ10+ID0ge1xuICAgIGNoZWNrRXhwcmVzc2lvbk9uOiAnbW9kZWxDaGFuZ2UnLFxuICAgIGxhenlSZW5kZXI6IHRydWUsXG4gICAgcmVzZXRGaWVsZE9uSGlkZTogdHJ1ZSxcbiAgICByZW5kZXJGb3JtbHlGaWVsZEVsZW1lbnQ6IHRydWUsXG4gICAgc2hvd0Vycm9yKGZpZWxkOiBGaWVsZFR5cGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZpZWxkLmZvcm1Db250cm9sPy5pbnZhbGlkICYmXG4gICAgICAgIChmaWVsZC5mb3JtQ29udHJvbD8udG91Y2hlZCB8fCBmaWVsZC5vcHRpb25zLnBhcmVudEZvcm0/LnN1Ym1pdHRlZCB8fCAhIWZpZWxkLmZpZWxkLnZhbGlkYXRpb24/LnNob3cpXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGV4dGVuc2lvbnM6IHsgW25hbWU6IHN0cmluZ106IEZvcm1seUV4dGVuc2lvbiB9ID0ge307XG4gIHByZXNldHM6IHsgW25hbWU6IHN0cmluZ106IEZvcm1seUZpZWxkQ29uZmlnIHwgRm9ybWx5RmllbGRDb25maWdQcmVzZXRQcm92aWRlciB9ID0ge307XG5cbiAgcHJpdmF0ZSBleHRlbnNpb25zQnlQcmlvcml0eTogUmVjb3JkPG51bWJlciwgeyBbbmFtZTogc3RyaW5nXTogRm9ybWx5RXh0ZW5zaW9uIH0+ID0ge307XG5cbiAgYWRkQ29uZmlnKGNvbmZpZzogQ29uZmlnT3B0aW9uKSB7XG4gICAgaWYgKGNvbmZpZy50eXBlcykge1xuICAgICAgY29uZmlnLnR5cGVzLmZvckVhY2goKHR5cGUpID0+IHRoaXMuc2V0VHlwZSh0eXBlKSk7XG4gICAgfVxuICAgIGlmIChjb25maWcudmFsaWRhdG9ycykge1xuICAgICAgY29uZmlnLnZhbGlkYXRvcnMuZm9yRWFjaCgodmFsaWRhdG9yKSA9PiB0aGlzLnNldFZhbGlkYXRvcih2YWxpZGF0b3IpKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy53cmFwcGVycykge1xuICAgICAgY29uZmlnLndyYXBwZXJzLmZvckVhY2goKHdyYXBwZXIpID0+IHRoaXMuc2V0V3JhcHBlcih3cmFwcGVyKSk7XG4gICAgfVxuICAgIGlmIChjb25maWcudmFsaWRhdGlvbk1lc3NhZ2VzKSB7XG4gICAgICBjb25maWcudmFsaWRhdGlvbk1lc3NhZ2VzLmZvckVhY2goKHZhbGlkYXRpb24pID0+IHRoaXMuYWRkVmFsaWRhdG9yTWVzc2FnZSh2YWxpZGF0aW9uLm5hbWUsIHZhbGlkYXRpb24ubWVzc2FnZSkpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmV4dGVuc2lvbnMpIHtcbiAgICAgIHRoaXMuc2V0U29ydGVkRXh0ZW5zaW9ucyhjb25maWcuZXh0ZW5zaW9ucyk7XG4gICAgfVxuICAgIGlmIChjb25maWcuZXh0cmFzKSB7XG4gICAgICB0aGlzLmV4dHJhcyA9IHsgLi4udGhpcy5leHRyYXMsIC4uLmNvbmZpZy5leHRyYXMgfTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5wcmVzZXRzKSB7XG4gICAgICB0aGlzLnByZXNldHMgPSB7XG4gICAgICAgIC4uLnRoaXMucHJlc2V0cyxcbiAgICAgICAgLi4uY29uZmlnLnByZXNldHMucmVkdWNlKChhY2MsIGN1cnIpID0+ICh7IC4uLmFjYywgW2N1cnIubmFtZV06IGN1cnIuY29uZmlnIH0pLCB7fSksXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHNldFR5cGUob3B0aW9uczogVHlwZU9wdGlvbiB8IFR5cGVPcHRpb25bXSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMpKSB7XG4gICAgICBvcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4gdGhpcy5zZXRUeXBlKG9wdGlvbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMudHlwZXNbb3B0aW9ucy5uYW1lXSkge1xuICAgICAgICB0aGlzLnR5cGVzW29wdGlvbnMubmFtZV0gPSA8VHlwZU9wdGlvbj57IG5hbWU6IG9wdGlvbnMubmFtZSB9O1xuICAgICAgfVxuXG4gICAgICAoWydjb21wb25lbnQnLCAnZXh0ZW5kcycsICdkZWZhdWx0T3B0aW9ucycsICd3cmFwcGVycyddIGFzIChrZXlvZiBUeXBlT3B0aW9uKVtdKS5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICAgICAgdGhpcy50eXBlc1tvcHRpb25zLm5hbWVdW3Byb3BdID0gb3B0aW9uc1twcm9wXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VHlwZShuYW1lOiBGb3JtbHlGaWVsZENvbmZpZ1sndHlwZSddLCB0aHJvd0lmTm90Rm91bmQgPSBmYWxzZSk6IFR5cGVPcHRpb24ge1xuICAgIGlmIChuYW1lIGluc3RhbmNlb2YgVHlwZSkge1xuICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiBuYW1lLCBuYW1lOiBuYW1lLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5uYW1lIH07XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnR5cGVzW25hbWVdKSB7XG4gICAgICBpZiAodGhyb3dJZk5vdEZvdW5kKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgW0Zvcm1seSBFcnJvcl0gVGhlIHR5cGUgXCIke25hbWV9XCIgY291bGQgbm90IGJlIGZvdW5kLiBQbGVhc2UgbWFrZSBzdXJlIHRoYXQgaXMgcmVnaXN0ZXJlZCB0aHJvdWdoIHRoZSBGb3JtbHlNb2R1bGUgZGVjbGFyYXRpb24uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5tZXJnZUV4dGVuZGVkVHlwZShuYW1lKTtcblxuICAgIHJldHVybiB0aGlzLnR5cGVzW25hbWVdO1xuICB9XG5cbiAgZ2V0TWVyZ2VkRmllbGQoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge30pOiBhbnkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoZmllbGQudHlwZSk7XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGUuZGVmYXVsdE9wdGlvbnMpIHtcbiAgICAgIHJldmVyc2VEZWVwTWVyZ2UoZmllbGQsIHR5cGUuZGVmYXVsdE9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVuZERlZmF1bHRzID0gdHlwZS5leHRlbmRzICYmIHRoaXMuZ2V0VHlwZSh0eXBlLmV4dGVuZHMpLmRlZmF1bHRPcHRpb25zO1xuICAgIGlmIChleHRlbmREZWZhdWx0cykge1xuICAgICAgcmV2ZXJzZURlZXBNZXJnZShmaWVsZCwgZXh0ZW5kRGVmYXVsdHMpO1xuICAgIH1cblxuICAgIGlmIChmaWVsZD8ub3B0aW9uc1R5cGVzKSB7XG4gICAgICBmaWVsZC5vcHRpb25zVHlwZXMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdGhpcy5nZXRUeXBlKG9wdGlvbikuZGVmYXVsdE9wdGlvbnM7XG4gICAgICAgIGlmIChkZWZhdWx0T3B0aW9ucykge1xuICAgICAgICAgIHJldmVyc2VEZWVwTWVyZ2UoZmllbGQsIGRlZmF1bHRPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5yZXNvbHZlRmllbGRUeXBlUmVmKGZpZWxkKTtcbiAgICBpZiAoY29tcG9uZW50UmVmPy5pbnN0YW5jZT8uZGVmYXVsdE9wdGlvbnMpIHtcbiAgICAgIHJldmVyc2VEZWVwTWVyZ2UoZmllbGQsIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kZWZhdWx0T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKCFmaWVsZC53cmFwcGVycyAmJiB0eXBlLndyYXBwZXJzKSB7XG4gICAgICBmaWVsZC53cmFwcGVycyA9IFsuLi50eXBlLndyYXBwZXJzXTtcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHJlc29sdmVGaWVsZFR5cGVSZWYoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUgPSB7fSk6IENvbXBvbmVudFJlZjxGaWVsZFR5cGU+IHtcbiAgICBjb25zdCB0eXBlOiBUeXBlT3B0aW9uICYgeyBfY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPGFueT4gfSA9IHRoaXMuZ2V0VHlwZShmaWVsZC50eXBlKTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghdHlwZS5jb21wb25lbnQgfHwgdHlwZS5fY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm4gdHlwZS5fY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIGNvbnN0IHsgX3ZpZXdDb250YWluZXJSZWYsIF9pbmplY3RvciB9ID0gZmllbGQub3B0aW9ucztcbiAgICBpZiAoIV92aWV3Q29udGFpbmVyUmVmIHx8ICFfaW5qZWN0b3IpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IF92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxGaWVsZFR5cGU+KHR5cGUuY29tcG9uZW50LCB7IGluamVjdG9yOiBfaW5qZWN0b3IgfSk7XG4gICAgZGVmaW5lSGlkZGVuUHJvcCh0eXBlLCAnX2NvbXBvbmVudFJlZicsIGNvbXBvbmVudFJlZik7XG4gICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcblxuICAgIHJldHVybiB0eXBlLl9jb21wb25lbnRSZWY7XG4gIH1cblxuICBzZXRXcmFwcGVyKG9wdGlvbnM6IFdyYXBwZXJPcHRpb24pIHtcbiAgICB0aGlzLndyYXBwZXJzW29wdGlvbnMubmFtZV0gPSBvcHRpb25zO1xuICAgIGlmIChvcHRpb25zLnR5cGVzKSB7XG4gICAgICBvcHRpb25zLnR5cGVzLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgdGhpcy5zZXRUeXBlV3JhcHBlcih0eXBlLCBvcHRpb25zLm5hbWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0V3JhcHBlcihuYW1lOiBzdHJpbmcgfCBUeXBlPEZpZWxkV3JhcHBlcj4pOiBXcmFwcGVyT3B0aW9uIHtcbiAgICBpZiAobmFtZSBpbnN0YW5jZW9mIFR5cGUpIHtcbiAgICAgIHJldHVybiB7IGNvbXBvbmVudDogbmFtZSwgbmFtZTogbmFtZS5wcm90b3R5cGUuY29uc3RydWN0b3IubmFtZSB9O1xuICAgIH1cblxuICAgIGlmICghdGhpcy53cmFwcGVyc1tuYW1lXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgW0Zvcm1seSBFcnJvcl0gVGhlIHdyYXBwZXIgXCIke25hbWV9XCIgY291bGQgbm90IGJlIGZvdW5kLiBQbGVhc2UgbWFrZSBzdXJlIHRoYXQgaXMgcmVnaXN0ZXJlZCB0aHJvdWdoIHRoZSBGb3JtbHlNb2R1bGUgZGVjbGFyYXRpb24uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMud3JhcHBlcnNbbmFtZV07XG4gIH1cblxuICBzZXRUeXBlV3JhcHBlcih0eXBlOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy50eXBlc1t0eXBlXSkge1xuICAgICAgdGhpcy50eXBlc1t0eXBlXSA9IDxUeXBlT3B0aW9uPnt9O1xuICAgIH1cbiAgICBpZiAoIXRoaXMudHlwZXNbdHlwZV0ud3JhcHBlcnMpIHtcbiAgICAgIHRoaXMudHlwZXNbdHlwZV0ud3JhcHBlcnMgPSBbXTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZXNbdHlwZV0ud3JhcHBlcnMuaW5kZXhPZihuYW1lKSA9PT0gLTEpIHtcbiAgICAgIHRoaXMudHlwZXNbdHlwZV0ud3JhcHBlcnMucHVzaChuYW1lKTtcbiAgICB9XG4gIH1cblxuICBzZXRWYWxpZGF0b3Iob3B0aW9uczogVmFsaWRhdG9yT3B0aW9uKSB7XG4gICAgdGhpcy52YWxpZGF0b3JzW29wdGlvbnMubmFtZV0gPSBvcHRpb25zO1xuICB9XG5cbiAgZ2V0VmFsaWRhdG9yKG5hbWU6IHN0cmluZyk6IFZhbGlkYXRvck9wdGlvbiB7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRvcnNbbmFtZV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFtGb3JtbHkgRXJyb3JdIFRoZSB2YWxpZGF0b3IgXCIke25hbWV9XCIgY291bGQgbm90IGJlIGZvdW5kLiBQbGVhc2UgbWFrZSBzdXJlIHRoYXQgaXMgcmVnaXN0ZXJlZCB0aHJvdWdoIHRoZSBGb3JtbHlNb2R1bGUgZGVjbGFyYXRpb24uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yc1tuYW1lXTtcbiAgfVxuXG4gIGFkZFZhbGlkYXRvck1lc3NhZ2UobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBWYWxpZGF0aW9uTWVzc2FnZU9wdGlvblsnbWVzc2FnZSddKSB7XG4gICAgdGhpcy5tZXNzYWdlc1tuYW1lXSA9IG1lc3NhZ2U7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgZGVwcmVjYXRlZCA9IHsgbWlubGVuZ3RoOiAnbWluTGVuZ3RoJywgbWF4bGVuZ3RoOiAnbWF4TGVuZ3RoJyB9IGFzIGFueTtcbiAgICAgIGlmIChkZXByZWNhdGVkW25hbWVdKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgRm9ybWx5IGRlcHJlY2F0aW9uOiBwYXNzaW5nIHZhbGlkYXRpb24gbWVzc2FnZXMga2V5ICcke25hbWV9JyBpcyBkZXByZWNhdGVkIHNpbmNlIHY2LjAsIHVzZSAnJHtkZXByZWNhdGVkW25hbWVdfScgaW5zdGVhZC5gLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzW2RlcHJlY2F0ZWRbbmFtZV1dID0gbWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRWYWxpZGF0b3JNZXNzYWdlKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzW25hbWVdO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTb3J0ZWRFeHRlbnNpb25zKGV4dGVuc2lvbk9wdGlvbnM6IEV4dGVuc2lvbk9wdGlvbltdKSB7XG4gICAgLy8gaW5zZXJ0IG5ldyBleHRlbnNpb25zLCBncm91cGVkIGJ5IHByaW9yaXR5XG4gICAgZXh0ZW5zaW9uT3B0aW9ucy5mb3JFYWNoKChleHRlbnNpb25PcHRpb24pID0+IHtcbiAgICAgIGNvbnN0IHByaW9yaXR5ID0gZXh0ZW5zaW9uT3B0aW9uLnByaW9yaXR5ID8/IDE7XG4gICAgICB0aGlzLmV4dGVuc2lvbnNCeVByaW9yaXR5W3ByaW9yaXR5XSA9IHtcbiAgICAgICAgLi4udGhpcy5leHRlbnNpb25zQnlQcmlvcml0eVtwcmlvcml0eV0sXG4gICAgICAgIFtleHRlbnNpb25PcHRpb24ubmFtZV06IGV4dGVuc2lvbk9wdGlvbi5leHRlbnNpb24sXG4gICAgICB9O1xuICAgIH0pO1xuICAgIC8vIGZsYXR0ZW4gZXh0ZW5zaW9ucyBvYmplY3Qgd2l0aCBzb3J0ZWQga2V5c1xuICAgIHRoaXMuZXh0ZW5zaW9ucyA9IE9iamVjdC5rZXlzKHRoaXMuZXh0ZW5zaW9uc0J5UHJpb3JpdHkpXG4gICAgICAubWFwKE51bWJlcilcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChhY2MsIHByaW8pID0+ICh7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIC4uLnRoaXMuZXh0ZW5zaW9uc0J5UHJpb3JpdHlbcHJpb10sXG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlRXh0ZW5kZWRUeXBlKG5hbWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy50eXBlc1tuYW1lXS5leHRlbmRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZW5kZWRUeXBlID0gdGhpcy5nZXRUeXBlKHRoaXMudHlwZXNbbmFtZV0uZXh0ZW5kcyk7XG4gICAgaWYgKCF0aGlzLnR5cGVzW25hbWVdLmNvbXBvbmVudCkge1xuICAgICAgdGhpcy50eXBlc1tuYW1lXS5jb21wb25lbnQgPSBleHRlbmRlZFR5cGUuY29tcG9uZW50O1xuICAgIH1cblxuICAgIGlmICghdGhpcy50eXBlc1tuYW1lXS53cmFwcGVycykge1xuICAgICAgdGhpcy50eXBlc1tuYW1lXS53cmFwcGVycyA9IGV4dGVuZGVkVHlwZS53cmFwcGVycztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NyYy9saWIvc2VydmljZXMvZm9ybWx5LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBZ0IsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFlaEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWlCLGVBQWUsQ0FBQyxDQUFDO0FBR2pGOztHQUVHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFRSxVQUFLLEdBQW1DLEVBQUUsQ0FBQztRQUMzQyxlQUFVLEdBQXdDLEVBQUUsQ0FBQztRQUNyRCxhQUFRLEdBQXNDLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQTJELEVBQUUsQ0FBQztRQUV0RSxXQUFNLEdBQXdDO1lBQzVDLGlCQUFpQixFQUFFLGFBQWE7WUFDaEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0Qix3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLFNBQVMsQ0FBQyxLQUFnQjtnQkFDeEIsT0FBTyxDQUNMLEtBQUssQ0FBQyxXQUFXLEVBQUUsT0FBTztvQkFDMUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUN0RyxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7UUFDRixlQUFVLEdBQXdDLEVBQUUsQ0FBQztRQUNyRCxZQUFPLEdBQTRFLEVBQUUsQ0FBQztRQUU5RSx5QkFBb0IsR0FBd0QsRUFBRSxD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SUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUM7U0FDckQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztTQUNuRDtJQUNILENBQUM7OzBHQTFQVSxZQUFZOzhHQUFaLFlBQVksY0FEQyxNQUFNOzRGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBDb21wb25lbnRSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4vLi4vdGVtcGxhdGVzL2ZpZWxkLnR5cGUnO1xuaW1wb3J0IHsgcmV2ZXJzZURlZXBNZXJnZSwgZGVmaW5lSGlkZGVuUHJvcCB9IGZyb20gJy4vLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgRm9ybWx5RmllbGRDb25maWcsXG4gIEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUsXG4gIENvbmZpZ09wdGlvbixcbiAgVHlwZU9wdGlvbixcbiAgVmFsaWRhdG9yT3B0aW9uLFxuICBXcmFwcGVyT3B0aW9uLFxuICBGb3JtbHlFeHRlbnNpb24sXG4gIFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uLFxuICBFeHRlbnNpb25PcHRpb24sXG4gIEZvcm1seUZpZWxkQ29uZmlnUHJlc2V0UHJvdmlkZXIsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBGaWVsZFdyYXBwZXIgfSBmcm9tICcuLi90ZW1wbGF0ZXMvZmllbGQud3JhcHBlcic7XG5cbi8qKlxuICogQW4gSW5qZWN0aW9uVG9rZW4gZm9yIHJlZ2lzdGVyaW5nIGFkZGl0aW9uYWwgZm9ybWx5IGNvbmZpZyBvcHRpb25zICh0eXBlcywgd3JhcHBlcnMgLi4uKS5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1MWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnT3B0aW9uW10+KCdGT1JNTFlfQ09ORklHJyk7XG5kZWNsYXJlIGNvbnN0IG5nRGV2TW9kZTogYW55O1xuXG4vKipcbiAqIE1haW50YWlucyBsaXN0IG9mIGZvcm1seSBjb25maWcgb3B0aW9ucy4gVGhpcyBjYW4gYmUgdXNlZCB0byByZWdpc3RlciBuZXcgZmllbGQgdHlwZS5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlDb25maWcge1xuICB0eXBlczogeyBbbmFtZTogc3RyaW5nXTogVHlwZU9wdGlvbiB9ID0ge307XG4gIHZhbGlkYXRvcnM6IHsgW25hbWU6IHN0cmluZ106IFZhbGlkYXRvck9wdGlvbiB9ID0ge307XG4gIHdyYXBwZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBXcmFwcGVyT3B0aW9uIH0gPSB7fTtcbiAgbWVzc2FnZXM6IHsgW25hbWU6IHN0cmluZ106IFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uWydtZXNzYWdlJ10gfSA9IHt9O1xuXG4gIGV4dHJhczogTm9uTnVsbGFibGU8Q29uZmlnT3B0aW9uWydleHRyYXMnXT4gPSB7XG4gICAgY2hlY2tFeHByZXNzaW9uT246ICdtb2RlbENoYW5nZScsXG4gICAgbGF6eVJlbmRlcjogdHJ1ZSxcbiAgICByZXNldEZpZWxkT25IaWRlOiB0cnVlLFxuICAgIHJlbmRlckZvcm1seUZpZWxkRWxlbWVudDogdHJ1ZSxcbiAgICBzaG93RXJyb3IoZmllbGQ6IEZpZWxkVHlwZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgZmllbGQuZm9ybUNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgKGZpZWxkLmZvcm1Db250cm9sPy50b3VjaGVkIHx8IGZpZWxkLm9wdGlvbnMucGFyZW50Rm9ybT8uc3VibWl0dGVkIHx8ICEhZmllbGQuZmllbGQudmFsaWRhdGlvbj8uc2hvdylcbiAgICAgICk7XG4gICAgfSxcbiAgfTtcbiAgZXh0ZW5zaW9uczogeyBbbmFtZTogc3RyaW5nXTogRm9ybWx5RXh0ZW5zaW9uIH0gPSB7fTtcbiAgcHJlc2V0czogeyBbbmFtZTogc3RyaW5nXTogRm9ybWx5RmllbGRDb25maWcgfCBGb3JtbHlGaWVsZENvbmZpZ1ByZXNldFByb3ZpZGVyIH0gPSB7fTtcblxuICBwcml2YXRlIGV4dGVuc2lvbnNCeVByaW9yaXR5OiBSZWNvcmQ8bnVtYmVyLCB7IFtuYW1lOiBzdHJpbmddOiBGb3JtbHlFeHRlbnNpb24gfT4gPSB7fTtcblxuICBhZGRDb25maWcoY29uZmlnOiBDb25maWdPcHRpb24pIHtcbiAgICBpZiAoY29uZmlnLnR5cGVzKSB7XG4gICAgICBjb25maWcudHlwZXMuZm9yRWFjaCgodHlwZSkgPT4gdGhpcy5zZXRUeXBlKHR5cGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy52YWxpZGF0b3JzKSB7XG4gICAgICBjb25maWcudmFsaWRhdG9ycy5mb3JFYWNoKCh2YWxpZGF0b3IpID0+IHRoaXMuc2V0VmFsaWRhdG9yKHZhbGlkYXRvcikpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLndyYXBwZXJzKSB7XG4gICAgICBjb25maWcud3JhcHBlcnMuZm9yRWFjaCgod3JhcHBlcikgPT4gdGhpcy5zZXRXcmFwcGVyKHdyYXBwZXIpKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXMpIHtcbiAgICAgIGNvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXMuZm9yRWFjaCgodmFsaWRhdGlvbikgPT4gdGhpcy5hZGRWYWxpZGF0b3JNZXNzYWdlKHZhbGlkYXRpb24ubmFtZSwgdmFsaWRhdGlvbi5tZXNzYWdlKSk7XG4gICAgfVxuICAgIGlmIChjb25maWcuZXh0ZW5zaW9ucykge1xuICAgICAgdGhpcy5zZXRTb3J0ZWRFeHRlbnNpb25zKGNvbmZpZy5leHRlbnNpb25zKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5leHRyYXMpIHtcbiAgICAgIHRoaXMuZXh0cmFzID0geyAuLi50aGlzLmV4dHJhcywgLi4uY29uZmlnLmV4dHJhcyB9O1xuICAgIH1cbiAgICBpZiAoY29uZmlnLnByZXNldHMpIHtcbiAgICAgIHRoaXMucHJlc2V0cyA9IHtcbiAgICAgICAgLi4udGhpcy5wcmVzZXRzLFxuICAgICAgICAuLi5jb25maWcucHJlc2V0cy5yZWR1Y2UoKGFjYywgY3VycikgPT4gKHsgLi4uYWNjLCBbY3Vyci5uYW1lXTogY3Vyci5jb25maWcgfSksIHt9KSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB5b3UgdG8gc3BlY2lmeSBhIGN1c3RvbSB0eXBlIHdoaWNoIHlvdSBjYW4gdXNlIGluIHlvdXIgZmllbGQgY29uZmlndXJhdGlvbi5cbiAgICogWW91IGNhbiBwYXNzIGFuIG9iamVjdCBvZiBvcHRpb25zLCBvciBhbiBhcnJheSBvZiBvYmplY3RzIG9mIG9wdGlvbnMuXG4gICAqL1xuICBzZXRUeXBlKG9wdGlvbnM6IFR5cGVPcHRpb24gfCBUeXBlT3B0aW9uW10pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zKSkge1xuICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHRoaXMuc2V0VHlwZShvcHRpb24pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnR5cGVzW29wdGlvbnMubmFtZV0pIHtcbiAgICAgICAgdGhpcy50eXBlc1tvcHRpb25zLm5hbWVdID0gPFR5cGVPcHRpb24+eyBuYW1lOiBvcHRpb25zLm5hbWUgfTtcbiAgICAgIH1cblxuICAgICAgKFsnY29tcG9uZW50JywgJ2V4dGVuZHMnLCAnZGVmYXVsdE9wdGlvbnMnLCAnd3JhcHBlcnMnXSBhcyAoa2V5b2YgVHlwZU9wdGlvbilbXSkuZm9yRWFjaCgocHJvcCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgICAgIHRoaXMudHlwZXNbb3B0aW9ucy5uYW1lXVtwcm9wXSA9IG9wdGlvbnNbcHJvcF0gYXMgYW55O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRUeXBlKG5hbWU6IEZvcm1seUZpZWxkQ29uZmlnWyd0eXBlJ10sIHRocm93SWZOb3RGb3VuZCA9IGZhbHNlKTogVHlwZU9wdGlvbiB7XG4gICAgaWYgKG5hbWUgaW5zdGFuY2VvZiBUeXBlKSB7XG4gICAgICByZXR1cm4geyBjb21wb25lbnQ6IG5hbWUsIG5hbWU6IG5hbWUucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWUgfTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudHlwZXNbbmFtZV0pIHtcbiAgICAgIGlmICh0aHJvd0lmTm90Rm91bmQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBbRm9ybWx5IEVycm9yXSBUaGUgdHlwZSBcIiR7bmFtZX1cIiBjb3VsZCBub3QgYmUgZm91bmQuIFBsZWFzZSBtYWtlIHN1cmUgdGhhdCBpcyByZWdpc3RlcmVkIHRocm91Z2ggdGhlIEZvcm1seU1vZHVsZSBkZWNsYXJhdGlvbi5gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLm1lcmdlRXh0ZW5kZWRUeXBlKG5hbWUpO1xuXG4gICAgcmV0dXJuIHRoaXMudHlwZXNbbmFtZV07XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXRNZXJnZWRGaWVsZChmaWVsZDogRm9ybWx5RmllbGRDb25maWcgPSB7fSk6IGFueSB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZShmaWVsZC50eXBlKTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZS5kZWZhdWx0T3B0aW9ucykge1xuICAgICAgcmV2ZXJzZURlZXBNZXJnZShmaWVsZCwgdHlwZS5kZWZhdWx0T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZW5kRGVmYXVsdHMgPSB0eXBlLmV4dGVuZHMgJiYgdGhpcy5nZXRUeXBlKHR5cGUuZXh0ZW5kcykuZGVmYXVsdE9wdGlvbnM7XG4gICAgaWYgKGV4dGVuZERlZmF1bHRzKSB7XG4gICAgICByZXZlcnNlRGVlcE1lcmdlKGZpZWxkLCBleHRlbmREZWZhdWx0cyk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkPy5vcHRpb25zVHlwZXMpIHtcbiAgICAgIGZpZWxkLm9wdGlvbnNUeXBlcy5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB0aGlzLmdldFR5cGUob3B0aW9uKS5kZWZhdWx0T3B0aW9ucztcbiAgICAgICAgaWYgKGRlZmF1bHRPcHRpb25zKSB7XG4gICAgICAgICAgcmV2ZXJzZURlZXBNZXJnZShmaWVsZCwgZGVmYXVsdE9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnJlc29sdmVGaWVsZFR5cGVSZWYoZmllbGQpO1xuICAgIGlmIChjb21wb25lbnRSZWY/Lmluc3RhbmNlPy5kZWZhdWx0T3B0aW9ucykge1xuICAgICAgcmV2ZXJzZURlZXBNZXJnZShmaWVsZCwgY29tcG9uZW50UmVmLmluc3RhbmNlLmRlZmF1bHRPcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoIWZpZWxkLndyYXBwZXJzICYmIHR5cGUud3JhcHBlcnMpIHtcbiAgICAgIGZpZWxkLndyYXBwZXJzID0gWy4uLnR5cGUud3JhcHBlcnNdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlIEBpbnRlcm5hbCAqL1xuICByZXNvbHZlRmllbGRUeXBlUmVmKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlID0ge30pOiBDb21wb25lbnRSZWY8RmllbGRUeXBlPiB7XG4gICAgY29uc3QgdHlwZTogVHlwZU9wdGlvbiAmIHsgX2NvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+IH0gPSB0aGlzLmdldFR5cGUoZmllbGQudHlwZSk7XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIXR5cGUuY29tcG9uZW50IHx8IHR5cGUuX2NvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuIHR5cGUuX2NvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICBjb25zdCB7IF92aWV3Q29udGFpbmVyUmVmLCBfaW5qZWN0b3IgfSA9IGZpZWxkLm9wdGlvbnM7XG4gICAgaWYgKCFfdmlld0NvbnRhaW5lclJlZiB8fCAhX2luamVjdG9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSBfdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8RmllbGRUeXBlPih0eXBlLmNvbXBvbmVudCwgeyBpbmplY3RvcjogX2luamVjdG9yIH0pO1xuICAgIGRlZmluZUhpZGRlblByb3AodHlwZSwgJ19jb21wb25lbnRSZWYnLCBjb21wb25lbnRSZWYpO1xuICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG5cbiAgICByZXR1cm4gdHlwZS5fY29tcG9uZW50UmVmO1xuICB9XG5cbiAgc2V0V3JhcHBlcihvcHRpb25zOiBXcmFwcGVyT3B0aW9uKSB7XG4gICAgdGhpcy53cmFwcGVyc1tvcHRpb25zLm5hbWVdID0gb3B0aW9ucztcbiAgICBpZiAob3B0aW9ucy50eXBlcykge1xuICAgICAgb3B0aW9ucy50eXBlcy5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VHlwZVdyYXBwZXIodHlwZSwgb3B0aW9ucy5uYW1lKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldFdyYXBwZXIobmFtZTogc3RyaW5nIHwgVHlwZTxGaWVsZFdyYXBwZXI+KTogV3JhcHBlck9wdGlvbiB7XG4gICAgaWYgKG5hbWUgaW5zdGFuY2VvZiBUeXBlKSB7XG4gICAgICByZXR1cm4geyBjb21wb25lbnQ6IG5hbWUsIG5hbWU6IG5hbWUucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWUgfTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud3JhcHBlcnNbbmFtZV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFtGb3JtbHkgRXJyb3JdIFRoZSB3cmFwcGVyIFwiJHtuYW1lfVwiIGNvdWxkIG5vdCBiZSBmb3VuZC4gUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IGlzIHJlZ2lzdGVyZWQgdGhyb3VnaCB0aGUgRm9ybWx5TW9kdWxlIGRlY2xhcmF0aW9uLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLndyYXBwZXJzW25hbWVdO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0VHlwZVdyYXBwZXIodHlwZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMudHlwZXNbdHlwZV0pIHtcbiAgICAgIHRoaXMudHlwZXNbdHlwZV0gPSA8VHlwZU9wdGlvbj57fTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnR5cGVzW3R5cGVdLndyYXBwZXJzKSB7XG4gICAgICB0aGlzLnR5cGVzW3R5cGVdLndyYXBwZXJzID0gW107XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGVzW3R5cGVdLndyYXBwZXJzLmluZGV4T2YobmFtZSkgPT09IC0xKSB7XG4gICAgICB0aGlzLnR5cGVzW3R5cGVdLndyYXBwZXJzLnB1c2gobmFtZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsaWRhdG9yKG9wdGlvbnM6IFZhbGlkYXRvck9wdGlvbikge1xuICAgIHRoaXMudmFsaWRhdG9yc1tvcHRpb25zLm5hbWVdID0gb3B0aW9ucztcbiAgfVxuXG4gIGdldFZhbGlkYXRvcihuYW1lOiBzdHJpbmcpOiBWYWxpZGF0b3JPcHRpb24ge1xuICAgIGlmICghdGhpcy52YWxpZGF0b3JzW25hbWVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBbRm9ybWx5IEVycm9yXSBUaGUgdmFsaWRhdG9yIFwiJHtuYW1lfVwiIGNvdWxkIG5vdCBiZSBmb3VuZC4gUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IGlzIHJlZ2lzdGVyZWQgdGhyb3VnaCB0aGUgRm9ybWx5TW9kdWxlIGRlY2xhcmF0aW9uLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRvcnNbbmFtZV07XG4gIH1cblxuICBhZGRWYWxpZGF0b3JNZXNzYWdlKG5hbWU6IHN0cmluZywgbWVzc2FnZTogVmFsaWRhdGlvbk1lc3NhZ2VPcHRpb25bJ21lc3NhZ2UnXSkge1xuICAgIHRoaXMubWVzc2FnZXNbbmFtZV0gPSBtZXNzYWdlO1xuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICAgIGNvbnN0IGRlcHJlY2F0ZWQgPSB7IG1pbmxlbmd0aDogJ21pbkxlbmd0aCcsIG1heGxlbmd0aDogJ21heExlbmd0aCcgfSBhcyBhbnk7XG4gICAgICBpZiAoZGVwcmVjYXRlZFtuYW1lXSkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYEZvcm1seSBkZXByZWNhdGlvbjogcGFzc2luZyB2YWxpZGF0aW9uIG1lc3NhZ2VzIGtleSAnJHtuYW1lfScgaXMgZGVwcmVjYXRlZCBzaW5jZSB2Ni4wLCB1c2UgJyR7ZGVwcmVjYXRlZFtuYW1lXX0nIGluc3RlYWQuYCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlc1tkZXByZWNhdGVkW25hbWVdXSA9IG1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsaWRhdG9yTWVzc2FnZShuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlc1tuYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U29ydGVkRXh0ZW5zaW9ucyhleHRlbnNpb25PcHRpb25zOiBFeHRlbnNpb25PcHRpb25bXSkge1xuICAgIC8vIGluc2VydCBuZXcgZXh0ZW5zaW9ucywgZ3JvdXBlZCBieSBwcmlvcml0eVxuICAgIGV4dGVuc2lvbk9wdGlvbnMuZm9yRWFjaCgoZXh0ZW5zaW9uT3B0aW9uKSA9PiB7XG4gICAgICBjb25zdCBwcmlvcml0eSA9IGV4dGVuc2lvbk9wdGlvbi5wcmlvcml0eSA/PyAxO1xuICAgICAgdGhpcy5leHRlbnNpb25zQnlQcmlvcml0eVtwcmlvcml0eV0gPSB7XG4gICAgICAgIC4uLnRoaXMuZXh0ZW5zaW9uc0J5UHJpb3JpdHlbcHJpb3JpdHldLFxuICAgICAgICBbZXh0ZW5zaW9uT3B0aW9uLm5hbWVdOiBleHRlbnNpb25PcHRpb24uZXh0ZW5zaW9uLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICAvLyBmbGF0dGVuIGV4dGVuc2lvbnMgb2JqZWN0IHdpdGggc29ydGVkIGtleXNcbiAgICB0aGlzLmV4dGVuc2lvbnMgPSBPYmplY3Qua2V5cyh0aGlzLmV4dGVuc2lvbnNCeVByaW9yaXR5KVxuICAgICAgLm1hcChOdW1iZXIpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgICAucmVkdWNlKFxuICAgICAgICAoYWNjLCBwcmlvKSA9PiAoe1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAuLi50aGlzLmV4dGVuc2lvbnNCeVByaW9yaXR5W3ByaW9dLFxuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZUV4dGVuZGVkVHlwZShuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMudHlwZXNbbmFtZV0uZXh0ZW5kcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVuZGVkVHlwZSA9IHRoaXMuZ2V0VHlwZSh0aGlzLnR5cGVzW25hbWVdLmV4dGVuZHMpO1xuICAgIGlmICghdGhpcy50eXBlc1tuYW1lXS5jb21wb25lbnQpIHtcbiAgICAgIHRoaXMudHlwZXNbbmFtZV0uY29tcG9uZW50ID0gZXh0ZW5kZWRUeXBlLmNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudHlwZXNbbmFtZV0ud3JhcHBlcnMpIHtcbiAgICAgIHRoaXMudHlwZXNbbmFtZV0ud3JhcHBlcnMgPSBleHRlbmRlZFR5cGUud3JhcHBlcnM7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
|
2
2
|
import { FieldType } from './field.type';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
/** @ignore */
|
|
5
6
|
export class FormlyTemplateType extends FieldType {
|
|
6
7
|
constructor(sanitizer) {
|
|
7
8
|
super();
|
|
@@ -30,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
30
31
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
32
|
}]
|
|
32
33
|
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdGVtcGxhdGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NyYy9saWIvdGVtcGxhdGVzL2ZpZWxkLXRlbXBsYXRlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFFekMsY0FBYztBQU1kLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO0lBZS9DLFlBQW9CLFNBQXVCO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRFUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQURuQyxjQUFTLEdBQThDLEVBQUUsQ0FBQztJQUdsRSxDQUFDO0lBaEJELElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNqRSxJQUFJLENBQUMsU0FBUyxHQUFHO2dCQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7Z0JBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7b0JBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO29CQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO2FBQ3hCLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQzs7Z0hBWlUsa0JBQWtCO29HQUFsQixrQkFBa0IsOEVBSG5CLG9DQUFvQzs0RkFHbkMsa0JBQWtCO2tCQUw5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4vZmllbGQudHlwZSc7XG5cbi8qKiBAaWdub3JlICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZTogYDxkaXYgW2lubmVySHRtbF09XCJ0ZW1wbGF0ZVwiPjwvZGl2PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlUZW1wbGF0ZVR5cGUgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBnZXQgdGVtcGxhdGUoKSB7XG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC50ZW1wbGF0ZSAhPT0gdGhpcy5pbm5lckh0bWwudGVtcGxhdGUpIHtcbiAgICAgIHRoaXMuaW5uZXJIdG1sID0ge1xuICAgICAgICB0ZW1wbGF0ZTogdGhpcy5maWVsZC50ZW1wbGF0ZSxcbiAgICAgICAgY29udGVudDogdGhpcy5wcm9wcy5zYWZlSHRtbFxuICAgICAgICAgID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5maWVsZC50ZW1wbGF0ZSlcbiAgICAgICAgICA6IHRoaXMuZmllbGQudGVtcGxhdGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmlubmVySHRtbC5jb250ZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBpbm5lckh0bWw6IHsgY29udGVudD86IFNhZmVIdG1sOyB0ZW1wbGF0ZT86IHN0cmluZyB9ID0ge307XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
|
|
@@ -2,6 +2,9 @@ import { Directive, Input, Inject, } from '@angular/core';
|
|
|
2
2
|
import { defineHiddenProp, FORMLY_VALIDATORS, observe } from '../utils';
|
|
3
3
|
import { DOCUMENT } from '@angular/common';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Allow to link the `field` HTML attributes (`id`, `name` ...) and Event attributes (`focus`, `blur` ...) to an element in the DOM.
|
|
7
|
+
*/
|
|
5
8
|
export class FormlyAttributes {
|
|
6
9
|
constructor(renderer, elementRef, _document) {
|
|
7
10
|
this.renderer = renderer;
|
|
@@ -112,10 +115,10 @@ export class FormlyAttributes {
|
|
|
112
115
|
const isFocused = !!this.document.activeElement &&
|
|
113
116
|
this.fieldAttrElements.some(({ nativeElement }) => this.document.activeElement === nativeElement || nativeElement.contains(this.document.activeElement));
|
|
114
117
|
if (value && !isFocused) {
|
|
115
|
-
element.nativeElement.focus();
|
|
118
|
+
Promise.resolve().then(() => element.nativeElement.focus());
|
|
116
119
|
}
|
|
117
120
|
else if (!value && isFocused) {
|
|
118
|
-
element.nativeElement.blur();
|
|
121
|
+
Promise.resolve().then(() => element.nativeElement.blur());
|
|
119
122
|
}
|
|
120
123
|
}
|
|
121
124
|
onFocus($event) {
|
|
@@ -180,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
180
183
|
}], id: [{
|
|
181
184
|
type: Input
|
|
182
185
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmF0dHJpYnV0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbGliL3RlbXBsYXRlcy9mb3JtbHkuYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFLTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBYSxNQUFNLFVBQVUsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUF1QzNCLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0IsRUFBb0IsU0FBYztRQUFyRixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWxDL0Qsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBSXBDOzs7O1dBSUc7UUFDSyxhQUFRLEdBQUc7WUFDakIsU0FBUyxFQUFFLEVBQWdCO1lBQzNCLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUM1RSxRQUFRLEVBQUUsQ0FBQyxTQUFpQixFQUFFLE1BQVcsRUFBRSxFQUFFO2dCQUMzQyxRQUFRLFNBQVMsRUFBRTtvQkFDakIsS0FBSyxPQUFPO3dCQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDOUIsS0FBSyxNQUFNO3dCQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDN0IsS0FBSyxRQUFRO3dCQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDL0I7d0JBQ0UsT0FBTyxJQUFJLENB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UUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLFVBQVUsRUFBRSxzQkFBc0I7cUJBQ25DO2lCQUNGOzswQkF3QzJFLE1BQU07MkJBQUMsUUFBUTs0Q0F0QzlELEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNoQixFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbiAgRG9DaGVjayxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgZGVmaW5lSGlkZGVuUHJvcCwgRk9STUxZX1ZBTElEQVRPUlMsIG9ic2VydmUsIElPYnNlcnZlciB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Zvcm1seUF0dHJpYnV0ZXNdJyxcbiAgaG9zdDoge1xuICAgICcoY2hhbmdlKSc6ICdvbkhvc3RDaGFuZ2UoJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUF0dHJpYnV0ZXMgaW1wbGVtZW50cyBPbkNoYW5nZXMsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnZm9ybWx5QXR0cmlidXRlcycpIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcbiAgcHJpdmF0ZSB1aUF0dHJpYnV0ZXNDYWNoZTogYW55ID0ge307XG4gIHByaXZhdGUgdWlBdHRyaWJ1dGVzOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBmb2N1c09ic2VydmVyOiBJT2JzZXJ2ZXI8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIEhvc3RCaW5kaW5nIGRvZXNuJ3QgcmVnaXN0ZXIgbGlzdGVuZXJzIGNvbmRpdGlvbmFsbHkgd2hpY2ggbWF5IHByb2R1Y2Ugc29tZSBwZXJmIGlzc3Vlcy5cbiAgICpcbiAgICogRm9ybWx5IGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8xOTkxXG4gICAqL1xuICBwcml2YXRlIHVpRXZlbnRzID0ge1xuICAgIGxpc3RlbmVyczogW10gYXMgRnVuY3Rpb25bXSxcbiAgICBldmVudHM6IFsnY2xpY2snLCAna2V5dXAnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdmb2N1cycsICdibHVyJywgJ2NoYW5nZSddLFxuICAgIGNhbGxiYWNrOiAoZXZlbnROYW1lOiBzdHJpbmcsICRldmVudDogYW55KSA9PiB7XG4gICAgICBzd2l0Y2ggKGV2ZW50TmFtZSkge1xuICAgICAgICBjYXNlICdmb2N1cyc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMub25Gb2N1cygkZXZlbnQpO1xuICAgICAgICBjYXNlICdibHVyJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5vbkJsdXIoJGV2ZW50KTtcbiAgICAgICAgY2FzZSAnY2hhbmdlJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5vbkNoYW5nZSgkZXZlbnQpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB0aGlzLnByb3BzW2V2ZW50TmFtZV0odGhpcy5maWVsZCwgJGV2ZW50KTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgZ2V0IHByb3BzKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzIHx8ICh7fSBhcyBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlWydwcm9wcyddKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZpZWxkQXR0ckVsZW1lbnRzKCk6IEVsZW1lbnRSZWZbXSB7XG4gICAgcmV0dXJuICh0aGlzLmZpZWxkIGFzIEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUpPy5bJ19lbGVtZW50UmVmcyddIHx8IFtdO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IF9kb2N1bWVudDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5maWVsZCkge1xuICAgICAgdGhpcy5maWVsZC5uYW1lICYmIHRoaXMuc2V0QXR0cmlidXRlKCduYW1lJywgdGhpcy5maWVsZC5uYW1lKTtcbiAgICAgIHRoaXMudWlFdmVudHMubGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lcigpKTtcbiAgICAgIHRoaXMudWlFdmVudHMuZXZlbnRzLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcz8uW2V2ZW50TmFtZV0gfHwgWydmb2N1cycsICdibHVyJywgJ2NoYW5nZSddLmluZGV4T2YoZXZlbnROYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLnVpRXZlbnRzLmxpc3RlbmVycy5wdXNoKFxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGUpID0+IHRoaXMudWlFdmVudHMuY2FsbGJhY2soZXZlbnROYW1lLCBlKSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0aGlzLnByb3BzPy5hdHRyaWJ1dGVzKSB7XG4gICAgICAgIG9ic2VydmUodGhpcy5maWVsZCwgWydwcm9wcycsICdhdHRyaWJ1dGVzJ10sICh7IGN1cnJlbnRWYWx1ZSwgcHJldmlvdXNWYWx1ZSB9KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHByZXZpb3VzVmFsdWUpLmZvckVhY2goKGF0dHIpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKGF0dHIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjdXJyZW50VmFsdWUpLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZVthdHRyXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoYXR0ciwgY3VycmVudFZhbHVlW2F0dHJdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kZXRhY2hFbGVtZW50UmVmKGNoYW5nZXMuZmllbGQucHJldmlvdXNWYWx1ZSk7XG4gICAgICB0aGlzLmF0dGFjaEVsZW1lbnRSZWYoY2hhbmdlcy5maWVsZC5jdXJyZW50VmFsdWUpO1xuICAgICAgaWYgKHRoaXMuZmllbGRBdHRyRWxlbWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICF0aGlzLmlkICYmIHRoaXMuZmllbGQuaWQgJiYgdGhpcy5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5maWVsZC5pZCk7XG4gICAgICAgIHRoaXMuZm9jdXNPYnNlcnZlciA9IG9ic2VydmU8Ym9vbGVhbj4odGhpcy5maWVsZCwgWydmb2N1cyddLCAoeyBjdXJyZW50VmFsdWUgfSkgPT4ge1xuICAgICAgICAgIHRoaXMudG9nZ2xlRm9jdXMoY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuaWQpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMuaWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXZSBuZWVkIHRvIHJlLWV2YWx1YXRlIGFsbCB0aGUgYXR0cmlidXRlcyBvbiBldmVyeSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLCBiZWNhdXNlXG4gICAqIGJ5IHVzaW5nIGEgSG9zdEJpbmRpbmcgd2UgcnVuIGludG8gY2VydGFpbiBlZGdlIGNhc2VzLiBUaGlzIG1lYW5zIHRoYXQgd2hhdGV2ZXIgbG9naWNcbiAgICogaXMgaW4gaGVyZSBoYXMgdG8gYmUgc3VwZXIgbGVhbiBvciB3ZSByaXNrIHNlcmlvdXNseSBkYW1hZ2luZyBvciBkZXN0cm95aW5nIHRoZSBwZXJmb3JtYW5jZS5cbiAgICpcbiAgICogRm9ybWx5IGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8xMzE3XG4gICAqIE1hdGVyaWFsIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8xNDAyNFxuICAgKi9cbiAgbmdEb0NoZWNrKCkge1xuICAgIGlmICghdGhpcy51aUF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHRoaXMudWlBdHRyaWJ1dGVzID0gWy4uLkZPUk1MWV9WQUxJREFUT1JTLCAndGFiaW5kZXgnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnc3RlcCddLmZpbHRlcihcbiAgICAgICAgKGF0dHIpID0+ICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSB8fCAhZWxlbWVudC5oYXNBdHRyaWJ1dGUoYXR0ciksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudWlBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wcm9wc1thdHRyXTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy51aUF0dHJpYnV0ZXNDYWNoZVthdHRyXSAhPT0gdmFsdWUgJiZcbiAgICAgICAgKCF0aGlzLnByb3BzLmF0dHJpYnV0ZXMgfHwgIXRoaXMucHJvcHMuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShhdHRyLnRvTG93ZXJDYXNlKCkpKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMudWlBdHRyaWJ1dGVzQ2FjaGVbYXR0cl0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlIHx8IHZhbHVlID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoYXR0ciwgdmFsdWUgPT09IHRydWUgPyBhdHRyIDogYCR7dmFsdWV9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoYXR0cik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudWlFdmVudHMubGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lcigpKTtcbiAgICB0aGlzLmRldGFjaEVsZW1lbnRSZWYodGhpcy5maWVsZCk7XG4gICAgdGhpcy5mb2N1c09ic2VydmVyPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgdG9nZ2xlRm9jdXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5maWVsZEF0dHJFbGVtZW50cyA/IHRoaXMuZmllbGRBdHRyRWxlbWVudHNbMF0gOiBudWxsO1xuICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNGb2N1c2VkID1cbiAgICAgICEhdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICB0aGlzLmZpZWxkQXR0ckVsZW1lbnRzLnNvbWUoXG4gICAgICAgICh7IG5hdGl2ZUVsZW1lbnQgfSkgPT5cbiAgICAgICAgICB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IG5hdGl2ZUVsZW1lbnQgfHwgbmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLFxuICAgICAgKTtcblxuICAgIGlmICh2YWx1ZSAmJiAhaXNGb2N1c2VkKSB7XG4gICAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9IGVsc2UgaWYgKCF2YWx1ZSAmJiBpc0ZvY3VzZWQpIHtcbiAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgfVxuICB9XG5cbiAgb25Gb2N1cygkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZm9jdXNPYnNlcnZlcj8uc2V0VmFsdWUodHJ1ZSk7XG4gICAgdGhpcy5wcm9wcy5mb2N1cz8uKHRoaXMuZmllbGQsICRldmVudCk7XG4gIH1cblxuICBvbkJsdXIoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZvY3VzT2JzZXJ2ZXI/LnNldFZhbHVlKGZhbHNlKTtcbiAgICB0aGlzLnByb3BzLmJsdXI/Lih0aGlzLmZpZWxkLCAkZXZlbnQpO1xuICB9XG5cbiAgLy8gaGFuZGxlIGN1c3RvbSBgY2hhbmdlYCBldmVudCwgZm9yIHJlZ3VsYXIgb25lcyByZWx5IG9uIERPTSBsaXN0ZW5lclxuICBvbkhvc3RDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoJGV2ZW50IGluc3RhbmNlb2YgRXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlKCRldmVudCk7XG4gIH1cblxuICBvbkNoYW5nZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucHJvcHMuY2hhbmdlPy4odGhpcy5maWVsZCwgJGV2ZW50KTtcbiAgICB0aGlzLmZpZWxkLmZvcm1Db250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hFbGVtZW50UmVmKGY6IEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUpIHtcbiAgICBpZiAoIWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZlsnX2VsZW1lbnRSZWZzJ10/LmluZGV4T2YodGhpcy5lbGVtZW50UmVmKSA9PT0gLTEpIHtcbiAgICAgIGZbJ19lbGVtZW50UmVmcyddLnB1c2godGhpcy5lbGVtZW50UmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVmaW5lSGlkZGVuUHJvcChmLCAnX2VsZW1lbnRSZWZzJywgW3RoaXMuZWxlbWVudFJlZl0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0YWNoRWxlbWVudFJlZihmOiBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlKSB7XG4gICAgY29uc3QgaW5kZXggPSBmPy5bJ19lbGVtZW50UmVmcyddID8gdGhpcy5maWVsZEF0dHJFbGVtZW50cy5pbmRleE9mKHRoaXMuZWxlbWVudFJlZikgOiAtMTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBmWydfZWxlbWVudFJlZnMnXS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QXR0cmlidXRlKGF0dHI6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBhdHRyLCB2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUF0dHJpYnV0ZShhdHRyOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgYXR0cik7XG4gIH1cbn1cbiJdfQ==
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmF0dHJpYnV0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbGliL3RlbXBsYXRlcy9mb3JtbHkuYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFLTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBYSxNQUFNLFVBQVUsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTNDOztHQUVHO0FBT0gsTUFBTSxPQUFPLGdCQUFnQjtJQXdDM0IsWUFBb0IsUUFBbUIsRUFBVSxVQUFzQixFQUFvQixTQUFjO1FBQXJGLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbEMvRCxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFJcEM7Ozs7V0FJRztRQUNLLGFBQVEsR0FBRztZQUNqQixTQUFTLEVBQUUsRUFBZ0I7WUFDM0IsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQzVFLFFBQVEsRUFBRSxDQUFDLFNBQWlCLEVBQUUsTUFBVyxFQUFFLEVBQUU7Z0JBQzNDLFFBQVEsU0FBUyxFQUFFO29CQUNqQixLQUFLLE9BQU87d0JBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM5QixLQUFLLE1BQU07d0JBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM3QixLQUFLLFFBQVE7d0JBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMvQjt3QkFDRSxP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QUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs4R0FsTVUsZ0JBQWdCLHFFQXdDc0QsUUFBUTtrR0F4QzlFLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLElBQUksRUFBRTt3QkFDSixVQUFVLEVBQUUsc0JBQXNCO3FCQUNuQztpQkFDRjs7MEJBeUMyRSxNQUFNOzJCQUFDLFFBQVE7NENBdEM5RCxLQUFLO3NCQUEvQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFDaEIsRUFBRTtzQkFBVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBSZW5kZXJlcjIsXG4gIERvQ2hlY2ssXG4gIEluamVjdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IGRlZmluZUhpZGRlblByb3AsIEZPUk1MWV9WQUxJREFUT1JTLCBvYnNlcnZlLCBJT2JzZXJ2ZXIgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQWxsb3cgdG8gbGluayB0aGUgYGZpZWxkYCBIVE1MIGF0dHJpYnV0ZXMgKGBpZGAsIGBuYW1lYCAuLi4pIGFuZCBFdmVudCBhdHRyaWJ1dGVzIChgZm9jdXNgLCBgYmx1cmAgLi4uKSB0byBhbiBlbGVtZW50IGluIHRoZSBET00uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmb3JtbHlBdHRyaWJ1dGVzXScsXG4gIGhvc3Q6IHtcbiAgICAnKGNoYW5nZSknOiAnb25Ib3N0Q2hhbmdlKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlBdHRyaWJ1dGVzIGltcGxlbWVudHMgT25DaGFuZ2VzLCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICAvKiogVGhlIGZpZWxkIGNvbmZpZy4gKi9cbiAgQElucHV0KCdmb3JtbHlBdHRyaWJ1dGVzJykgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHVpQXR0cmlidXRlc0NhY2hlOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSB1aUF0dHJpYnV0ZXM6IHN0cmluZ1tdO1xuICBwcml2YXRlIGZvY3VzT2JzZXJ2ZXI6IElPYnNlcnZlcjxib29sZWFuPjtcblxuICAvKipcbiAgICogSG9zdEJpbmRpbmcgZG9lc24ndCByZWdpc3RlciBsaXN0ZW5lcnMgY29uZGl0aW9uYWxseSB3aGljaCBtYXkgcHJvZHVjZSBzb21lIHBlcmYgaXNzdWVzLlxuICAgKlxuICAgKiBGb3JtbHkgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3gtZm9ybWx5L25neC1mb3JtbHkvaXNzdWVzLzE5OTFcbiAgICovXG4gIHByaXZhdGUgdWlFdmVudHMgPSB7XG4gICAgbGlzdGVuZXJzOiBbXSBhcyBGdW5jdGlvbltdLFxuICAgIGV2ZW50czogWydjbGljaycsICdrZXl1cCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2ZvY3VzJywgJ2JsdXInLCAnY2hhbmdlJ10sXG4gICAgY2FsbGJhY2s6IChldmVudE5hbWU6IHN0cmluZywgJGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIHN3aXRjaCAoZXZlbnROYW1lKSB7XG4gICAgICAgIGNhc2UgJ2ZvY3VzJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5vbkZvY3VzKCRldmVudCk7XG4gICAgICAgIGNhc2UgJ2JsdXInOlxuICAgICAgICAgIHJldHVybiB0aGlzLm9uQmx1cigkZXZlbnQpO1xuICAgICAgICBjYXNlICdjaGFuZ2UnOlxuICAgICAgICAgIHJldHVybiB0aGlzLm9uQ2hhbmdlKCRldmVudCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHRoaXMucHJvcHNbZXZlbnROYW1lXSh0aGlzLmZpZWxkLCAkZXZlbnQpO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBnZXQgcHJvcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMgfHwgKHt9IGFzIEZvcm1seUZpZWxkQ29uZmlnQ2FjaGVbJ3Byb3BzJ10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZmllbGRBdHRyRWxlbWVudHMoKTogRWxlbWVudFJlZltdIHtcbiAgICByZXR1cm4gKHRoaXMuZmllbGQgYXMgRm9ybWx5RmllbGRDb25maWdDYWNoZSk/LlsnX2VsZW1lbnRSZWZzJ10gfHwgW107XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgQEluamVjdChET0NVTUVOVCkgX2RvY3VtZW50OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gX2RvY3VtZW50O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmZpZWxkKSB7XG4gICAgICB0aGlzLmZpZWxkLm5hbWUgJiYgdGhpcy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCB0aGlzLmZpZWxkLm5hbWUpO1xuICAgICAgdGhpcy51aUV2ZW50cy5saXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IGxpc3RlbmVyKCkpO1xuICAgICAgdGhpcy51aUV2ZW50cy5ldmVudHMuZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzPy5bZXZlbnROYW1lXSB8fCBbJ2ZvY3VzJywgJ2JsdXInLCAnY2hhbmdlJ10uaW5kZXhPZihldmVudE5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMudWlFdmVudHMubGlzdGVuZXJzLnB1c2goXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZSkgPT4gdGhpcy51aUV2ZW50cy5jYWxsYmFjayhldmVudE5hbWUsIGUpKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMucHJvcHM/LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgb2JzZXJ2ZSh0aGlzLmZpZWxkLCBbJ3Byb3BzJywgJ2F0dHJpYnV0ZXMnXSwgKHsgY3VycmVudFZhbHVlLCBwcmV2aW91c1ZhbHVlIH0pID0+IHtcbiAgICAgICAgICBpZiAocHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocHJldmlvdXNWYWx1ZSkuZm9yRWFjaCgoYXR0cikgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUoYXR0cikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGN1cnJlbnRWYWx1ZSkuZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlW2F0dHJdICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShhdHRyLCBjdXJyZW50VmFsdWVbYXR0cl0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRldGFjaEVsZW1lbnRSZWYoY2hhbmdlcy5maWVsZC5wcmV2aW91c1ZhbHVlKTtcbiAgICAgIHRoaXMuYXR0YWNoRWxlbWVudFJlZihjaGFuZ2VzLmZpZWxkLmN1cnJlbnRWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5maWVsZEF0dHJFbGVtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgIXRoaXMuaWQgJiYgdGhpcy5maWVsZC5pZCAmJiB0aGlzLnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmZpZWxkLmlkKTtcbiAgICAgICAgdGhpcy5mb2N1c09ic2VydmVyID0gb2JzZXJ2ZTxib29sZWFuPih0aGlzLmZpZWxkLCBbJ2ZvY3VzJ10sICh7IGN1cnJlbnRWYWx1ZSB9KSA9PiB7XG4gICAgICAgICAgdGhpcy50b2dnbGVGb2N1cyhjdXJyZW50VmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5pZCkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5pZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgYWxsIHRoZSBhdHRyaWJ1dGVzIG9uIGV2ZXJ5IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUsIGJlY2F1c2VcbiAgICogYnkgdXNpbmcgYSBIb3N0QmluZGluZyB3ZSBydW4gaW50byBjZXJ0YWluIGVkZ2UgY2FzZXMuIFRoaXMgbWVhbnMgdGhhdCB3aGF0ZXZlciBsb2dpY1xuICAgKiBpcyBpbiBoZXJlIGhhcyB0byBiZSBzdXBlciBsZWFuIG9yIHdlIHJpc2sgc2VyaW91c2x5IGRhbWFnaW5nIG9yIGRlc3Ryb3lpbmcgdGhlIHBlcmZvcm1hbmNlLlxuICAgKlxuICAgKiBGb3JtbHkgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3gtZm9ybWx5L25neC1mb3JtbHkvaXNzdWVzLzEzMTdcbiAgICogTWF0ZXJpYWwgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzE0MDI0XG4gICAqL1xuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKCF0aGlzLnVpQXR0cmlidXRlcykge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGhpcy51aUF0dHJpYnV0ZXMgPSBbLi4uRk9STUxZX1ZBTElEQVRPUlMsICd0YWJpbmRleCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdkaXNhYmxlZCcsICdzdGVwJ10uZmlsdGVyKFxuICAgICAgICAoYXR0cikgPT4gIWVsZW1lbnQuaGFzQXR0cmlidXRlIHx8ICFlbGVtZW50Lmhhc0F0dHJpYnV0ZShhdHRyKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy51aUF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzW2F0dHJdO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnVpQXR0cmlidXRlc0NhY2hlW2F0dHJdICE9PSB2YWx1ZSAmJlxuICAgICAgICAoIXRoaXMucHJvcHMuYXR0cmlidXRlcyB8fCAhdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGF0dHIudG9Mb3dlckNhc2UoKSkpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy51aUF0dHJpYnV0ZXNDYWNoZVthdHRyXSA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgfHwgdmFsdWUgPT09IDApIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShhdHRyLCB2YWx1ZSA9PT0gdHJ1ZSA/IGF0dHIgOiBgJHt2YWx1ZX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShhdHRyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51aUV2ZW50cy5saXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IGxpc3RlbmVyKCkpO1xuICAgIHRoaXMuZGV0YWNoRWxlbWVudFJlZih0aGlzLmZpZWxkKTtcbiAgICB0aGlzLmZvY3VzT2JzZXJ2ZXI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB0b2dnbGVGb2N1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmZpZWxkQXR0ckVsZW1lbnRzID8gdGhpcy5maWVsZEF0dHJFbGVtZW50c1swXSA6IG51bGw7XG4gICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0ZvY3VzZWQgPVxuICAgICAgISF0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgIHRoaXMuZmllbGRBdHRyRWxlbWVudHMuc29tZShcbiAgICAgICAgKHsgbmF0aXZlRWxlbWVudCB9KSA9PlxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbmF0aXZlRWxlbWVudCB8fCBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCksXG4gICAgICApO1xuXG4gICAgaWYgKHZhbHVlICYmICFpc0ZvY3VzZWQpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH0gZWxzZSBpZiAoIXZhbHVlICYmIGlzRm9jdXNlZCkge1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYmx1cigpKTtcbiAgICB9XG4gIH1cblxuICBvbkZvY3VzKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5mb2N1c09ic2VydmVyPy5zZXRWYWx1ZSh0cnVlKTtcbiAgICB0aGlzLnByb3BzLmZvY3VzPy4odGhpcy5maWVsZCwgJGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cigkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZm9jdXNPYnNlcnZlcj8uc2V0VmFsdWUoZmFsc2UpO1xuICAgIHRoaXMucHJvcHMuYmx1cj8uKHRoaXMuZmllbGQsICRldmVudCk7XG4gIH1cblxuICAvLyBoYW5kbGUgY3VzdG9tIGBjaGFuZ2VgIGV2ZW50LCBmb3IgcmVndWxhciBvbmVzIHJlbHkgb24gRE9NIGxpc3RlbmVyXG4gIG9uSG9zdENoYW5nZSgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQgaW5zdGFuY2VvZiBFdmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub25DaGFuZ2UoJGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2hhbmdlKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5wcm9wcy5jaGFuZ2U/Lih0aGlzLmZpZWxkLCAkZXZlbnQpO1xuICAgIHRoaXMuZmllbGQuZm9ybUNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaEVsZW1lbnRSZWYoZjogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICAgIGlmICghZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmWydfZWxlbWVudFJlZnMnXT8uaW5kZXhPZih0aGlzLmVsZW1lbnRSZWYpID09PSAtMSkge1xuICAgICAgZlsnX2VsZW1lbnRSZWZzJ10ucHVzaCh0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWZpbmVIaWRkZW5Qcm9wKGYsICdfZWxlbWVudFJlZnMnLCBbdGhpcy5lbGVtZW50UmVmXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRhY2hFbGVtZW50UmVmKGY6IEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUpIHtcbiAgICBjb25zdCBpbmRleCA9IGY/LlsnX2VsZW1lbnRSZWZzJ10gPyB0aGlzLmZpZWxkQXR0ckVsZW1lbnRzLmluZGV4T2YodGhpcy5lbGVtZW50UmVmKSA6IC0xO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGZbJ19lbGVtZW50UmVmcyddLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBdHRyaWJ1dGUoYXR0cjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGF0dHIsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQXR0cmlidXRlKGF0dHI6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBhdHRyKTtcbiAgfVxufVxuIl19
|
|
@@ -3,6 +3,7 @@ import { FieldType } from './field.type';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../components/formly.field";
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
6
|
+
/** @ignore */
|
|
6
7
|
export class FormlyGroup extends FieldType {
|
|
7
8
|
}
|
|
8
9
|
FormlyGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -24,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24
25
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
25
26
|
}]
|
|
26
27
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5Lmdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvc3JjL2xpYi90ZW1wbGF0ZXMvZm9ybWx5Lmdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBd0IsTUFBTSxjQUFjLENBQUM7Ozs7QUFFL0QsY0FBYztBQVlkLE1BQU0sT0FBTyxXQUFZLFNBQVEsU0FBK0I7O3lHQUFuRCxXQUFXOzZGQUFYLFdBQVcsbUpBVFo7OztHQUdUOzRGQU1VLFdBQVc7a0JBWHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRTs7O0dBR1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxpQ0FBaUM7cUJBQzdDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRHcm91cFR5cGVDb25maWcgfSBmcm9tICcuL2ZpZWxkLnR5cGUnO1xuXG4vKiogQGlnbm9yZSAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWdyb3VwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybWx5LWZpZWxkICpuZ0Zvcj1cImxldCBmIG9mIGZpZWxkLmZpZWxkR3JvdXBcIiBbZmllbGRdPVwiZlwiPjwvZm9ybWx5LWZpZWxkPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ2ZpZWxkLmZpZWxkR3JvdXBDbGFzc05hbWUgfHwgXCJcIicsXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlHcm91cCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZEdyb3VwVHlwZUNvbmZpZz4ge31cbiJdfQ==
|
|
@@ -6,6 +6,9 @@ import { startWith, switchMap, filter } from 'rxjs/operators';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../services/formly.config";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
|
+
/**
|
|
10
|
+
* The `<formly-validation-message>` component renders the error message of a given `field`.
|
|
11
|
+
*/
|
|
9
12
|
export class FormlyValidationMessage {
|
|
10
13
|
constructor(config) {
|
|
11
14
|
this.config = config;
|
|
@@ -63,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
63
66
|
}], ctorParameters: function () { return [{ type: i1.FormlyConfig }]; }, propDecorators: { field: [{
|
|
64
67
|
type: Input
|
|
65
68
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LnZhbGlkYXRpb24tbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NyYy9saWIvdGVtcGxhdGVzL2Zvcm1seS52YWxpZGF0aW9uLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2RCxPQUFPLEVBQWMsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRTlEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFvQixNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBQUcsQ0FBQztJQUU1QyxXQUFXO1FBQ1QsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUNwQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNqQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNsQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxF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IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seUNvbmZpZyB9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm1seS5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRk9STUxZX1ZBTElEQVRPUlMsIGlzT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgaXNPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogVGhlIGA8Zm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5gIGNvbXBvbmVudCByZW5kZXJzIHRoZSBlcnJvciBtZXNzYWdlIG9mIGEgZ2l2ZW4gYGZpZWxkYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZScsXG4gIHRlbXBsYXRlOiAne3sgZXJyb3JNZXNzYWdlJCB8IGFzeW5jIH19JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seVZhbGlkYXRpb25NZXNzYWdlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIFRoZSBmaWVsZCBjb25maWcuICovXG4gIEBJbnB1dCgpIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZztcbiAgZXJyb3JNZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBGb3JtbHlDb25maWcpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgY29uc3QgRVhQUl9WQUxJREFUT1JTID0gRk9STUxZX1ZBTElEQVRPUlMubWFwKCh2KSA9PiBgdGVtcGxhdGVPcHRpb25zLiR7dn1gKTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSQgPSBtZXJnZShcbiAgICAgIHRoaXMuZmllbGQuZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlcyxcbiAgICAgICF0aGlzLmZpZWxkLm9wdGlvbnNcbiAgICAgICAgPyBvZihudWxsKVxuICAgICAgICA6IHRoaXMuZmllbGQub3B0aW9ucy5maWVsZENoYW5nZXMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoeyBmaWVsZCwgdHlwZSwgcHJvcGVydHkgfSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIGZpZWxkID09PSB0aGlzLmZpZWxkICYmXG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ2V4cHJlc3Npb25DaGFuZ2VzJyAmJlxuICAgICAgICAgICAgICAgIChwcm9wZXJ0eS5pbmRleE9mKCd2YWxpZGF0aW9uJykgIT09IC0xIHx8IEVYUFJfVkFMSURBVE9SUy5pbmRleE9mKHByb3BlcnR5KSAhPT0gLTEpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICkucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiAoaXNPYnNlcnZhYmxlKHRoaXMuZXJyb3JNZXNzYWdlKSA/IHRoaXMuZXJyb3JNZXNzYWdlIDogb2YodGhpcy5lcnJvck1lc3NhZ2UpKSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBlcnJvck1lc3NhZ2UoKSB7XG4gICAgY29uc3QgZmllbGRGb3JtID0gdGhpcy5maWVsZC5mb3JtQ29udHJvbDtcbiAgICBmb3IgKGNvbnN0IGVycm9yIGluIGZpZWxkRm9ybS5lcnJvcnMpIHtcbiAgICAgIGlmIChmaWVsZEZvcm0uZXJyb3JzLmhhc093blByb3BlcnR5KGVycm9yKSkge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IHRoaXMuY29uZmlnLmdldFZhbGlkYXRvck1lc3NhZ2UoZXJyb3IpO1xuXG4gICAgICAgIGlmIChpc09iamVjdChmaWVsZEZvcm0uZXJyb3JzW2Vycm9yXSkpIHtcbiAgICAgICAgICBpZiAoZmllbGRGb3JtLmVycm9yc1tlcnJvcl0uZXJyb3JQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZEZvcm0uZXJyb3JzW2Vycm9yXS5tZXNzYWdlKSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gZmllbGRGb3JtLmVycm9yc1tlcnJvcl0ubWVzc2FnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5maWVsZC52YWxpZGF0aW9uPy5tZXNzYWdlcz8uW2Vycm9yXSkge1xuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLmZpZWxkLnZhbGlkYXRpb24ubWVzc2FnZXNbZXJyb3JdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQudmFsaWRhdG9ycz8uW2Vycm9yXT8ubWVzc2FnZSkge1xuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLmZpZWxkLnZhbGlkYXRvcnNbZXJyb3JdLm1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5maWVsZC5hc3luY1ZhbGlkYXRvcnM/LltlcnJvcl0/Lm1lc3NhZ2UpIHtcbiAgICAgICAgICBtZXNzYWdlID0gdGhpcy5maWVsZC5hc3luY1ZhbGlkYXRvcnNbZXJyb3JdLm1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gbWVzc2FnZShmaWVsZEZvcm0uZXJyb3JzW2Vycm9yXSwgdGhpcy5maWVsZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -284,9 +284,12 @@ function markFieldForCheck(field) {
|
|
|
284
284
|
});
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
+
/**
|
|
288
|
+
* An InjectionToken for registering additional formly config options (types, wrappers ...).
|
|
289
|
+
*/
|
|
287
290
|
const FORMLY_CONFIG = new InjectionToken('FORMLY_CONFIG');
|
|
288
291
|
/**
|
|
289
|
-
* Maintains list of formly
|
|
292
|
+
* Maintains list of formly config options. This can be used to register new field type.
|
|
290
293
|
*/
|
|
291
294
|
class FormlyConfig {
|
|
292
295
|
constructor() {
|
|
@@ -332,6 +335,10 @@ class FormlyConfig {
|
|
|
332
335
|
this.presets = Object.assign(Object.assign({}, this.presets), config.presets.reduce((acc, curr) => (Object.assign(Object.assign({}, acc), { [curr.name]: curr.config })), {}));
|
|
333
336
|
}
|
|
334
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Allows you to specify a custom type which you can use in your field configuration.
|
|
340
|
+
* You can pass an object of options, or an array of objects of options.
|
|
341
|
+
*/
|
|
335
342
|
setType(options) {
|
|
336
343
|
if (Array.isArray(options)) {
|
|
337
344
|
options.forEach((option) => this.setType(option));
|
|
@@ -360,6 +367,7 @@ class FormlyConfig {
|
|
|
360
367
|
this.mergeExtendedType(name);
|
|
361
368
|
return this.types[name];
|
|
362
369
|
}
|
|
370
|
+
/** @ignore */
|
|
363
371
|
getMergedField(field = {}) {
|
|
364
372
|
var _a;
|
|
365
373
|
const type = this.getType(field.type);
|
|
@@ -389,7 +397,7 @@ class FormlyConfig {
|
|
|
389
397
|
field.wrappers = [...type.wrappers];
|
|
390
398
|
}
|
|
391
399
|
}
|
|
392
|
-
/** @internal */
|
|
400
|
+
/** @ignore @internal */
|
|
393
401
|
resolveFieldTypeRef(field = {}) {
|
|
394
402
|
const type = this.getType(field.type);
|
|
395
403
|
if (!type) {
|
|
@@ -424,6 +432,7 @@ class FormlyConfig {
|
|
|
424
432
|
}
|
|
425
433
|
return this.wrappers[name];
|
|
426
434
|
}
|
|
435
|
+
/** @ignore */
|
|
427
436
|
setTypeWrapper(type, name) {
|
|
428
437
|
if (!this.types[type]) {
|
|
429
438
|
this.types[type] = {};
|
|
@@ -699,6 +708,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
699
708
|
type: Injectable
|
|
700
709
|
}] });
|
|
701
710
|
|
|
711
|
+
/**
|
|
712
|
+
* The `<formly-field>` component is used to render the UI widget (layout + type) of a given `field`.
|
|
713
|
+
*/
|
|
702
714
|
class FormlyField {
|
|
703
715
|
constructor(config, renderer, _elementRef, hostContainerRef, form) {
|
|
704
716
|
this.config = config;
|
|
@@ -880,7 +892,7 @@ class FormlyField {
|
|
|
880
892
|
}
|
|
881
893
|
const subscribes = [
|
|
882
894
|
observeDeep(field, ['props'], () => field.options.detectChanges(field)),
|
|
883
|
-
observeDeep(field, ['
|
|
895
|
+
observeDeep(field.options, ['formState'], () => field.options.detectChanges(field)),
|
|
884
896
|
];
|
|
885
897
|
for (const path of [['template'], ['fieldGroupClassName'], ['validation', 'show']]) {
|
|
886
898
|
const fieldObserver = observe(field, path, ({ firstChange }) => !firstChange && field.options.detectChanges(field));
|
|
@@ -941,35 +953,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
941
953
|
args: ['container', { read: ViewContainerRef, static: true }]
|
|
942
954
|
}] } });
|
|
943
955
|
|
|
956
|
+
/**
|
|
957
|
+
* The `<form-form>` component is the main container of the form,
|
|
958
|
+
* which takes care of managing the form state
|
|
959
|
+
* and delegates the rendering of each field to `<formly-field>` component.
|
|
960
|
+
*/
|
|
944
961
|
class FormlyForm {
|
|
945
962
|
constructor(builder, config, ngZone, fieldTemplates) {
|
|
946
963
|
this.builder = builder;
|
|
947
964
|
this.config = config;
|
|
948
965
|
this.ngZone = ngZone;
|
|
949
966
|
this.fieldTemplates = fieldTemplates;
|
|
967
|
+
/** Event that is emitted when the model value is changed */
|
|
950
968
|
this.modelChange = new EventEmitter();
|
|
951
969
|
this.field = { type: 'formly-group' };
|
|
952
970
|
this._modelChangeValue = {};
|
|
953
971
|
this.valueChangesUnsubscribe = () => { };
|
|
954
972
|
}
|
|
973
|
+
/** The form instance which allow to track model value and validation status. */
|
|
955
974
|
set form(form) {
|
|
956
975
|
this.field.form = form;
|
|
957
976
|
}
|
|
958
977
|
get form() {
|
|
959
978
|
return this.field.form;
|
|
960
979
|
}
|
|
980
|
+
/** The model to be represented by the form. */
|
|
961
981
|
set model(model) {
|
|
962
982
|
this.setField({ model });
|
|
963
983
|
}
|
|
964
984
|
get model() {
|
|
965
985
|
return this.field.model;
|
|
966
986
|
}
|
|
987
|
+
/** The field configurations for building the form. */
|
|
967
988
|
set fields(fieldGroup) {
|
|
968
989
|
this.setField({ fieldGroup });
|
|
969
990
|
}
|
|
970
991
|
get fields() {
|
|
971
992
|
return this.field.fieldGroup;
|
|
972
993
|
}
|
|
994
|
+
/** Options for the form. */
|
|
973
995
|
set options(options) {
|
|
974
996
|
this.setField({ options });
|
|
975
997
|
}
|
|
@@ -1047,6 +1069,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1047
1069
|
args: [FormlyTemplate]
|
|
1048
1070
|
}] } });
|
|
1049
1071
|
|
|
1072
|
+
/**
|
|
1073
|
+
* Allow to link the `field` HTML attributes (`id`, `name` ...) and Event attributes (`focus`, `blur` ...) to an element in the DOM.
|
|
1074
|
+
*/
|
|
1050
1075
|
class FormlyAttributes {
|
|
1051
1076
|
constructor(renderer, elementRef, _document) {
|
|
1052
1077
|
this.renderer = renderer;
|
|
@@ -1161,10 +1186,10 @@ class FormlyAttributes {
|
|
|
1161
1186
|
const isFocused = !!this.document.activeElement &&
|
|
1162
1187
|
this.fieldAttrElements.some(({ nativeElement }) => this.document.activeElement === nativeElement || nativeElement.contains(this.document.activeElement));
|
|
1163
1188
|
if (value && !isFocused) {
|
|
1164
|
-
element.nativeElement.focus();
|
|
1189
|
+
Promise.resolve().then(() => element.nativeElement.focus());
|
|
1165
1190
|
}
|
|
1166
1191
|
else if (!value && isFocused) {
|
|
1167
|
-
element.nativeElement.blur();
|
|
1192
|
+
Promise.resolve().then(() => element.nativeElement.blur());
|
|
1168
1193
|
}
|
|
1169
1194
|
}
|
|
1170
1195
|
onFocus($event) {
|
|
@@ -1277,6 +1302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1277
1302
|
type: Input
|
|
1278
1303
|
}] } });
|
|
1279
1304
|
|
|
1305
|
+
/** @ignore */
|
|
1280
1306
|
class FormlyGroup extends FieldType {
|
|
1281
1307
|
}
|
|
1282
1308
|
FormlyGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -1299,6 +1325,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1299
1325
|
}]
|
|
1300
1326
|
}] });
|
|
1301
1327
|
|
|
1328
|
+
/**
|
|
1329
|
+
* The `<formly-validation-message>` component renders the error message of a given `field`.
|
|
1330
|
+
*/
|
|
1302
1331
|
class FormlyValidationMessage {
|
|
1303
1332
|
constructor(config) {
|
|
1304
1333
|
this.config = config;
|
|
@@ -1427,6 +1456,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1427
1456
|
args: ['fieldComponent', { read: ViewContainerRef, static: true }]
|
|
1428
1457
|
}] } });
|
|
1429
1458
|
|
|
1459
|
+
/** @ignore */
|
|
1430
1460
|
class FormlyTemplateType extends FieldType {
|
|
1431
1461
|
constructor(sanitizer) {
|
|
1432
1462
|
super();
|
|
@@ -1943,6 +1973,14 @@ class FieldFormExtension {
|
|
|
1943
1973
|
}
|
|
1944
1974
|
if (markForCheck) {
|
|
1945
1975
|
updateValidity(c, true);
|
|
1976
|
+
// update validity of `FormGroup` instance created by field with nested key.
|
|
1977
|
+
let parent = c.parent;
|
|
1978
|
+
for (let i = 1; i < getKeyPath(field).length; i++) {
|
|
1979
|
+
if (parent) {
|
|
1980
|
+
updateValidity(parent, true);
|
|
1981
|
+
parent = parent.parent;
|
|
1982
|
+
}
|
|
1983
|
+
}
|
|
1946
1984
|
}
|
|
1947
1985
|
}
|
|
1948
1986
|
}
|