UNPKG

@lyra/vision

Version:

React-based data management tool for Lyra projects

58 lines (45 loc) 1.53 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _VisionContainer = require('./containers/VisionContainer'); var _VisionContainer2 = _interopRequireDefault(_VisionContainer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Passes the given Lyra client and components to use down // through context to child components class Vision extends _react2.default.PureComponent { getChildContext() { return { client: this.props.client, styles: this.props.styles, schema: this.props.schema, components: this.props.components }; } render() { return _react2.default.createElement(_VisionContainer2.default, this.props); } } Vision.propTypes = { client: _propTypes2.default.shape({ config: _propTypes2.default.func }).isRequired, schema: _propTypes2.default.object, components: _propTypes2.default.shape({ Button: _propTypes2.default.func }).isRequired, styles: _propTypes2.default.shape({ visionGui: _propTypes2.default.object }) }; Vision.defaultProps = { styles: { visionGui: {} } }; Vision.childContextTypes = { client: _propTypes2.default.shape({ config: _propTypes2.default.func }).isRequired, schema: _propTypes2.default.object, components: _propTypes2.default.object.isRequired, styles: _propTypes2.default.object.isRequired }; module.exports = Vision;