UNPKG

keystone

Version:

Web Application Framework and Admin GUI / Content Management System built on Express.js and Mongoose

35 lines (30 loc) 778 B
/** * Render a popout pane, calls props.onLayout when the component mounts */ import React from 'react'; import blacklist from 'blacklist'; import classnames from 'classnames'; var PopoutPane = React.createClass({ displayName: 'PopoutPane', propTypes: { children: React.PropTypes.node.isRequired, className: React.PropTypes.string, onLayout: React.PropTypes.func, }, getDefaultProps () { return { onLayout: () => {}, }; }, componentDidMount () { this.props.onLayout(this.refs.el.offsetHeight); }, render () { const className = classnames('Popout__pane', this.props.className); const props = blacklist(this.props, 'className', 'onLayout'); return ( <div ref="el" className={className} {...props} /> ); }, }); module.exports = PopoutPane;