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 | 18x 18x 106x 18x 4x 4x 4x 4x 4x 4x 104x 104x 104x 104x 4x 18x | /* * 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 { ColumnData } from './ColumnChart.types' import { LOADING_COLUMN_HEIGHTS } from './ColumnChart.constants' export function calculatePositionForTimestamp({ endOfTimestamps, startTime, startOfTimestamps, containerWidth }: { endOfTimestamps: number startTime: number startOfTimestamps: number containerWidth: number }): number { return (1 - (endOfTimestamps - startTime) / (endOfTimestamps - startOfTimestamps)) * containerWidth } export function getColumnPositions(containerWidth: number, timestamps?: ColumnData[]): number[] { Iif (!timestamps?.length) { return [] } const startOfTimestamps = timestamps[0]?.timeRange?.startTime const endOfTimestamps = timestamps[timestamps?.length - 1]?.timeRange?.endTime Iif (!startOfTimestamps || !endOfTimestamps) { return [] } const barLeftOffset: number[] = [] for (const timestamp of timestamps) { const { startTime } = timestamp?.timeRange || {} Iif (!startTime) continue const position = calculatePositionForTimestamp({ endOfTimestamps, startTime, startOfTimestamps, containerWidth }) barLeftOffset.push(position) } return barLeftOffset } export function getLoadingColumnPositions(containerWidth: number): number[] { return LOADING_COLUMN_HEIGHTS.map((_, index) => (containerWidth / LOADING_COLUMN_HEIGHTS.length) * index) } |