diff options
Diffstat (limited to 'app/assets/javascripts/search/store')
-rw-r--r-- | app/assets/javascripts/search/store/constants.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/search/store/utils.js | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/app/assets/javascripts/search/store/constants.js b/app/assets/javascripts/search/store/constants.js index 678bd82c7a6..e4f67f624ca 100644 --- a/app/assets/javascripts/search/store/constants.js +++ b/app/assets/javascripts/search/store/constants.js @@ -10,3 +10,5 @@ export const GROUPS_LOCAL_STORAGE_KEY = 'global-search-frequent-groups'; export const PROJECTS_LOCAL_STORAGE_KEY = 'global-search-frequent-projects'; export const SIDEBAR_PARAMS = [stateFilterData.filterParam, confidentialFilterData.filterParam]; + +export const NUMBER_FORMATING_OPTIONS = { notation: 'compact', compactDisplay: 'short' }; 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(); +}; |