From 967194a3f3aac12835b9afd8d35d1e1411487a80 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Wed, 6 Apr 2016 15:38:48 -0400 Subject: [PATCH] fixes to tag search ui implementation --- awx/ui/client/src/forms/Inventories.js | 1 + awx/ui/client/src/lists/InventoryGroups.js | 2 +- awx/ui/client/src/search/getSearchHtml.service.js | 1 + awx/ui/client/src/search/tagSearch.partial.html | 7 ++++--- awx/ui/client/src/search/tagSearch.service.js | 13 ++++++++++--- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/awx/ui/client/src/forms/Inventories.js b/awx/ui/client/src/forms/Inventories.js index 746c8a49a9..aa6d6f06e3 100644 --- a/awx/ui/client/src/forms/Inventories.js +++ b/awx/ui/client/src/forms/Inventories.js @@ -79,6 +79,7 @@ export default related: { scan_job_templates: { + basePath: 'inventories/:id/scan_job_templates', type: 'collection', title: 'Scan Job Templates', iterator: 'scan_job_template', diff --git a/awx/ui/client/src/lists/InventoryGroups.js b/awx/ui/client/src/lists/InventoryGroups.js index 53881f3d7c..db3f2bc7a0 100644 --- a/awx/ui/client/src/lists/InventoryGroups.js +++ b/awx/ui/client/src/lists/InventoryGroups.js @@ -73,7 +73,7 @@ export default }, last_update_failed: { label: 'Update failed?', - searchType: 'select', + searchType: 'boolean', searchSingleValue: true, searchValue: 'failed', searchOnly: true, diff --git a/awx/ui/client/src/search/getSearchHtml.service.js b/awx/ui/client/src/search/getSearchHtml.service.js index 82484abfc9..8570237b32 100644 --- a/awx/ui/client/src/search/getSearchHtml.service.js +++ b/awx/ui/client/src/search/getSearchHtml.service.js @@ -9,6 +9,7 @@ export default ['GetBasePath', function(GetBasePath) { .searchable !== false); }).map(function(i) { delete f[i].awToolTip; + delete f[i].ngClass; return {[i]: f[i]}; }).reduce(function (acc, i) { var key = Object.keys(i); diff --git a/awx/ui/client/src/search/tagSearch.partial.html b/awx/ui/client/src/search/tagSearch.partial.html index 0e557dca2a..de379cf3d9 100644 --- a/awx/ui/client/src/search/tagSearch.partial.html +++ b/awx/ui/client/src/search/tagSearch.partial.html @@ -3,9 +3,10 @@
- - {{ currentSearchType.label || "Foo bar"}} + ng-class="{'is-open': showTypeDropdown}" + ng-cloak> + + {{ currentSearchType.label }}
diff --git a/awx/ui/client/src/search/tagSearch.service.js b/awx/ui/client/src/search/tagSearch.service.js index 93348d89c3..93d4819901 100644 --- a/awx/ui/client/src/search/tagSearch.service.js +++ b/awx/ui/client/src/search/tagSearch.service.js @@ -1,4 +1,4 @@ -export default ['Rest', '$q', 'GetBasePath', function(Rest, $q, GetBasePath) { +export default ['Rest', '$q', 'GetBasePath', 'Wait', 'ProcessErrors', function(Rest, $q, GetBasePath, Wait, ProcessErrors) { var that = this; // parse the field config object to return // one of the searchTypes (for the left dropdown) @@ -18,7 +18,7 @@ export default ['Rest', '$q', 'GetBasePath', function(Rest, $q, GetBasePath) { var type, typeOptions; if (field.searchType === 'select') { type = 'select'; - typeOptions = []; + typeOptions = field.searchOptions || []; } else if (field.searchType === 'boolean') { type = 'select'; typeOptions = [{label: "Yes", value: true}, @@ -49,6 +49,7 @@ export default ['Rest', '$q', 'GetBasePath', function(Rest, $q, GetBasePath) { // given the fields that are searchable, // return searchTypes in the format the view can use this.getSearchTypes = function(list, basePath) { + Wait("start"); var defer = $q.defer(); var options = Object @@ -95,11 +96,17 @@ export default ['Rest', '$q', 'GetBasePath', function(Rest, $q, GetBasePath) { }); return option; + }) + .error(function (data, status) { + ProcessErrors(null, data, status, null, { + hdr: 'Error!', + msg: 'Getting type options failed'}); }); - + Wait("stop"); defer.resolve(joinOptions()); }); } else { + Wait("stop"); defer.resolve(joinOptions()); }