mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
29 lines
938 B
TypeScript
29 lines
938 B
TypeScript
import React, { FC } from 'react';
|
|
|
|
import { QueryResultMetaNotice } from '@grafana/data';
|
|
import { Icon, Tooltip } from '@grafana/ui';
|
|
|
|
interface Props {
|
|
notice: QueryResultMetaNotice;
|
|
onClick: (e: React.SyntheticEvent, tab: string) => void;
|
|
}
|
|
|
|
export const PanelHeaderNotice: FC<Props> = ({ notice, onClick }) => {
|
|
const iconName =
|
|
notice.severity === 'error' || notice.severity === 'warning' ? 'exclamation-triangle' : 'info-circle';
|
|
|
|
return (
|
|
<Tooltip content={notice.text} key={notice.severity}>
|
|
{notice.inspect ? (
|
|
<div className="panel-info-notice pointer" onClick={(e) => onClick(e, notice.inspect!)}>
|
|
<Icon name={iconName} style={{ marginRight: '8px' }} />
|
|
</div>
|
|
) : (
|
|
<a className="panel-info-notice" href={notice.link} target="_blank" rel="noreferrer">
|
|
<Icon name={iconName} style={{ marginRight: '8px' }} />
|
|
</a>
|
|
)}
|
|
</Tooltip>
|
|
);
|
|
};
|