summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/search/store/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/search/store/utils.js')
-rw-r--r--app/assets/javascripts/search/store/utils.js24
1 files changed, 23 insertions, 1 deletions
diff --git a/app/assets/javascripts/search/store/utils.js b/app/assets/javascripts/search/store/utils.js
index f8198017bf8..acb99c60426 100644
--- a/app/assets/javascripts/search/store/utils.js
+++ b/app/assets/javascripts/search/store/utils.js
@@ -1,5 +1,12 @@
import AccessorUtilities from '~/lib/utils/accessor';
-import { MAX_FREQUENT_ITEMS, MAX_FREQUENCY, SIDEBAR_PARAMS } from './constants';
+import { formatNumber } from '~/locale';
+import { joinPaths } from '~/lib/utils/url_utility';
+import {
+ MAX_FREQUENT_ITEMS,
+ MAX_FREQUENCY,
+ SIDEBAR_PARAMS,
+ NUMBER_FORMATING_OPTIONS,
+} from './constants';
function extractKeys(object, keyList) {
return Object.fromEntries(keyList.map((key) => [key, object[key]]));
@@ -90,3 +97,18 @@ export const isSidebarDirty = (currentQuery, urlQuery) => {
return userAddedParam || userChangedExistingParam;
});
};
+
+export const formatSearchResultCount = (count) => {
+ if (!count) {
+ return '0';
+ }
+
+ const countNumber = typeof count === 'string' ? parseInt(count.replace(/,/g, ''), 10) : count;
+ return formatNumber(countNumber, NUMBER_FORMATING_OPTIONS);
+};
+
+export const getAggregationsUrl = () => {
+ const currentUrl = new URL(window.location.href);
+ currentUrl.pathname = joinPaths('/search', 'aggregations');
+ return currentUrl.toString();
+};