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

44 lines
1.1 KiB
CoffeeScript
Raw Permalink Normal View History

2015-12-29 16:59:37 +00:00
context = window
logger = context.JK.logger
@TeacherStudentLevel = React.createClass({
mixins: [ICheckMixin]
2016-05-27 18:35:33 +00:00
componentDidMount: () ->
@checkboxes = [{selector: 'input.student-level', stateKey: 'checked'}]
2016-05-27 18:35:33 +00:00
@root = $(@getDOMNode())
@iCheckify()
componentDidUpdate: () ->
@iCheckify()
2015-12-29 16:59:37 +00:00
checkboxChanged:(e) ->
checked = $(e.target).is(':checked')
value = $(e.target).val()
#@setState({checked: value})
@studentLevelChanged(this.props.student, e)
2015-12-29 16:59:37 +00:00
render: () ->
`<span>
2016-01-04 23:25:29 +00:00
<input objectName={this.props.student} type="checkbox" className="student-level" onChange={this.studentLevelChanged.bind(this, this.props.student)} checked={this.state.checked}/>
2015-12-29 16:59:37 +00:00
<span className="student-level">{this.props.display}</span>
</span>`
studentLevelChanged: (level, e) ->
@setState({checked: $(e.target).is(':checked') })
2016-01-04 23:25:29 +00:00
@props.onChange(this.props.student, $(e.target).is(':checked'))
2015-12-29 16:59:37 +00:00
getInitialState: () ->
2016-01-04 23:25:29 +00:00
{checked:@props.level}
componentWillReceiveProps: (nextProps) ->
@setState({checked: nextProps.level})
2015-12-29 16:59:37 +00:00
})