import React, { FC, ReactNode, PureComponent } from 'react'; import { Tooltip } from '@grafana/ui'; interface ToggleButtonGroupProps { label?: string; children: JSX.Element[]; transparent?: boolean; } export default class ToggleButtonGroup extends PureComponent { render() { const { children, label, transparent } = this.props; return (
{label && }
{children}
); } } interface ToggleButtonProps { onChange?: (value: any) => void; selected?: boolean; value: any; className?: string; children: ReactNode; tooltip?: string; } export const ToggleButton: FC = ({ children, selected, className = '', value = null, tooltip, onChange, }) => { const onClick = (event: React.SyntheticEvent) => { event.stopPropagation(); if (onChange) { onChange(value); } }; const btnClassName = `btn ${className} ${selected ? 'active' : ''}`; const button = ( ); if (tooltip) { return ( {button} ); } else { return button; } };