From 6da94ef3f11f7005019460a1b5e2911599f3dc98 Mon Sep 17 00:00:00 2001 From: Ramesh Kumar <ramesh.p@matriotsolutions.com> Date: Thu, 15 Apr 2021 19:52:31 +0530 Subject: [PATCH] TMSS-631: Confirmation added for logout. --- SAS/TMSS/frontend/tmss_webapp/src/App.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/SAS/TMSS/frontend/tmss_webapp/src/App.js b/SAS/TMSS/frontend/tmss_webapp/src/App.js index 135d3e0d6a6..22a596e3782 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/App.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/App.js @@ -52,6 +52,7 @@ class App extends Component { this.setPageTitle = this.setPageTitle.bind(this); this.loggedIn = this.loggedIn.bind(this); this.logout = this.logout.bind(this); + this.validateAndLogout = this.validateAndLogout.bind(this); this.setSearchField = this.setSearchField.bind(this); this.toggleEditToggle = this.toggleEditToggle.bind(this); @@ -141,6 +142,18 @@ class App extends Component { this.setState({authenticated: false, redirect:"/"}); } + /** + * Get confirmation if any of the page has unsaved data and then logout. + * @returns + */ + validateAndLogout() { + if (this.state.isEditDirty) { + this.toggleDirtyDialog(this.logout); + } else { + this.logout(); + } + } + toggleEditToggle() { this.setState({ showEditDialog: !this.state.showEditDialog }); } @@ -240,7 +253,7 @@ class App extends Component { <AppTopbar onToggleMenu={this.onToggleMenu} isLoggedIn={this.state.authenticated} - onLogout={this.logout} + onLogout={this.validateAndLogout} setSearchField={this.setSearchField} /> <Router basename={ this.state.currentPath }> -- GitLab