From d16a1f22152fee7b093034d05a1f722448eedcf9 Mon Sep 17 00:00:00 2001 From: Kenny Date: Fri, 4 Sep 2020 11:12:54 -0700 Subject: [PATCH] Time format: 0 seconds is a number (#27376) --- .../src/valueFormats/dateTimeFormatters.test.ts | 9 +++++++++ .../grafana-data/src/valueFormats/dateTimeFormatters.ts | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts b/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts index 07d1e642ed0..ea5aaff036b 100644 --- a/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts +++ b/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts @@ -12,6 +12,7 @@ import { toDurationInHoursMinutesSeconds, toDurationInDaysHoursMinutesSeconds, toNanoSeconds, + toSeconds, } from './dateTimeFormatters'; import { formattedValueToString } from './valueFormats'; import { toUtc, dateTime } from '../datetime/moment_wrapper'; @@ -331,3 +332,11 @@ describe('to nanoseconds', () => { expect(tenDays.suffix).toBe(' day'); }); }); + +describe('seconds', () => { + it('should show 0 as 0', () => { + const zeroSeconds = toSeconds(0); + expect(zeroSeconds.text).toBe('0'); + expect(zeroSeconds.suffix).toBe(' s'); + }); +}); diff --git a/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts b/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts index 1afda3b4c2d..da7a66475f6 100644 --- a/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts +++ b/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts @@ -103,6 +103,11 @@ export function toSeconds(size: number, decimals?: DecimalCount, scaledDecimals? return { text: '' }; } + // If 0, use s unit instead of ns + if (size === 0) { + return { text: '0', suffix: ' s' }; + } + // Less than 1 µs, divide in ns if (Math.abs(size) < 0.000001) { return toFixedScaled(size * 1e9, decimals, trySubstract(scaledDecimals, decimals), -9, ' ns');