mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Fix TemporaryAlert
(#81384)
This commit is contained in:
parent
b758b91e84
commit
77b0369fdb
@ -30,22 +30,26 @@ const timeoutMap = {
|
|||||||
export const TemporaryAlert = (props: { severity: AlertVariant; text: string }) => {
|
export const TemporaryAlert = (props: { severity: AlertVariant; text: string }) => {
|
||||||
const style = getStyle(useTheme2());
|
const style = getStyle(useTheme2());
|
||||||
const [visible, setVisible] = useState(false);
|
const [visible, setVisible] = useState(false);
|
||||||
|
const [timer, setTimer] = useState<NodeJS.Timeout>();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const timer = setTimeout(() => {
|
|
||||||
setVisible(false);
|
|
||||||
}, timeoutMap[props.severity]);
|
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
clearTimeout(timer);
|
if (timer) {
|
||||||
|
clearTimeout(timer);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}, [props.severity, visible]);
|
}, [timer]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (props.text !== '') {
|
if (props.text !== '') {
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
|
||||||
}, [props.text]);
|
|
||||||
|
|
||||||
return <Alert className={style} elevated={true} title={props.text} severity={props.severity} />;
|
const timer = setTimeout(() => {
|
||||||
|
setVisible(false);
|
||||||
|
}, timeoutMap[props.severity]);
|
||||||
|
setTimer(timer);
|
||||||
|
}
|
||||||
|
}, [props.severity, props.text]);
|
||||||
|
|
||||||
|
return <>{visible && <Alert className={style} elevated={true} title={props.text} severity={props.severity} />}</>;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user