diff --git a/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx b/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx index 6ad5cc412..dd1d8b025 100644 --- a/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx +++ b/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx @@ -10,9 +10,11 @@ const propTypes = { runQuery: PropTypes.func.isRequired, selectedText: PropTypes.string, stopQuery: PropTypes.func.isRequired, + sql: PropTypes.string.isRequired, }; const defaultProps = { allowAsync: false, + sql: '', }; export default function RunQueryActionButton(props) { @@ -32,6 +34,7 @@ export default function RunQueryActionButton(props) { onClick={() => props.runQuery(false)} key="run-btn" tooltip={t('Run query synchronously')} + disabled={!props.sql.trim()} > {runBtnText} @@ -43,6 +46,7 @@ export default function RunQueryActionButton(props) { onClick={() => props.runQuery(true)} key="run-async-btn" tooltip={t('Run query asynchronously')} + disabled={!props.sql.trim()} > {runBtnText} diff --git a/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx b/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx index 04f1fd19a..b3093f3d4 100644 --- a/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx +++ b/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx @@ -215,6 +215,7 @@ class SqlEditor extends React.PureComponent { runQuery={this.runQuery} selectedText={qe.selectedText} stopQuery={this.stopQuery} + sql={this.state.sql} /> diff --git a/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx b/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx index c78d1c75c..141e471d0 100644 --- a/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx +++ b/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx @@ -16,6 +16,7 @@ describe('RunQueryActionButton', () => { runQuery: () => {}, // eslint-disable-line selectedText: null, stopQuery: () => {}, // eslint-disable-line + sql: '', }; beforeEach(() => {