@open-mercato/ui 0.6.5-develop.4691.1.bb409545b3 → 0.6.5-develop.4703.1.59a086a9ee
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/dist/backend/CrudForm.js
CHANGED
|
@@ -1653,12 +1653,22 @@ function CrudForm({
|
|
|
1653
1653
|
}, [errors, formId]);
|
|
1654
1654
|
const setValue = React.useCallback((id, nextValue) => {
|
|
1655
1655
|
let nextData = null;
|
|
1656
|
+
let nextDirty = null;
|
|
1656
1657
|
setValues((prev) => {
|
|
1657
1658
|
if (Object.is(prev[id], nextValue)) return prev;
|
|
1658
1659
|
nextData = { ...prev, [id]: nextValue };
|
|
1659
1660
|
valuesRef.current = nextData;
|
|
1661
|
+
if (!(embedded && !trackDirtyWhenEmbedded)) {
|
|
1662
|
+
const baseline = dirtyBaselineSnapshotRef.current ?? createDirtySnapshot(prev);
|
|
1663
|
+
dirtyBaselineSnapshotRef.current = baseline;
|
|
1664
|
+
nextDirty = createDirtySnapshot(nextData) !== baseline;
|
|
1665
|
+
}
|
|
1660
1666
|
return nextData;
|
|
1661
1667
|
});
|
|
1668
|
+
if (nextDirty !== null) {
|
|
1669
|
+
isDirtyRef.current = nextDirty;
|
|
1670
|
+
setHasUnsavedChanges(nextDirty);
|
|
1671
|
+
}
|
|
1662
1672
|
const clearedMessages = [];
|
|
1663
1673
|
setErrors((prev) => {
|
|
1664
1674
|
if (!Object.keys(prev).length) return prev;
|
|
@@ -1718,7 +1728,7 @@ function CrudForm({
|
|
|
1718
1728
|
}).catch((err) => {
|
|
1719
1729
|
console.error("[CrudForm] Error in onFieldChange:", err);
|
|
1720
1730
|
});
|
|
1721
|
-
}, [extendedInjectionEventsEnabled, flash, t, translateValidationMessage, triggerInjectionEvent]);
|
|
1731
|
+
}, [embedded, extendedInjectionEventsEnabled, flash, t, trackDirtyWhenEmbedded, translateValidationMessage, triggerInjectionEvent]);
|
|
1722
1732
|
const onBlurRequest = React.useCallback((fieldId) => {
|
|
1723
1733
|
void validateFieldOnBlur(fieldId);
|
|
1724
1734
|
}, [validateFieldOnBlur]);
|