Welcome to mirror list, hosted at ThFree Co, Russian Federation.

utils.js « project « settings « packages_and_registries « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b577a051862e086422cd8553ffbbbfa0fd7cae8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { n__ } from '~/locale';
import { KEEP_N_OPTIONS, CADENCE_OPTIONS, OLDER_THAN_OPTIONS } from './constants';

export const findDefaultOption = (options) => {
  const item = options.find((o) => o.default);
  return item ? item.key : null;
};

export const olderThanTranslationGenerator = (variable) => n__('%d day', '%d days', variable);

export const keepNTranslationGenerator = (variable) =>
  n__('%d tag per image name', '%d tags per image name', variable);

export const optionLabelGenerator = (collection, translationFn) => {
  const result = collection.map((option) => ({
    ...option,
    label: translationFn(option.variable),
  }));
  result.unshift({ key: null, label: '' });
  return result;
};

export const formOptionsGenerator = () => {
  return {
    olderThan: optionLabelGenerator(OLDER_THAN_OPTIONS, olderThanTranslationGenerator),
    cadence: CADENCE_OPTIONS,
    keepN: optionLabelGenerator(KEEP_N_OPTIONS, keepNTranslationGenerator),
  };
};