import { Alert, Tab, Tabs } from 'react-bootstrap'; import QueryHistory from './QueryHistory'; import ResultSet from './ResultSet'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as Actions from '../actions'; import React from 'react'; import shortid from 'shortid'; /* editorQueries are queries executed by users passed from SqlEditor component dataPrebiewQueries are all queries executed for preview of table data (from SqlEditorLeft) */ const propTypes = { editorQueries: React.PropTypes.array.isRequired, dataPreviewQueries: React.PropTypes.array.isRequired, actions: React.PropTypes.object.isRequired, activeSouthPaneTab: React.PropTypes.string, }; const defaultProps = { activeSouthPaneTab: 'Results', }; class SouthPane extends React.PureComponent { switchTab(id) { this.props.actions.setActiveSouthPaneTab(id); } render() { let latestQuery; const props = this.props; if (props.editorQueries.length > 0) { latestQuery = props.editorQueries[props.editorQueries.length - 1]; } let results; if (latestQuery) { results = ( ); } else { results = Run a query to display results here; } const dataPreviewTabs = props.dataPreviewQueries.map((query) => ( )); return (
{results} {dataPreviewTabs}
); } } function mapStateToProps(state) { return { activeSouthPaneTab: state.activeSouthPaneTab, }; } function mapDispatchToProps(dispatch) { return { actions: bindActionCreators(Actions, dispatch), }; } SouthPane.propTypes = propTypes; SouthPane.defaultProps = defaultProps; export default connect(mapStateToProps, mapDispatchToProps)(SouthPane);