From 1da6749d7047ac78fca632dafd33db1ca2af330b Mon Sep 17 00:00:00 2001 From: Seth Call Date: Tue, 9 Feb 2016 10:14:37 -0600 Subject: [PATCH] * allow BACK button to work even if invalid state VRFS-3924 --- .../react-components/TeacherSetupBasics.js.jsx.coffee | 2 +- .../react-components/TeacherSetupExperience.js.jsx.coffee | 2 +- .../react-components/TeacherSetupIntroduction.js.jsx.coffee | 2 +- .../react-components/TeacherSetupPricing.js.jsx.coffee | 2 +- .../react-components/stores/TeacherStore.js.coffee | 4 ++++ 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.coffee b/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.coffee index 10998d21b..23c80af0b 100644 --- a/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.coffee @@ -55,7 +55,7 @@ rest = window.JK.Rest() handleNav: (e) -> navTo = this.navDestination(e) this.state.validate_basics = true - teacherActions.change.trigger(this.state, {navTo: navTo}) + teacherActions.change.trigger(this.state, {navTo: navTo, instructions:e}) render: () -> # Render the following: diff --git a/web/app/assets/javascripts/react-components/TeacherSetupExperience.js.jsx.coffee b/web/app/assets/javascripts/react-components/TeacherSetupExperience.js.jsx.coffee index 42aad31ae..1bac5d8eb 100644 --- a/web/app/assets/javascripts/react-components/TeacherSetupExperience.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/TeacherSetupExperience.js.jsx.coffee @@ -53,7 +53,7 @@ rest = window.JK.Rest() handleNav: (e) -> logger.debug("handleNav #{this.screenName()}: ", this.state, this, e) navTo = this.navDestination(e) - teacherActions.change.trigger(this.state, {navTo: navTo}) + teacherActions.change.trigger(this.state, {navTo: navTo, instructions:e}) handleListChange: (listName, listObjects)-> logger.debug("EXPERIENCE handleListChange:", listName, listObjects) diff --git a/web/app/assets/javascripts/react-components/TeacherSetupIntroduction.js.jsx.coffee b/web/app/assets/javascripts/react-components/TeacherSetupIntroduction.js.jsx.coffee index 8049ce18e..79b9b8f7a 100644 --- a/web/app/assets/javascripts/react-components/TeacherSetupIntroduction.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/TeacherSetupIntroduction.js.jsx.coffee @@ -43,7 +43,7 @@ rest = window.JK.Rest() handleNav: (e) -> navTo = this.navDestination(e) - teacherActions.change.trigger(this.state, {navTo: navTo}) + teacherActions.change.trigger(this.state, {navTo: navTo, instructions:e}) render: () -> `
diff --git a/web/app/assets/javascripts/react-components/TeacherSetupPricing.js.jsx.coffee b/web/app/assets/javascripts/react-components/TeacherSetupPricing.js.jsx.coffee index 734a8692d..57ec7ebc6 100644 --- a/web/app/assets/javascripts/react-components/TeacherSetupPricing.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/TeacherSetupPricing.js.jsx.coffee @@ -150,7 +150,7 @@ rest = window.JK.Rest() if navTo == 'rejected' # do nothing...handled elsewhere else - teacherActions.change.trigger(this.state, {navTo: navTo}) + teacherActions.change.trigger(this.state, {navTo: navTo, instructions:e}) handleFocus: (e) -> @pricePerLessonCents=e.target.value diff --git a/web/app/assets/javascripts/react-components/stores/TeacherStore.js.coffee b/web/app/assets/javascripts/react-components/stores/TeacherStore.js.coffee index a40610d6f..03a9705a1 100644 --- a/web/app/assets/javascripts/react-components/stores/TeacherStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/TeacherStore.js.coffee @@ -69,6 +69,10 @@ EVENTS = context.JK.EVENTS if (jqXHR.status==422) logger.debug("FAILED422",jqXHR.responseJSON.errors) this.trigger({errors: jqXHR.responseJSON.errors}) + if instructions?.instructions?.direction == 'back' + if instructions.navTo? + logger.debug("NAVIGATING TO",instructions.navTo) + window.location = instructions.navTo else context.JK.app.ajaxError(textStatus) )