@ngx-formly/core 6.3.10 → 7.0.0-alpha.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 +1 -0
- package/esm2022/json-schema/formly-json-schema.service.mjs +628 -0
- package/esm2022/lib/components/formly.field.mjs +292 -0
- package/esm2022/lib/components/formly.form.mjs +164 -0
- package/{esm2020 → esm2022}/lib/components/formly.template.mjs +7 -7
- package/esm2022/lib/core.config.mjs +36 -0
- package/esm2022/lib/core.mjs +20 -0
- package/esm2022/lib/core.module.mjs +74 -0
- package/esm2022/lib/extensions/core/core.mjs +148 -0
- package/esm2022/lib/extensions/field-expression/field-expression.mjs +250 -0
- package/esm2022/lib/extensions/field-expression/utils.mjs +17 -0
- package/esm2022/lib/extensions/field-form/field-form.mjs +141 -0
- package/esm2022/lib/extensions/field-form/utils.mjs +100 -0
- package/esm2022/lib/extensions/index.mjs +2 -0
- package/esm2022/lib/models/fieldconfig.cache.mjs +2 -0
- package/esm2022/lib/models/fieldconfig.mjs +2 -0
- package/esm2022/lib/services/formly.builder.mjs +100 -0
- package/esm2022/lib/services/formly.config.mjs +229 -0
- package/esm2022/lib/templates/field-array.type.mjs +84 -0
- package/{esm2020 → esm2022}/lib/templates/field-template.type.mjs +9 -9
- package/esm2022/lib/templates/field.type.mjs +57 -0
- package/{esm2020 → esm2022}/lib/templates/field.wrapper.mjs +4 -4
- package/esm2022/lib/templates/formly.attributes.mjs +187 -0
- package/{esm2020 → esm2022}/lib/templates/formly.group.mjs +8 -8
- package/{esm2020 → esm2022}/lib/templates/formly.validation-message.mjs +4 -4
- package/esm2022/lib/utils.mjs +312 -0
- package/esm2022/preset/preset.config.mjs +11 -0
- package/esm2022/preset/preset.module.mjs +18 -0
- package/{esm2020 → esm2022}/select/select-options.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/select/select.module.mjs +5 -5
- package/{esm2020 → esm2022}/testing/component-factory.mjs +5 -4
- package/{fesm2020 → fesm2022}/ngx-formly-core-json-schema.mjs +6 -6
- package/fesm2022/ngx-formly-core-json-schema.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngx-formly-core-preset.mjs +14 -19
- package/fesm2022/ngx-formly-core-preset.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngx-formly-core-select.mjs +7 -7
- package/{fesm2020 → fesm2022}/ngx-formly-core-select.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngx-formly-core-testing.mjs +4 -3
- package/fesm2022/ngx-formly-core-testing.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngx-formly-core.mjs +1751 -1707
- package/fesm2022/ngx-formly-core.mjs.map +1 -0
- package/lib/components/formly.field.d.ts +5 -1
- package/lib/components/formly.form.d.ts +8 -4
- package/lib/components/formly.template.d.ts +1 -1
- package/lib/core.config.d.ts +10 -0
- package/lib/core.d.ts +4 -3
- package/lib/core.module.d.ts +2 -5
- package/lib/extensions/field-expression/utils.d.ts +1 -1
- package/lib/extensions/index.d.ts +1 -0
- package/lib/models/config.d.ts +1 -1
- package/lib/models/fieldconfig.cache.d.ts +3 -3
- package/lib/models/fieldconfig.d.ts +8 -7
- package/lib/services/formly.builder.d.ts +5 -5
- package/lib/services/formly.config.d.ts +2 -6
- package/lib/templates/field-array.type.d.ts +3 -3
- package/lib/templates/field-template.type.d.ts +1 -1
- package/lib/templates/field.type.d.ts +5 -5
- package/lib/templates/field.wrapper.d.ts +1 -1
- package/lib/templates/formly.attributes.d.ts +1 -1
- package/lib/templates/formly.group.d.ts +1 -1
- package/lib/templates/formly.validation-message.d.ts +1 -1
- package/lib/utils.d.ts +3 -3
- package/package.json +23 -37
- package/preset/preset.config.d.ts +2 -0
- package/select/select-options.pipe.d.ts +1 -1
- package/esm2020/json-schema/formly-json-schema.service.mjs +0 -628
- package/esm2020/lib/components/formly.field.mjs +0 -284
- package/esm2020/lib/components/formly.form.mjs +0 -148
- package/esm2020/lib/core.mjs +0 -19
- package/esm2020/lib/core.module.mjs +0 -91
- package/esm2020/lib/extensions/core/core.mjs +0 -148
- package/esm2020/lib/extensions/field-expression/field-expression.mjs +0 -250
- package/esm2020/lib/extensions/field-expression/utils.mjs +0 -17
- package/esm2020/lib/extensions/field-form/field-form.mjs +0 -141
- package/esm2020/lib/extensions/field-form/utils.mjs +0 -100
- package/esm2020/lib/models/fieldconfig.cache.mjs +0 -2
- package/esm2020/lib/models/fieldconfig.mjs +0 -2
- package/esm2020/lib/services/formly.builder.mjs +0 -93
- package/esm2020/lib/services/formly.config.mjs +0 -229
- package/esm2020/lib/templates/field-array.type.mjs +0 -84
- package/esm2020/lib/templates/field.type.mjs +0 -57
- package/esm2020/lib/templates/formly.attributes.mjs +0 -187
- package/esm2020/lib/utils.mjs +0 -312
- package/esm2020/preset/preset.module.mjs +0 -32
- package/fesm2015/ngx-formly-core-json-schema.mjs +0 -615
- package/fesm2015/ngx-formly-core-json-schema.mjs.map +0 -1
- package/fesm2015/ngx-formly-core-preset.mjs +0 -69
- package/fesm2015/ngx-formly-core-preset.mjs.map +0 -1
- package/fesm2015/ngx-formly-core-select.mjs +0 -120
- package/fesm2015/ngx-formly-core-select.mjs.map +0 -1
- package/fesm2015/ngx-formly-core-testing.mjs +0 -87
- package/fesm2015/ngx-formly-core-testing.mjs.map +0 -1
- package/fesm2015/ngx-formly-core.mjs +0 -2418
- package/fesm2015/ngx-formly-core.mjs.map +0 -1
- package/fesm2020/ngx-formly-core-json-schema.mjs.map +0 -1
- package/fesm2020/ngx-formly-core-preset.mjs.map +0 -1
- package/fesm2020/ngx-formly-core-testing.mjs.map +0 -1
- package/fesm2020/ngx-formly-core.mjs.map +0 -1
- package/json-schema/package.json +0 -10
- package/preset/package.json +0 -10
- package/select/package.json +0 -10
- package/testing/package.json +0 -10
- /package/{esm2020 → esm2022}/json-schema/ngx-formly-core-json-schema.mjs +0 -0
- /package/{esm2020 → esm2022}/json-schema/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extensions/field-validation/field-validation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-formly-core.mjs +0 -0
- /package/{esm2020 → esm2022}/preset/ngx-formly-core-preset.mjs +0 -0
- /package/{esm2020 → esm2022}/preset/preset-substitution.extension.mjs +0 -0
- /package/{esm2020 → esm2022}/preset/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/select/ngx-formly-core-select.mjs +0 -0
- /package/{esm2020 → esm2022}/select/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/ngx-formly-core-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public_api.mjs +0 -0
- /package/{ngx-formly-core.d.ts → index.d.ts} +0 -0
- /package/json-schema/{ngx-formly-core-json-schema.d.ts → index.d.ts} +0 -0
- /package/preset/{ngx-formly-core-preset.d.ts → index.d.ts} +0 -0
- /package/select/{ngx-formly-core-select.d.ts → index.d.ts} +0 -0
- /package/testing/{ngx-formly-core-testing.d.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { isObservable } from 'rxjs';
|
|
2
|
+
import { AbstractControl } from '@angular/forms';
|
|
3
|
+
import { ChangeDetectorRef, ComponentRef, TemplateRef, Type, VERSION, ɵNoopNgZone } from '@angular/core';
|
|
4
|
+
export function disableTreeValidityCall(form, callback) {
|
|
5
|
+
const _updateTreeValidity = form._updateTreeValidity.bind(form);
|
|
6
|
+
form._updateTreeValidity = () => { };
|
|
7
|
+
callback();
|
|
8
|
+
form._updateTreeValidity = _updateTreeValidity;
|
|
9
|
+
}
|
|
10
|
+
export function getFieldId(formId, field, index) {
|
|
11
|
+
if (field.id) {
|
|
12
|
+
return field.id;
|
|
13
|
+
}
|
|
14
|
+
let type = field.type;
|
|
15
|
+
if (!type && field.template) {
|
|
16
|
+
type = 'template';
|
|
17
|
+
}
|
|
18
|
+
if (type instanceof Type) {
|
|
19
|
+
type = type.prototype.constructor.name;
|
|
20
|
+
}
|
|
21
|
+
return [formId, type, field.key, index].join('_');
|
|
22
|
+
}
|
|
23
|
+
export function hasKey(field) {
|
|
24
|
+
return !isNil(field.key) && field.key !== '' && (!Array.isArray(field.key) || field.key.length > 0);
|
|
25
|
+
}
|
|
26
|
+
export function getKeyPath(field) {
|
|
27
|
+
if (!hasKey(field)) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
/* We store the keyPath in the field for performance reasons. This function will be called frequently. */
|
|
31
|
+
if (field._keyPath?.key !== field.key) {
|
|
32
|
+
let path = [];
|
|
33
|
+
if (typeof field.key === 'string') {
|
|
34
|
+
const key = field.key.indexOf('[') === -1 ? field.key : field.key.replace(/\[(\w+)\]/g, '.$1');
|
|
35
|
+
path = key.indexOf('.') !== -1 ? key.split('.') : [key];
|
|
36
|
+
}
|
|
37
|
+
else if (Array.isArray(field.key)) {
|
|
38
|
+
path = field.key.slice(0);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
path = [`${field.key}`];
|
|
42
|
+
}
|
|
43
|
+
defineHiddenProp(field, '_keyPath', { key: field.key, path });
|
|
44
|
+
}
|
|
45
|
+
return field._keyPath.path.slice(0);
|
|
46
|
+
}
|
|
47
|
+
export const FORMLY_VALIDATORS = ['required', 'pattern', 'minLength', 'maxLength', 'min', 'max'];
|
|
48
|
+
export function assignFieldValue(field, value) {
|
|
49
|
+
let paths = getKeyPath(field);
|
|
50
|
+
if (paths.length === 0) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
let root = field;
|
|
54
|
+
while (root.parent) {
|
|
55
|
+
root = root.parent;
|
|
56
|
+
paths = [...getKeyPath(root), ...paths];
|
|
57
|
+
}
|
|
58
|
+
if (value === undefined && field.resetOnHide) {
|
|
59
|
+
const k = paths.pop();
|
|
60
|
+
const m = paths.reduce((model, path) => model[path] || {}, root.model);
|
|
61
|
+
delete m[k];
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
assignModelValue(root.model, paths, value);
|
|
65
|
+
}
|
|
66
|
+
export function assignModelValue(model, paths, value) {
|
|
67
|
+
for (let i = 0; i < paths.length - 1; i++) {
|
|
68
|
+
const path = paths[i];
|
|
69
|
+
if (!model[path] || !isObject(model[path])) {
|
|
70
|
+
model[path] = /^\d+$/.test(paths[i + 1]) ? [] : {};
|
|
71
|
+
}
|
|
72
|
+
model = model[path];
|
|
73
|
+
}
|
|
74
|
+
model[paths[paths.length - 1]] = clone(value);
|
|
75
|
+
}
|
|
76
|
+
export function getFieldValue(field) {
|
|
77
|
+
let model = field.parent ? field.parent.model : field.model;
|
|
78
|
+
for (const path of getKeyPath(field)) {
|
|
79
|
+
if (!model) {
|
|
80
|
+
return model;
|
|
81
|
+
}
|
|
82
|
+
model = model[path];
|
|
83
|
+
}
|
|
84
|
+
return model;
|
|
85
|
+
}
|
|
86
|
+
export function reverseDeepMerge(dest, ...args) {
|
|
87
|
+
args.forEach((src) => {
|
|
88
|
+
for (const srcArg in src) {
|
|
89
|
+
if (isNil(dest[srcArg]) || isBlankString(dest[srcArg])) {
|
|
90
|
+
dest[srcArg] = clone(src[srcArg]);
|
|
91
|
+
}
|
|
92
|
+
else if (objAndSameType(dest[srcArg], src[srcArg])) {
|
|
93
|
+
reverseDeepMerge(dest[srcArg], src[srcArg]);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return dest;
|
|
98
|
+
}
|
|
99
|
+
// check a value is null or undefined
|
|
100
|
+
export function isNil(value) {
|
|
101
|
+
return value == null;
|
|
102
|
+
}
|
|
103
|
+
export function isUndefined(value) {
|
|
104
|
+
return value === undefined;
|
|
105
|
+
}
|
|
106
|
+
export function isBlankString(value) {
|
|
107
|
+
return value === '';
|
|
108
|
+
}
|
|
109
|
+
export function isFunction(value) {
|
|
110
|
+
return typeof value === 'function';
|
|
111
|
+
}
|
|
112
|
+
export function objAndSameType(obj1, obj2) {
|
|
113
|
+
return (isObject(obj1) &&
|
|
114
|
+
isObject(obj2) &&
|
|
115
|
+
Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2) &&
|
|
116
|
+
!(Array.isArray(obj1) || Array.isArray(obj2)));
|
|
117
|
+
}
|
|
118
|
+
export function isObject(x) {
|
|
119
|
+
return x != null && typeof x === 'object';
|
|
120
|
+
}
|
|
121
|
+
export function isPromise(obj) {
|
|
122
|
+
return !!obj && typeof obj.then === 'function';
|
|
123
|
+
}
|
|
124
|
+
export function clone(value) {
|
|
125
|
+
if (!isObject(value) ||
|
|
126
|
+
isObservable(value) ||
|
|
127
|
+
value instanceof TemplateRef ||
|
|
128
|
+
/* instanceof SafeHtmlImpl */ value.changingThisBreaksApplicationSecurity ||
|
|
129
|
+
['RegExp', 'FileList', 'File', 'Blob'].indexOf(value.constructor?.name) !== -1) {
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
if (value instanceof Set) {
|
|
133
|
+
return new Set(value);
|
|
134
|
+
}
|
|
135
|
+
if (value instanceof Map) {
|
|
136
|
+
return new Map(value);
|
|
137
|
+
}
|
|
138
|
+
if (value instanceof Uint8Array) {
|
|
139
|
+
return new Uint8Array(value);
|
|
140
|
+
}
|
|
141
|
+
if (value instanceof Uint16Array) {
|
|
142
|
+
return new Uint16Array(value);
|
|
143
|
+
}
|
|
144
|
+
if (value instanceof Uint32Array) {
|
|
145
|
+
return new Uint32Array(value);
|
|
146
|
+
}
|
|
147
|
+
// https://github.com/moment/moment/blob/master/moment.js#L252
|
|
148
|
+
if (value._isAMomentObject && isFunction(value.clone)) {
|
|
149
|
+
return value.clone();
|
|
150
|
+
}
|
|
151
|
+
if (value instanceof AbstractControl) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
if (value instanceof Date) {
|
|
155
|
+
return new Date(value.getTime());
|
|
156
|
+
}
|
|
157
|
+
if (Array.isArray(value)) {
|
|
158
|
+
return value.slice(0).map((v) => clone(v));
|
|
159
|
+
}
|
|
160
|
+
// best way to clone a js object maybe
|
|
161
|
+
// https://stackoverflow.com/questions/41474986/how-to-clone-a-javascript-es6-class-instance
|
|
162
|
+
const proto = Object.getPrototypeOf(value);
|
|
163
|
+
let c = Object.create(proto);
|
|
164
|
+
c = Object.setPrototypeOf(c, proto);
|
|
165
|
+
// need to make a deep copy so we dont use Object.assign
|
|
166
|
+
// also Object.assign wont copy property descriptor exactly
|
|
167
|
+
return Object.keys(value).reduce((newVal, prop) => {
|
|
168
|
+
const propDesc = Object.getOwnPropertyDescriptor(value, prop);
|
|
169
|
+
if (propDesc.get) {
|
|
170
|
+
Object.defineProperty(newVal, prop, propDesc);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
newVal[prop] = clone(value[prop]);
|
|
174
|
+
}
|
|
175
|
+
return newVal;
|
|
176
|
+
}, c);
|
|
177
|
+
}
|
|
178
|
+
export function defineHiddenProp(field, prop, defaultValue) {
|
|
179
|
+
Object.defineProperty(field, prop, { enumerable: false, writable: true, configurable: true });
|
|
180
|
+
field[prop] = defaultValue;
|
|
181
|
+
}
|
|
182
|
+
export function observeDeep(source, paths, setFn) {
|
|
183
|
+
let observers = [];
|
|
184
|
+
const unsubscribe = () => {
|
|
185
|
+
observers.forEach((observer) => observer());
|
|
186
|
+
observers = [];
|
|
187
|
+
};
|
|
188
|
+
const observer = observe(source, paths, ({ firstChange, currentValue }) => {
|
|
189
|
+
!firstChange && setFn();
|
|
190
|
+
unsubscribe();
|
|
191
|
+
if (isObject(currentValue) && currentValue.constructor.name === 'Object') {
|
|
192
|
+
Object.keys(currentValue).forEach((prop) => {
|
|
193
|
+
observers.push(observeDeep(source, [...paths, prop], setFn));
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
return () => {
|
|
198
|
+
observer.unsubscribe();
|
|
199
|
+
unsubscribe();
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
export function observe(o, paths, setFn) {
|
|
203
|
+
if (!o._observers) {
|
|
204
|
+
defineHiddenProp(o, '_observers', {});
|
|
205
|
+
}
|
|
206
|
+
let target = o;
|
|
207
|
+
for (let i = 0; i < paths.length - 1; i++) {
|
|
208
|
+
if (!target[paths[i]] || !isObject(target[paths[i]])) {
|
|
209
|
+
target[paths[i]] = /^\d+$/.test(paths[i + 1]) ? [] : {};
|
|
210
|
+
}
|
|
211
|
+
target = target[paths[i]];
|
|
212
|
+
}
|
|
213
|
+
const key = paths[paths.length - 1];
|
|
214
|
+
const prop = paths.join('.');
|
|
215
|
+
if (!o._observers[prop]) {
|
|
216
|
+
o._observers[prop] = { value: target[key], onChange: [] };
|
|
217
|
+
}
|
|
218
|
+
const state = o._observers[prop];
|
|
219
|
+
if (target[key] !== state.value) {
|
|
220
|
+
state.value = target[key];
|
|
221
|
+
}
|
|
222
|
+
if (setFn && state.onChange.indexOf(setFn) === -1) {
|
|
223
|
+
state.onChange.push(setFn);
|
|
224
|
+
setFn({ currentValue: state.value, firstChange: true });
|
|
225
|
+
if (state.onChange.length >= 1 && isObject(target)) {
|
|
226
|
+
const { enumerable } = Object.getOwnPropertyDescriptor(target, key) || { enumerable: true };
|
|
227
|
+
Object.defineProperty(target, key, {
|
|
228
|
+
enumerable,
|
|
229
|
+
configurable: true,
|
|
230
|
+
get: () => state.value,
|
|
231
|
+
set: (currentValue) => {
|
|
232
|
+
if (currentValue !== state.value) {
|
|
233
|
+
const previousValue = state.value;
|
|
234
|
+
state.value = currentValue;
|
|
235
|
+
state.onChange.forEach((changeFn) => changeFn({ previousValue, currentValue, firstChange: false }));
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return {
|
|
242
|
+
setValue(currentValue, emitEvent = true) {
|
|
243
|
+
if (currentValue === state.value) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const previousValue = state.value;
|
|
247
|
+
state.value = currentValue;
|
|
248
|
+
state.onChange.forEach((changeFn) => {
|
|
249
|
+
if (changeFn !== setFn && emitEvent) {
|
|
250
|
+
changeFn({ previousValue, currentValue, firstChange: false });
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
},
|
|
254
|
+
unsubscribe() {
|
|
255
|
+
state.onChange = state.onChange.filter((changeFn) => changeFn !== setFn);
|
|
256
|
+
if (state.onChange.length === 0) {
|
|
257
|
+
delete o._observers[prop];
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
export function getField(f, key) {
|
|
263
|
+
key = (Array.isArray(key) ? key.join('.') : key);
|
|
264
|
+
if (!f.fieldGroup) {
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
267
|
+
for (let i = 0, len = f.fieldGroup.length; i < len; i++) {
|
|
268
|
+
const c = f.fieldGroup[i];
|
|
269
|
+
const k = (Array.isArray(c.key) ? c.key.join('.') : c.key);
|
|
270
|
+
if (k === key) {
|
|
271
|
+
return c;
|
|
272
|
+
}
|
|
273
|
+
if (c.fieldGroup && (isNil(k) || key.indexOf(`${k}.`) === 0)) {
|
|
274
|
+
const field = getField(c, isNil(k) ? key : key.slice(k.length + 1));
|
|
275
|
+
if (field) {
|
|
276
|
+
return field;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return undefined;
|
|
281
|
+
}
|
|
282
|
+
export function markFieldForCheck(field) {
|
|
283
|
+
field._componentRefs?.forEach((ref) => {
|
|
284
|
+
// NOTE: we cannot use ref.changeDetectorRef, see https://github.com/ngx-formly/ngx-formly/issues/2191
|
|
285
|
+
if (ref instanceof ComponentRef) {
|
|
286
|
+
const changeDetectorRef = ref.injector.get(ChangeDetectorRef);
|
|
287
|
+
changeDetectorRef.markForCheck();
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
ref.markForCheck();
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
export function isNoopNgZone(ngZone) {
|
|
295
|
+
return ngZone instanceof ɵNoopNgZone;
|
|
296
|
+
}
|
|
297
|
+
export function isHiddenField(field) {
|
|
298
|
+
const isHidden = (f) => f.hide || f.expressions?.hide || f.hideExpression;
|
|
299
|
+
let setDefaultValue = !field.resetOnHide || !isHidden(field);
|
|
300
|
+
if (!isHidden(field) && field.resetOnHide) {
|
|
301
|
+
let parent = field.parent;
|
|
302
|
+
while (parent && !isHidden(parent)) {
|
|
303
|
+
parent = parent.parent;
|
|
304
|
+
}
|
|
305
|
+
setDefaultValue = !parent || !isHidden(parent);
|
|
306
|
+
}
|
|
307
|
+
return !setDefaultValue;
|
|
308
|
+
}
|
|
309
|
+
export function isSignalRequired() {
|
|
310
|
+
return +VERSION.major >= 18 && +VERSION.minor >= 1;
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQVUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFTLEVBQUUsUUFBb0I7SUFDckUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDcEMsUUFBUSxFQUFFLENBQUM7SUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBYyxFQUFFLEtBQXdCLEVBQUUsS0FBc0I7SUFDekYsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO1FBQ1osT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN0QixJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDM0IsSUFBSSxHQUFHLFVBQVUsQ0FBQztLQUNuQjtJQUVELElBQUksSUFBSSxZQUFZLElBQUksRUFBRTtRQUN4QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVB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QUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUF3QjtJQUNwRCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUM3RixJQUFJLGVBQWUsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDMUIsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDeEI7UUFDRCxlQUFlLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDaEQ7SUFFRCxPQUFPLENBQUMsZUFBZSxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWdDYWNoZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnRSZWYsIE5nWm9uZSwgVGVtcGxhdGVSZWYsIFR5cGUsIFZFUlNJT04sIMm1Tm9vcE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGlzYWJsZVRyZWVWYWxpZGl0eUNhbGwoZm9ybTogYW55LCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xuICBjb25zdCBfdXBkYXRlVHJlZVZhbGlkaXR5ID0gZm9ybS5fdXBkYXRlVHJlZVZhbGlkaXR5LmJpbmQoZm9ybSk7XG4gIGZvcm0uX3VwZGF0ZVRyZWVWYWxpZGl0eSA9ICgpID0+IHt9O1xuICBjYWxsYmFjaygpO1xuICBmb3JtLl91cGRhdGVUcmVlVmFsaWRpdHkgPSBfdXBkYXRlVHJlZVZhbGlkaXR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRJZChmb3JtSWQ6IHN0cmluZywgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBpbmRleDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gIGlmIChmaWVsZC5pZCkge1xuICAgIHJldHVybiBmaWVsZC5pZDtcbiAgfVxuICBsZXQgdHlwZSA9IGZpZWxkLnR5cGU7XG4gIGlmICghdHlwZSAmJiBmaWVsZC50ZW1wbGF0ZSkge1xuICAgIHR5cGUgPSAndGVtcGxhdGUnO1xuICB9XG5cbiAgaWYgKHR5cGUgaW5zdGFuY2VvZiBUeXBlKSB7XG4gICAgdHlwZSA9IHR5cGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cblxuICByZXR1cm4gW2Zvcm1JZCwgdHlwZSwgZmllbGQua2V5LCBpbmRleF0uam9pbignXycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzS2V5KGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICByZXR1cm4gIWlzTmlsKGZpZWxkLmtleSkgJiYgZmllbGQua2V5ICE9PSAnJyAmJiAoIUFycmF5LmlzQXJyYXkoZmllbGQua2V5KSB8fCBmaWVsZC5rZXkubGVuZ3RoID4gMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRLZXlQYXRoKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlKTogc3RyaW5nW10ge1xuICBpZiAoIWhhc0tleShmaWVsZCkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKiBXZSBzdG9yZSB0aGUga2V5UGF0aCBpbiB0aGUgZmllbGQgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgZnJlcXVlbnRseS4gKi9cbiAgaWYgKGZpZWxkLl9rZXlQYXRoPy5rZXkgIT09IGZpZWxkLmtleSkge1xuICAgIGxldCBwYXRoOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gW107XG4gICAgaWYgKHR5cGVvZiBmaWVsZC5rZXkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBrZXkgPSBmaWVsZC5rZXkuaW5kZXhPZignWycpID09PSAtMSA/IGZpZWxkLmtleSA6IGZpZWxkLmtleS5yZXBsYWNlKC9cXFsoXFx3KylcXF0vZywgJy4kMScpO1xuICAgICAgcGF0aCA9IGtleS5pbmRleE9mKCcuJykgIT09IC0xID8ga2V5LnNwbGl0KCcuJykgOiBba2V5XTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQua2V5KSkge1xuICAgICAgcGF0aCA9IGZpZWxkLmtleS5zbGljZSgwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aCA9IFtgJHtmaWVsZC5rZXl9YF07XG4gICAgfVxuXG4gICAgZGVmaW5lSGlkZGVuUHJvcChmaWVsZCwgJ19rZXlQYXRoJywgeyBrZXk6IGZpZWxkLmtleSwgcGF0aCB9KTtcbiAgfVxuXG4gIHJldHVybiBmaWVsZC5fa2V5UGF0aC5wYXRoLnNsaWNlKDApO1xufVxuXG5leHBvcnQgY29uc3QgRk9STUxZX1ZBTElEQVRPUlMgPSBbJ3JlcXVpcmVkJywgJ3BhdHRlcm4nLCAnbWluTGVuZ3RoJywgJ21heExlbmd0aCcsICdtaW4nLCAnbWF4J107XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25GaWVsZFZhbHVlKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlLCB2YWx1ZTogYW55KSB7XG4gIGxldCBwYXRocyA9IGdldEtleVBhdGgoZmllbGQpO1xuICBpZiAocGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IHJvb3QgPSBmaWVsZDtcbiAgd2hpbGUgKHJvb3QucGFyZW50KSB7XG4gICAgcm9vdCA9IHJvb3QucGFyZW50O1xuICAgIHBhdGhzID0gWy4uLmdldEtleVBhdGgocm9vdCksIC4uLnBhdGhzXTtcbiAgfVxuXG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIGZpZWxkLnJlc2V0T25IaWRlKSB7XG4gICAgY29uc3QgayA9IHBhdGhzLnBvcCgpO1xuICAgIGNvbnN0IG0gPSBwYXRocy5yZWR1Y2UoKG1vZGVsLCBwYXRoKSA9PiBtb2RlbFtwYXRoXSB8fCB7fSwgcm9vdC5tb2RlbCk7XG4gICAgZGVsZXRlIG1ba107XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXNzaWduTW9kZWxWYWx1ZShyb290Lm1vZGVsLCBwYXRocywgdmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduTW9kZWxWYWx1ZShtb2RlbDogYW55LCBwYXRoczogc3RyaW5nW10sIHZhbHVlOiBhbnkpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRocy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBjb25zdCBwYXRoID0gcGF0aHNbaV07XG4gICAgaWYgKCFtb2RlbFtwYXRoXSB8fCAhaXNPYmplY3QobW9kZWxbcGF0aF0pKSB7XG4gICAgICBtb2RlbFtwYXRoXSA9IC9eXFxkKyQvLnRlc3QocGF0aHNbaSArIDFdKSA/IFtdIDoge307XG4gICAgfVxuXG4gICAgbW9kZWwgPSBtb2RlbFtwYXRoXTtcbiAgfVxuXG4gIG1vZGVsW3BhdGhzW3BhdGhzLmxlbmd0aCAtIDFdXSA9IGNsb25lKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpZWxkVmFsdWUoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKTogYW55IHtcbiAgbGV0IG1vZGVsID0gZmllbGQucGFyZW50ID8gZmllbGQucGFyZW50Lm1vZGVsIDogZmllbGQubW9kZWw7XG4gIGZvciAoY29uc3QgcGF0aCBvZiBnZXRLZXlQYXRoKGZpZWxkKSkge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHJldHVybiBtb2RlbDtcbiAgICB9XG4gICAgbW9kZWwgPSBtb2RlbFtwYXRoXTtcbiAgfVxuXG4gIHJldHVybiBtb2RlbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldmVyc2VEZWVwTWVyZ2UoZGVzdDogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICBhcmdzLmZvckVhY2goKHNyYykgPT4ge1xuICAgIGZvciAoY29uc3Qgc3JjQXJnIGluIHNyYykge1xuICAgICAgaWYgKGlzTmlsKGRlc3Rbc3JjQXJnXSkgfHwgaXNCbGFua1N0cmluZyhkZXN0W3NyY0FyZ10pKSB7XG4gICAgICAgIGRlc3Rbc3JjQXJnXSA9IGNsb25lKHNyY1tzcmNBcmddKTtcbiAgICAgIH0gZWxzZSBpZiAob2JqQW5kU2FtZVR5cGUoZGVzdFtzcmNBcmddLCBzcmNbc3JjQXJnXSkpIHtcbiAgICAgICAgcmV2ZXJzZURlZXBNZXJnZShkZXN0W3NyY0FyZ10sIHNyY1tzcmNBcmddKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZGVzdDtcbn1cblxuLy8gY2hlY2sgYSB2YWx1ZSBpcyBudWxsIG9yIHVuZGVmaW5lZFxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsKHZhbHVlOiBhbnkpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZTogYW55KSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCbGFua1N0cmluZyh2YWx1ZTogYW55KSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9iakFuZFNhbWVUeXBlKG9iajE6IGFueSwgb2JqMjogYW55KSB7XG4gIHJldHVybiAoXG4gICAgaXNPYmplY3Qob2JqMSkgJiZcbiAgICBpc09iamVjdChvYmoyKSAmJlxuICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmoxKSA9PT0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iajIpICYmXG4gICAgIShBcnJheS5pc0FycmF5KG9iajEpIHx8IEFycmF5LmlzQXJyYXkob2JqMikpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh4OiBhbnkpIHtcbiAgcmV0dXJuIHggIT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gJ29iamVjdCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb21pc2Uob2JqOiBhbnkpOiBvYmogaXMgUHJvbWlzZTxhbnk+IHtcbiAgcmV0dXJuICEhb2JqICYmIHR5cGVvZiBvYmoudGhlbiA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKHZhbHVlOiBhbnkpOiBhbnkge1xuICBpZiAoXG4gICAgIWlzT2JqZWN0KHZhbHVlKSB8fFxuICAgIGlzT2JzZXJ2YWJsZSh2YWx1ZSkgfHxcbiAgICB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmIHx8XG4gICAgLyogaW5zdGFuY2VvZiBTYWZlSHRtbEltcGwgKi8gdmFsdWUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eSB8fFxuICAgIFsnUmVnRXhwJywgJ0ZpbGVMaXN0JywgJ0ZpbGUnLCAnQmxvYiddLmluZGV4T2YodmFsdWUuY29uc3RydWN0b3I/Lm5hbWUpICE9PSAtMVxuICApIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICByZXR1cm4gbmV3IFNldCh2YWx1ZSk7XG4gIH1cblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcbiAgICByZXR1cm4gbmV3IE1hcCh2YWx1ZSk7XG4gIH1cblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHZhbHVlKTtcbiAgfVxuXG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQxNkFycmF5KSB7XG4gICAgcmV0dXJuIG5ldyBVaW50MTZBcnJheSh2YWx1ZSk7XG4gIH1cblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBVaW50MzJBcnJheSkge1xuICAgIHJldHVybiBuZXcgVWludDMyQXJyYXkodmFsdWUpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvYmxvYi9tYXN0ZXIvbW9tZW50LmpzI0wyNTJcbiAgaWYgKHZhbHVlLl9pc0FNb21lbnRPYmplY3QgJiYgaXNGdW5jdGlvbih2YWx1ZS5jbG9uZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuY2xvbmUoKTtcbiAgfVxuXG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFic3RyYWN0Q29udHJvbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZS5nZXRUaW1lKCkpO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLnNsaWNlKDApLm1hcCgodikgPT4gY2xvbmUodikpO1xuICB9XG5cbiAgLy8gYmVzdCB3YXkgdG8gY2xvbmUgYSBqcyBvYmplY3QgbWF5YmVcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDE0NzQ5ODYvaG93LXRvLWNsb25lLWEtamF2YXNjcmlwdC1lczYtY2xhc3MtaW5zdGFuY2VcbiAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICBsZXQgYyA9IE9iamVjdC5jcmVhdGUocHJvdG8pO1xuICBjID0gT2JqZWN0LnNldFByb3RvdHlwZU9mKGMsIHByb3RvKTtcbiAgLy8gbmVlZCB0byBtYWtlIGEgZGVlcCBjb3B5IHNvIHdlIGRvbnQgdXNlIE9iamVjdC5hc3NpZ25cbiAgLy8gYWxzbyBPYmplY3QuYXNzaWduIHdvbnQgY29weSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGV4YWN0bHlcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKS5yZWR1Y2UoKG5ld1ZhbCwgcHJvcCkgPT4ge1xuICAgIGNvbnN0IHByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih2YWx1ZSwgcHJvcCk7XG4gICAgaWYgKHByb3BEZXNjLmdldCkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld1ZhbCwgcHJvcCwgcHJvcERlc2MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdWYWxbcHJvcF0gPSBjbG9uZSh2YWx1ZVtwcm9wXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1ZhbDtcbiAgfSwgYyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVIaWRkZW5Qcm9wKGZpZWxkOiBhbnksIHByb3A6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBhbnkpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZpZWxkLCBwcm9wLCB7IGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pO1xuICBmaWVsZFtwcm9wXSA9IGRlZmF1bHRWYWx1ZTtcbn1cblxudHlwZSBJT2JzZXJ2ZUZuPFQ+ID0gKGNoYW5nZTogeyBjdXJyZW50VmFsdWU6IFQ7IHByZXZpb3VzVmFsdWU/OiBUOyBmaXJzdENoYW5nZTogYm9vbGVhbiB9KSA9PiB2b2lkO1xuZXhwb3J0IGludGVyZmFjZSBJT2JzZXJ2ZXI8VD4ge1xuICBzZXRWYWx1ZTogKHZhbHVlOiBULCBlbWl0RXZlbnQ/OiBib29sZWFuKSA9PiB2b2lkO1xuICB1bnN1YnNjcmliZTogKCkgPT4gdm9pZDtcbn1cbmludGVyZmFjZSBJT2JzZXJ2ZVRhcmdldDxUPiB7XG4gIFtwcm9wOiBzdHJpbmddOiBhbnk7XG4gIF9vYnNlcnZlcnM/OiB7XG4gICAgW3Byb3A6IHN0cmluZ106IHtcbiAgICAgIHZhbHVlOiBUO1xuICAgICAgb25DaGFuZ2U6IElPYnNlcnZlRm48VD5bXTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZURlZXA8VCA9IGFueT4oc291cmNlOiBJT2JzZXJ2ZVRhcmdldDxUPiwgcGF0aHM6IHN0cmluZ1tdLCBzZXRGbjogKCkgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICBsZXQgb2JzZXJ2ZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gKCkgPT4ge1xuICAgIG9ic2VydmVycy5mb3JFYWNoKChvYnNlcnZlcikgPT4gb2JzZXJ2ZXIoKSk7XG4gICAgb2JzZXJ2ZXJzID0gW107XG4gIH07XG4gIGNvbnN0IG9ic2VydmVyID0gb2JzZXJ2ZShzb3VyY2UsIHBhdGhzLCAoeyBmaXJzdENoYW5nZSwgY3VycmVudFZhbHVlIH0pID0+IHtcbiAgICAhZmlyc3RDaGFuZ2UgJiYgc2V0Rm4oKTtcblxuICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgaWYgKGlzT2JqZWN0KGN1cnJlbnRWYWx1ZSkgJiYgY3VycmVudFZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdPYmplY3QnKSB7XG4gICAgICBPYmplY3Qua2V5cyhjdXJyZW50VmFsdWUpLmZvckVhY2goKHByb3ApID0+IHtcbiAgICAgICAgb2JzZXJ2ZXJzLnB1c2gob2JzZXJ2ZURlZXAoc291cmNlLCBbLi4ucGF0aHMsIHByb3BdLCBzZXRGbikpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIG9ic2VydmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgdW5zdWJzY3JpYmUoKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmU8VCA9IGFueT4obzogSU9ic2VydmVUYXJnZXQ8VD4sIHBhdGhzOiBzdHJpbmdbXSwgc2V0Rm4/OiBJT2JzZXJ2ZUZuPFQ+KTogSU9ic2VydmVyPFQ+IHtcbiAgaWYgKCFvLl9vYnNlcnZlcnMpIHtcbiAgICBkZWZpbmVIaWRkZW5Qcm9wKG8sICdfb2JzZXJ2ZXJzJywge30pO1xuICB9XG5cbiAgbGV0IHRhcmdldCA9IG87XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgaWYgKCF0YXJnZXRbcGF0aHNbaV1dIHx8ICFpc09iamVjdCh0YXJnZXRbcGF0aHNbaV1dKSkge1xuICAgICAgdGFyZ2V0W3BhdGhzW2ldXSA9IC9eXFxkKyQvLnRlc3QocGF0aHNbaSArIDFdKSA/IFtdIDoge307XG4gICAgfVxuICAgIHRhcmdldCA9IHRhcmdldFtwYXRoc1tpXV07XG4gIH1cblxuICBjb25zdCBrZXkgPSBwYXRoc1twYXRocy5sZW5ndGggLSAxXTtcbiAgY29uc3QgcHJvcCA9IHBhdGhzLmpvaW4oJy4nKTtcbiAgaWYgKCFvLl9vYnNlcnZlcnNbcHJvcF0pIHtcbiAgICBvLl9vYnNlcnZlcnNbcHJvcF0gPSB7IHZhbHVlOiB0YXJnZXRba2V5XSwgb25DaGFuZ2U6IFtdIH07XG4gIH1cblxuICBjb25zdCBzdGF0ZSA9IG8uX29ic2VydmVyc1twcm9wXTtcbiAgaWYgKHRhcmdldFtrZXldICE9PSBzdGF0ZS52YWx1ZSkge1xuICAgIHN0YXRlLnZhbHVlID0gdGFyZ2V0W2tleV07XG4gIH1cblxuICBpZiAoc2V0Rm4gJiYgc3RhdGUub25DaGFuZ2UuaW5kZXhPZihzZXRGbikgPT09IC0xKSB7XG4gICAgc3RhdGUub25DaGFuZ2UucHVzaChzZXRGbik7XG4gICAgc2V0Rm4oeyBjdXJyZW50VmFsdWU6IHN0YXRlLnZhbHVlLCBmaXJzdENoYW5nZTogdHJ1ZSB9KTtcbiAgICBpZiAoc3RhdGUub25DaGFuZ2UubGVuZ3RoID49IDEgJiYgaXNPYmplY3QodGFyZ2V0KSkge1xuICAgICAgY29uc3QgeyBlbnVtZXJhYmxlIH0gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSB8fCB7IGVudW1lcmFibGU6IHRydWUgfTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgICBlbnVtZXJhYmxlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldDogKCkgPT4gc3RhdGUudmFsdWUsXG4gICAgICAgIHNldDogKGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgIT09IHN0YXRlLnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gc3RhdGUudmFsdWU7XG4gICAgICAgICAgICBzdGF0ZS52YWx1ZSA9IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHN0YXRlLm9uQ2hhbmdlLmZvckVhY2goKGNoYW5nZUZuKSA9PiBjaGFuZ2VGbih7IHByZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZSwgZmlyc3RDaGFuZ2U6IGZhbHNlIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNldFZhbHVlKGN1cnJlbnRWYWx1ZTogVCwgZW1pdEV2ZW50ID0gdHJ1ZSkge1xuICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gc3RhdGUudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gc3RhdGUudmFsdWU7XG4gICAgICBzdGF0ZS52YWx1ZSA9IGN1cnJlbnRWYWx1ZTtcbiAgICAgIHN0YXRlLm9uQ2hhbmdlLmZvckVhY2goKGNoYW5nZUZuKSA9PiB7XG4gICAgICAgIGlmIChjaGFuZ2VGbiAhPT0gc2V0Rm4gJiYgZW1pdEV2ZW50KSB7XG4gICAgICAgICAgY2hhbmdlRm4oeyBwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUsIGZpcnN0Q2hhbmdlOiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICB1bnN1YnNjcmliZSgpIHtcbiAgICAgIHN0YXRlLm9uQ2hhbmdlID0gc3RhdGUub25DaGFuZ2UuZmlsdGVyKChjaGFuZ2VGbikgPT4gY2hhbmdlRm4gIT09IHNldEZuKTtcbiAgICAgIGlmIChzdGF0ZS5vbkNoYW5nZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZGVsZXRlIG8uX29ic2VydmVyc1twcm9wXTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGQoZjogRm9ybWx5RmllbGRDb25maWcsIGtleTogRm9ybWx5RmllbGRDb25maWdbJ2tleSddKTogRm9ybWx5RmllbGRDb25maWcge1xuICBrZXkgPSAoQXJyYXkuaXNBcnJheShrZXkpID8ga2V5LmpvaW4oJy4nKSA6IGtleSkgYXMgc3RyaW5nO1xuICBpZiAoIWYuZmllbGRHcm91cCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gZi5maWVsZEdyb3VwLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGYuZmllbGRHcm91cFtpXTtcbiAgICBjb25zdCBrID0gKEFycmF5LmlzQXJyYXkoYy5rZXkpID8gYy5rZXkuam9pbignLicpIDogYy5rZXkpIGFzIHN0cmluZztcbiAgICBpZiAoayA9PT0ga2V5KSB7XG4gICAgICByZXR1cm4gYztcbiAgICB9XG5cbiAgICBpZiAoYy5maWVsZEdyb3VwICYmIChpc05pbChrKSB8fCBrZXkuaW5kZXhPZihgJHtrfS5gKSA9PT0gMCkpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gZ2V0RmllbGQoYywgaXNOaWwoaykgPyBrZXkgOiBrZXkuc2xpY2Uoay5sZW5ndGggKyAxKSk7XG4gICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrRmllbGRGb3JDaGVjayhmaWVsZDogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICBmaWVsZC5fY29tcG9uZW50UmVmcz8uZm9yRWFjaCgocmVmKSA9PiB7XG4gICAgLy8gTk9URTogd2UgY2Fubm90IHVzZSByZWYuY2hhbmdlRGV0ZWN0b3JSZWYsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8yMTkxXG4gICAgaWYgKHJlZiBpbnN0YW5jZW9mIENvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgY2hhbmdlRGV0ZWN0b3JSZWYgPSByZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICAgIGNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9vcE5nWm9uZShuZ1pvbmU6IE5nWm9uZSkge1xuICByZXR1cm4gbmdab25lIGluc3RhbmNlb2YgybVOb29wTmdab25lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIaWRkZW5GaWVsZChmaWVsZDogRm9ybWx5RmllbGRDb25maWcpIHtcbiAgY29uc3QgaXNIaWRkZW4gPSAoZjogRm9ybWx5RmllbGRDb25maWcpID0+IGYuaGlkZSB8fCBmLmV4cHJlc3Npb25zPy5oaWRlIHx8IGYuaGlkZUV4cHJlc3Npb247XG4gIGxldCBzZXREZWZhdWx0VmFsdWUgPSAhZmllbGQucmVzZXRPbkhpZGUgfHwgIWlzSGlkZGVuKGZpZWxkKTtcbiAgaWYgKCFpc0hpZGRlbihmaWVsZCkgJiYgZmllbGQucmVzZXRPbkhpZGUpIHtcbiAgICBsZXQgcGFyZW50ID0gZmllbGQucGFyZW50O1xuICAgIHdoaWxlIChwYXJlbnQgJiYgIWlzSGlkZGVuKHBhcmVudCkpIHtcbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuICAgIHNldERlZmF1bHRWYWx1ZSA9ICFwYXJlbnQgfHwgIWlzSGlkZGVuKHBhcmVudCk7XG4gIH1cblxuICByZXR1cm4gIXNldERlZmF1bHRWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2lnbmFsUmVxdWlyZWQoKSB7XG4gIHJldHVybiArVkVSU0lPTi5tYWpvciA+PSAxOCAmJiArVkVSU0lPTi5taW5vciA+PSAxO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FormlyConfig, FORMLY_CONFIG } from '@ngx-formly/core';
|
|
2
|
+
import { registerLibraryConfigReplacementExtension } from './preset-substitution.extension';
|
|
3
|
+
export function provideFormlyPreset() {
|
|
4
|
+
return {
|
|
5
|
+
provide: FORMLY_CONFIG,
|
|
6
|
+
useFactory: registerLibraryConfigReplacementExtension,
|
|
7
|
+
deps: [FormlyConfig],
|
|
8
|
+
multi: true,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3ByZXNldC9zcmMvcHJlc2V0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVGLE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTztRQUNMLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFVBQVUsRUFBRSx5Q0FBeUM7UUFDckQsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ3BCLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5Q29uZmlnLCBGT1JNTFlfQ09ORklHIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyByZWdpc3RlckxpYnJhcnlDb25maWdSZXBsYWNlbWVudEV4dGVuc2lvbiB9IGZyb20gJy4vcHJlc2V0LXN1YnN0aXR1dGlvbi5leHRlbnNpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUZvcm1seVByZXNldCgpOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogRk9STUxZX0NPTkZJRyxcbiAgICB1c2VGYWN0b3J5OiByZWdpc3RlckxpYnJhcnlDb25maWdSZXBsYWNlbWVudEV4dGVuc2lvbixcbiAgICBkZXBzOiBbRm9ybWx5Q29uZmlnXSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
3
|
+
import { provideFormlyPreset } from './preset.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-formly/core";
|
|
6
|
+
export class FormlyPresetModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlyPresetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FormlyPresetModule, imports: [i1.FormlyModule] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlyPresetModule, providers: [provideFormlyPreset()], imports: [FormlyModule.forChild({})] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlyPresetModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [FormlyModule.forChild({})],
|
|
15
|
+
providers: [provideFormlyPreset()],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3ByZXNldC9zcmMvcHJlc2V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTXRELE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsYUFGbEIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFlBRHhCLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDOzs0RkFHeEIsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUZvcm1seVByZXNldCB9IGZyb20gJy4vcHJlc2V0LmNvbmZpZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtGb3JtbHlNb2R1bGUuZm9yQ2hpbGQoe30pXSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUZvcm1seVByZXNldCgpXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5UHJlc2V0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -90,11 +90,11 @@ export class FormlySelectOptionsPipe {
|
|
|
90
90
|
this._options = new BehaviorSubject(options);
|
|
91
91
|
return this._options.asObservable();
|
|
92
92
|
}
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
94
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectOptionsPipe, name: "formlySelectOptions" }); }
|
|
93
95
|
}
|
|
94
|
-
|
|
95
|
-
FormlySelectOptionsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlySelectOptionsPipe, name: "formlySelectOptions" });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlySelectOptionsPipe, decorators: [{
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectOptionsPipe, decorators: [{
|
|
97
97
|
type: Pipe,
|
|
98
98
|
args: [{ name: 'formlySelectOptions' }]
|
|
99
99
|
}] });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBeUJsRCxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFNBQVMsQ0FBQyxPQUFZLEVBQUUsS0FBeUI7UUFDL0MsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO1FBRUQsT0FBUSxPQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFjLEVBQUUsS0FBeUI7UUFDaEUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sSUFBSSxHQUF5QixFQUFFLENBQUM7UUFDdEMsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUU1QyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxF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QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1seVNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBhbnk7XG4gIGdyb3VwPzogRm9ybWx5U2VsZWN0T3B0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5RmllbGRTZWxlY3RQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMge1xuICBncm91cFByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBzdHJpbmcpO1xuICBsYWJlbFByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBzdHJpbmcpO1xuICB2YWx1ZVByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBhbnkpO1xuICBkaXNhYmxlZFByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBib29sZWFuKTtcbn1cblxudHlwZSBJVHJhbnNmb3JtT3B0aW9uID0ge1xuICBsYWJlbFByb3A6IChvcHRpb246IGFueSkgPT4gc3RyaW5nO1xuICB2YWx1ZVByb3A6IChvcHRpb246IGFueSkgPT4gYW55O1xuICBkaXNhYmxlZFByb3A6IChvcHRpb246IGFueSkgPT4gYm9vbGVhbjtcbiAgZ3JvdXBQcm9wOiAob3B0aW9uOiBhbnkpID0+IHN0cmluZztcbn07XG5cbkBQaXBlKHsgbmFtZTogJ2Zvcm1seVNlbGVjdE9wdGlvbnMnIH0pXG5leHBvcnQgY2xhc3MgRm9ybWx5U2VsZWN0T3B0aW9uc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfb3B0aW9uczogQmVoYXZpb3JTdWJqZWN0PGFueVtdPjtcblxuICB0cmFuc2Zvcm0ob3B0aW9uczogYW55LCBmaWVsZD86IEZvcm1seUZpZWxkQ29uZmlnKTogT2JzZXJ2YWJsZTxGb3JtbHlTZWxlY3RPcHRpb25bXT4ge1xuICAgIGlmICghKG9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSkge1xuICAgICAgb3B0aW9ucyA9IHRoaXMub2JzZXJ2YWJsZU9mKG9wdGlvbnMsIGZpZWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvcHRpb25zIGFzIE9ic2VydmFibGU8YW55PikucGlwZShtYXAoKHZhbHVlKSA9PiB0aGlzLnRyYW5zZm9ybU9wdGlvbnModmFsdWUsIGZpZWxkKSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybU9wdGlvbnMob3B0aW9uczogYW55W10sIGZpZWxkPzogRm9ybWx5RmllbGRDb25maWcpOiBGb3JtbHlTZWxlY3RPcHRpb25bXSB7XG4gICAgY29uc3QgdG8gPSB0aGlzLnRyYW5zZm9ybVNlbGVjdFByb3BzKGZpZWxkKTtcblxuICAgIGNvbnN0IG9wdHM6IEZvcm1seVNlbGVjdE9wdGlvbltdID0gW107XG4gICAgY29uc3QgZ3JvdXBzOiB7IFtpZDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICAgIG9wdGlvbnM/LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgY29uc3QgbyA9IHRoaXMudHJhbnNmb3JtT3B0aW9uKG9wdGlvbiwgdG8pO1xuICAgICAgaWYgKG8uZ3JvdXApIHtcbiAgICAgICAgY29uc3QgaWQgPSBncm91cHNbby5sYWJlbF07XG4gICAgICAgIGlmIChpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZ3JvdXBzW28ubGFiZWxdID0gb3B0cy5wdXNoKG8pIC0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvLmdyb3VwLmZvckVhY2goKG8pID0+IG9wdHNbaWRdLmdyb3VwLnB1c2gobykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcHRzLnB1c2gobyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0cztcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtT3B0aW9uKG9wdGlvbjogYW55LCBwcm9wczogSVRyYW5zZm9ybU9wdGlvbik6IEZvcm1seVNlbGVjdE9wdGlvbiB7XG4gICAgY29uc3QgZ3JvdXAgPSBwcm9wcy5ncm91cFByb3Aob3B0aW9uKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShncm91cCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBwcm9wcy5sYWJlbFByb3Aob3B0aW9uKSxcbiAgICAgICAgZ3JvdXA6IGdyb3VwLm1hcCgob3B0KSA9PiB0aGlzLnRyYW5zZm9ybU9wdGlvbihvcHQsIHByb3BzKSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIG9wdGlvbiA9IHtcbiAgICAgIGxhYmVsOiBwcm9wcy5sYWJlbFByb3Aob3B0aW9uKSxcbiAgICAgIHZhbHVlOiBwcm9wcy52YWx1ZVByb3Aob3B0aW9uKSxcbiAgICAgIGRpc2FibGVkOiAhIXByb3BzLmRpc2FibGVkUHJvcChvcHRpb24pLFxuICAgIH07XG5cbiAgICBpZiAoZ3JvdXApIHtcbiAgICAgIHJldHVybiB7IGxhYmVsOiBncm91cCwgZ3JvdXA6IFtvcHRpb25dIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtU2VsZWN0UHJvcHMoZmllbGQ/OiBGb3JtbHlGaWVsZENvbmZpZyk6IElUcmFuc2Zvcm1PcHRpb24ge1xuICAgIGNvbnN0IHByb3BzID0gZmllbGQ/LnByb3BzIHx8IGZpZWxkPy50ZW1wbGF0ZU9wdGlvbnMgfHwge307XG4gICAgY29uc3Qgc2VsZWN0UHJvcEZuID0gKHByb3A6IGFueSkgPT4gKHR5cGVvZiBwcm9wID09PSAnZnVuY3Rpb24nID8gcHJvcCA6IChvOiBhbnkpID0+IG9bcHJvcF0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdyb3VwUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLmdyb3VwUHJvcCB8fCAnZ3JvdXAnKSxcbiAgICAgIGxhYmVsUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLmxhYmVsUHJvcCB8fCAnbGFiZWwnKSxcbiAgICAgIHZhbHVlUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLnZhbHVlUHJvcCB8fCAndmFsdWUnKSxcbiAgICAgIGRpc2FibGVkUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLmRpc2FibGVkUHJvcCB8fCAnZGlzYWJsZWQnKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLl9vcHRpb25zKSB7XG4gICAgICB0aGlzLl9vcHRpb25zLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9vcHRpb25zID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZhYmxlT2Yob3B0aW9uczogYW55LCBmPzogRm9ybWx5RmllbGRDb25maWcpIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICBpZiAoZiAmJiBmLm9wdGlvbnMgJiYgZi5vcHRpb25zLmZpZWxkQ2hhbmdlcykge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gZi5vcHRpb25zLmZpZWxkQ2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHsgcHJvcGVydHksIHR5cGUsIGZpZWxkIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHR5cGUgPT09ICdleHByZXNzaW9uQ2hhbmdlcycgJiZcbiAgICAgICAgICAgICAgKHByb3BlcnR5LmluZGV4T2YoJ3RlbXBsYXRlT3B0aW9ucy5vcHRpb25zJykgPT09IDAgfHwgcHJvcGVydHkuaW5kZXhPZigncHJvcHMub3B0aW9ucycpID09PSAwKSAmJlxuICAgICAgICAgICAgICBmaWVsZCA9PT0gZiAmJlxuICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLnByb3BzLm9wdGlvbnMpICYmXG4gICAgICAgICAgICAgICEhdGhpcy5fb3B0aW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5fb3B0aW9ucy5uZXh0KGYucHJvcHMub3B0aW9ucyBhcyBhbnkpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fb3B0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Qob3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBeUJsRCxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFNBQVMsQ0FBQyxPQUFZLEVBQUUsS0FBeUI7UUFDL0MsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO1FBRUQsT0FBUSxPQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFjLEVBQUUsS0FBeUI7UUFDaEUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sSUFBSSxHQUF5QixFQUFFLENBQUM7UUFDdEMsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUU1QyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxF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QUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1seVNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBhbnk7XG4gIGdyb3VwPzogRm9ybWx5U2VsZWN0T3B0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5RmllbGRTZWxlY3RQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMge1xuICBncm91cFByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBzdHJpbmcpO1xuICBsYWJlbFByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBzdHJpbmcpO1xuICB2YWx1ZVByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBhbnkpO1xuICBkaXNhYmxlZFByb3A/OiBzdHJpbmcgfCAoKG9wdGlvbjogYW55KSA9PiBib29sZWFuKTtcbn1cblxudHlwZSBJVHJhbnNmb3JtT3B0aW9uID0ge1xuICBsYWJlbFByb3A6IChvcHRpb246IGFueSkgPT4gc3RyaW5nO1xuICB2YWx1ZVByb3A6IChvcHRpb246IGFueSkgPT4gYW55O1xuICBkaXNhYmxlZFByb3A6IChvcHRpb246IGFueSkgPT4gYm9vbGVhbjtcbiAgZ3JvdXBQcm9wOiAob3B0aW9uOiBhbnkpID0+IHN0cmluZztcbn07XG5cbkBQaXBlKHsgbmFtZTogJ2Zvcm1seVNlbGVjdE9wdGlvbnMnIH0pXG5leHBvcnQgY2xhc3MgRm9ybWx5U2VsZWN0T3B0aW9uc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfb3B0aW9uczogQmVoYXZpb3JTdWJqZWN0PGFueVtdPjtcblxuICB0cmFuc2Zvcm0ob3B0aW9uczogYW55LCBmaWVsZD86IEZvcm1seUZpZWxkQ29uZmlnKTogT2JzZXJ2YWJsZTxGb3JtbHlTZWxlY3RPcHRpb25bXT4ge1xuICAgIGlmICghKG9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSkge1xuICAgICAgb3B0aW9ucyA9IHRoaXMub2JzZXJ2YWJsZU9mKG9wdGlvbnMsIGZpZWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvcHRpb25zIGFzIE9ic2VydmFibGU8YW55PikucGlwZShtYXAoKHZhbHVlKSA9PiB0aGlzLnRyYW5zZm9ybU9wdGlvbnModmFsdWUsIGZpZWxkKSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybU9wdGlvbnMob3B0aW9uczogYW55W10sIGZpZWxkPzogRm9ybWx5RmllbGRDb25maWcpOiBGb3JtbHlTZWxlY3RPcHRpb25bXSB7XG4gICAgY29uc3QgdG8gPSB0aGlzLnRyYW5zZm9ybVNlbGVjdFByb3BzKGZpZWxkKTtcblxuICAgIGNvbnN0IG9wdHM6IEZvcm1seVNlbGVjdE9wdGlvbltdID0gW107XG4gICAgY29uc3QgZ3JvdXBzOiB7IFtpZDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICAgIG9wdGlvbnM/LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgY29uc3QgbyA9IHRoaXMudHJhbnNmb3JtT3B0aW9uKG9wdGlvbiwgdG8pO1xuICAgICAgaWYgKG8uZ3JvdXApIHtcbiAgICAgICAgY29uc3QgaWQgPSBncm91cHNbby5sYWJlbF07XG4gICAgICAgIGlmIChpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZ3JvdXBzW28ubGFiZWxdID0gb3B0cy5wdXNoKG8pIC0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvLmdyb3VwLmZvckVhY2goKG8pID0+IG9wdHNbaWRdLmdyb3VwLnB1c2gobykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcHRzLnB1c2gobyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0cztcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtT3B0aW9uKG9wdGlvbjogYW55LCBwcm9wczogSVRyYW5zZm9ybU9wdGlvbik6IEZvcm1seVNlbGVjdE9wdGlvbiB7XG4gICAgY29uc3QgZ3JvdXAgPSBwcm9wcy5ncm91cFByb3Aob3B0aW9uKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShncm91cCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBwcm9wcy5sYWJlbFByb3Aob3B0aW9uKSxcbiAgICAgICAgZ3JvdXA6IGdyb3VwLm1hcCgob3B0KSA9PiB0aGlzLnRyYW5zZm9ybU9wdGlvbihvcHQsIHByb3BzKSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIG9wdGlvbiA9IHtcbiAgICAgIGxhYmVsOiBwcm9wcy5sYWJlbFByb3Aob3B0aW9uKSxcbiAgICAgIHZhbHVlOiBwcm9wcy52YWx1ZVByb3Aob3B0aW9uKSxcbiAgICAgIGRpc2FibGVkOiAhIXByb3BzLmRpc2FibGVkUHJvcChvcHRpb24pLFxuICAgIH07XG5cbiAgICBpZiAoZ3JvdXApIHtcbiAgICAgIHJldHVybiB7IGxhYmVsOiBncm91cCwgZ3JvdXA6IFtvcHRpb25dIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtU2VsZWN0UHJvcHMoZmllbGQ/OiBGb3JtbHlGaWVsZENvbmZpZyk6IElUcmFuc2Zvcm1PcHRpb24ge1xuICAgIGNvbnN0IHByb3BzID0gZmllbGQ/LnByb3BzIHx8IGZpZWxkPy50ZW1wbGF0ZU9wdGlvbnMgfHwge307XG4gICAgY29uc3Qgc2VsZWN0UHJvcEZuID0gKHByb3A6IGFueSkgPT4gKHR5cGVvZiBwcm9wID09PSAnZnVuY3Rpb24nID8gcHJvcCA6IChvOiBhbnkpID0+IG9bcHJvcF0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdyb3VwUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLmdyb3VwUHJvcCB8fCAnZ3JvdXAnKSxcbiAgICAgIGxhYmVsUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLmxhYmVsUHJvcCB8fCAnbGFiZWwnKSxcbiAgICAgIHZhbHVlUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLnZhbHVlUHJvcCB8fCAndmFsdWUnKSxcbiAgICAgIGRpc2FibGVkUHJvcDogc2VsZWN0UHJvcEZuKHByb3BzLmRpc2FibGVkUHJvcCB8fCAnZGlzYWJsZWQnKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLl9vcHRpb25zKSB7XG4gICAgICB0aGlzLl9vcHRpb25zLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9vcHRpb25zID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZhYmxlT2Yob3B0aW9uczogYW55LCBmPzogRm9ybWx5RmllbGRDb25maWcpIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICBpZiAoZiAmJiBmLm9wdGlvbnMgJiYgZi5vcHRpb25zLmZpZWxkQ2hhbmdlcykge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gZi5vcHRpb25zLmZpZWxkQ2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHsgcHJvcGVydHksIHR5cGUsIGZpZWxkIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHR5cGUgPT09ICdleHByZXNzaW9uQ2hhbmdlcycgJiZcbiAgICAgICAgICAgICAgKHByb3BlcnR5LmluZGV4T2YoJ3RlbXBsYXRlT3B0aW9ucy5vcHRpb25zJykgPT09IDAgfHwgcHJvcGVydHkuaW5kZXhPZigncHJvcHMub3B0aW9ucycpID09PSAwKSAmJlxuICAgICAgICAgICAgICBmaWVsZCA9PT0gZiAmJlxuICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLnByb3BzLm9wdGlvbnMpICYmXG4gICAgICAgICAgICAgICEhdGhpcy5fb3B0aW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5fb3B0aW9ucy5uZXh0KGYucHJvcHMub3B0aW9ucyBhcyBhbnkpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fb3B0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Qob3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { FormlySelectOptionsPipe } from './select-options.pipe';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class FormlySelectModule {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectModule, declarations: [FormlySelectOptionsPipe], exports: [FormlySelectOptionsPipe] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectModule }); }
|
|
5
8
|
}
|
|
6
|
-
|
|
7
|
-
FormlySelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlySelectModule, declarations: [FormlySelectOptionsPipe], exports: [FormlySelectOptionsPipe] });
|
|
8
|
-
FormlySelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlySelectModule });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlySelectModule, decorators: [{
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlySelectModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [FormlySelectOptionsPipe],
|
|
13
13
|
exports: [FormlySelectOptionsPipe],
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NlbGVjdC9zcmMvc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU1oRSxNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFIZCx1QkFBdUIsYUFDNUIsdUJBQXVCO2dIQUV0QixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlTZWxlY3RPcHRpb25zUGlwZSB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbnMucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Zvcm1seVNlbGVjdE9wdGlvbnNQaXBlXSxcbiAgZXhwb3J0czogW0Zvcm1seVNlbGVjdE9wdGlvbnNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5U2VsZWN0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -71,15 +71,16 @@ class TestComponent {
|
|
|
71
71
|
constructor(builder) {
|
|
72
72
|
this.builder = builder;
|
|
73
73
|
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TestComponent, deps: [{ token: i1.FormlyFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TestComponent, selector: "formly-test-component", providers: [FormlyFormBuilder], ngImport: i0, template: '', isInline: true }); }
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
TestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TestComponent, selector: "formly-test-component", providers: [FormlyFormBuilder], ngImport: i0, template: '', isInline: true });
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestComponent, decorators: [{
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TestComponent, decorators: [{
|
|
78
78
|
type: Component,
|
|
79
79
|
args: [{
|
|
80
80
|
selector: 'formly-test-component',
|
|
81
81
|
template: '',
|
|
82
82
|
providers: [FormlyFormBuilder],
|
|
83
|
+
standalone: false,
|
|
83
84
|
}]
|
|
84
85
|
}], ctorParameters: function () { return [{ type: i1.FormlyFormBuilder }]; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS90ZXN0aW5nL3NyYy9jb21wb25lbnQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFvQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQW1DLE1BQU0sa0JBQWtCLENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFL0MsU0FBUyxTQUFTLENBQUksT0FBNEIsRUFBRSxNQUFTLEVBQUUsYUFBYSxHQUFHLElBQUk7SUFDaEYsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDckQsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksYUFBYSxLQUFLLEtBQUssRUFBRTtRQUMzQixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7S0FDekI7QUFDSCxDQUFDO0FBWUQsTUFBTSxVQUFVLGVBQWUsQ0FBSSxFQUNqQyxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixhQUFhLEVBQ2IsT0FBTyxFQUNQLFlBQVksRUFDWixTQUFTLEdBQ1k7SUFDckIsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1FBQzdCLFlBQVksRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sRUFBRSxDQUFDLG1CQUFt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RUFBRTtRQUMxQixJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUVELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQU1NLGFBQWE7SUFDakIsWUFBbUIsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFBRyxDQUFDOytHQUQ5QyxhQUFhO21HQUFiLGFBQWEsZ0RBSE4sQ0FBQyxpQkFBaUIsQ0FBQywwQkFEcEIsRUFBRTs7NEZBSVIsYUFBYTtrQkFObEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDOUIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdEJlZCwgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIERlYnVnRWxlbWVudCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSwgRm9ybWx5Rm9ybUJ1aWxkZXIsIEZvcm1seUZpZWxkQ29uZmlnLCBDb25maWdPcHRpb24gfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5mdW5jdGlvbiBzZXRJbnB1dHM8VD4oZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxUPiwgaW5wdXRzOiBULCBkZXRlY3RDaGFuZ2VzID0gdHJ1ZSkge1xuICAoT2JqZWN0LmtleXMoaW5wdXRzKSBhcyAoa2V5b2YgVClbXSkuZm9yRWFjaCgoaW5wdXQpID0+IHtcbiAgICBmaXh0dXJlLmNvbXBvbmVudEluc3RhbmNlW2lucHV0XSA9IGlucHV0c1tpbnB1dF07XG4gIH0pO1xuXG4gIGlmIChkZXRlY3RDaGFuZ2VzICE9PSBmYWxzZSkge1xuICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG5cbmludGVyZmFjZSBJQ29tcG9uZW50T3B0aW9uczxUPiBleHRlbmRzIE5nTW9kdWxlIHtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIGlucHV0cz86IFQ7XG4gIGNvbmZpZz86IENvbmZpZ09wdGlvbjtcbiAgZGV0ZWN0Q2hhbmdlcz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgSUZvcm1seURlYnVnRWxlbWVudDxFPiBleHRlbmRzIERlYnVnRWxlbWVudCB7XG4gIHJlYWRvbmx5IG5hdGl2ZUVsZW1lbnQ6IEU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnQ8VD4oe1xuICB0ZW1wbGF0ZSxcbiAgaW5wdXRzLFxuICBjb25maWcsXG4gIGRldGVjdENoYW5nZXMsXG4gIGltcG9ydHMsXG4gIGRlY2xhcmF0aW9ucyxcbiAgcHJvdmlkZXJzLFxufTogSUNvbXBvbmVudE9wdGlvbnM8VD4pIHtcbiAgVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUZXN0Q29tcG9uZW50LCAuLi4oZGVjbGFyYXRpb25zIHx8IFtdKV0sXG4gICAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1seU1vZHVsZS5mb3JSb290KGNvbmZpZyksIC4uLihpbXBvcnRzIHx8IFtdKV0sXG4gICAgcHJvdmlkZXJzOiBwcm92aWRlcnMgfHwgW10sXG4gICAgdGVhcmRvd246IHsgZGVzdHJveUFmdGVyRWFjaDogZmFsc2UgfSxcbiAgfSkub3ZlcnJpZGVDb21wb25lbnQoVGVzdENvbXBvbmVudCwge1xuICAgIHNldDoge1xuICAgICAgdGVtcGxhdGUsXG4gICAgICBpbnB1dHM6IE9iamVjdC5rZXlzKGlucHV0cyksXG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3QgZml4dHVyZSA9IFRlc3RCZWQuY3JlYXRlQ29tcG9uZW50KFRlc3RDb21wb25lbnQpIGFzIENvbXBvbmVudEZpeHR1cmU8VD47XG4gIChPYmplY3Qua2V5cyhpbnB1dHMpIGFzIChrZXlvZiBUKVtdKS5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgIGZpeHR1cmUuY29tcG9uZW50SW5zdGFuY2VbaW5wdXRdID0gaW5wdXRzW2lucHV0XTtcbiAgfSk7XG5cbiAgc2V0SW5wdXRzKGZpeHR1cmUsIGlucHV0cywgZGV0ZWN0Q2hhbmdlcyk7XG5cbiAgdHlwZSBGaXh0dXJlVXRpbHMgPSBUICYge1xuICAgIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8VD47XG4gICAgZGV0ZWN0Q2hhbmdlczogKHR5cGVvZiBmaXh0dXJlKVsnZGV0ZWN0Q2hhbmdlcyddO1xuICAgIHNldElucHV0czogKGlucHV0czogUGFydGlhbDxUPikgPT4gdm9pZDtcbiAgICBxdWVyeTogPEUgZXh0ZW5kcyBFbGVtZW50ID0gRWxlbWVudD4oc2VsZWN0b3I6IHN0cmluZykgPT4gSUZvcm1seURlYnVnRWxlbWVudDxFPjtcbiAgICBxdWVyeUFsbDogPEUgZXh0ZW5kcyBFbGVtZW50ID0gRWxlbWVudD4oc2VsZWN0b3I6IHN0cmluZykgPT4gSUZvcm1seURlYnVnRWxlbWVudDxFPltdO1xuICB9O1xuXG4gIGNvbnN0IHV0aWxzID0ge1xuICAgIGZpeHR1cmUsXG4gICAgZGV0ZWN0Q2hhbmdlczogKCkgPT4gZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCksXG4gICAgc2V0SW5wdXRzOiAocHJvcHMpID0+IHNldElucHV0cyhmaXh0dXJlLCBwcm9wcyksXG4gICAgcXVlcnk6IChzZWxlY3Rvcjogc3RyaW5nKSA9PiBmaXh0dXJlLmRlYnVnRWxlbWVudC5xdWVyeShCeS5jc3Moc2VsZWN0b3IpKSxcbiAgICBxdWVyeUFsbDogKHNlbGVjdG9yOiBzdHJpbmcpID0+IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5QWxsKEJ5LmNzcyhzZWxlY3RvcikpLFxuICB9IGFzIEZpeHR1cmVVdGlscztcblxuICAoT2JqZWN0LmtleXMoaW5wdXRzKSBhcyAoa2V5b2YgVClbXSkuZm9yRWFjaCgoaW5wdXQpID0+IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodXRpbHMsIGlucHV0LCB7XG4gICAgICBnZXQ6ICgpID0+IGZpeHR1cmUuY29tcG9uZW50SW5zdGFuY2VbaW5wdXRdLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gdXRpbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGaWVsZENvbXBvbmVudChcbiAgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLFxuICBjb25maWc6IElDb21wb25lbnRPcHRpb25zPHsgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnIH0+ID0ge30sXG4pIHtcbiAgY29uc3QgbW9kZWwgPSBmaWVsZD8ubW9kZWwgfHwge307XG4gIGNvbnN0IG9wdGlvbnMgPSBmaWVsZD8ub3B0aW9ucyB8fCB7fTtcbiAgZGVsZXRlIChmaWVsZCBhcyBhbnkpPy5tb2RlbDtcbiAgZGVsZXRlIChmaWVsZCBhcyBhbnkpPy5vcHRpb25zO1xuXG4gIGNvbnN0IHV0aWxzID0gY3JlYXRlQ29tcG9uZW50PHsgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnIH0+KHtcbiAgICB0ZW1wbGF0ZTogJzxmb3JtbHktZmllbGQgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktZmllbGQ+JyxcbiAgICBpbnB1dHM6IHsgZmllbGQgfSxcbiAgICAuLi5jb25maWcsXG4gICAgZGV0ZWN0Q2hhbmdlczogZmFsc2UsXG4gIH0pO1xuICBjb25zdCBidWlsZGVyID0gKHV0aWxzLmZpeHR1cmUuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIGFueSkuYnVpbGRlcjtcbiAgYnVpbGRlci5idWlsZCh7IG1vZGVsLCBvcHRpb25zLCBmaWVsZEdyb3VwOiBbZmllbGRdIH0pO1xuICB1dGlscy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgY29uc3Qgc2V0SW5wdXRzID0gdXRpbHMuc2V0SW5wdXRzO1xuICB1dGlscy5zZXRJbnB1dHMgPSAocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZmllbGQpIHtcbiAgICAgIGJ1aWxkZXIuYnVpbGQocHJvcHMuZmllbGQpO1xuICAgIH1cblxuICAgIHNldElucHV0cyhwcm9wcyk7XG4gIH07XG5cbiAgcmV0dXJuIHV0aWxzO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktdGVzdC1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHByb3ZpZGVyczogW0Zvcm1seUZvcm1CdWlsZGVyXSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuY2xhc3MgVGVzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBidWlsZGVyPzogRm9ybWx5Rm9ybUJ1aWxkZXIpIHt9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { UntypedFormArray, UntypedFormGroup } from '@angular/forms';
|
|
4
4
|
import { ɵhasKey, ɵgetFieldValue, ɵclone, ɵreverseDeepMerge } from '@ngx-formly/core';
|
|
5
5
|
import { tap } from 'rxjs/operators';
|
|
6
6
|
|
|
@@ -588,7 +588,7 @@ class FormlyJsonschema {
|
|
|
588
588
|
model = ɵclone(model);
|
|
589
589
|
if (!field) {
|
|
590
590
|
field = schema._field = root.options.build({
|
|
591
|
-
form: Array.isArray(model) ? new
|
|
591
|
+
form: Array.isArray(model) ? new UntypedFormArray([]) : new UntypedFormGroup({}),
|
|
592
592
|
fieldGroup: [
|
|
593
593
|
this._toFieldConfig(schema, {
|
|
594
594
|
...options,
|
|
@@ -608,7 +608,7 @@ class FormlyJsonschema {
|
|
|
608
608
|
return field.form.valid;
|
|
609
609
|
}
|
|
610
610
|
mergeFields(f1, f2) {
|
|
611
|
-
for (
|
|
611
|
+
for (const prop in f2) {
|
|
612
612
|
const f1Prop = prop === 'templateOptions' ? 'props' : prop;
|
|
613
613
|
if (isObject(f1[f1Prop]) && isObject(f2[prop])) {
|
|
614
614
|
f1[f1Prop] = this.mergeFields(f1[f1Prop], f2[prop]);
|
|
@@ -619,10 +619,10 @@ class FormlyJsonschema {
|
|
|
619
619
|
}
|
|
620
620
|
return f1;
|
|
621
621
|
}
|
|
622
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlyJsonschema, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
623
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlyJsonschema, providedIn: 'root' }); }
|
|
622
624
|
}
|
|
623
|
-
|
|
624
|
-
FormlyJsonschema.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlyJsonschema, providedIn: 'root' });
|
|
625
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlyJsonschema, decorators: [{
|
|
625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormlyJsonschema, decorators: [{
|
|
626
626
|
type: Injectable,
|
|
627
627
|
args: [{ providedIn: 'root' }]
|
|
628
628
|
}] });
|