@astroapps/forms-core 1.1.1 → 1.2.1
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/lib/index.cjs +23 -6
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +22 -7
- package/lib/index.js.map +1 -1
- package/lib/schemaBuilder.d.ts +1 -0
- package/lib/validators.d.ts +1 -1
- package/package.json +1 -1
- package/src/formState.ts +18 -5
- package/src/schemaBuilder.ts +11 -0
- package/src/validators.ts +7 -2
package/lib/index.js
CHANGED
|
@@ -617,6 +617,9 @@ function mergeField(field, mergeInto) {
|
|
|
617
617
|
return extras.length ? [...f, ...extras] : f;
|
|
618
618
|
}
|
|
619
619
|
}
|
|
620
|
+
function mergeOption(fields, name, value, fieldName) {
|
|
621
|
+
return fields.map(x => x.field === fieldName ? addFieldOption(x, name, value) : x);
|
|
622
|
+
}
|
|
620
623
|
function mergeFields(fields, name, value, newFields) {
|
|
621
624
|
const withType = fields.map(x => x.isTypeField ? addFieldOption(x, name, value) : x);
|
|
622
625
|
return newFields.map(x => _extends({}, x, {
|
|
@@ -1309,8 +1312,8 @@ function createValidators(def, context) {
|
|
|
1309
1312
|
});
|
|
1310
1313
|
}
|
|
1311
1314
|
}
|
|
1312
|
-
function setupValidation(controlImpl, definition, dataNode, schemaInterface, parent, formNode, runAsync) {
|
|
1313
|
-
const validationEnabled = createScopedComputed(controlImpl, () => !
|
|
1315
|
+
function setupValidation(controlImpl, definition, dataNode, schemaInterface, parent, formNode, hidden, runAsync) {
|
|
1316
|
+
const validationEnabled = createScopedComputed(controlImpl, () => !hidden.value);
|
|
1314
1317
|
const validatorsScope = createCleanupScope();
|
|
1315
1318
|
createEffect(() => {
|
|
1316
1319
|
validatorsScope.cleanup();
|
|
@@ -1403,7 +1406,10 @@ function createFormState(schemaInterface, evaluators = defaultEvaluators) {
|
|
|
1403
1406
|
const def = formNode.definition;
|
|
1404
1407
|
const definition = createOverrideProxy(def, definitionOverrides);
|
|
1405
1408
|
const of = definitionOverrides.fields;
|
|
1406
|
-
const
|
|
1409
|
+
const {
|
|
1410
|
+
text,
|
|
1411
|
+
html
|
|
1412
|
+
} = displayOverrides.fields;
|
|
1407
1413
|
updateComputedValue(of.displayData, () => isDisplayControl(def) ? createOverrideProxy(def.displayData, displayOverrides) : undefined);
|
|
1408
1414
|
createScopedEffect(c => {
|
|
1409
1415
|
evalExpr(c, def.hidden, of.hidden, firstExpr(formNode, DynamicPropertyType.Visible), r => !r);
|
|
@@ -1466,10 +1472,16 @@ function createFormState(schemaInterface, evaluators = defaultEvaluators) {
|
|
|
1466
1472
|
}, scope);
|
|
1467
1473
|
createSyncEffect(() => {
|
|
1468
1474
|
if (isDisplayControl(def)) {
|
|
1469
|
-
if (
|
|
1475
|
+
if (display.value !== undefined) {
|
|
1476
|
+
text.value = isTextDisplay(def.displayData) ? display.value : NoOverride;
|
|
1477
|
+
html.value = isHtmlDisplay(def.displayData) ? display.value : NoOverride;
|
|
1478
|
+
} else {
|
|
1479
|
+
text.value = NoOverride;
|
|
1480
|
+
html.value = NoOverride;
|
|
1481
|
+
}
|
|
1470
1482
|
}
|
|
1471
1483
|
}, displayOverrides);
|
|
1472
|
-
setupValidation(controlImpl, definition, dataNode, schemaInterface, parent, formNode, runAsync);
|
|
1484
|
+
setupValidation(controlImpl, definition, dataNode, schemaInterface, parent, formNode, hidden, runAsync);
|
|
1473
1485
|
createSyncEffect(() => {
|
|
1474
1486
|
var _dataNode$value;
|
|
1475
1487
|
const dn = (_dataNode$value = dataNode.value) == null ? void 0 : _dataNode$value.control;
|
|
@@ -1542,7 +1554,8 @@ function createOverrideProxy(proxyFor, handlers) {
|
|
|
1542
1554
|
return new Proxy(proxyFor, {
|
|
1543
1555
|
get(target, p, receiver) {
|
|
1544
1556
|
if (Object.hasOwn(overrides, p)) {
|
|
1545
|
-
|
|
1557
|
+
const nv = overrides[p].value;
|
|
1558
|
+
if (nv !== NoOverride) return nv;
|
|
1546
1559
|
}
|
|
1547
1560
|
return Reflect.get(target, p, receiver);
|
|
1548
1561
|
},
|
|
@@ -1561,6 +1574,8 @@ function createOverrideProxy(proxyFor, handlers) {
|
|
|
1561
1574
|
}
|
|
1562
1575
|
});
|
|
1563
1576
|
}
|
|
1577
|
+
class NoValue {}
|
|
1578
|
+
const NoOverride = new NoValue();
|
|
1564
1579
|
|
|
1565
|
-
export { ActionStyle, AdornmentPlacement, ControlAdornmentType, ControlDefinitionType, DataRenderType, DateComparison, DefaultSchemaInterface, DisplayDataType, DynamicPropertyType, ExpressionType, FieldType, FormNode, FormTree, GroupRenderType, IconLibrary, IconPlacement, SchemaDataNode, SchemaDataTree, SchemaDataTreeImpl, SchemaNode, SchemaTags, SchemaTree, SyncTextType, ValidationMessageType, ValidatorType, addFieldOption, boolField, buildSchema, compoundField, createControlMap, createFormLookup, createFormState, createFormTree, createOverrideProxy, createSchemaDataNode, createSchemaLookup, createSchemaNode, createSchemaTree, createScoped, createScopedComputed, dateField, dateTimeField, defaultCompoundField, defaultScalarField, defaultSchemaInterface, doubleField, fieldPathForDefinition, findField, fontAwesomeIcon, getControlStateId, getDisplayOnlyOptions, getGroupRendererOptions, getJsonPath, getMetaFields, getRootDataNode, getSchemaFieldList, getSchemaNodePath, getSchemaNodePathString, getSchemaPath, getTagParam, hideDisplayOnly, intField, isActionControl, isArrayRenderer, isAutoCompleteClasses, isAutocompleteRenderer, isCheckEntryClasses, isCompoundField, isCompoundNode, isControlDisabled, isControlDisplayOnly, isControlReadonly, isDataControl, isDataGroupRenderer, isDateTimeRenderer, isDialogRenderer, isDisplayControl, isDisplayOnlyRenderer, isFlexRenderer, isGridRenderer, isGroupControl, isHtmlDisplay, isInlineRenderer, isScalarField, isSelectChildRenderer, isTabsRenderer, isTextDisplay, isTextfieldRenderer, isWizardRenderer, jsonPathString, legacyFormNode, lookupDataNode, makeCompoundField, makeParamTag, makeScalarField, makeSchemaDataNode, mergeField, mergeFields, missingField, relativePath, relativeSegmentPath, resolveSchemaNode, resolveSchemas, schemaDataForFieldPath, schemaDataForFieldRef, schemaForFieldPath, schemaForFieldRef, stringField, stringOptionsField, timeField, traverseData, traverseParents, traverseSchemaPath, validDataNode, visitControlData, visitControlDataArray, visitControlDefinition, visitFormData, visitFormDataInContext, visitFormDataNode, withScalarOptions };
|
|
1580
|
+
export { ActionStyle, AdornmentPlacement, ControlAdornmentType, ControlDefinitionType, DataRenderType, DateComparison, DefaultSchemaInterface, DisplayDataType, DynamicPropertyType, ExpressionType, FieldType, FormNode, FormTree, GroupRenderType, IconLibrary, IconPlacement, SchemaDataNode, SchemaDataTree, SchemaDataTreeImpl, SchemaNode, SchemaTags, SchemaTree, SyncTextType, ValidationMessageType, ValidatorType, addFieldOption, boolField, buildSchema, compoundField, createControlMap, createFormLookup, createFormState, createFormTree, createOverrideProxy, createSchemaDataNode, createSchemaLookup, createSchemaNode, createSchemaTree, createScoped, createScopedComputed, dateField, dateTimeField, defaultCompoundField, defaultScalarField, defaultSchemaInterface, doubleField, fieldPathForDefinition, findField, fontAwesomeIcon, getControlStateId, getDisplayOnlyOptions, getGroupRendererOptions, getJsonPath, getMetaFields, getRootDataNode, getSchemaFieldList, getSchemaNodePath, getSchemaNodePathString, getSchemaPath, getTagParam, hideDisplayOnly, intField, isActionControl, isArrayRenderer, isAutoCompleteClasses, isAutocompleteRenderer, isCheckEntryClasses, isCompoundField, isCompoundNode, isControlDisabled, isControlDisplayOnly, isControlReadonly, isDataControl, isDataGroupRenderer, isDateTimeRenderer, isDialogRenderer, isDisplayControl, isDisplayOnlyRenderer, isFlexRenderer, isGridRenderer, isGroupControl, isHtmlDisplay, isInlineRenderer, isScalarField, isSelectChildRenderer, isTabsRenderer, isTextDisplay, isTextfieldRenderer, isWizardRenderer, jsonPathString, legacyFormNode, lookupDataNode, makeCompoundField, makeParamTag, makeScalarField, makeSchemaDataNode, mergeField, mergeFields, mergeOption, missingField, relativePath, relativeSegmentPath, resolveSchemaNode, resolveSchemas, schemaDataForFieldPath, schemaDataForFieldRef, schemaForFieldPath, schemaForFieldRef, stringField, stringOptionsField, timeField, traverseData, traverseParents, traverseSchemaPath, validDataNode, visitControlData, visitControlDataArray, visitControlDefinition, visitFormData, visitFormDataInContext, visitFormDataNode, withScalarOptions };
|
|
1566
1581
|
//# sourceMappingURL=index.js.map
|