import React, { PropTypes } from 'react'; import ModalTrigger from './../../components/ModalTrigger'; import SyntaxHighlighter from 'react-syntax-highlighter'; import { github } from 'react-syntax-highlighter/dist/styles'; const $ = window.$ = require('jquery'); const propTypes = { queryEndpoint: PropTypes.string.isRequired, }; export default class DisplayQueryButton extends React.PureComponent { constructor(props) { super(props); this.state = { modalBody:
,
    };
  }
  beforeOpen() {
    this.setState({
      modalBody:
        (Loading...),
    });
    $.ajax({
      type: 'GET',
      url: this.props.queryEndpoint,
      success: (data) => {
        const modalBody = data.language ?
          
            {data.query}
          
          :
          
{data.query}
; this.setState({ modalBody }); }, error(data) { this.setState({ modalBody: (
{data.error}
) }); }, }); } render() { return ( Query} modalTitle="Query" bsSize="large" beforeOpen={this.beforeOpen.bind(this)} modalBody={this.state.modalBody} /> ); } } DisplayQueryButton.propTypes = propTypes;