1
import React, { FC } from 'react';
2
import { Alert } from 'reactstrap';
3
import Graph from './Graph';
4
import { QueryParams, ExemplarData } from '../../types/types';
5
import { isPresent } from '../../utils';
6
import { GraphDisplayMode } from './Panel';
8
interface GraphTabContentProps {
9
// eslint-disable-next-line @typescript-eslint/no-explicit-any
11
exemplars: ExemplarData;
12
displayMode: GraphDisplayMode;
13
useLocalTime: boolean;
14
showExemplars: boolean;
15
handleTimeRangeSelection: (startTime: number, endTime: number) => void;
16
lastQueryParams: QueryParams | null;
20
export const GraphTabContent: FC<GraphTabContentProps> = ({
27
handleTimeRangeSelection,
30
if (!isPresent(data)) {
31
return <Alert color="light">No data queried yet</Alert>;
33
if (data.result.length === 0) {
34
return <Alert color="secondary">Empty query result</Alert>;
36
if (data.resultType !== 'matrix') {
38
<Alert color="danger">Query result is of wrong type '{data.resultType}', should be 'matrix' (range vector).</Alert>
45
displayMode={displayMode}
46
useLocalTime={useLocalTime}
47
showExemplars={showExemplars}
48
handleTimeRangeSelection={handleTimeRangeSelection}
49
queryParams={lastQueryParams}