@ng-forge/dynamic-forms 1.1.0-next.4 → 1.1.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/fesm2022/{ng-forge-dynamic-forms-array-field.component-DCHrAcfd.mjs → ng-forge-dynamic-forms-array-field.component-CvjDqYyq.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-array-field.component-DCHrAcfd.mjs.map → ng-forge-dynamic-forms-array-field.component-CvjDqYyq.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-DWIWQjjZ.mjs → ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CcoUnroD.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-DWIWQjjZ.mjs.map → ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CcoUnroD.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-container-field.component-CSYhRBe6.mjs → ng-forge-dynamic-forms-container-field.component-DZfVWjiM.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-container-field.component-CSYhRBe6.mjs.map → ng-forge-dynamic-forms-container-field.component-DZfVWjiM.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-group-field.component-DqhHzVsN.mjs → ng-forge-dynamic-forms-group-field.component-CPFgu3pM.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-group-field.component-DqhHzVsN.mjs.map → ng-forge-dynamic-forms-group-field.component-CPFgu3pM.mjs.map} +1 -1
- package/fesm2022/ng-forge-dynamic-forms-internal.mjs +32 -11
- package/fesm2022/ng-forge-dynamic-forms-internal.mjs.map +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-ng-forge-dynamic-forms-BYyZ_cuA.mjs → ng-forge-dynamic-forms-ng-forge-dynamic-forms-Du3V5AOb.mjs} +22 -11
- package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-Du3V5AOb.mjs.map +1 -0
- package/fesm2022/{ng-forge-dynamic-forms-page-field.component-Vvk3fYZp.mjs → ng-forge-dynamic-forms-page-field.component-amWhCdHL.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-page-field.component-Vvk3fYZp.mjs.map → ng-forge-dynamic-forms-page-field.component-amWhCdHL.mjs.map} +1 -1
- package/fesm2022/ng-forge-dynamic-forms.mjs +1 -1
- package/package.json +1 -1
- package/types/ng-forge-dynamic-forms-internal.d.ts +7 -1
- package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-BYyZ_cuA.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { reflectComponentType, Injector, inject, EnvironmentInjector, DestroyRef, computed, signal, input, ViewContainerRef, Directive, linkedSignal, ChangeDetectionStrategy, Component, Injectable, InjectionToken, isSignal, runInInjectionContext, afterNextRender, untracked, PendingTasks, ElementRef, PLATFORM_ID, isDevMode, TemplateRef, model, contentChildren, makeEnvironmentProviders } from '@angular/core';
|
|
3
3
|
import { explicitEffect } from 'ngxtension/explicit-effect';
|
|
4
|
-
import { DynamicFormLogger, WRAPPER_COMPONENT_CACHE, WRAPPER_REGISTRY, toReadonlyFieldTreeCached, writeToFieldValue, WRAPPER_AUTO_ASSOCIATIONS, DEFAULT_WRAPPERS, READONLY_FIELD_TREE_CACHE, getGridClassString, EventBus, FieldContextRegistryService, FunctionRegistryService, FORM_OPTIONS, evaluateCondition, FIELD_SIGNAL_CONTEXT, isRowField, isContainerField, isArrayField, hasChildFields, isSimplifiedArrayField, DynamicFormError, isStateLogicConfig, isDerivationLogicConfig, createDebouncedLogicFunction, createLogicFunction, ExpressionParser, requiresTreeValidation, applyValidator, isPageField, isGenericContainerField, isGroupField, getFieldValueHandling, normalizeFieldsArray, getNestedValue, extractStringDependencies, isCrossFieldStateLogic, extractExpressionDependencies, isCrossFieldSchema, keyBy, mapValues, isEqual, hasTargetProperty, ARRAY_CONTEXT, GROUP_CONTEXT, FORM_ID_PREFIX, baseFieldMapper, detectFormMode, validatePageNesting, FIELD_REGISTRY, assertNever, ADDON_TYPE_REGISTRY, deepMergeDefaults, derivedFromDeferred, createWarningTracker, RootFormRegistryService, DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES, EXTERNAL_DATA, DEPRECATION_WARNING_TRACKER, createAddonActionRegistry, ADDON_ACTION_REGISTRY, HttpConditionCache, HTTP_CONDITION_CACHE, HttpConditionFunctionCacheService, AsyncConditionFunctionCacheService, DynamicValueFunctionCacheService, LogicFunctionCacheService, setupInitializationTracking, ComponentInitializedEvent, DF_FIELD_TEMPLATES, rowFieldMapper, groupFieldMapper, arrayFieldMapper, pageFieldMapper, textFieldMapper, containerFieldMapper, isWrapperTypeDefinition, ADDON_TYPE_COMPONENT_CACHE, ADDON_TYPE_DEFINITIONS, createDefaultDerivationLogConfig, NoopLogger, EMIT_FORM_VALUE_ON_EVENTS, DynamicTextPipe, ADDON_ACTION_HANDLERS } from '@ng-forge/dynamic-forms/internal';
|
|
4
|
+
import { DynamicFormLogger, WRAPPER_COMPONENT_CACHE, WRAPPER_REGISTRY, toReadonlyFieldTreeCached, writeToFieldValue, WRAPPER_AUTO_ASSOCIATIONS, DEFAULT_WRAPPERS, READONLY_FIELD_TREE_CACHE, getGridClassString, EventBus, FieldContextRegistryService, FunctionRegistryService, FORM_OPTIONS, evaluateCondition, FIELD_SIGNAL_CONTEXT, isRowField, isContainerField, isArrayField, hasChildFields, isSimplifiedArrayField, DynamicFormError, isStateLogicConfig, isDerivationLogicConfig, isFormStateCondition, createFormStateLogicFunction, createDebouncedLogicFunction, createLogicFunction, ExpressionParser, requiresTreeValidation, applyValidator, isPageField, isGenericContainerField, isGroupField, getFieldValueHandling, normalizeFieldsArray, getNestedValue, extractStringDependencies, isCrossFieldStateLogic, extractExpressionDependencies, isCrossFieldSchema, keyBy, mapValues, isEqual, hasTargetProperty, ARRAY_CONTEXT, GROUP_CONTEXT, FORM_ID_PREFIX, baseFieldMapper, detectFormMode, validatePageNesting, FIELD_REGISTRY, assertNever, ADDON_TYPE_REGISTRY, deepMergeDefaults, derivedFromDeferred, createWarningTracker, RootFormRegistryService, DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES, EXTERNAL_DATA, DEPRECATION_WARNING_TRACKER, createAddonActionRegistry, ADDON_ACTION_REGISTRY, HttpConditionCache, HTTP_CONDITION_CACHE, HttpConditionFunctionCacheService, AsyncConditionFunctionCacheService, DynamicValueFunctionCacheService, LogicFunctionCacheService, setupInitializationTracking, ComponentInitializedEvent, DF_FIELD_TEMPLATES, rowFieldMapper, groupFieldMapper, arrayFieldMapper, pageFieldMapper, textFieldMapper, containerFieldMapper, isWrapperTypeDefinition, ADDON_TYPE_COMPONENT_CACHE, ADDON_TYPE_DEFINITIONS, createDefaultDerivationLogConfig, NoopLogger, EMIT_FORM_VALUE_ON_EVENTS, DynamicTextPipe, ADDON_ACTION_HANDLERS } from '@ng-forge/dynamic-forms/internal';
|
|
5
5
|
import { takeUntilDestroyed, toObservable, toSignal, outputFromObservable } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { of, forkJoin, from, catchError, map, switchMap, isObservable, firstValueFrom, exhaustMap, EMPTY, debounceTime, distinctUntilChanged, tap, pipe, scan, Observable, Subject, concatMap, filter, take } from 'rxjs';
|
|
7
7
|
import { submit, required, disabled, readonly, hidden, applyEach, applyWhenValue, applyWhen, apply, email, minLength, maxLength, pattern, min, max, schema, validateStandardSchema, validateTree, form, provideSignalFormsConfig } from '@angular/forms/signals';
|
|
@@ -832,11 +832,11 @@ class PageOrchestratorComponent {
|
|
|
832
832
|
}
|
|
833
833
|
}
|
|
834
834
|
`, isInline: true, styles: [":host{display:block;position:relative;width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [/* @ts-ignore */
|
|
835
|
-
import('./ng-forge-dynamic-forms-page-field.component-
|
|
836
|
-
import('./ng-forge-dynamic-forms-page-field.component-
|
|
835
|
+
import('./ng-forge-dynamic-forms-page-field.component-amWhCdHL.mjs').then(m => m.default)], () => [/* @ts-ignore */
|
|
836
|
+
import('./ng-forge-dynamic-forms-page-field.component-amWhCdHL.mjs').then(m => m.default)]] });
|
|
837
837
|
}
|
|
838
838
|
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "22.0.1", ngImport: i0, type: PageOrchestratorComponent, resolveDeferredDeps: () => [/* @ts-ignore */
|
|
839
|
-
import('./ng-forge-dynamic-forms-page-field.component-
|
|
839
|
+
import('./ng-forge-dynamic-forms-page-field.component-amWhCdHL.mjs').then(m => m.default)], resolveMetadata: PageFieldComponent => ({ decorators: [{
|
|
840
840
|
type: Component,
|
|
841
841
|
args: [{ selector: 'div[page-orchestrator]', imports: [PageFieldComponent], template: `
|
|
842
842
|
@for (pageField of pageFields(); track pageField.key; let i = $index) {
|
|
@@ -1171,6 +1171,17 @@ function applyLogic(config, fieldPath) {
|
|
|
1171
1171
|
if (typeof config.condition === 'boolean') {
|
|
1172
1172
|
applyLogicFn(config.type, path, () => config.condition);
|
|
1173
1173
|
return;
|
|
1174
|
+
}
|
|
1175
|
+
if (isFormStateCondition(config.condition)) {
|
|
1176
|
+
if (config.condition === 'formInvalid' || config.condition === 'pageInvalid') {
|
|
1177
|
+
const reason = config.condition === 'formInvalid'
|
|
1178
|
+
? `it would create a validation cycle against the form's own validity`
|
|
1179
|
+
: `a value field has no page context for it to resolve against`;
|
|
1180
|
+
throw new DynamicFormError(`The '${config.condition}' form-state condition is not supported on value-field logic because ${reason}. ` +
|
|
1181
|
+
`Use 'formSubmitting', or apply this condition to a button or container instead.`);
|
|
1182
|
+
}
|
|
1183
|
+
applyLogicFn(config.type, path, createFormStateLogicFunction(config.condition));
|
|
1184
|
+
return;
|
|
1174
1185
|
}
|
|
1175
1186
|
const logicFn = trigger === 'debounced'
|
|
1176
1187
|
? createDebouncedLogicFunction(config.condition, debounceMs)
|
|
@@ -4094,7 +4105,7 @@ function createDerivationRenderGate() {
|
|
|
4094
4105
|
if (!has || engine() !== 'idle')
|
|
4095
4106
|
return;
|
|
4096
4107
|
engine.set('loading');
|
|
4097
|
-
pendingTasks.run(() => import('./ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-
|
|
4108
|
+
pendingTasks.run(() => import('./ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CcoUnroD.mjs')
|
|
4098
4109
|
.then(({ bootstrapDerivationOrchestrator }) => {
|
|
4099
4110
|
runInInjectionContext(injector, () => bootstrapDerivationOrchestrator());
|
|
4100
4111
|
engine.set('wired');
|
|
@@ -4593,28 +4604,28 @@ const DISPLAY_FIELD_TYPES_BASE = {
|
|
|
4593
4604
|
const BUILT_IN_FIELDS = [
|
|
4594
4605
|
{
|
|
4595
4606
|
name: 'row',
|
|
4596
|
-
loadComponent: () => import('./ng-forge-dynamic-forms-container-field.component-
|
|
4607
|
+
loadComponent: () => import('./ng-forge-dynamic-forms-container-field.component-DZfVWjiM.mjs'),
|
|
4597
4608
|
mapper: rowFieldMapper,
|
|
4598
4609
|
valueHandling: 'flatten',
|
|
4599
4610
|
...CONTAINER_FIELD_TYPES_BASE,
|
|
4600
4611
|
},
|
|
4601
4612
|
{
|
|
4602
4613
|
name: 'group',
|
|
4603
|
-
loadComponent: () => import('./ng-forge-dynamic-forms-group-field.component-
|
|
4614
|
+
loadComponent: () => import('./ng-forge-dynamic-forms-group-field.component-CPFgu3pM.mjs'),
|
|
4604
4615
|
mapper: groupFieldMapper,
|
|
4605
4616
|
valueHandling: 'include',
|
|
4606
4617
|
...CONTAINER_FIELD_TYPES_BASE,
|
|
4607
4618
|
},
|
|
4608
4619
|
{
|
|
4609
4620
|
name: 'array',
|
|
4610
|
-
loadComponent: () => import('./ng-forge-dynamic-forms-array-field.component-
|
|
4621
|
+
loadComponent: () => import('./ng-forge-dynamic-forms-array-field.component-CvjDqYyq.mjs'),
|
|
4611
4622
|
mapper: arrayFieldMapper,
|
|
4612
4623
|
valueHandling: 'include',
|
|
4613
4624
|
...CONTAINER_FIELD_TYPES_BASE,
|
|
4614
4625
|
},
|
|
4615
4626
|
{
|
|
4616
4627
|
name: 'page',
|
|
4617
|
-
loadComponent: () => import('./ng-forge-dynamic-forms-page-field.component-
|
|
4628
|
+
loadComponent: () => import('./ng-forge-dynamic-forms-page-field.component-amWhCdHL.mjs'),
|
|
4618
4629
|
mapper: pageFieldMapper,
|
|
4619
4630
|
valueHandling: 'flatten',
|
|
4620
4631
|
...CONTAINER_FIELD_TYPES_BASE,
|
|
@@ -4632,7 +4643,7 @@ const BUILT_IN_FIELDS = [
|
|
|
4632
4643
|
},
|
|
4633
4644
|
{
|
|
4634
4645
|
name: 'container',
|
|
4635
|
-
loadComponent: () => import('./ng-forge-dynamic-forms-container-field.component-
|
|
4646
|
+
loadComponent: () => import('./ng-forge-dynamic-forms-container-field.component-DZfVWjiM.mjs'),
|
|
4636
4647
|
mapper: containerFieldMapper,
|
|
4637
4648
|
valueHandling: 'flatten',
|
|
4638
4649
|
...CONTAINER_FIELD_TYPES_BASE,
|
|
@@ -5036,4 +5047,4 @@ function arrayEvent(arrayKey) {
|
|
|
5036
5047
|
|
|
5037
5048
|
|
|
5038
5049
|
export { withValueExclusionDefaults as $, ArrayItemRegistryService as A, BUILT_IN_FIELDS as B, CONTAINER_FIELD_PROCESSORS as C, DfFieldOutlet as D, EventDispatcher as E, FormStateManager as F, PrependArrayItemEvent as G, PreviousPageEvent as H, InsertArrayItemEvent as I, TextAddonComponent as J, arrayEvent as K, createWrappers as L, MoveArrayItemEvent as M, NextPageEvent as N, isWrappersBundle as O, PROPERTY_OVERRIDE_STORE as P, provideDynamicForm as Q, RemoveAtIndexEvent as R, ShiftArrayItemEvent as S, TemplateAddonComponent as T, sanitizeFormConfig as U, withAddonActions as V, withCustomAddon as W, withEventFormValue as X, withLegacyStatusClasses as Y, withLoggerConfig as Z, withValidationExecutionDefaults as _, isSameWrapperChain as a, wrapperProps as a0, createWrapperChainController as b, createFieldResolutionPipe as c, createSchemaFromFields as d, createHiddenSignal as e, createRenderReadySignal as f, getNormalizedArrayMetadata as g, getFieldDefaultValue as h, injectFieldRegistry as i, DEV_MODE as j, DEFAULT_DEBOUNCE_MS as k, DERIVATION_WARNING_TRACKER as l, mapFieldToInputs as m, DERIVATION_LOG_CONFIG as n, AppendArrayItemEvent as o, ComponentAddonComponent as p, ConsoleLogger as q, resolveWrappers as r, DfTemplate as s, traverseFieldsWithContext as t, DynamicForm as u, FormClearEvent as v, FormResetEvent as w, FormSubmitEvent as x, PageChangeEvent as y, PopArrayItemEvent as z };
|
|
5039
|
-
//# sourceMappingURL=ng-forge-dynamic-forms-ng-forge-dynamic-forms-
|
|
5050
|
+
//# sourceMappingURL=ng-forge-dynamic-forms-ng-forge-dynamic-forms-Du3V5AOb.mjs.map
|