From 2facb383a2bdd5fe9ce85bb6e6f30e4144605560 Mon Sep 17 00:00:00 2001 From: Sammy Teillet Date: Wed, 17 May 2023 14:43:09 +0200 Subject: [PATCH] =?UTF-8?q?bugfix:=20use=20row=20id=20instead=20of=20index?= =?UTF-8?q?=20to=20keep=20row=20selection=20after=20table=E2=80=A6=20(#120?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bugfix: use row id instead of index to keep row selection after table update * bugfix: await creation before displaying the row and refetching --- front/src/components/table/Table.tsx | 1 + front/src/pages/people/People.tsx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/front/src/components/table/Table.tsx b/front/src/components/table/Table.tsx index 62f7ced8c..1fbf0085b 100644 --- a/front/src/components/table/Table.tsx +++ b/front/src/components/table/Table.tsx @@ -124,6 +124,7 @@ const Table = ( getCoreRowModel: getCoreRowModel(), enableRowSelection: true, onRowSelectionChange: setInternalRowSelection, + getRowId: (row) => row.id, }); const selectedRows = table.getSelectedRowModel().rows; diff --git a/front/src/pages/people/People.tsx b/front/src/pages/people/People.tsx index 3822a407d..d6453dc50 100644 --- a/front/src/pages/people/People.tsx +++ b/front/src/pages/people/People.tsx @@ -63,7 +63,7 @@ function People() { } }, [loading, setInternalData, data]); - const addEmptyRow = useCallback(() => { + const addEmptyRow = useCallback(async () => { const newCompany: Person = { id: uuidv4(), firstname: '', @@ -75,7 +75,7 @@ function People() { creationDate: new Date(), city: '', }; - insertPerson(newCompany); + await insertPerson(newCompany); setInternalData([newCompany, ...internalData]); refetch(); }, [internalData, setInternalData, refetch]);