From 1dee5068c1e1e7d776afe085705fa8478a62e42c Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Mon, 1 Feb 2021 10:22:39 -0500 Subject: [PATCH] Search Kit: Fix rowCount to run only if results exceed limit --- .../crmSearchAdmin.component.js | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/ext/search/ang/crmSearchAdmin/crmSearchAdmin.component.js b/ext/search/ang/crmSearchAdmin/crmSearchAdmin.component.js index cc927aa8e4..e1deda0be6 100644 --- a/ext/search/ang/crmSearchAdmin/crmSearchAdmin.component.js +++ b/ext/search/ang/crmSearchAdmin/crmSearchAdmin.component.js @@ -395,13 +395,18 @@ if (ctrl.stale) { ctrl.results = {}; // Get row count for pager - // Select is only needed needed by HAVING - params.select = params.having && params.having.length ? params.select : []; - params.select.push('row_count'); - delete params.debug; - crmApi4(ctrl.savedSearch.api_entity, 'get', params).then(function(result) { - ctrl.rowCount = result.count; - }); + if (success.length < params.limit) { + ctrl.rowCount = success.count; + } else { + var countParams = _.cloneDeep(params); + // Select is only needed needed by HAVING + countParams.select = countParams.having && countParams.having.length ? countParams.select : []; + countParams.select.push('row_count'); + delete countParams.debug; + crmApi4(ctrl.savedSearch.api_entity, 'get', countParams).then(function(result) { + ctrl.rowCount = result.count; + }); + } } ctrl.debug = success.debug; // populate this page & the next @@ -576,7 +581,7 @@ $scope.formatResult = function(row, col) { var info = searchMeta.parseExpr(col), - value = row[info.alias]; + value = row[info.alias + info.suffix]; if (info.fn && info.fn.name === 'COUNT') { return value; } -- 2.25.1