diff --git a/awx/ui/client/lib/components/modal/modal.directive.js b/awx/ui/client/lib/components/modal/modal.directive.js index 3f77d374e7..fb19d22b0a 100644 --- a/awx/ui/client/lib/components/modal/modal.directive.js +++ b/awx/ui/client/lib/components/modal/modal.directive.js @@ -33,18 +33,23 @@ function AtModalController ($timeout, eventService, strings) { vm.modal.title = title; vm.modal.message = message; - listeners = eventService.addListeners([ - [overlay, 'click', vm.clickToHide] - ]); + if (!vm.modal.preventOutsideClick) { + listeners = eventService.addListeners([ + [overlay, 'click', vm.clickToHide] + ]); + } overlay.style.display = 'block'; overlay.style.opacity = 1; }; vm.hide = () => { + console.log('hide'); overlay.style.opacity = 0; - eventService.remove(listeners); + if (!vm.modal.preventOutsideClick) { + eventService.remove(listeners); + } setTimeout(() => { overlay.style.display = 'none'; diff --git a/awx/ui/client/src/templates/prompt/prompt.controller.js b/awx/ui/client/src/templates/prompt/prompt.controller.js index 60da76a641..817a46bc07 100644 --- a/awx/ui/client/src/templates/prompt/prompt.controller.js +++ b/awx/ui/client/src/templates/prompt/prompt.controller.js @@ -13,6 +13,8 @@ export default [ 'ProcessErrors', 'CredentialTypeModel', 'TemplatesStrings', '$f scope = _scope_; ({ modal } = scope[scope.ns]); + modal.preventOutsideClick = true; + scope.$watch('vm.promptData.triggerModalOpen', () => { vm.actionButtonClicked = false; if(vm.promptData && vm.promptData.triggerModalOpen) {