diff --git a/awx/ui/client/src/search/tagSearch.block.less b/awx/ui/client/src/search/tagSearch.block.less index 118bec4dfb..15f7dc7d48 100644 --- a/awx/ui/client/src/search/tagSearch.block.less +++ b/awx/ui/client/src/search/tagSearch.block.less @@ -5,6 +5,15 @@ min-height: 45px; } +.TagSearch-clickToClose { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; +} + .TagSearch-bar { display: flex; padding: 0; diff --git a/awx/ui/client/src/search/tagSearch.controller.js b/awx/ui/client/src/search/tagSearch.controller.js index a22bcfaf8f..2a1b8e3311 100644 --- a/awx/ui/client/src/search/tagSearch.controller.js +++ b/awx/ui/client/src/search/tagSearch.controller.js @@ -17,6 +17,15 @@ export default ['$scope', 'Refresh', 'tagSearchService', $scope.toggleTypeDropdown = function() { if ($scope.searchTypes.length > 1) { $scope.showTypeDropdown = !$scope.showTypeDropdown; + if ($scope.showTypeDropdown) { + $("body").append("
"); + $(".TagSearch-clickToClose").on("click", function() { + $scope.$apply(function() { + $scope.showTypeDropdown = false; + }); + $(".TagSearch-clickToClose").remove(); + }); + } } }; @@ -24,6 +33,7 @@ export default ['$scope', 'Refresh', 'tagSearchService', $scope.setSearchType = function($event, type) { $scope.currentSearchType = type; $scope.showTypeDropdown = false; + $(".TagSearch-clickToClose").remove(); $event.stopPropagation(); }; @@ -33,7 +43,16 @@ export default ['$scope', 'Refresh', 'tagSearchService', $scope .showCurrentSearchDropdown = !$scope .showCurrentSearchDropdown; - }; + if ($scope.showCurrentSearchDropdown) { + $("body").append(""); + $(".TagSearch-clickToClose").on("click", function() { + $scope.$apply(function() { + $scope.showCurrentSearchDropdown = false; + }); + $(".TagSearch-clickToClose").remove(); + }); + } +}; $scope.updateSearch = function(tags) { var iterator = $scope.iterator; @@ -106,5 +125,6 @@ export default ['$scope', 'Refresh', 'tagSearchService', $scope.newSearchTag = null; $scope.showTypeDropdown = false; $scope.showCurrentSearchDropdown = false; + $(".TagSearch-clickToClose").remove(); }; }]; diff --git a/awx/ui/client/src/search/tagSearch.partial.html b/awx/ui/client/src/search/tagSearch.partial.html index cceafa7b37..fed6022171 100644 --- a/awx/ui/client/src/search/tagSearch.partial.html +++ b/awx/ui/client/src/search/tagSearch.partial.html @@ -10,7 +10,7 @@ -