@mongodb-js/compass-query-bar
Version:
Renders a component for executing MongoDB queries through a GUI.
52 lines (42 loc) • 1.2 kB
JSX
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
import FontAwesome from 'react-fontawesome';
import styles from './options-toggle.less';
class OptionsToggle extends PureComponent {
static displayName = 'OptionsToggle';
static propTypes = {
actions: PropTypes.object.isRequired,
className: PropTypes.string,
expanded: PropTypes.bool.isRequired
};
static defaultProps = {
className: ''
};
onClick = () => {
this.props.actions.toggleQueryOptions();
};
render() {
const { expanded, className } = this.props;
const symbol = expanded ? 'caret-down' : 'caret-right';
const _className = classnames(
'btn',
'btn-default',
'btn-xs',
styles.component,
{ [ styles['is-open'] ]: expanded },
className
);
return (
<div
className={_className}
onClick={this.onClick}
data-test-id="query-bar-options-toggle">
<FontAwesome fixedWidth name={symbol} />
<span data-test-id="query-bar-options-toggle-text">Options</span>
</div>
);
}
}
export default OptionsToggle;
export { OptionsToggle };