From 8c8c38aa858db9ff79f013e12fcf740fe5f50a26 Mon Sep 17 00:00:00 2001 From: Arpit Date: Mon, 10 Oct 2022 17:18:40 +0530 Subject: [PATCH] exposed updatedDate (#4263) --- frontend/src/Editor/Components/Table/Table.jsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/frontend/src/Editor/Components/Table/Table.jsx b/frontend/src/Editor/Components/Table/Table.jsx index b05d7c0dcc..a2ede97482 100644 --- a/frontend/src/Editor/Components/Table/Table.jsx +++ b/frontend/src/Editor/Components/Table/Table.jsx @@ -52,6 +52,7 @@ export function Table({ properties, variablesExposedForPreview, exposeToCodeHinter, + exposedVariables, }) { const { color, @@ -114,6 +115,7 @@ export function Table({ function handleCellValueChange(index, key, value, rowData) { const changeSet = tableDetails.changeSet; const dataUpdates = tableDetails.dataUpdates || []; + const clonedTableData = _.cloneDeep(tableData); let obj = changeSet ? changeSet[index] || {} : {}; obj = _.set(obj, key, value); @@ -131,10 +133,18 @@ export function Table({ ...dataUpdates, [index]: { ...obj }, }; + + Object.keys(newChangeset).forEach((key) => { + clonedTableData[key] = { + ..._.merge(clonedTableData[key], newChangeset[key]), + }; + }); + const changesToBeSavedAndExposed = { dataUpdates: newDataUpdates, changeSet: newChangeset }; mergeToTableDetails(changesToBeSavedAndExposed); + fireEvent('onCellValueChanged'); - return setExposedVariables(changesToBeSavedAndExposed); + return setExposedVariables({ ...changesToBeSavedAndExposed, updatedData: clonedTableData }); } function getExportFileBlob({ columns, data, fileType, fileName }) { @@ -431,6 +441,12 @@ export function Table({ ); }, [JSON.stringify(globalFilteredRows.map((row) => row.original))]); + useEffect(() => { + if (_.isEmpty(changeSet)) { + setExposedVariable('updatedData', tableData); + } + }, [JSON.stringify(changeSet)]); + function downlaodPopover() { return (