Skip to content

Commit

Permalink
check use effect
Browse files Browse the repository at this point in the history
  • Loading branch information
jgespinosa10 committed Sep 24, 2024
1 parent c20919b commit 80dde94
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 10 deletions.
2 changes: 1 addition & 1 deletion packages/ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@teselagen/ui",
"version": "0.5.23-beta.17",
"version": "0.5.23-beta.18",
"main": "./src/index.js",
"type": "module",
"exports": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -705,6 +705,7 @@ export const useColumns = ({
schema,
newVal
});

updateValidation(entities, {
...reduxFormCellValidation,
[cellId]: error
Expand Down
File renamed without changes.
20 changes: 11 additions & 9 deletions packages/ui/src/DataTable/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ const DataTable = ({
const {
reduxFormCellValidation: _reduxFormCellValidation,
reduxFormEditingCell,
reduxFormEntities: _reduxFormEntities,
reduxFormEntities,
reduxFormQueryParams: _reduxFormQueryParams = {},
reduxFormSearchInput: _reduxFormSearchInput = "",
reduxFormSelectedEntityIdMap: _reduxFormSelectedEntityIdMap = {}
Expand All @@ -184,7 +184,6 @@ const DataTable = ({
// We want to make sure we don't rerender everything unnecessary
// with redux-forms we tend to do unnecessary renders
const reduxFormCellValidation = useDeepEqualMemo(_reduxFormCellValidation);
const reduxFormEntities = useDeepEqualMemo(_reduxFormEntities);
const reduxFormQueryParams = useDeepEqualMemo(_reduxFormQueryParams);
const reduxFormSearchInput = useDeepEqualMemo(_reduxFormSearchInput);
const reduxFormSelectedEntityIdMap = useDeepEqualMemo(
Expand Down Expand Up @@ -839,8 +838,7 @@ const DataTable = ({
}
}));
},
// eslint-disable-next-line react-hooks/exhaustive-deps
[]
[change]
);

const formatAndValidateEntities = useCallback(
Expand Down Expand Up @@ -1472,27 +1470,31 @@ const DataTable = ({
// "formats", not "changes".
useEffect(() => {
const formatAndValidateTableInitial = () => {
const { newEnts, validationErrors } =
formatAndValidateEntities(_origEntities);
const { newEnts, validationErrors } = formatAndValidateEntities(entities);
const toKeep = {};
//on the initial load we want to keep any async table wide errors
forEach(reduxFormCellValidation, (v, k) => {
if (v && v._isTableAsyncWideError) {
toKeep[k] = v;
}
});
change("reduxFormEntities", newEnts);
change("reduxFormEntities", prev => {
if (!isEqual(prev, newEnts)) {
return newEnts;
}
return prev;
});
updateValidation(newEnts, {
...toKeep,
...validationErrors
});
};
isCellEditable && formatAndValidateTableInitial();
}, [
_origEntities,
isCellEditable,
change,
entities,
formatAndValidateEntities,
isCellEditable,
reduxFormCellValidation,
updateValidation
]);
Expand Down

0 comments on commit 80dde94

Please sign in to comment.