@lyra/vision
Version:
React-based data management tool for Lyra projects
58 lines (45 loc) • 1.53 kB
JavaScript
;
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;