@astroapps/forms-core 1.1.0 → 1.2.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/lib/formState.d.ts +1 -0
- package/lib/index.cjs +29 -11
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +26 -12
- package/lib/index.js.map +1 -1
- package/lib/schemaBuilder.d.ts +1 -0
- package/package.json +1 -1
- package/src/formState.ts +36 -30
- package/src/schemaBuilder.ts +11 -0
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, {
|
|
@@ -1403,15 +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
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
}, displayOverrides);
|
|
1411
|
-
createScopedEffect(c => {
|
|
1412
|
-
const htmlDisplay = isDisplayControl(def) && isHtmlDisplay(def.displayData) ? def.displayData : undefined;
|
|
1413
|
-
evalExpr(c, htmlDisplay == null ? void 0 : htmlDisplay.html, df.html, htmlDisplay && firstExpr(formNode, DynamicPropertyType.Display), coerceString);
|
|
1414
|
-
}, displayOverrides);
|
|
1409
|
+
const {
|
|
1410
|
+
text,
|
|
1411
|
+
html
|
|
1412
|
+
} = displayOverrides.fields;
|
|
1415
1413
|
updateComputedValue(of.displayData, () => isDisplayControl(def) ? createOverrideProxy(def.displayData, displayOverrides) : undefined);
|
|
1416
1414
|
createScopedEffect(c => {
|
|
1417
1415
|
evalExpr(c, def.hidden, of.hidden, firstExpr(formNode, DynamicPropertyType.Visible), r => !r);
|
|
@@ -1451,11 +1449,13 @@ function createFormState(schemaInterface, evaluators = defaultEvaluators) {
|
|
|
1451
1449
|
layoutStyle,
|
|
1452
1450
|
allowedOptions,
|
|
1453
1451
|
disabled,
|
|
1454
|
-
variables
|
|
1452
|
+
variables,
|
|
1453
|
+
display
|
|
1455
1454
|
} = control.fields;
|
|
1456
1455
|
createScopedEffect(c => evalExpr(c, undefined, style, firstExpr(formNode, DynamicPropertyType.Style), coerceStyle), scope);
|
|
1457
1456
|
createScopedEffect(c => evalExpr(c, undefined, layoutStyle, firstExpr(formNode, DynamicPropertyType.LayoutStyle), coerceStyle), scope);
|
|
1458
1457
|
createScopedEffect(c => evalExpr(c, undefined, allowedOptions, firstExpr(formNode, DynamicPropertyType.AllowedOptions), x => x), scope);
|
|
1458
|
+
createScopedEffect(c => evalExpr(c, undefined, display, firstExpr(formNode, DynamicPropertyType.Display), coerceString), scope);
|
|
1459
1459
|
updateComputedValue(dataNode, () => lookupDataNode(definition, parent));
|
|
1460
1460
|
updateComputedValue(hidden, () => !!cf.hidden.value || definition.hidden || dataNode.value && (!validDataNode(dataNode.value) || hideDisplayOnly(dataNode.value, schemaInterface, definition)));
|
|
1461
1461
|
updateComputedValue(readonly, () => !!cf.readonly.value || isControlReadonly(definition));
|
|
@@ -1470,6 +1470,17 @@ function createFormState(schemaInterface, evaluators = defaultEvaluators) {
|
|
|
1470
1470
|
dn.control.disabled = disabled.value;
|
|
1471
1471
|
}
|
|
1472
1472
|
}, scope);
|
|
1473
|
+
createSyncEffect(() => {
|
|
1474
|
+
if (isDisplayControl(def)) {
|
|
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
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
}, displayOverrides);
|
|
1473
1484
|
setupValidation(controlImpl, definition, dataNode, schemaInterface, parent, formNode, runAsync);
|
|
1474
1485
|
createSyncEffect(() => {
|
|
1475
1486
|
var _dataNode$value;
|
|
@@ -1543,7 +1554,8 @@ function createOverrideProxy(proxyFor, handlers) {
|
|
|
1543
1554
|
return new Proxy(proxyFor, {
|
|
1544
1555
|
get(target, p, receiver) {
|
|
1545
1556
|
if (Object.hasOwn(overrides, p)) {
|
|
1546
|
-
|
|
1557
|
+
const nv = overrides[p].value;
|
|
1558
|
+
if (nv !== NoOverride) return nv;
|
|
1547
1559
|
}
|
|
1548
1560
|
return Reflect.get(target, p, receiver);
|
|
1549
1561
|
},
|
|
@@ -1562,6 +1574,8 @@ function createOverrideProxy(proxyFor, handlers) {
|
|
|
1562
1574
|
}
|
|
1563
1575
|
});
|
|
1564
1576
|
}
|
|
1577
|
+
class NoValue {}
|
|
1578
|
+
const NoOverride = new NoValue();
|
|
1565
1579
|
|
|
1566
|
-
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 };
|
|
1567
1581
|
//# sourceMappingURL=index.js.map
|