86 lines
2.8 KiB
CoffeeScript
86 lines
2.8 KiB
CoffeeScript
context = window
|
|
teacherActions = window.JK.Actions.Teacher
|
|
logger = context.JK.logger
|
|
rest = window.JK.Rest()
|
|
|
|
@TeacherSetupExperience = React.createClass({
|
|
mixins: [
|
|
@TeacherSetupMixin,
|
|
Reflux.listenTo(@AppStore,"onAppInit"),
|
|
Reflux.listenTo(TeacherStore, "onTeacherStateChanged")
|
|
]
|
|
|
|
getInitialState: () ->
|
|
{}
|
|
|
|
screenName: () ->
|
|
"experience"
|
|
|
|
onTeacherStateChanged: (changes) ->
|
|
$root = jQuery(this.getDOMNode())
|
|
unless this.handleErrors(changes)
|
|
teacher = changes.teacher
|
|
this.setState({
|
|
#validate_basics: true,
|
|
experiences_teaching: teacher.experiences_teaching
|
|
experiences_education: teacher.experiences_education
|
|
experiences_award: teacher.experiences_award
|
|
})
|
|
|
|
captureFormState: (changes) ->
|
|
$root = jQuery(this.getDOMNode())
|
|
this.setState({
|
|
|
|
});
|
|
|
|
navDestination: (instructions) ->
|
|
navTo=null
|
|
if instructions?
|
|
logger.debug("handling instructions", instructions)
|
|
if instructions.direction=="cancel"
|
|
navTo = @teacherSetupSource()
|
|
else if instructions.direction=="back"
|
|
navTo = @teacherSetupDestination("basics")
|
|
else if instructions.direction=="next"
|
|
navTo = @teacherSetupDestination("pricing")
|
|
|
|
navTo
|
|
|
|
handleNav: (e) ->
|
|
logger.debug("handleNav #{this.screenName()}: ", this.state, this, e)
|
|
navTo = this.navDestination(e)
|
|
teacherActions.change.trigger(this.state, {navTo: navTo})
|
|
|
|
handleListChange: (listName, listObjects)->
|
|
logger.debug("EXPERIENCE handleListChange:", listName, listObjects)
|
|
this.setState({
|
|
"experiences_#{listName}": listObjects
|
|
})
|
|
#this.forceUpdate()
|
|
|
|
render: () ->
|
|
logger.debug("RENDERING TeacherSetupExperience", this.props, this.state)
|
|
instrumentsTaughtCheckboxes = []
|
|
#instrumentsTaughtCheckboxes.push(`<input />`)
|
|
|
|
`<div className="TeacherSetupExperience TeacherSetupComponent">
|
|
<div className="teacher-third-column">
|
|
<label className="sub-caption">TEACHING EXPERIENCE:</label>
|
|
<TeacherExperienceEditableList showEndDate="true" experienceType="teaching" onItemChanged={this.handleListChange} listItems={this.state.experiences_teaching}/>
|
|
</div>
|
|
|
|
<div className="teacher-third-column">
|
|
<label className="sub-caption">EDUCATION:</label>
|
|
<TeacherExperienceEditableList showEndDate="true" experienceType="education" onItemChanged={this.handleListChange} listItems={this.state.experiences_education}/>
|
|
</div>
|
|
|
|
<div className="teacher-third-column">
|
|
<label className="sub-caption">AWARDS:</label>
|
|
<TeacherExperienceEditableList experienceType="award" onItemChanged={this.handleListChange} listItems={this.state.experiences_award}/>
|
|
</div>
|
|
|
|
<TeacherSetupNav handleNav={this.handleNav}> </TeacherSetupNav>
|
|
</div>`
|
|
|
|
|
|
}) |