diff --git a/ui/app/scripts/directives/dashboard/counter.js b/ui/app/scripts/directives/dashboard/counter.js index 6997297622..7c0714581b 100644 --- a/ui/app/scripts/directives/dashboard/counter.js +++ b/ui/app/scripts/directives/dashboard/counter.js @@ -1,6 +1,6 @@ (function() { 'use strict'; - angular.module('theHiveDirectives').directive('dashboardCounter', function($http, $state, DashboardSrv, NotificationSrv, GlobalSearchSrv) { + angular.module('theHiveDirectives').directive('dashboardCounter', function($q, $http, $state, DashboardSrv, NotificationSrv, GlobalSearchSrv) { return { restrict: 'E', scope: { @@ -66,17 +66,19 @@ }; scope.openSearch = function(item) { - if(scope.mode === 'edit') { - return; - } + if(scope.mode === 'edit') { + return; + } - var filters = (scope.options.filters || []).concat(item.serie.filters || []); + var filters = (scope.options.filters || []).concat(item.serie.filters || []); + + $q.resolve(GlobalSearchSrv.saveSection(scope.options.entity, { + search: filters.length === 0 ? '*' : null, + filters: filters + })).then(function() { + $state.go('app.search'); + }); - GlobalSearchSrv.saveSection(scope.options.entity, { - search: filters.length === 0 ? '*' : null, - filters: filters - }); - $state.go('app.search'); }; if (scope.autoload === true) { diff --git a/ui/app/scripts/directives/dashboard/donut.js b/ui/app/scripts/directives/dashboard/donut.js index 078d657031..6b0e2f0d52 100644 --- a/ui/app/scripts/directives/dashboard/donut.js +++ b/ui/app/scripts/directives/dashboard/donut.js @@ -1,6 +1,6 @@ (function() { 'use strict'; - angular.module('theHiveDirectives').directive('dashboardDonut', function(StatSrv, $state, DashboardSrv, NotificationSrv, GlobalSearchSrv) { + angular.module('theHiveDirectives').directive('dashboardDonut', function($q, StatSrv, $state, DashboardSrv, NotificationSrv, GlobalSearchSrv) { return { restrict: 'E', scope: { @@ -93,11 +93,14 @@ value: GlobalSearchSrv.buildDefaultFilterValue(fieldDef, d) }; - GlobalSearchSrv.saveSection(scope.options.entity, { + var filters = (scope.options.filters || []).concat([data]); + + $q.resolve(GlobalSearchSrv.saveSection(scope.options.entity, { search: null, - filters: scope.options.filters.concat([data]) + filters: filters + })).then(function() { + $state.go('app.search'); }); - $state.go('app.search'); } }, donut: { diff --git a/ui/app/scripts/services/GlobalSearchSrv.js b/ui/app/scripts/services/GlobalSearchSrv.js index 994a48c993..3c93648c6b 100644 --- a/ui/app/scripts/services/GlobalSearchSrv.js +++ b/ui/app/scripts/services/GlobalSearchSrv.js @@ -18,7 +18,7 @@ var cfg = this.restore(); return cfg[entity] || {}; - } + }; this.restore = function() { return localStorageService.get('search-section') || { @@ -55,7 +55,7 @@ return { operator: 'any', list: [{text: value.id, label:value.name}] - } + }; } else { switch(fieldDef.type) { case 'number':