From c2243f1eb69ec7bed9d3990d982a5095a19be802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=80=D0=BE=D0=BB=D0=BE=D0=B2?= Date: Thu, 30 Sep 2021 18:00:46 +0500 Subject: [PATCH] refactor EditableTable separate try-catch on change handlers. --- src/components/Table/EditableTable.jsx | 29 +++++++++++++++++++------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/components/Table/EditableTable.jsx b/src/components/Table/EditableTable.jsx index d363c28..9bdc333 100644 --- a/src/components/Table/EditableTable.jsx +++ b/src/components/Table/EditableTable.jsx @@ -17,7 +17,7 @@ export const EditableTable = ({ columns, dataSource, onChange, // Метод вызывается со всем dataSource с измененными элементами после любого действия - onRowAdd, // Метод вызывается с новой добавленной записью. Если метод не поределен, то кнопка добавления строки не показывается + onRowAdd, // Метод вызывается с новой добавленной записью. Если метод не определен, то кнопка добавления строки не показывается onRowEdit,// Метод вызывается с новой отредактированной записью. Если метод не поределен, то кнопка редактирования строки не показывается onRowDelete,// Метод вызывается с удаленной записью. Если метод не поределен, то кнопка удаления строки не показывается ...otherTableProps}) => { @@ -70,17 +70,30 @@ export const EditableTable = ({ if(item.key === newRowKeyValue) item.key = newRowKeyValue + newData.length - + + const isAdding = editingKey === newRowKeyValue setEditingKey('') setData(newData) - if (editingKey === newRowKeyValue) - onRowAdd(newItem) + if (isAdding) + try{ + onRowAdd(newItem) + }catch(err){ + console.log('callback onRowAdd fault:', err) + } else - onRowEdit(newItem) - - if(onChange) - onChange(newData) + try{ + onRowEdit(newItem) + }catch(err){ + console.log('callback onRowEdit fault:', err) + } + + try{ + if(onChange) + onChange(newData) + }catch(err){ + console.log('callback onChange fault:', err) + } } catch (errInfo) { console.log('Validate Failed:', errInfo)