From 07186e1606335d040f4d87effe7e625bfa2db1e0 Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Thu, 29 Mar 2018 00:32:46 -0400 Subject: [PATCH] disable search when running --- .../features/output/index.controller.js | 70 ++++++++++--------- awx/ui/client/features/output/index.view.html | 38 +++++----- 2 files changed, 59 insertions(+), 49 deletions(-) diff --git a/awx/ui/client/features/output/index.controller.js b/awx/ui/client/features/output/index.controller.js index e938e45cd6..6e160f02a5 100644 --- a/awx/ui/client/features/output/index.controller.js +++ b/awx/ui/client/features/output/index.controller.js @@ -50,36 +50,11 @@ function JobsIndexController ( // Development helper(s) vm.clear = devClear; - // Stdout Navigation - vm.scroll = { - showBackToTop: false, - home: scrollHome, - end: scrollEnd, - down: scrollPageDown, - up: scrollPageUp - }; - // Expand/collapse vm.toggle = toggle; vm.expand = expand; vm.isExpanded = true; - // Search - $state = _$state_; - qs = _qs_; - - vm.searchValue = ''; - vm.searchRejected = null; - vm.searchKey = false; - vm.searchKeyExamples = searchKeyExamples; - vm.searchKeyFields = searchKeyFields; - - vm.clearSearch = clearSearch; - vm.search = search; - vm.toggleSearchKey = toggleSearchKey; - vm.removeSearchTag = removeSearchTag; - vm.searchTags = getSearchTags(getCurrentQueryset()); - // Events eventCounter = null; statsEvent = resource.stats; @@ -103,6 +78,33 @@ function JobsIndexController ( finished: resource.model.get('finished'), }; + // Search + $state = _$state_; + qs = _qs_; + + vm.search = { + clearSearch, + searchKeyExamples, + searchKeyFields, + toggleSearchKey, + removeSearchTag, + submitSearch, + value: '', + key: false, + rejected: false, + disabled: !resource.model.get('finished'), + tags: getSearchTags(getCurrentQueryset()), + }; + + // Stdout Navigation + vm.scroll = { + showBackToTop: false, + home: scrollHome, + end: scrollEnd, + down: scrollPageDown, + up: scrollPageUp + }; + render.requestAnimationFrame(() => init(!vm.status.running)); } @@ -134,11 +136,15 @@ function init (pageMode) { vm.status.plays = 0; vm.status.tasks = 0; vm.status.running = true; + + vm.search.disabled = true; }, onStop () { vm.status.stats = statsEvent; vm.status.running = false; + vm.search.disabled = false; + vm.details.status = statsEvent.failed ? 'failed' : 'successful'; vm.details.finished = statsEvent.created; } @@ -398,7 +404,7 @@ const searchKeyExamples = ['id:>1', 'task:set', 'created:>=2000-01-01']; const searchKeyFields = ['changed', 'failed', 'host_name', 'stdout', 'task', 'role', 'playbook', 'play']; function toggleSearchKey () { - vm.searchKey = !vm.searchKey; + vm.search.key = !vm.search.key; } function getCurrentQueryset () { @@ -416,31 +422,31 @@ function getSearchTags (queryset) { } function removeSearchTag (index) { - const searchTerm = vm.searchTags[index]; + const searchTerm = vm.search.tags[index]; const currentQueryset = getCurrentQueryset(); const modifiedQueryset = qs.removeTermsFromQueryset(currentQueryset, searchTerm); - vm.searchTags = getSearchTags(modifiedQueryset); + vm.search.tags = getSearchTags(modifiedQueryset); $state.params.job_event_search = qs.encodeArr(modifiedQueryset); $state.transitionTo($state.current, $state.params, searchReloadOptions); } -function search () { - const searchInputQueryset = qs.getSearchInputQueryset(vm.searchValue); +function submitSearch () { + const searchInputQueryset = qs.getSearchInputQueryset(vm.search.value); const currentQueryset = getCurrentQueryset(); const modifiedQueryset = qs.mergeQueryset(currentQueryset, searchInputQueryset); - vm.searchTags = getSearchTags(modifiedQueryset); + vm.search.tags = getSearchTags(modifiedQueryset); $state.params.job_event_search = qs.encodeArr(modifiedQueryset); $state.transitionTo($state.current, $state.params, searchReloadOptions); } function clearSearch () { - vm.searchTags = []; + vm.search.tags = []; $state.params.job_event_search = ''; $state.transitionTo($state.current, $state.params, searchReloadOptions); diff --git a/awx/ui/client/features/output/index.view.html b/awx/ui/client/features/output/index.view.html index 4dde59725a..4ba0d1c91b 100644 --- a/awx/ui/client/features/output/index.view.html +++ b/awx/ui/client/features/output/index.view.html @@ -22,31 +22,31 @@ tasks="vm.status.tasks"> -
+
+ ng-class="{ 'at-Input--rejected': vm.search.rejected }" + ng-model="vm.search.value" + ng-attr-placeholder="{{ vm.search.disabled ? 'CANNOT SEARCH RUNNING JOB' : 'SEARCH' }}" + ng-disabled="vm.search.disabled"> @@ -54,16 +54,20 @@
-
+
{{ tag }}
-
+
- +
- + +