From cf6f4046dac6e12c0cc31dedf4eb8915b622d00d Mon Sep 17 00:00:00 2001 From: Steven Miers Date: Fri, 28 Aug 2015 13:30:01 -0500 Subject: [PATCH] VRFS-3359 : More react behavior and view updates to generic and specialized components. --- .../CheckBoxList.js.jsx.coffee | 2 +- .../InstrumentSelectorList.js.jsx.coffee | 18 --------- .../TeacherSetupBasics.js.jsx.coffee | 15 +++---- .../TeacherSetupExperience.js.jsx.coffee | 40 ++++++++++++------- .../mixins/TeacherSetupMixin.js.coffee | 12 +++--- 5 files changed, 41 insertions(+), 46 deletions(-) delete mode 100644 web/app/assets/javascripts/react-components/InstrumentSelectorList.js.jsx.coffee diff --git a/web/app/assets/javascripts/react-components/CheckBoxList.js.jsx.coffee b/web/app/assets/javascripts/react-components/CheckBoxList.js.jsx.coffee index d2be3ce9a..b03ead5f8 100644 --- a/web/app/assets/javascripts/react-components/CheckBoxList.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/CheckBoxList.js.jsx.coffee @@ -13,7 +13,7 @@ logger = context.JK.logger onItemChanged: (e) -> e.preventDefault() - this.props.onItemChanged("objects", @selectedObjects()) + this.props.onItemChanged(this.props.objectName, @selectedObjects()) selectedObjects: -> selected=[] diff --git a/web/app/assets/javascripts/react-components/InstrumentSelectorList.js.jsx.coffee b/web/app/assets/javascripts/react-components/InstrumentSelectorList.js.jsx.coffee deleted file mode 100644 index ca26de359..000000000 --- a/web/app/assets/javascripts/react-components/InstrumentSelectorList.js.jsx.coffee +++ /dev/null @@ -1,18 +0,0 @@ -context = window -rest = window.JK.Rest() -logger = context.JK.logger - -@InstrumentSelectorList = React.createClass({ - instruments: [] - componentDidUnmount: () -> - @instruments = [] - - componentDidMount: () -> - rest.getInstruments().done (instruments) => - @instruments = instruments - - render: () -> - `
- -
` -}) \ No newline at end of file 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 a9cd6f298..d301de3fb 100644 --- a/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.coffee @@ -23,6 +23,9 @@ rest = window.JK.Rest() this.setState({ #validate_basics: true, instruments: teacher.instruments + genres: teacher.genres + languages: teacher.languages + subjects: teacher.subjects }) captureFormState: (changes) -> @@ -32,11 +35,11 @@ rest = window.JK.Rest() }); handleListChange: (listName, selectedObjects)-> + logger.debug("handleListChange:", listName, selectedObjects) this.setState({ "#{listName}": selectedObjects }); - navDestination: (instructions) -> navTo=null if instructions? @@ -68,27 +71,25 @@ rest = window.JK.Rest()
Instruments Taught - - - +
Music Subjects Taught - +
Genres Taught - +
Languages Spoken - +
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 7cfabd7e7..5a887aaca 100644 --- a/web/app/assets/javascripts/react-components/TeacherSetupExperience.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/TeacherSetupExperience.js.jsx.coffee @@ -18,27 +18,18 @@ rest = window.JK.Rest() onTeacherStateChanged: (changes) -> $root = jQuery(this.getDOMNode()) - logger.debug("onTeacherExperienceStateChanged", changes, changes.errors?, changes.errors) unless this.handleErrors(changes) teacher = changes.teacher - logger.debug("@teacher", teacher) this.setState({ - biography: teacher.biography, - introductory_video: teacher.introductory_video, - years_teaching: teacher.years_teaching, - years_playing: teacher.years_playing, - validate_experience: true + #validate_basics: true, + experience_teaching: teacher.experience_teaching }) captureFormState: (changes) -> $root = jQuery(this.getDOMNode()) this.setState({ - biography: $root.find(".teacher-biography").val(), - introductory_video: $root.find(".teacher-introductory-video").val(), - years_teaching: $root.find(".years-teaching-experience").val(), - years_playing: $root.find(".years-playing-experience").val() + }); - logger.debug("capturedFormState", this.state, changes) navDestination: (instructions) -> navTo=null @@ -58,14 +49,35 @@ rest = window.JK.Rest() navTo = this.navDestination(e) teacherActions.change.trigger(this.state, {navTo: navTo}) + handleListChange: (listName, listObjects)-> + logger.debug("EXPERIENCE handleListChange:", listName, listObjects) + this.setState({ + "experience_#{listName}": listObjects + }) + #this.forceUpdate() + render: () -> logger.debug("RENDERING TeacherSetupExperience", this.props, this.state) instrumentsTaughtCheckboxes = [] #instrumentsTaughtCheckboxes.push(``) - `
+ `
+
+ + +
- +
+ + +
+ +
+ + +
+ +
` diff --git a/web/app/assets/javascripts/react-components/mixins/TeacherSetupMixin.js.coffee b/web/app/assets/javascripts/react-components/mixins/TeacherSetupMixin.js.coffee index 351207adc..8f74f1291 100644 --- a/web/app/assets/javascripts/react-components/mixins/TeacherSetupMixin.js.coffee +++ b/web/app/assets/javascripts/react-components/mixins/TeacherSetupMixin.js.coffee @@ -3,14 +3,14 @@ teacherActions = window.JK.Actions.Teacher @TeacherSetupMixin = { onAppInit: (app) -> - @app=app + @app=app screenBindings = { 'beforeShow': @beforeShow } - + @app.bindScreen("teachers/setup/#{@screenName()}", screenBindings) - beforeShow: (data) -> + beforeShow: (data) -> if data? && data.d? @teacherId = data.d teacherActions.load.trigger({teacher_id: @teacherId}) @@ -23,13 +23,13 @@ teacherActions = window.JK.Actions.Teacher # a default location: @postmark = null # params = this.getParams() - # @postmark = params.p + # @postmark = params.p handleErrors: (changes) -> - $root = jQuery(this.getDOMNode()) + $root = jQuery(this.getDOMNode()) $(".error-text", $root).remove() if changes.errors? - for k,v of changes.errors + for k,v of changes.errors teacherField = $root.find(".teacher-field[name='#{k}']") teacherField.append("
#{v.join()}
") $("input", teacherField).addClass("input-error")