From 13820c1b02fe603dc0324ba2858235765eec1c11 Mon Sep 17 00:00:00 2001 From: PritamIT2023 Date: Sat, 6 Jul 2024 11:00:20 +0530 Subject: [PATCH] fix(core): :bug: coreForm data driven from props in CoreDataTableDetailsPane coreForm data driven from props in CoreDataTableDetailsPane Ref: #258 --- .../components/dataDisplay/dataTable/CoreDataTable.js | 9 ++++++++- .../dataDisplay/dataTable/CoreDataTableDetailsPane.js | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/package/components/dataDisplay/dataTable/CoreDataTable.js b/package/components/dataDisplay/dataTable/CoreDataTable.js index 6f1f9ad0..b41f6cb1 100644 --- a/package/components/dataDisplay/dataTable/CoreDataTable.js +++ b/package/components/dataDisplay/dataTable/CoreDataTable.js @@ -170,6 +170,7 @@ export default function CoreDataTable(props) { hideForm = false, hideCreateForm = false, hideUpdateForm = false, + formMode: formModeProps = FORM_VIEW_MODE, createFormID = null, updateFormID = null, // table props @@ -180,6 +181,7 @@ export default function CoreDataTable(props) { afterCreateError, // function to be called after successfull Create afterDeleteSuccess, // function to be called after successfull Delete afterDeleteError, // function to be called after successfull Delete + afterEditCancel, // function to be called after cancel button click on edit form hideAuditDataDetailPane, //flag for hiding audit info in details pane preOnCreate, //function to be called when create button in clicked openCreateOnMount, //if true the details pane will be opened and create form will be shown @@ -245,7 +247,11 @@ export default function CoreDataTable(props) { const [selected, setSelected] = React.useState([]); const [detailedRowId, setDetailedRowId] = React.useState(null); const [detailedRowData, setDetailedRowData] = React.useState(null); - const [formMode, setFormMode] = React.useState(FORM_VIEW_MODE); + const [formMode, setFormMode] = React.useState(formModeProps); + + React.useEffect(() => { + setFormMode(formModeProps); + }, [formModeProps]); React.useEffect(() => { if (detailedRowData) @@ -914,6 +920,7 @@ export default function CoreDataTable(props) { afterCreateError={afterCreateError} afterDeleteSuccess={afterDeleteSuccess} afterDeleteError={afterDeleteError} + afterEditCancel={afterEditCancel} hideAuditDataDetailPane={hideAuditDataDetailPane} platform={platform} /> diff --git a/package/components/dataDisplay/dataTable/CoreDataTableDetailsPane.js b/package/components/dataDisplay/dataTable/CoreDataTableDetailsPane.js index 70094b8f..45f77231 100644 --- a/package/components/dataDisplay/dataTable/CoreDataTableDetailsPane.js +++ b/package/components/dataDisplay/dataTable/CoreDataTableDetailsPane.js @@ -63,6 +63,7 @@ export default function CoreDataTableDetailsPane(props) { _expandedDevJSONSchema, set_expandedDevJSONSchema, _showDetailsPane, + afterEditCancel, afterEditSuccess, afterEditError, afterCreateSuccess, @@ -71,6 +72,7 @@ export default function CoreDataTableDetailsPane(props) { afterDeleteError, hideAuditDataDetailPane, platform, + updateFormAPIMode // api mode } = props; const { config } = React.useContext(WrappidDataContext); @@ -241,7 +243,7 @@ export default function CoreDataTableDetailsPane(props) { { + if ( + afterEditCancel && + typeof afterEditCancel === "function" + ) { + afterEditCancel(); + } setFormMode(FORM_VIEW_MODE); }} afterEditSuccess={() => {