context = window
rest = window.JK.Rest()
logger = context.JK.logger
@TeacherExperienceEditableList = React.createClass({
componentDidUnmount: () ->
@root.off("submit", ".teacher-experience-teaching-form")
componentDidMount: () ->
@root = jQuery(this.getDOMNode())
@root.off("submit", ".teacher-experience-teaching-form")#.on("submit", ".teacher-experience-teaching-form", @addExperience)
formatListItem: (obj) ->
if obj.end_year?
endYear = obj.end_year
if endYear == '0' || endYear == 0
endYear = 'Now'
else
endYear = 'Now'
t = "#{obj.name}/#{obj.organization} (#{obj.start_year}"
t += "-#{endYear}" if this.props.showEndDate
t += ")"
getInitialProps: () ->
{listItems: []}
sortListItems: () ->
this.props.listItems ||= []
this.props.listItems = _.sortBy(this.props.listItems, 'start_year')
addExperience: (e) ->
e.preventDefault()
$form = @root.find('.teacher-experience-teaching-form')
start_year = parseInt($("[name='start_year']", $form).val())
end_year = parseInt($("[name='end_year']", $form).val())
console.log("end_yeaor", end_year)
if this.props.showEndDate && end_year != 0 && start_year > end_year
this.setState({errors: ["End year must be greater than start year"]})
else
this.props.listItems.push {
name: $("[name='title_input']", $form).val()
organization: $("[name='organization_input']", $form).val()
start_year: start_year
end_year: end_year
}
logger.debug("addExperience", this.props.listItems)
this.props.onItemChanged(this.props.experienceType, this.props.listItems)
#$form.reset()
this.setState({errors: null})
getInitialState: () ->
{errors:null}
onItemChanged: (listName, listObjects) ->
this.setState({errors: null})
this.props.onItemChanged(listName, listObjects)
render: () ->
endDate = []
if this.props.showEndDate
endDate.push `