diff --git a/horizon/static/framework/widgets/magic-search/magic-search.controller.js b/horizon/static/framework/widgets/magic-search/magic-search.controller.js index a340054269..331ba869da 100644 --- a/horizon/static/framework/widgets/magic-search/magic-search.controller.js +++ b/horizon/static/framework/widgets/magic-search/magic-search.controller.js @@ -269,6 +269,12 @@ ctrl.filteredOptions = ctrl.facetOptions = facet.options; setMenuOpen(true); } + var searchVal = searchInput.val(); + if (searchVal) { + ctrl.currentSearch = ctrl.currentSearch.filter(notTextSearch); + ctrl.currentSearch.push(service.getTextFacet(searchVal, $scope.strings.text)); + ctrl.textSearch = searchVal; + } setSearchInput(''); setPrompt(''); $timeout(function() { @@ -310,13 +316,12 @@ } function clearSearch() { - if (ctrl.currentSearch.length > 0) { - ctrl.currentSearch = []; - ctrl.unusedFacetChoices = ctrl.facetChoices.map(service.getFacetChoice); - resetState(); - $scope.$emit(magicSearchEvents.SEARCH_UPDATED, ''); - emitTextSearch(''); - } + ctrl.currentSearch = []; + delete ctrl.textSearch; + ctrl.unusedFacetChoices = ctrl.facetChoices.map(service.getFacetChoice); + resetState(); + $scope.$emit(magicSearchEvents.SEARCH_UPDATED, ''); + emitTextSearch(''); } function resetState() { diff --git a/horizon/static/framework/widgets/magic-search/magic-search.controller.spec.js b/horizon/static/framework/widgets/magic-search/magic-search.controller.spec.js index 4871264724..9eab8f108a 100644 --- a/horizon/static/framework/widgets/magic-search/magic-search.controller.spec.js +++ b/horizon/static/framework/widgets/magic-search/magic-search.controller.spec.js @@ -125,13 +125,6 @@ describe("clearSearch", function() { - it("does nothing when currentSearch is empty", function() { - spyOn(scope, '$emit'); - ctrl.currentSearch = []; - ctrl.clearSearch(); - expect(scope.$emit).not.toHaveBeenCalled(); - }); - it("clears the currentSearch when currentSearch is not empty", function() { spyOn(scope, '$emit'); ctrl.currentSearch = ['a', 'b', 'c']; diff --git a/horizon/static/framework/widgets/magic-search/magic-search.html b/horizon/static/framework/widgets/magic-search/magic-search.html index d4d970b0e0..c96e67c859 100644 --- a/horizon/static/framework/widgets/magic-search/magic-search.html +++ b/horizon/static/framework/widgets/magic-search/magic-search.html @@ -45,7 +45,7 @@ - +