diff --git a/src/dashboard/Data/Browser/Browser.react.js b/src/dashboard/Data/Browser/Browser.react.js index 57dfe57af..dd4abf430 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 a275591ed..119e94191 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" >