From b742049b4ceaf5c0e28b387d38fbaa7d85caf6e2 Mon Sep 17 00:00:00 2001 From: Leigh Johnson Date: Fri, 17 Jun 2016 11:16:22 -0400 Subject: [PATCH] retain search filters when column-sorting a list, resolves, #1312 --- awx/ui/client/src/helpers/related-search.js | 3 +++ awx/ui/client/src/helpers/search.js | 3 +++ awx/ui/client/src/search/getSearchHtml.service.js | 3 ++- awx/ui/client/src/search/tagSearch.directive.js | 3 ++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/awx/ui/client/src/helpers/related-search.js b/awx/ui/client/src/helpers/related-search.js index d05a19e57a..1b509c9075 100644 --- a/awx/ui/client/src/helpers/related-search.js +++ b/awx/ui/client/src/helpers/related-search.js @@ -237,6 +237,9 @@ export default url += (url.match(/\/$/)) ? '?' : '&'; url += scope[iterator + 'SearchParams']; url += (scope[iterator + '_page_size']) ? '&page_size=' + scope[iterator + '_page_size'] : ""; + if (scope[iterator + 'SearchFilters']){ + url += _.reduce(scope[iterator+'SearchFilters'], (result, filter) => result + '&' + filter.url, ''); + } RefreshRelated({ scope: scope, set: set, iterator: iterator, url: url }); }; diff --git a/awx/ui/client/src/helpers/search.js b/awx/ui/client/src/helpers/search.js index cfd917ba55..fcada71b0c 100644 --- a/awx/ui/client/src/helpers/search.js +++ b/awx/ui/client/src/helpers/search.js @@ -302,6 +302,9 @@ export default url += connect + scope[iterator + 'ExtraParms']; } url = url.replace(/\&\&/g, '&').replace(/\?\&/,'?'); + if (scope[iterator + 'SearchFilters']){ + url += _.reduce(scope[iterator+'SearchFilters'], (result, filter) => result + '&' + filter.url, ''); + } if (calcOnly) { scope.$emit('searchParamsReady', url); } diff --git a/awx/ui/client/src/search/getSearchHtml.service.js b/awx/ui/client/src/search/getSearchHtml.service.js index 3ae5dbfe00..aaccc87d64 100644 --- a/awx/ui/client/src/search/getSearchHtml.service.js +++ b/awx/ui/client/src/search/getSearchHtml.service.js @@ -43,7 +43,8 @@ export default ['GetBasePath', function(GetBasePath) { return ""; + "' iterator='" + iterator + + "' current-search-filters='" + iterator + "SearchFilters' >"; }; return this; diff --git a/awx/ui/client/src/search/tagSearch.directive.js b/awx/ui/client/src/search/tagSearch.directive.js index 1f5e562b30..98d31b0d37 100644 --- a/awx/ui/client/src/search/tagSearch.directive.js +++ b/awx/ui/client/src/search/tagSearch.directive.js @@ -10,7 +10,8 @@ export default list: '@', endpoint: '@', set: '@', - iterator: '@' + iterator: '@', + currentSearchFilters: '=' }, controller: tagSearchController, templateUrl: templateUrl('search/tagSearch'),