mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
988b7c4dc3
* Style: made outlined buttons and used it in Alert component * Refactor: clean up state on load data source failure * Refactor: test data source thunk created * Refactor: move logic to changeDatasource and call that from intialize * Refactor: move load explore datasources to own thunk * Refactor: move logic to updateDatasourceInstanceAction * Tests: reducer tests * Test(Explore): Added tests and made thunkTester async * Fix(Explore): Fixed so that we do not render StartPage if there is no StartPage * Fix(Explore): Missed type in merge * Refactor: Thunktester did not fail tests on async failures and prevented queires from running on datasource failures * Feat: Fadein error alert to prevent flickering * Feat: Refresh labels after reconnect * Refactor: Move useLokiForceLabels into useLokiLabels from PR comments * Feat: adds refresh metrics to Prometheus languageprovider * Style: removes padding for connected datasources * Chore: remove implicit anys
33 lines
795 B
TypeScript
33 lines
795 B
TypeScript
import React, { FC } from 'react';
|
|
|
|
interface Props {
|
|
message: any;
|
|
button?: {
|
|
text: string;
|
|
onClick: (event: React.MouseEvent) => void;
|
|
};
|
|
}
|
|
|
|
export const Alert: FC<Props> = props => {
|
|
const { message, button } = props;
|
|
return (
|
|
<div className="alert-container">
|
|
<div className="alert-error alert">
|
|
<div className="alert-icon">
|
|
<i className="fa fa-exclamation-triangle" />
|
|
</div>
|
|
<div className="alert-body">
|
|
<div className="alert-title">{message}</div>
|
|
</div>
|
|
{button && (
|
|
<div className="alert-button">
|
|
<button className="btn btn-outline-danger" onClick={button.onClick}>
|
|
{button.text}
|
|
</button>
|
|
</div>
|
|
)}
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|