trc-client-core
Version:
The core of the TRC Client
50 lines (43 loc) • 1.46 kB
JSX
var React = require('react');
var _ = require('lodash');
var ToggleGroup = require('trc-client-core/src/components/ToggleGroup');
var FormToggleGroup = React.createClass({
displayName: 'FormToggleGroup',
propTypes: {
name: React.PropTypes.string.isRequired,
toggles: React.PropTypes.array.isRequired,
value: React.PropTypes.string.isRequired,
onChange: React.PropTypes.func.isRequired
},
getDetails(e, selected) {
var key = _.findKey(selected.value, data => {
return data === true;
});
// var details = _.map(selected.value, (data, key) => {
// // console.log(data, key);
// // return (a) ? b : null;
// });
// console.log(details);
return {key: this.props.name, value: key};
},
onChange(e, details) {
if(this.props.onChange) {
this.props.onChange(e, this.getDetails(e, details));
}
},
render() {
var {name, toggles, value} = this.props;
var togglesObject = toggles.map(data => ({value: _.camelCase(data), label: data}));
return (
<ToggleGroup
{...this.props}
name={name}
toggles={togglesObject}
value={[value]}
onChange={this.onChange}
defaultToggle={null}
/>
);
}
});
module.exports = FormToggleGroup;