diff --git a/awx/ui/client/src/templates/prompt/prompt.controller.js b/awx/ui/client/src/templates/prompt/prompt.controller.js index fedbbd2045..9612828b6b 100644 --- a/awx/ui/client/src/templates/prompt/prompt.controller.js +++ b/awx/ui/client/src/templates/prompt/prompt.controller.js @@ -216,6 +216,7 @@ export default [ 'ProcessErrors', 'CredentialTypeModel', 'TemplatesStrings', '$f } else if(vm.steps[step].tab.order === currentTab.order + 1) { vm.steps[step].tab._active = true; vm.steps[step].tab._disabled = false; + scope.$broadcast('promptTabChange', { step }); } } }); diff --git a/awx/ui/client/src/templates/prompt/prompt.partial.html b/awx/ui/client/src/templates/prompt/prompt.partial.html index dc3ad632c2..68b8ad7086 100644 --- a/awx/ui/client/src/templates/prompt/prompt.partial.html +++ b/awx/ui/client/src/templates/prompt/prompt.partial.html @@ -10,9 +10,9 @@
- + prompt-data="vm.promptDataClone" + read-only-prompts="vm.readOnlyPrompts"> +
{ - const inputs = el.find('input, select'); + function focusFirstInput () { + const inputs = el.find('input[type=text], select, textarea:visible, .CodeMirror textarea'); if (inputs.length) { inputs.get(0).focus(); } + } + + angular.element(el).ready(() => { + focusFirstInput(); + }); + + scope.$on('promptTabChange', (event, args) => { + if (args.step === 'other_prompts') { + angular.element(el).ready(() => { + focusFirstInput(); + }); + } }); }; - - vm.toggleDiff = () => { scope.promptData.prompts.diffMode.value = !scope.promptData.prompts.diffMode.value; };