2019-10-08 18:55:53 +02:00
|
|
|
import React from 'react';
|
2022-04-22 14:33:13 +01:00
|
|
|
|
2021-01-25 14:01:54 +01:00
|
|
|
import { Tooltip, ToolbarButton } from '@grafana/ui';
|
2019-10-08 18:55:53 +02:00
|
|
|
|
|
|
|
|
interface TimeSyncButtonProps {
|
|
|
|
|
isSynced: boolean;
|
|
|
|
|
onClick: () => void;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function TimeSyncButton(props: TimeSyncButtonProps) {
|
|
|
|
|
const { onClick, isSynced } = props;
|
|
|
|
|
|
|
|
|
|
const syncTimesTooltip = () => {
|
|
|
|
|
const { isSynced } = props;
|
|
|
|
|
const tooltip = isSynced ? 'Unsync all views' : 'Sync all views to this time range';
|
|
|
|
|
return <>{tooltip}</>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<Tooltip content={syncTimesTooltip} placement="bottom">
|
2021-01-25 14:01:54 +01:00
|
|
|
<ToolbarButton
|
|
|
|
|
icon="link"
|
2023-01-05 22:26:58 +00:00
|
|
|
variant={isSynced ? 'active' : 'canvas'}
|
2019-10-16 11:48:10 +02:00
|
|
|
aria-label={isSynced ? 'Synced times' : 'Unsynced times'}
|
2021-01-25 14:01:54 +01:00
|
|
|
onClick={onClick}
|
|
|
|
|
/>
|
2019-10-08 18:55:53 +02:00
|
|
|
</Tooltip>
|
|
|
|
|
);
|
|
|
|
|
}
|