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 | 12x 12x 12x 2x 44x 2x 2x 2x 46x 46x 46x 44x 44x 2x 2x 2x | /*
* 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 { isNumber } from 'lodash-es'
import { getRiskColorValue } from '@cv/utils/CommonUtils'
import type { TimeSeriesMetricDataDTO } from 'services/cv'
import type { SeriesConfig } from './TimeseriesRow'
export function transformAnalysisDataToChartSeries(
analysisData: TimeSeriesMetricDataDTO['metricDataList'] = []
): SeriesConfig[] {
const highchartsLineData = []
analysisData.sort((a, b) => (a.timestamp ?? 0) - (b.timestamp ?? 0))
let currentRiskColor: string | null = getRiskColorValue(analysisData?.[0].risk)
const zones: Highcharts.SeriesZonesOptionsObject[] = [{ value: undefined, color: currentRiskColor }]
for (const dataPoint of analysisData) {
const { timestamp: x, risk, value: y } = dataPoint || {}
const riskColor = getRiskColorValue(risk)
if (isNumber(x) && isNumber(y) && risk) {
highchartsLineData.push({
x,
y
})
Iif (riskColor !== currentRiskColor) {
zones[zones.length - 1].value = x
zones.push({ value: undefined, color: riskColor })
currentRiskColor = riskColor
}
} else {
currentRiskColor = null
highchartsLineData.push({ x, y: null, color: 'transparent' })
}
}
return [{ series: [{ type: 'line', data: highchartsLineData, zones, zoneAxis: 'x', clip: false, lineWidth: 1 }] }]
}
|