Persist table cell values on cell close (#655)

* Persist table cell values on cell close

* Apply to all cells
This commit is contained in:
Charles Bochet
2023-07-13 21:20:08 -07:00
committed by GitHub
parent ca1723f2e6
commit 551c3b5e60
20 changed files with 260 additions and 133 deletions

View File

@ -1,3 +1,4 @@
import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { peoplePhoneFamilyState } from '@/people/states/peoplePhoneFamilyState';
@ -13,19 +14,26 @@ export function EditablePeoplePhoneCell() {
const phone = useRecoilValue(
peoplePhoneFamilyState(currentRowEntityId ?? ''),
);
const [internalValue, setInternalValue] = useState(phone ?? '');
useEffect(() => {
setInternalValue(phone ?? '');
}, [phone]);
return (
<EditableCellPhone
value={phone ?? ''}
onChange={async (newPhone: string) => {
if (!currentRowEntityId) return;
await updatePerson({
value={internalValue}
onChange={setInternalValue}
onSubmit={() =>
updatePerson({
variables: {
id: currentRowEntityId,
phone: newPhone,
phone: internalValue,
},
});
}}
})
}
onCancel={() => setInternalValue(phone ?? '')}
/>
);
}