dmn-js-shared
Version:
Shared components used by dmn-js
59 lines • 1.14 kB
JavaScript
import { createVNode } from "inferno";
import { Component } from 'inferno';
export default class Select extends Component {
constructor(props, context) {
super(props, context);
const {
value
} = props;
this.state = {
value
};
}
componentWillReceiveProps(props) {
const {
value
} = props;
this.setState({
value
});
}
onChange = event => {
const {
value
} = event.target;
this.setState({
value
});
const {
onChange
} = this.props;
if (typeof onChange !== 'function') {
return;
}
onChange(value);
};
render() {
const {
className,
label,
options
} = this.props;
const {
value
} = this.state;
return createVNode(256, "select", [className || '', 'dms-select'].join(' '), (options || []).map(({
label,
value
}) => {
return createVNode(1, "option", "option", label, 0, {
"value": value
});
}), 0, {
"aria-label": label,
"onChange": this.onChange,
"value": value
});
}
}
//# sourceMappingURL=Select.js.map