ldx-widgets
Version:
widgets
65 lines (54 loc) • 1.77 kB
JavaScript
(function() {
var FormValidation, React, ReactDOM, Select, div, ref, select, ul;
React = require('react');
ReactDOM = require('react-dom');
FormValidation = require('../mixins/form_validation');
ref = React.DOM, div = ref.div, select = ref.select, ul = ref.ul;
/*
Select Props
@props.loading - OPTIONAL - Boolean
indicator to determine that the input is loading a value from the server
*/
Select = React.createClass({
displayName: 'Select',
mixins: [FormValidation],
getDefaultProps: function() {
return {};
},
render: function() {
var children, className, disabled, onChange, ref1, tabIndex, value;
ref1 = this.props, children = ref1.children, value = ref1.value, tabIndex = ref1.tabIndex, onChange = ref1.onChange, className = ref1.className, disabled = ref1.disabled;
this.getErrors();
return div({
className: 'field-wrap select-menu' + this.invalidClass
}, [
select({
className: className,
ref: 'selectMenu',
key: 'selectMenu',
tabIndex: tabIndex,
value: value,
onChange: onChange,
disabled: disabled
}, children), this.validationErrors.length ? div({
className: 'field-errors-show',
key: 'textInputErrorsShow'
}, [
div({
className: 'field-errors',
key: 'textInputErrors'
}, ul({
className: 'field-errors-list'
}, this.validationErrors))
]) : void 0
]);
},
getFormData: function() {
return ReactDOM.findDOMNode(this.refs.selectMenu).value;
},
getValue: function() {
return this.getFormData();
}
});
module.exports = Select;
}).call(this);