UNPKG

d2-ui

Version:
47 lines (40 loc) 1.58 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; import React from 'react'; import ListSelect from './ListSelect.component'; import { Observable } from 'rx'; import log from 'loglevel'; var ListSelectAsync = React.createClass({ displayName: 'ListSelectAsync', propTypes: { source: React.PropTypes.instanceOf(Observable), onItemDoubleClick: React.PropTypes.func.isRequired, listStyle: React.PropTypes.object }, getInitialState: function getInitialState() { return { listSource: [] }; }, componentWillMount: function componentWillMount() { var _this = this; if (!this.props.source) { return; } this.disposable = this.props.source.subscribe(function (listValues) { return _this.setState({ listSource: listValues }); }, function (error) { return log.error(error); }); }, componentWillUnmount: function componentWillUnmount() { this.disposable && this.disposable.dispose(); }, render: function render() { return React.createElement(ListSelect, _extends({}, this.props, { onItemDoubleClick: this.props.onItemDoubleClick, source: this.state.listSource, listStyle: this.props.listStyle })); } }); export default ListSelectAsync;