Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 33x 2x 2x 2x 2x 60x 33x 60x 85x 85x 85x 60x 60x | /* * Copyright 2021 Harness Inc. All rights reserved. * Use of this source code is governed by the PolyForm Shield 1.0.0 license * that can be found in the licenses directory at the root of this repository, also available at * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt. */ import type { SelectOption } from '@pipeline/components/PipelineSteps/Steps/StepsTypes' import type { UseStringsReturn } from 'framework/strings' import type { CreateGroupName } from './GroupName.types' export function validate( values: CreateGroupName, groupNames: SelectOption[], getString: UseStringsReturn['getString'] ): { [key: string]: string } { const errors: { [key: string]: string } = {} Iif (!values.name?.trim().length) { errors.name = getString('cv.onboarding.selectProductScreen.validationText.name') } else Iif (groupNames.filter(name => name.value === values.name).length) { errors.name = getString('cv.monitoringSources.prometheus.validation.uniqueName', { existingName: values.name }) } return errors } function getUniqueGroupName(arr: SelectOption[]): SelectOption[] { return [...new Map(arr.map(item => [item.value, item])).values()] } export function initializeGroupNames( mappedMetrics: Map<string, any>, getString: UseStringsReturn['getString'] ): SelectOption[] { const groupNames = Array.from(mappedMetrics?.entries()) .map(metric => { const { groupName } = metric?.[1] || {} return groupName || null }) .filter(groupItem => groupItem !== null) as SelectOption[] const uniqueGroupNames = getUniqueGroupName(groupNames) return [{ label: getString('cv.addNew'), value: '' }, ...uniqueGroupNames] } |