From aefd02e69830beddcd561ce48cff618feb80b4a1 Mon Sep 17 00:00:00 2001 From: sadakchap Date: Tue, 4 May 2021 19:52:25 +0530 Subject: [PATCH 1/3] added ESC key binding for new row --- src/dashboard/Data/Browser/Browser.react.js | 10 ++++++++++ src/dashboard/Data/Browser/DataBrowser.react.js | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/src/dashboard/Data/Browser/Browser.react.js b/src/dashboard/Data/Browser/Browser.react.js index cc0b596d1f..de176b8c68 100644 --- a/src/dashboard/Data/Browser/Browser.react.js +++ b/src/dashboard/Data/Browser/Browser.react.js @@ -121,6 +121,7 @@ class Browser extends DashboardView { this.closeEditRowDialog = this.closeEditRowDialog.bind(this); this.handleShowAcl = this.handleShowAcl.bind(this); this.onDialogToggle = this.onDialogToggle.bind(this); + this.abortAddRow = this.abortAddRow.bind(this); } componentWillMount() { @@ -294,6 +295,14 @@ class Browser extends DashboardView { } } + abortAddRow(){ + if(this.state.newObject){ + this.setState({ + newObject: null + }); + } + } + addRowWithModal() { this.addRow(); this.selectRow(undefined, true); @@ -1013,6 +1022,7 @@ class Browser extends DashboardView { onCloneSelectedRows={this.showCloneSelectedRowsDialog} onEditSelectedRow={this.showEditRowDialog} onEditPermissions={this.onDialogToggle} + onAbortAddRow={this.abortAddRow} columns={columns} className={className} diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js index 5aace26c86..93c502910b 100644 --- a/src/dashboard/Data/Browser/DataBrowser.react.js +++ b/src/dashboard/Data/Browser/DataBrowser.react.js @@ -138,6 +138,13 @@ export default class DataBrowser extends React.Component { if (this.props.disableKeyControls) { return; } + if(this.props.newObject){ + //For aborting add new row + if(e.keyCode === 27){ + this.props.onAbortAddRow(); + e.preventDefault(); + } + } if (this.state.editing) { switch (e.keyCode) { case 27: // ESC From 4d95cef02e95087d6f5fd6397daf27674062a4a0 Mon Sep 17 00:00:00 2001 From: sadakchap Date: Wed, 5 May 2021 18:11:00 +0530 Subject: [PATCH 2/3] added more conditions for cancellling editing rows --- src/dashboard/Data/Browser/DataBrowser.react.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js index 93c502910b..4fdc5d0829 100644 --- a/src/dashboard/Data/Browser/DataBrowser.react.js +++ b/src/dashboard/Data/Browser/DataBrowser.react.js @@ -138,8 +138,18 @@ export default class DataBrowser extends React.Component { if (this.props.disableKeyControls) { return; } - if(this.props.newObject){ - //For aborting add new row + if(this.props.newObject && this.state.current && this.state.current.row === -1){ + // if user is editing new row and want to cancel it + if(e.keyCode === 27){ + this.setState({ + editing: false + }); + this.props.onAbortAddRow(); + e.preventDefault(); + } + } + if(!this.state.editing && this.props.newObject){ + // if user is not editing any row but there's new row if(e.keyCode === 27){ this.props.onAbortAddRow(); e.preventDefault(); From 70dda035a031cd3bcdaa0368663af130ca5a6030 Mon Sep 17 00:00:00 2001 From: sadakchap Date: Fri, 7 May 2021 16:35:28 +0530 Subject: [PATCH 3/3] updated cancelling editing condition --- src/dashboard/Data/Browser/DataBrowser.react.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js index 4fdc5d0829..fa1a517137 100644 --- a/src/dashboard/Data/Browser/DataBrowser.react.js +++ b/src/dashboard/Data/Browser/DataBrowser.react.js @@ -138,15 +138,20 @@ export default class DataBrowser extends React.Component { if (this.props.disableKeyControls) { return; } - if(this.props.newObject && this.state.current && this.state.current.row === -1){ - // if user is editing new row and want to cancel it - if(e.keyCode === 27){ + if ( + this.state.editing && + this.state.current && + this.state.current.row === -1 && + this.props.newObject + ) { + // if user is editing new row and want to cancel editing cell + if (e.keyCode === 27) { this.setState({ editing: false }); - this.props.onAbortAddRow(); e.preventDefault(); } + return; } if(!this.state.editing && this.props.newObject){ // if user is not editing any row but there's new row @@ -154,6 +159,7 @@ export default class DataBrowser extends React.Component { this.props.onAbortAddRow(); e.preventDefault(); } + return; } if (this.state.editing) { switch (e.keyCode) {