diff --git a/packages/grafana-ui/src/components/Monaco/CodeEditor.tsx b/packages/grafana-ui/src/components/Monaco/CodeEditor.tsx index ec056ad9cc5..2c265b83618 100644 --- a/packages/grafana-ui/src/components/Monaco/CodeEditor.tsx +++ b/packages/grafana-ui/src/components/Monaco/CodeEditor.tsx @@ -31,7 +31,10 @@ class UnthemedCodeEditor extends React.PureComponent { componentDidUpdate(oldProps: Props) { const { getSuggestions, language } = this.props; - if (language !== oldProps.language) { + const newLanguage = oldProps.language !== language; + const newGetSuggestions = oldProps.getSuggestions !== getSuggestions; + + if (newGetSuggestions || newLanguage) { if (this.completionCancel) { this.completionCancel.dispose(); } @@ -44,7 +47,9 @@ class UnthemedCodeEditor extends React.PureComponent { if (getSuggestions) { this.completionCancel = registerSuggestions(this.monaco, language, getSuggestions); } + } + if (newLanguage) { this.loadCustomLanguage(); } }