From 755883009087d8b8daf6a5227219677d7fa36c36 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 5 Jul 2026 01:50:48 +1000 Subject: [PATCH] fix: add Cancel and Add buttons to the add-row modal (#1995) --- src/dashboard/Data/Browser/Browser.react.js | 4 ++- .../Data/Browser/EditRowDialog.react.js | 26 ++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/dashboard/Data/Browser/Browser.react.js b/src/dashboard/Data/Browser/Browser.react.js index 57dfe57af3..dd4abf430c 100644 --- a/src/dashboard/Data/Browser/Browser.react.js +++ b/src/dashboard/Data/Browser/Browser.react.js @@ -1002,7 +1002,7 @@ class Browser extends DashboardView { const msg = `${objectSaved.className} with id '${objectSaved.id}' created`; this.showNote(msg, false); - const state = { data: this.state.data }; + const state = { data: this.state.data, showEditRowDialog: false }; const relation = this.state.relation; if (relation) { const parent = relation.parent; @@ -3386,6 +3386,8 @@ class Browser extends DashboardView { setRelation={this.setRelation} handleShowAcl={this.handleShowAcl} onClose={this.closeEditRowDialog} + onSaveNewRow={this.saveNewRow} + onAbortAddRow={this.abortAddRow} updateRow={this.updateRow} confirmAttachSelectedRows={this.confirmAttachSelectedRows} schema={this.props.schema} diff --git a/src/dashboard/Data/Browser/EditRowDialog.react.js b/src/dashboard/Data/Browser/EditRowDialog.react.js index a275591ed4..119e94191a 100644 --- a/src/dashboard/Data/Browser/EditRowDialog.react.js +++ b/src/dashboard/Data/Browser/EditRowDialog.react.js @@ -224,8 +224,25 @@ export default class EditRowDialog extends React.Component { } render() { - const { selectedObject, className, columns, onClose, schema, useMasterKey } = this.props; + const { + selectedObject, + className, + columns, + onClose, + schema, + useMasterKey, + onSaveNewRow, + onAbortAddRow, + } = this.props; const { currentObject, openObjectPickers, expandedTextAreas } = this.state; + const isNewObject = !selectedObject.id; + + const handleCancel = () => { + if (isNewObject) { + onAbortAddRow(); + } + onClose(); + }; const fields = columns.map(column => { const { name, type, targetClass } = column; @@ -495,10 +512,13 @@ export default class EditRowDialog extends React.Component { )} } - onCancel={onClose} + onCancel={handleCancel} + cancelText={isNewObject ? 'Cancel' : 'Close'} + showContinue={isNewObject} + continueText="Add" + onContinue={onSaveNewRow} onConfirm={this.openAcl} confirmText="Edit ACL" - cancelText="Close" >
{fields}