import React, { PureComponent } from 'react'; import { ElapsedTime } from './ElapsedTime'; import { PanelData, LoadingState } from '@grafana/data'; function formatLatency(value: number) { return `${(value / 1000).toFixed(1)}s`; } interface QueryStatusItemProps { queryResponse: PanelData; latency: number; } class QueryStatusItem extends PureComponent { render() { const { queryResponse, latency } = this.props; const className = queryResponse.state === LoadingState.Done || LoadingState.Error ? 'query-transaction' : 'query-transaction query-transaction--loading'; return (
{/*
{transaction.resultType}:
*/}
{queryResponse.state === LoadingState.Done || LoadingState.Error ? formatLatency(latency) : }
); } } interface QueryStatusProps { queryResponse: PanelData; latency: number; } export default class QueryStatus extends PureComponent { render() { const { queryResponse, latency } = this.props; if (queryResponse.state === LoadingState.NotStarted) { return null; } return (
); } }