From 0a99d25101c0b7c6c2941937cbe4bad6f688dbb7 Mon Sep 17 00:00:00 2001 From: Nabil Adouani Date: Mon, 22 Jun 2020 16:50:24 +0200 Subject: [PATCH] #1372 Sort data in stat widgets --- .../controllers/alert/AlertStatsCtrl.js | 27 ++---------- .../scripts/controllers/case/CaseStatsCtrl.js | 42 +++++++++---------- .../controllers/case/ObservablesStatsCtrl.js | 27 ++---------- .../scripts/services/common/data/StatSrv.js | 20 ++++++++- 4 files changed, 47 insertions(+), 69 deletions(-) diff --git a/frontend/app/scripts/controllers/alert/AlertStatsCtrl.js b/frontend/app/scripts/controllers/alert/AlertStatsCtrl.js index 883a55312d..61ed1c7d03 100644 --- a/frontend/app/scripts/controllers/alert/AlertStatsCtrl.js +++ b/frontend/app/scripts/controllers/alert/AlertStatsCtrl.js @@ -14,7 +14,7 @@ this.byStatus = {}; this.byTags = {}; - self.$onInit = function() { + self.$onInit = function() { // Get stats by tags StreamStatSrv({ @@ -27,7 +27,7 @@ limit: 5, result: {}, success: function(data){ - self.byTags = self.prepareResult(data); + self.byTags = StatSrv.prepareResult(data); } }); @@ -40,7 +40,7 @@ field: 'status', result: {}, success: function(data){ - self.byStatus = self.prepareResult(data); + self.byStatus = StatSrv.prepareResult(data); } }); @@ -55,30 +55,11 @@ limit: 5, result: {}, success: function(data){ - self.byType = self.prepareResult(data); + self.byType = StatSrv.prepareResult(data); } }); }; - this.prepareResult = function(rawStats) { - var total = rawStats.count; - - var keys = _.without(_.keys(rawStats), 'count'); - var columns = keys.map(function(key) { - return { - key: key, - count: rawStats[key].count - }; - }).sort(function(a, b) { - return a.count <= b.count; - }); - - return { - total: total, - details: columns - }; - }; - this.filterBy = function(field, value) { this.filtering.addFilter(field, value); }; diff --git a/frontend/app/scripts/controllers/case/CaseStatsCtrl.js b/frontend/app/scripts/controllers/case/CaseStatsCtrl.js index ba80a0cd28..ce0b87773c 100644 --- a/frontend/app/scripts/controllers/case/CaseStatsCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseStatsCtrl.js @@ -12,7 +12,7 @@ this.byStatus = {}; this.byTags = {}; - self.$onInit = function() { + self.$onInit = function() { // Get stats by tags StreamStatSrv({ @@ -25,7 +25,7 @@ limit: 5, result: {}, success: function(data){ - self.byTags = self.prepareResult(data); + self.byTags = StatSrv.prepareResult(data); } }); @@ -38,7 +38,7 @@ field: 'status', result: {}, success: function(data){ - self.byStatus = self.prepareResult(data); + self.byStatus = StatSrv.prepareResult(data); } }); @@ -51,29 +51,27 @@ field: 'resolutionStatus', result: {}, success: function(data){ - self.byResolution = self.prepareResult(data); + self.byResolution = StatSrv.prepareResult(data); } }); }; - this.prepareResult = function(rawStats) { - var total = rawStats.count; - - var keys = _.without(_.keys(rawStats), 'count'); - var columns = keys.map(function(key) { - return { - key: key, - count: rawStats[key].count - }; - }).sort(function(a, b) { - return a.count <= b.count; - }); - - return { - total: total, - details: columns - }; - }; + // this.prepareResult = function(rawStats) { + // var total = rawStats.count; + // + // var keys = _.without(_.keys(rawStats), 'count'); + // var columns = keys.map(function(key) { + // return { + // key: key, + // count: rawStats[key].count + // }; + // }); + // + // return { + // total: total, + // details: _.sortBy(columns, 'count').reverse() + // }; + // }; } ); })(); diff --git a/frontend/app/scripts/controllers/case/ObservablesStatsCtrl.js b/frontend/app/scripts/controllers/case/ObservablesStatsCtrl.js index 3f00ee79ef..b93b8f50b8 100644 --- a/frontend/app/scripts/controllers/case/ObservablesStatsCtrl.js +++ b/frontend/app/scripts/controllers/case/ObservablesStatsCtrl.js @@ -38,7 +38,7 @@ limit: 10, result: {}, success: function(data){ - self.byTags = self.prepareResult(data); + self.byTags = StatSrv.prepareResult(data); } }); @@ -51,7 +51,7 @@ field: 'dataType', result: {}, success: function(data){ - self.byType = self.prepareResult(data); + self.byType = StatSrv.prepareResult(data); } }); @@ -64,29 +64,10 @@ field: 'ioc', result: {}, success: function(data){ - self.byIoc = self.prepareResult(data); + self.byIoc = StatSrv.prepareResult(data); } }); - }; - - this.prepareResult = function(rawStats) { - var total = rawStats.count; - - var keys = _.without(_.keys(rawStats), 'count'); - var columns = keys.map(function(key) { - return { - key: key, - count: rawStats[key].count - }; - }).sort(function(a, b) { - return a.count <= b.count; - }); - - return { - total: total, - details: columns - }; - }; + }; } ); })(); diff --git a/frontend/app/scripts/services/common/data/StatSrv.js b/frontend/app/scripts/services/common/data/StatSrv.js index 558d83e25e..5ff76b51d2 100644 --- a/frontend/app/scripts/services/common/data/StatSrv.js +++ b/frontend/app/scripts/services/common/data/StatSrv.js @@ -70,9 +70,27 @@ return result; } + function prepareResult(rawStats) { + var total = rawStats.count; + + var keys = _.without(_.keys(rawStats), 'count'); + var columns = keys.map(function(key) { + return { + key: key, + count: rawStats[key].count + }; + }); + + return { + total: total, + details: _.sortBy(columns, 'count').reverse() + }; + } + return { 'get': get, - 'getPromise': getPromise + 'getPromise': getPromise, + 'prepareResult': prepareResult }; }); })();