mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 16:45:43 -06:00
33 lines
935 B
TypeScript
33 lines
935 B
TypeScript
import React from 'react';
|
|
import classNames from 'classnames';
|
|
import { Tooltip, Icon } from '@grafana/ui';
|
|
|
|
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">
|
|
<button
|
|
className={classNames('btn navbar-button navbar-button--attached', {
|
|
[`explore-active-button`]: isSynced,
|
|
})}
|
|
aria-label={isSynced ? 'Synced times' : 'Unsynced times'}
|
|
onClick={() => onClick()}
|
|
>
|
|
<Icon name="link" className={isSynced ? 'icon-brand-gradient' : ''} size="lg" />
|
|
</button>
|
|
</Tooltip>
|
|
);
|
|
}
|