@ng-forge/dynamic-forms 1.0.0 → 1.1.0-next.2
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/fesm2022/{ng-forge-dynamic-forms-array-field.component-CIheZh11.mjs → ng-forge-dynamic-forms-array-field.component-CftX-bCB.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-array-field.component-CIheZh11.mjs.map → ng-forge-dynamic-forms-array-field.component-CftX-bCB.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-C9aVachF.mjs → ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CFSJLZPZ.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-C9aVachF.mjs.map → ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CFSJLZPZ.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-container-field.component-DNafCSO8.mjs → ng-forge-dynamic-forms-container-field.component-B_bQ-f2g.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-container-field.component-DNafCSO8.mjs.map → ng-forge-dynamic-forms-container-field.component-B_bQ-f2g.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-css-wrapper.component-BmHGlmES.mjs → ng-forge-dynamic-forms-css-wrapper.component-D_yRuLpu.mjs} +4 -3
- package/fesm2022/ng-forge-dynamic-forms-css-wrapper.component-D_yRuLpu.mjs.map +1 -0
- package/fesm2022/{ng-forge-dynamic-forms-group-field.component-CKVIw2K5.mjs → ng-forge-dynamic-forms-group-field.component-Bl9WRPvF.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-group-field.component-CKVIw2K5.mjs.map → ng-forge-dynamic-forms-group-field.component-Bl9WRPvF.mjs.map} +1 -1
- package/fesm2022/ng-forge-dynamic-forms-integration.mjs +48 -18
- package/fesm2022/ng-forge-dynamic-forms-integration.mjs.map +1 -1
- package/fesm2022/ng-forge-dynamic-forms-internal.mjs +77 -35
- package/fesm2022/ng-forge-dynamic-forms-internal.mjs.map +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-ng-forge-dynamic-forms-CBawLbtp.mjs → ng-forge-dynamic-forms-ng-forge-dynamic-forms-fMB33l2f.mjs} +22 -14
- package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-fMB33l2f.mjs.map +1 -0
- package/fesm2022/{ng-forge-dynamic-forms-page-field.component-BRixkgyS.mjs → ng-forge-dynamic-forms-page-field.component-C9bQkVjQ.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-page-field.component-BRixkgyS.mjs.map → ng-forge-dynamic-forms-page-field.component-C9bQkVjQ.mjs.map} +1 -1
- package/fesm2022/ng-forge-dynamic-forms.mjs +1 -1
- package/package.json +1 -1
- package/types/ng-forge-dynamic-forms-integration.d.ts +28 -2
- package/types/ng-forge-dynamic-forms-internal.d.ts +35 -3
- package/fesm2022/ng-forge-dynamic-forms-css-wrapper.component-BmHGlmES.mjs.map +0 -1
- package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-CBawLbtp.mjs.map +0 -1
|
@@ -1720,12 +1720,15 @@ class FieldContextRegistryService {
|
|
|
1720
1720
|
},
|
|
1721
1721
|
};
|
|
1722
1722
|
}
|
|
1723
|
-
createDisplayOnlyContext(fieldPath, customFunctions) {
|
|
1724
|
-
const
|
|
1723
|
+
createDisplayOnlyContext(fieldPath, customFunctions, arrayScope) {
|
|
1724
|
+
const rootFormValue = this.rootFormRegistry.formValue();
|
|
1725
|
+
if (arrayScope) {
|
|
1726
|
+
return this.buildArrayScopedContext(rootFormValue, arrayScope, undefined, customFunctions, true);
|
|
1727
|
+
}
|
|
1725
1728
|
const rootFormSignal = this.rootFormRegistry.rootForm;
|
|
1726
1729
|
return {
|
|
1727
1730
|
fieldValue: undefined,
|
|
1728
|
-
formValue,
|
|
1731
|
+
formValue: rootFormValue,
|
|
1729
1732
|
fieldPath,
|
|
1730
1733
|
customFunctions: customFunctions || {},
|
|
1731
1734
|
externalData: this.resolveExternalData(true),
|
|
@@ -2182,6 +2185,18 @@ function validateNoNestedHttpConditions(expression) {
|
|
|
2182
2185
|
}
|
|
2183
2186
|
}
|
|
2184
2187
|
}
|
|
2188
|
+
function containsInlineFunction(expression) {
|
|
2189
|
+
if (expression.type === 'and' || expression.type === 'or') {
|
|
2190
|
+
return expression.conditions.some(containsInlineFunction);
|
|
2191
|
+
}
|
|
2192
|
+
if (expression.type === 'custom') {
|
|
2193
|
+
return typeof expression.fn === 'function';
|
|
2194
|
+
}
|
|
2195
|
+
if (expression.type === 'async') {
|
|
2196
|
+
return typeof expression.asyncFn === 'function';
|
|
2197
|
+
}
|
|
2198
|
+
return false;
|
|
2199
|
+
}
|
|
2185
2200
|
function createLogicFunction(expression) {
|
|
2186
2201
|
if (expression?.type === 'async') {
|
|
2187
2202
|
return createAsyncConditionLogicFunction(expression);
|
|
@@ -2195,16 +2210,21 @@ function createLogicFunction(expression) {
|
|
|
2195
2210
|
const functionRegistry = inject(FunctionRegistryService);
|
|
2196
2211
|
const fieldContextRegistry = inject(FieldContextRegistryService);
|
|
2197
2212
|
const cacheService = inject(LogicFunctionCacheService);
|
|
2213
|
+
const cacheable = !expression || !containsInlineFunction(expression);
|
|
2198
2214
|
const cacheKey = stableStringify(expression);
|
|
2215
|
+
if (cacheable) {
|
|
2199
2216
|
const cached = cacheService.logicFunctionCache.get(cacheKey);
|
|
2200
|
-
|
|
2201
|
-
|
|
2217
|
+
if (cached) {
|
|
2218
|
+
return cached;
|
|
2219
|
+
}
|
|
2202
2220
|
}
|
|
2203
2221
|
const fn = (ctx) => {
|
|
2204
2222
|
const evaluationContext = fieldContextRegistry.createReactiveEvaluationContext(ctx, functionRegistry.getCustomFunctions());
|
|
2205
2223
|
return evaluateCondition(expression, evaluationContext);
|
|
2206
2224
|
};
|
|
2225
|
+
if (cacheable) {
|
|
2207
2226
|
cacheService.logicFunctionCache.set(cacheKey, fn);
|
|
2227
|
+
}
|
|
2208
2228
|
return fn;
|
|
2209
2229
|
}
|
|
2210
2230
|
function createDebouncedLogicFunction(expression, debounceMs) {
|
|
@@ -2221,10 +2241,13 @@ function createDebouncedLogicFunction(expression, debounceMs) {
|
|
|
2221
2241
|
const fieldContextRegistry = inject(FieldContextRegistryService);
|
|
2222
2242
|
const injector = inject(Injector);
|
|
2223
2243
|
const cacheService = inject(LogicFunctionCacheService);
|
|
2244
|
+
const cacheable = !expression || !containsInlineFunction(expression);
|
|
2224
2245
|
const cacheKey = `${stableStringify(expression)}:${debounceMs}`;
|
|
2246
|
+
if (cacheable) {
|
|
2225
2247
|
const cached = cacheService.debouncedLogicFunctionCache.get(cacheKey);
|
|
2226
|
-
|
|
2227
|
-
|
|
2248
|
+
if (cached) {
|
|
2249
|
+
return cached;
|
|
2250
|
+
}
|
|
2228
2251
|
}
|
|
2229
2252
|
const fn = (ctx) => {
|
|
2230
2253
|
const contextKey = safeReadPathKeys(ctx).join('.');
|
|
@@ -2249,7 +2272,9 @@ function createDebouncedLogicFunction(expression, debounceMs) {
|
|
|
2249
2272
|
});
|
|
2250
2273
|
return debouncedValue() ?? false;
|
|
2251
2274
|
};
|
|
2275
|
+
if (cacheable) {
|
|
2252
2276
|
cacheService.debouncedLogicFunctionCache.set(cacheKey, fn);
|
|
2277
|
+
}
|
|
2253
2278
|
return fn;
|
|
2254
2279
|
}
|
|
2255
2280
|
|
|
@@ -2328,7 +2353,10 @@ function evaluateLogicCondition(condition, ctx) {
|
|
|
2328
2353
|
if (isFormStateCondition(condition)) {
|
|
2329
2354
|
return evaluateFormStateCondition(condition, ctx);
|
|
2330
2355
|
}
|
|
2331
|
-
|
|
2356
|
+
if (ctx.evaluationContext) {
|
|
2357
|
+
return evaluateCondition(condition, ctx.evaluationContext());
|
|
2358
|
+
}
|
|
2359
|
+
const formValue = (ctx.formValue ?? ctx.form().value());
|
|
2332
2360
|
const evaluationContext = {
|
|
2333
2361
|
fieldValue: undefined,
|
|
2334
2362
|
formValue,
|
|
@@ -2356,6 +2384,7 @@ function evaluateLogicOfType(fieldLogic, logicType, ctx) {
|
|
|
2356
2384
|
const buttonCtx = {
|
|
2357
2385
|
form: ctx.form,
|
|
2358
2386
|
formValue: ctx.formValue,
|
|
2387
|
+
evaluationContext: ctx.evaluationContext,
|
|
2359
2388
|
logger: ctx.logger,
|
|
2360
2389
|
};
|
|
2361
2390
|
return fieldLogic.filter((logic) => logic.type === logicType).some((logic) => evaluateLogicCondition(logic.condition, buttonCtx));
|
|
@@ -2412,6 +2441,7 @@ function evaluateNonFieldHidden(ctx) {
|
|
|
2412
2441
|
return evaluateLogicOfType(ctx.fieldLogic, 'hidden', {
|
|
2413
2442
|
form: ctx.form,
|
|
2414
2443
|
formValue: ctx.formValue,
|
|
2444
|
+
evaluationContext: ctx.evaluationContext,
|
|
2415
2445
|
logger: ctx.logger,
|
|
2416
2446
|
});
|
|
2417
2447
|
}
|
|
@@ -2428,6 +2458,7 @@ function evaluateNonFieldDisabled(ctx) {
|
|
|
2428
2458
|
return evaluateLogicOfType(ctx.fieldLogic, 'disabled', {
|
|
2429
2459
|
form: ctx.form,
|
|
2430
2460
|
formValue: ctx.formValue,
|
|
2461
|
+
evaluationContext: ctx.evaluationContext,
|
|
2431
2462
|
logger: ctx.logger,
|
|
2432
2463
|
});
|
|
2433
2464
|
}
|
|
@@ -2436,6 +2467,17 @@ function evaluateNonFieldDisabled(ctx) {
|
|
|
2436
2467
|
function resolveNonFieldDisabled(ctx) {
|
|
2437
2468
|
return computed(() => evaluateNonFieldDisabled(ctx));
|
|
2438
2469
|
}
|
|
2470
|
+
function injectNonFieldEvaluationContext(fieldDef, options = {}) {
|
|
2471
|
+
const fieldContextRegistry = inject(FieldContextRegistryService);
|
|
2472
|
+
const functionRegistry = inject(FunctionRegistryService);
|
|
2473
|
+
const arrayContext = options.scopeToArrayItem ? inject(ARRAY_CONTEXT, { optional: true }) : null;
|
|
2474
|
+
return () => {
|
|
2475
|
+
const arrayScope = arrayContext
|
|
2476
|
+
? { arrayKey: arrayContext.arrayKey, index: arrayContext.index(), localKey: fieldDef.key ?? '' }
|
|
2477
|
+
: undefined;
|
|
2478
|
+
return fieldContextRegistry.createDisplayOnlyContext(fieldDef.key ?? '', functionRegistry.getCustomFunctions(), arrayScope);
|
|
2479
|
+
};
|
|
2480
|
+
}
|
|
2439
2481
|
|
|
2440
2482
|
function isFunctionHttpValidator(config) {
|
|
2441
2483
|
const c = config;
|
|
@@ -2989,7 +3031,7 @@ function buildClassName(fieldDef) {
|
|
|
2989
3031
|
return classes.length > 0 ? classes.join(' ') : undefined;
|
|
2990
3032
|
}
|
|
2991
3033
|
|
|
2992
|
-
function applyHiddenLogic(inputs, fieldDef, rootFormRegistry) {
|
|
3034
|
+
function applyHiddenLogic(inputs, fieldDef, rootFormRegistry, evaluationContext) {
|
|
2993
3035
|
const rootForm = rootFormRegistry.rootForm();
|
|
2994
3036
|
if (rootForm && (fieldDef.hidden === true || fieldDef.logic?.some((l) => l.type === 'hidden'))) {
|
|
2995
3037
|
inputs['hidden'] = evaluateNonFieldHidden({
|
|
@@ -2997,12 +3039,14 @@ function applyHiddenLogic(inputs, fieldDef, rootFormRegistry) {
|
|
|
2997
3039
|
fieldLogic: fieldDef.logic,
|
|
2998
3040
|
explicitValue: fieldDef.hidden,
|
|
2999
3041
|
formValue: rootFormRegistry.formValue(),
|
|
3042
|
+
evaluationContext,
|
|
3000
3043
|
});
|
|
3001
3044
|
}
|
|
3002
3045
|
}
|
|
3003
3046
|
|
|
3004
3047
|
function arrayFieldMapper(fieldDef) {
|
|
3005
3048
|
const rootFormRegistry = inject(RootFormRegistryService);
|
|
3049
|
+
const evaluationContext = injectNonFieldEvaluationContext(fieldDef, { scopeToArrayItem: true });
|
|
3006
3050
|
const className = buildClassName(fieldDef);
|
|
3007
3051
|
return computed(() => {
|
|
3008
3052
|
const inputs = {
|
|
@@ -3010,7 +3054,7 @@ function arrayFieldMapper(fieldDef) {
|
|
|
3010
3054
|
field: fieldDef,
|
|
3011
3055
|
...(className !== undefined && { className }),
|
|
3012
3056
|
};
|
|
3013
|
-
applyHiddenLogic(inputs, fieldDef, rootFormRegistry);
|
|
3057
|
+
applyHiddenLogic(inputs, fieldDef, rootFormRegistry, evaluationContext);
|
|
3014
3058
|
return inputs;
|
|
3015
3059
|
});
|
|
3016
3060
|
}
|
|
@@ -3055,6 +3099,7 @@ function baseFieldMapper(fieldDef) {
|
|
|
3055
3099
|
|
|
3056
3100
|
function containerFieldMapper(fieldDef) {
|
|
3057
3101
|
const rootFormRegistry = inject(RootFormRegistryService);
|
|
3102
|
+
const evaluationContext = injectNonFieldEvaluationContext(fieldDef, { scopeToArrayItem: true });
|
|
3058
3103
|
const className = buildClassName(fieldDef);
|
|
3059
3104
|
return computed(() => {
|
|
3060
3105
|
const containerField = { ...fieldDef, wrappers: undefined, skipAutoWrappers: undefined, skipDefaultWrappers: undefined };
|
|
@@ -3063,13 +3108,14 @@ function containerFieldMapper(fieldDef) {
|
|
|
3063
3108
|
field: containerField,
|
|
3064
3109
|
...(className !== undefined && { className }),
|
|
3065
3110
|
};
|
|
3066
|
-
applyHiddenLogic(inputs, fieldDef, rootFormRegistry);
|
|
3111
|
+
applyHiddenLogic(inputs, fieldDef, rootFormRegistry, evaluationContext);
|
|
3067
3112
|
return inputs;
|
|
3068
3113
|
});
|
|
3069
3114
|
}
|
|
3070
3115
|
|
|
3071
3116
|
function groupFieldMapper(fieldDef) {
|
|
3072
3117
|
const rootFormRegistry = inject(RootFormRegistryService);
|
|
3118
|
+
const evaluationContext = injectNonFieldEvaluationContext(fieldDef, { scopeToArrayItem: true });
|
|
3073
3119
|
const className = buildClassName(fieldDef);
|
|
3074
3120
|
return computed(() => {
|
|
3075
3121
|
const inputs = {
|
|
@@ -3077,7 +3123,7 @@ function groupFieldMapper(fieldDef) {
|
|
|
3077
3123
|
field: fieldDef,
|
|
3078
3124
|
...(className !== undefined && { className }),
|
|
3079
3125
|
};
|
|
3080
|
-
applyHiddenLogic(inputs, fieldDef, rootFormRegistry);
|
|
3126
|
+
applyHiddenLogic(inputs, fieldDef, rootFormRegistry, evaluationContext);
|
|
3081
3127
|
return inputs;
|
|
3082
3128
|
});
|
|
3083
3129
|
}
|
|
@@ -3085,6 +3131,7 @@ function groupFieldMapper(fieldDef) {
|
|
|
3085
3131
|
const ROW_WRAPPERS = [{ type: 'row' }];
|
|
3086
3132
|
function rowFieldMapper(fieldDef) {
|
|
3087
3133
|
const rootFormRegistry = inject(RootFormRegistryService);
|
|
3134
|
+
const evaluationContext = injectNonFieldEvaluationContext(fieldDef, { scopeToArrayItem: true });
|
|
3088
3135
|
const className = buildClassName(fieldDef);
|
|
3089
3136
|
return computed(() => {
|
|
3090
3137
|
const containerField = { ...fieldDef, type: 'container', wrappers: ROW_WRAPPERS };
|
|
@@ -3093,7 +3140,7 @@ function rowFieldMapper(fieldDef) {
|
|
|
3093
3140
|
field: containerField,
|
|
3094
3141
|
...(className !== undefined && { className }),
|
|
3095
3142
|
};
|
|
3096
|
-
applyHiddenLogic(inputs, fieldDef, rootFormRegistry);
|
|
3143
|
+
applyHiddenLogic(inputs, fieldDef, rootFormRegistry, evaluationContext);
|
|
3097
3144
|
return inputs;
|
|
3098
3145
|
});
|
|
3099
3146
|
}
|
|
@@ -3109,11 +3156,12 @@ function pageFieldMapper(fieldDef) {
|
|
|
3109
3156
|
|
|
3110
3157
|
function textFieldMapper(fieldDef) {
|
|
3111
3158
|
const rootFormRegistry = inject(RootFormRegistryService);
|
|
3159
|
+
const evaluationContext = injectNonFieldEvaluationContext(fieldDef, { scopeToArrayItem: true });
|
|
3112
3160
|
const defaultProps = inject(DEFAULT_PROPS);
|
|
3113
3161
|
return computed(() => {
|
|
3114
3162
|
const baseInputs = buildBaseInputs(fieldDef, defaultProps());
|
|
3115
3163
|
const inputs = { ...baseInputs };
|
|
3116
|
-
applyHiddenLogic(inputs, fieldDef, rootFormRegistry);
|
|
3164
|
+
applyHiddenLogic(inputs, fieldDef, rootFormRegistry, evaluationContext);
|
|
3117
3165
|
return inputs;
|
|
3118
3166
|
});
|
|
3119
3167
|
}
|
|
@@ -3261,16 +3309,23 @@ function isDisplayOnlyField(field) {
|
|
|
3261
3309
|
}
|
|
3262
3310
|
|
|
3263
3311
|
|
|
3312
|
+
function dynamicTextToObservable(value, injector) {
|
|
3313
|
+
if (value === undefined) {
|
|
3314
|
+
return of('');
|
|
3315
|
+
}
|
|
3316
|
+
if (isObservable(value)) {
|
|
3317
|
+
return value;
|
|
3318
|
+
}
|
|
3319
|
+
if (isSignal(value)) {
|
|
3320
|
+
return untracked(() => toObservable(value, { injector }));
|
|
3321
|
+
}
|
|
3322
|
+
return of(String(value));
|
|
3323
|
+
}
|
|
3324
|
+
|
|
3264
3325
|
class DynamicTextPipe {
|
|
3265
3326
|
injector = inject(Injector);
|
|
3266
3327
|
transform(value) {
|
|
3267
|
-
|
|
3268
|
-
return value;
|
|
3269
|
-
}
|
|
3270
|
-
if (isSignal(value)) {
|
|
3271
|
-
return toObservable(value, { injector: this.injector });
|
|
3272
|
-
}
|
|
3273
|
-
return of(value || '');
|
|
3328
|
+
return dynamicTextToObservable(value ?? undefined, this.injector);
|
|
3274
3329
|
}
|
|
3275
3330
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DynamicTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3276
3331
|
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: DynamicTextPipe, isStandalone: true, name: "dynamicText" });
|
|
@@ -3300,19 +3355,6 @@ function applyMetaToElement(element, meta, previouslyApplied) {
|
|
|
3300
3355
|
return newApplied;
|
|
3301
3356
|
}
|
|
3302
3357
|
|
|
3303
|
-
function dynamicTextToObservable(value, injector) {
|
|
3304
|
-
if (value === undefined) {
|
|
3305
|
-
return of('');
|
|
3306
|
-
}
|
|
3307
|
-
if (isObservable(value)) {
|
|
3308
|
-
return value;
|
|
3309
|
-
}
|
|
3310
|
-
if (isSignal(value)) {
|
|
3311
|
-
return toObservable(value, { injector });
|
|
3312
|
-
}
|
|
3313
|
-
return of(String(value));
|
|
3314
|
-
}
|
|
3315
|
-
|
|
3316
3358
|
const INITIALIZATION_TIMEOUT_MS = new InjectionToken('INITIALIZATION_TIMEOUT_MS', {
|
|
3317
3359
|
providedIn: 'root',
|
|
3318
3360
|
factory: () => 10_000,
|
|
@@ -3605,5 +3647,5 @@ function createWarningTracker() {
|
|
|
3605
3647
|
|
|
3606
3648
|
|
|
3607
3649
|
|
|
3608
|
-
export { ADDON_ACTION_HANDLERS, ADDON_ACTION_REGISTRY, ADDON_TYPE_COMPONENT_CACHE, ADDON_TYPE_DEFINITIONS, ADDON_TYPE_REGISTRY, ARRAY_CONTEXT, AsyncConditionFunctionCacheService, ComponentInitializedEvent, DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES, DEFAULT_WRAPPERS, DEPRECATION_WARNING_TRACKER, DF_FIELD_TEMPLATES, DfAddonSlot, DynamicFormError, DynamicFormLogger, DynamicTextPipe, DynamicValueFunctionCacheService, EMIT_FORM_VALUE_ON_EVENTS, EXTERNAL_DATA, EventBus, ExpressionParser, ExpressionParserError, FIELD_REGISTRY, FIELD_SIGNAL_CONTEXT, FORM_ID_PREFIX, FORM_OPTIONS, FieldContextRegistryService, FunctionRegistryService, GROUP_CONTEXT, HTTP_CONDITION_CACHE, HttpConditionCache, HttpConditionFunctionCacheService, INITIALIZATION_TIMEOUT_MS, LogicFunctionCacheService, NoopLogger, READONLY_FIELD_TREE_CACHE, RootFormRegistryService, TokenType, WRAPPER_AUTO_ASSOCIATIONS, WRAPPER_COMPONENT_CACHE, WRAPPER_REGISTRY, applyMetaToElement, applyValidator, applyValidators, arrayFieldMapper, assertNever, baseFieldMapper, buildBaseInputs, compareValues, containerFieldMapper, createAddonActionRegistry, createDebouncedLogicFunction, createDefaultDerivationLogConfig, createDynamicValueFunction, createFormFieldStateMap, createInitializationTracker, createLogicFunction, createWarningTracker, deepMergeDefaults, derivedFromDeferred, detectFormMode, dynamicTextToObservable, evaluateCondition, evaluateNonFieldDisabled, evaluateNonFieldHidden, extractExpressionDependencies, extractStringDependencies, getArrayLength, getChangedKeys, getFieldValueHandling, getNestedValue, groupFieldMapper, hasChildFields, hasCrossFieldWhenCondition, hasFormValue, hasNestedProperty, hasTargetProperty, injectAddonTypeRegistry, injectFieldSignalContext, injectFieldsSupportingAddons, interpolateParams, isArrayField, isCheckedField, isContainerField, isCrossFieldBuiltInValidator, isCrossFieldExpression, isCrossFieldSchema, isCrossFieldStateLogic, isCrossFieldValidator, isDerivationLogicConfig, isDisplayOnlyField, isEqual, isFieldBoundContext, isFormStateCondition, isFunctionHttpValidator, isGenericContainerField, isGroupField, isHiddenField, isLeafField, isNonPagedForm, isPageField, isPagedForm, isResourceBasedValidator, isRowField, isSimplifiedArrayField, isStateLogicConfig, isValidNonPagedForm, isValidPagedForm, isValueBearingField, isValueField, isWrapperTypeDefinition, keyBy, mapValues, memoize, normalizeFieldsArray, omit, pageFieldMapper, readFieldStateInfo, resolveDynamicValue, resolveHttpRequest, resolveNextButtonDisabled, resolveNonFieldDisabled, resolveNonFieldHidden, resolveSubmitButtonDisabled, resolveTokens, rowFieldMapper, runPresetAction, setupInitializationTracking, shouldLog, textFieldMapper, toReadonlyFieldTree, toReadonlyFieldTreeCached, validatePageNesting, withPreviousValue, writeToFieldValue };
|
|
3650
|
+
export { ADDON_ACTION_HANDLERS, ADDON_ACTION_REGISTRY, ADDON_TYPE_COMPONENT_CACHE, ADDON_TYPE_DEFINITIONS, ADDON_TYPE_REGISTRY, ARRAY_CONTEXT, AsyncConditionFunctionCacheService, ComponentInitializedEvent, DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES, DEFAULT_WRAPPERS, DEPRECATION_WARNING_TRACKER, DF_FIELD_TEMPLATES, DfAddonSlot, DynamicFormError, DynamicFormLogger, DynamicTextPipe, DynamicValueFunctionCacheService, EMIT_FORM_VALUE_ON_EVENTS, EXTERNAL_DATA, EventBus, ExpressionParser, ExpressionParserError, FIELD_REGISTRY, FIELD_SIGNAL_CONTEXT, FORM_ID_PREFIX, FORM_OPTIONS, FieldContextRegistryService, FunctionRegistryService, GROUP_CONTEXT, HTTP_CONDITION_CACHE, HttpConditionCache, HttpConditionFunctionCacheService, INITIALIZATION_TIMEOUT_MS, LogicFunctionCacheService, NoopLogger, READONLY_FIELD_TREE_CACHE, RootFormRegistryService, TokenType, WRAPPER_AUTO_ASSOCIATIONS, WRAPPER_COMPONENT_CACHE, WRAPPER_REGISTRY, applyMetaToElement, applyValidator, applyValidators, arrayFieldMapper, assertNever, baseFieldMapper, buildBaseInputs, compareValues, containerFieldMapper, createAddonActionRegistry, createDebouncedLogicFunction, createDefaultDerivationLogConfig, createDynamicValueFunction, createFormFieldStateMap, createInitializationTracker, createLogicFunction, createWarningTracker, deepMergeDefaults, derivedFromDeferred, detectFormMode, dynamicTextToObservable, evaluateCondition, evaluateNonFieldDisabled, evaluateNonFieldHidden, extractExpressionDependencies, extractStringDependencies, getArrayLength, getChangedKeys, getFieldValueHandling, getNestedValue, groupFieldMapper, hasChildFields, hasCrossFieldWhenCondition, hasFormValue, hasNestedProperty, hasTargetProperty, injectAddonTypeRegistry, injectFieldSignalContext, injectFieldsSupportingAddons, injectNonFieldEvaluationContext, interpolateParams, isArrayField, isCheckedField, isContainerField, isCrossFieldBuiltInValidator, isCrossFieldExpression, isCrossFieldSchema, isCrossFieldStateLogic, isCrossFieldValidator, isDerivationLogicConfig, isDisplayOnlyField, isEqual, isFieldBoundContext, isFormStateCondition, isFunctionHttpValidator, isGenericContainerField, isGroupField, isHiddenField, isLeafField, isNonPagedForm, isPageField, isPagedForm, isResourceBasedValidator, isRowField, isSimplifiedArrayField, isStateLogicConfig, isValidNonPagedForm, isValidPagedForm, isValueBearingField, isValueField, isWrapperTypeDefinition, keyBy, mapValues, memoize, normalizeFieldsArray, omit, pageFieldMapper, readFieldStateInfo, resolveDynamicValue, resolveHttpRequest, resolveNextButtonDisabled, resolveNonFieldDisabled, resolveNonFieldHidden, resolveSubmitButtonDisabled, resolveTokens, rowFieldMapper, runPresetAction, setupInitializationTracking, shouldLog, textFieldMapper, toReadonlyFieldTree, toReadonlyFieldTreeCached, validatePageNesting, withPreviousValue, writeToFieldValue };
|
|
3609
3651
|
//# sourceMappingURL=ng-forge-dynamic-forms-internal.mjs.map
|