diff --git a/superset/assets/javascripts/SqlLab/components/AceEditorWrapper.jsx b/superset/assets/javascripts/SqlLab/components/AceEditorWrapper.jsx index f9d9d7871d311..4c941232ad535 100644 --- a/superset/assets/javascripts/SqlLab/components/AceEditorWrapper.jsx +++ b/superset/assets/javascripts/SqlLab/components/AceEditorWrapper.jsx @@ -62,12 +62,16 @@ class AceEditorWrapper extends React.PureComponent { onBlur() { this.props.onBlur(this.state.sql); } + onAltEnter() { + this.props.onBlur(this.state.sql); + this.props.onAltEnter(); + } onEditorLoad(editor) { editor.commands.addCommand({ name: 'runQuery', bindKey: { win: 'Alt-enter', mac: 'Alt-enter' }, exec: () => { - this.props.onAltEnter(); + this.onAltEnter(); }, }); editor.$blockScrolling = Infinity; // eslint-disable-line no-param-reassign @@ -76,6 +80,9 @@ class AceEditorWrapper extends React.PureComponent { this.props.queryEditor, editor.getSelectedText()); }); } + getCompletions(aceEditor, session, pos, prefix, callback) { + callback(null, this.state.words); + } setAutoCompleter(props) { // Loading table and column names as auto-completable words let words = []; @@ -101,9 +108,6 @@ class AceEditorWrapper extends React.PureComponent { } }); } - getCompletions(aceEditor, session, pos, prefix, callback) { - callback(null, this.state.words); - } textChange(text) { this.setState({ sql: text }); }