jam-cloud/web/app/assets/javascripts/react-components/TeacherSetupBasics.js.jsx.c...

97 lines
2.8 KiB
CoffeeScript

context = window
teacherActions = window.JK.Actions.Teacher
logger = context.JK.logger
rest = window.JK.Rest()
@TeacherSetupBasics = React.createClass({
mixins: [
@TeacherSetupMixin,
Reflux.listenTo(@AppStore,"onAppInit"),
Reflux.listenTo(TeacherStore, "onTeacherStateChanged")
]
getInitialState: () ->
{}
screenName: () ->
"basics"
onTeacherStateChanged: (changes) ->
$root = jQuery(this.getDOMNode())
logger.debug("onTeacherBasicsStateChanged", changes, changes.errors?, changes.errors)
unless this.handleErrors(changes)
teacher = changes.teacher
logger.debug("@teacher", teacher)
this.setState({
# validate_basics: true
})
captureFormState: (changes) ->
$root = jQuery(this.getDOMNode())
this.setState({
});
logger.debug("capturedFormState", this.state, changes)
navDestination: (instructions) ->
navTo=null
if instructions?
logger.debug("handling instructions", instructions)
if instructions.direction=="cancel"
navTo = @teacherSetupSource()
else if instructions.direction=="back"
navTo = @teacherSetupDestination("introduction")
else if instructions.direction=="next"
navTo = @teacherSetupDestination("experience")
navTo
handleNav: (e) ->
logger.debug("handleNav #{this.screenName()}: ", this.state, this, e)
navTo = this.navDestination(e)
teacherActions.change.trigger(this.state, {navTo: navTo})
render: () ->
logger.debug("RENDERING TeacherSetupBasics", this.props, this.state)
instrumentsTaughtCheckboxes = []
#instrumentsTaughtCheckboxes.push(`<input />`)
# Render the following:
# Instruments
# Subjects
# Genres
# Languages
# All lists will take a list of selected keys,
# and will otherwise self-render the available
`<div className="TeacherSetupBasics TeacherSetupComponent">
<div className="teacher-quarter-column left">
<div className="teacher-field" name="instruments_taught">
<strong>Instruments Taught</strong>
<InstrumentSelectorList value={this.state.instruments_taught}/>
</div>
</div>
<div className="teacher-quarter-column left">
<div className="teacher-field" name="instruments_taught">
<strong>Music Subjects Taught</strong>
</div>
</div>
<div className="teacher-quarter-column left">
<div className="teacher-field" name="instruments_taught">
<strong>Genres Taught</strong>
</div>
</div>
<div className="teacher-quarter-column left">
<div className="teacher-field" name="instruments_taught">
<strong>Languages Spoken</strong>
</div>
</div>
<TeacherSetupNav handleNav={this.handleNav}></TeacherSetupNav>
</div>`
})