import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import FontAwesome from 'react-fontawesome'
export default class DropdownField extends React.Component{
constructor(props) {
super(props);
this.state = {
expanded: false
}
this.handleClick = this.handleClick.bind(this)
}
componentDidMount(){
window.addEventListener("click", this.handleClick, false)
}
componentWillUnmount(){
window.removeEventListener("click", this.handleClick, false)
}
handleClick(e){
// TODO: remove dependency on jQuery and explore the performance of this functionality
if( $(e.target).closest('.dropdown-field').data('key') != this.props.name.replace(' ','_').toLowerCase() && this.state.expanded ){
this.setState({ expanded: false })
}
}
handleChange(value){
this.setState({ expanded: !this.state.expanded })
return this.props.handleChange( value )
}
handleToggle(){
this.setState({ expanded: !this.state.expanded })
}
render(){
if (!this.props.options) return null
var classname = 'dropdown-field'
if (this.state.expanded) classname += ' expanded'
var current_value = this.props.options[0].value
if (this.props.value) current_value = this.props.value
var icon =