Newer
Older
const React = require('react');
const ReactModal = require('react-modal');
const CloseButton = require('../close-button/close-button.jsx');
DD Liu
committed
const Filter = require('../filter/filter.jsx');
const styles = require('./modal.css');
class ModalComponent extends React.Component {
render () {
return (
<ReactModal
isOpen={this.props.visible}
overlayClassName={styles.modalOverlay}
ref={m => (this.modal = m)}
>
steven dale
committed
<div className={styles.header}>
<div className={classNames(styles.headerItem, styles.headerItemFilter)}>
DD Liu
committed
<Filter
filterQuery={this.props.filterQuery}
onChange={this.props.onFilterChange}
/>
steven dale
committed
styles.headerItem,
styles.headerItemTitle
)}
>
{this.props.contentLabel}
</div>
<div
className={classNames(
steven dale
committed
styles.headerItem,
styles.headerItemClose
)}
>
<CloseButton
size={CloseButton.SIZE_LARGE}
onClick={this.props.onRequestClose}
/>
</div>
</div>
</ReactModal>
);
}
}
ModalComponent.propTypes = {
children: PropTypes.node,
contentLabel: PropTypes.string.isRequired,
DD Liu
committed
filterQuery: PropTypes.string,
onFilterChange: PropTypes.func,