@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/formState.d.ts
CHANGED
package/lib/index.cjs
CHANGED
|
@@ -704,6 +704,11 @@ function mergeField(field, mergeInto) {
|
|
|
704
704
|
return extras.length ? [].concat(f, extras) : f;
|
|
705
705
|
}
|
|
706
706
|
}
|
|
707
|
+
function mergeOption(fields, name, value, fieldName) {
|
|
708
|
+
return fields.map(function (x) {
|
|
709
|
+
return x.field === fieldName ? addFieldOption(x, name, value) : x;
|
|
710
|
+
});
|
|
711
|
+
}
|
|
707
712
|
function mergeFields(fields, name, value, newFields) {
|
|
708
713
|
var withType = fields.map(function (x) {
|
|
709
714
|
return x.isTypeField ? addFieldOption(x, name, value) : x;
|
|
@@ -1561,15 +1566,9 @@ function createFormState(schemaInterface, evaluators) {
|
|
|
1561
1566
|
var def = formNode.definition;
|
|
1562
1567
|
var definition = createOverrideProxy(def, definitionOverrides);
|
|
1563
1568
|
var of = definitionOverrides.fields;
|
|
1564
|
-
var
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
evalExpr(c, textDisplay == null ? void 0 : textDisplay.text, df.text, textDisplay && firstExpr(formNode, exports.DynamicPropertyType.Display), coerceString);
|
|
1568
|
-
}, displayOverrides);
|
|
1569
|
-
controls.createScopedEffect(function (c) {
|
|
1570
|
-
var htmlDisplay = isDisplayControl(def) && isHtmlDisplay(def.displayData) ? def.displayData : undefined;
|
|
1571
|
-
evalExpr(c, htmlDisplay == null ? void 0 : htmlDisplay.html, df.html, htmlDisplay && firstExpr(formNode, exports.DynamicPropertyType.Display), coerceString);
|
|
1572
|
-
}, displayOverrides);
|
|
1569
|
+
var _displayOverrides$fie = displayOverrides.fields,
|
|
1570
|
+
text = _displayOverrides$fie.text,
|
|
1571
|
+
html = _displayOverrides$fie.html;
|
|
1573
1572
|
controls.updateComputedValue(of.displayData, function () {
|
|
1574
1573
|
return isDisplayControl(def) ? createOverrideProxy(def.displayData, displayOverrides) : undefined;
|
|
1575
1574
|
});
|
|
@@ -1621,7 +1620,8 @@ function createFormState(schemaInterface, evaluators) {
|
|
|
1621
1620
|
layoutStyle = _control$fields.layoutStyle,
|
|
1622
1621
|
allowedOptions = _control$fields.allowedOptions,
|
|
1623
1622
|
disabled = _control$fields.disabled,
|
|
1624
|
-
variables = _control$fields.variables
|
|
1623
|
+
variables = _control$fields.variables,
|
|
1624
|
+
display = _control$fields.display;
|
|
1625
1625
|
controls.createScopedEffect(function (c) {
|
|
1626
1626
|
return evalExpr(c, undefined, style, firstExpr(formNode, exports.DynamicPropertyType.Style), coerceStyle);
|
|
1627
1627
|
}, scope);
|
|
@@ -1633,6 +1633,9 @@ function createFormState(schemaInterface, evaluators) {
|
|
|
1633
1633
|
return x;
|
|
1634
1634
|
});
|
|
1635
1635
|
}, scope);
|
|
1636
|
+
controls.createScopedEffect(function (c) {
|
|
1637
|
+
return evalExpr(c, undefined, display, firstExpr(formNode, exports.DynamicPropertyType.Display), coerceString);
|
|
1638
|
+
}, scope);
|
|
1636
1639
|
controls.updateComputedValue(dataNode, function () {
|
|
1637
1640
|
return lookupDataNode(definition, parent);
|
|
1638
1641
|
});
|
|
@@ -1655,6 +1658,17 @@ function createFormState(schemaInterface, evaluators) {
|
|
|
1655
1658
|
dn.control.disabled = disabled.value;
|
|
1656
1659
|
}
|
|
1657
1660
|
}, scope);
|
|
1661
|
+
controls.createSyncEffect(function () {
|
|
1662
|
+
if (isDisplayControl(def)) {
|
|
1663
|
+
if (display.value !== undefined) {
|
|
1664
|
+
text.value = isTextDisplay(def.displayData) ? display.value : NoOverride;
|
|
1665
|
+
html.value = isHtmlDisplay(def.displayData) ? display.value : NoOverride;
|
|
1666
|
+
} else {
|
|
1667
|
+
text.value = NoOverride;
|
|
1668
|
+
html.value = NoOverride;
|
|
1669
|
+
}
|
|
1670
|
+
}
|
|
1671
|
+
}, displayOverrides);
|
|
1658
1672
|
setupValidation(controlImpl, definition, dataNode, schemaInterface, parent, formNode, runAsync);
|
|
1659
1673
|
controls.createSyncEffect(function () {
|
|
1660
1674
|
var _dataNode$value;
|
|
@@ -1736,7 +1750,8 @@ function createOverrideProxy(proxyFor, handlers) {
|
|
|
1736
1750
|
return new Proxy(proxyFor, {
|
|
1737
1751
|
get: function get(target, p, receiver) {
|
|
1738
1752
|
if (Object.hasOwn(overrides, p)) {
|
|
1739
|
-
|
|
1753
|
+
var nv = overrides[p].value;
|
|
1754
|
+
if (nv !== NoOverride) return nv;
|
|
1740
1755
|
}
|
|
1741
1756
|
return Reflect.get(target, p, receiver);
|
|
1742
1757
|
},
|
|
@@ -1755,6 +1770,8 @@ function createOverrideProxy(proxyFor, handlers) {
|
|
|
1755
1770
|
}
|
|
1756
1771
|
});
|
|
1757
1772
|
}
|
|
1773
|
+
var NoValue = function NoValue() {};
|
|
1774
|
+
var NoOverride = new NoValue();
|
|
1758
1775
|
|
|
1759
1776
|
exports.DefaultSchemaInterface = DefaultSchemaInterface;
|
|
1760
1777
|
exports.FormNode = FormNode;
|
|
@@ -1837,6 +1854,7 @@ exports.makeScalarField = makeScalarField;
|
|
|
1837
1854
|
exports.makeSchemaDataNode = makeSchemaDataNode;
|
|
1838
1855
|
exports.mergeField = mergeField;
|
|
1839
1856
|
exports.mergeFields = mergeFields;
|
|
1857
|
+
exports.mergeOption = mergeOption;
|
|
1840
1858
|
exports.missingField = missingField;
|
|
1841
1859
|
exports.relativePath = relativePath;
|
|
1842
1860
|
exports.relativeSegmentPath = relativeSegmentPath;
|