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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 30x 30x 30x 30x 30x 63x 62x 62x 62x 62x 62x 53x 53x 62x | /* * Copyright 2022 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 { useState } from 'react' import { flatten } from 'lodash-es' import { useStrings } from 'framework/strings' import type { CreatedMetricsWithSelectedIndex, CustomSelectedAndMappedMetrics, GroupedCreatedMetrics } from '@cv/pages/health-source/common/CustomMetric/CustomMetric.types' import { initializeSelectedMetricsMap, initializeCreatedMetrics, initGroupedCreatedMetrics } from '@cv/pages/health-source/common/CustomMetric/CustomMetric.utils' interface UseGroupedSideNaveHookInterface { defaultCustomMetricName: string initCustomMetricData: any mappedServicesAndEnvs: Map<string, any> } export default function useGroupedSideNaveHook(props: UseGroupedSideNaveHookInterface) { const { getString } = useStrings() const { defaultCustomMetricName, initCustomMetricData, mappedServicesAndEnvs } = props const [{ selectedMetric, mappedMetrics }, setMappedMetrics] = useState<CustomSelectedAndMappedMetrics>( initializeSelectedMetricsMap(defaultCustomMetricName, initCustomMetricData, mappedServicesAndEnvs) ) const [{ createdMetrics, selectedMetricIndex }, setCreatedMetrics] = useState<CreatedMetricsWithSelectedIndex>( initializeCreatedMetrics(defaultCustomMetricName, selectedMetric, mappedMetrics) ) const [groupedCreatedMetrics, setGroupedCreatedMetrics] = useState<GroupedCreatedMetrics>( initGroupedCreatedMetrics(mappedMetrics, getString) ) const groupedCreatedMetricsList = flatten(Object.values(groupedCreatedMetrics)) .map(item => item.metricName) .filter(item => Boolean(item)) as string[] return { createdMetrics, mappedMetrics, selectedMetric, selectedMetricIndex, groupedCreatedMetrics, groupedCreatedMetricsList, setMappedMetrics, setCreatedMetrics, setGroupedCreatedMetrics } } |