/* global notify */ import React from 'react'; import PropTypes from 'prop-types'; import { FormControl, FormGroup, Overlay, Popover, Row, Col } from 'react-bootstrap'; import Button from '../../components/Button'; const propTypes = { defaultLabel: PropTypes.string, sql: PropTypes.string, schema: PropTypes.string, dbId: PropTypes.number, animation: PropTypes.bool, onSave: PropTypes.func, }; const defaultProps = { defaultLabel: 'Undefined', animation: true, onSave: () => {}, }; class SaveQuery extends React.PureComponent { constructor(props) { super(props); this.state = { description: '', label: props.defaultLabel, showSave: false, }; this.toggleSave = this.toggleSave.bind(this); this.onSave = this.onSave.bind(this); this.onCancel = this.onCancel.bind(this); this.onLabelChange = this.onLabelChange.bind(this); this.onDescriptionChange = this.onDescriptionChange.bind(this); } onSave() { const query = { label: this.state.label, description: this.state.description, db_id: this.props.dbId, schema: this.props.schema, sql: this.props.sql, }; this.props.onSave(query); this.setState({ showSave: false }); } onCancel() { this.setState({ showSave: false }); } onLabelChange(e) { this.setState({ label: e.target.value }); } onDescriptionChange(e) { this.setState({ description: e.target.value }); } toggleSave(e) { this.setState({ target: e.target, showSave: !this.state.showSave }); } renderPopover() { return (

); } render() { return ( {this.renderPopover()} ); } } SaveQuery.propTypes = propTypes; SaveQuery.defaultProps = defaultProps; export default SaveQuery;