diff --git a/public/app/core/components/code_editor/code_editor.ts b/public/app/core/components/code_editor/code_editor.ts index 151ebffab5d..0ceb21d0335 100644 --- a/public/app/core/components/code_editor/code_editor.ts +++ b/public/app/core/components/code_editor/code_editor.ts @@ -110,6 +110,16 @@ function link(scope, elem, attrs) { elem.addClass("gf-code-editor"); let textarea = elem.find("textarea"); textarea.addClass('gf-form-input'); + if (scope.focus) { + setTimeout(function () { + textarea.focus(); + var domEl = textarea[0]; + if (domEl.setSelectionRange) { + var pos = textarea.val().length * 2; + domEl.setSelectionRange(pos, pos); + } + }, 200); + } // Event handlers editorSession.on('change', (e) => { @@ -199,6 +209,7 @@ export function codeEditorDirective() { template: editorTemplate, scope: { content: "=", + focus: "=", onChange: "&", getCompleter: "&" }, diff --git a/public/app/plugins/datasource/prometheus/partials/query.editor.html b/public/app/plugins/datasource/prometheus/partials/query.editor.html index 5140c9e7bbd..d35f9f9c14c 100644 --- a/public/app/plugins/datasource/prometheus/partials/query.editor.html +++ b/public/app/plugins/datasource/prometheus/partials/query.editor.html @@ -2,7 +2,7 @@
+ get-completer="ctrl.getCompleter()" data-mode="prometheus" focus="ctrl.target.refId == 'A'">