DashNavButton.tsx 779 B

123456789101112131415161718192021222324252627282930313233
  1. // Libraries
  2. import React, { FunctionComponent } from 'react';
  3. // Components
  4. import { Tooltip } from '@grafana/ui';
  5. interface Props {
  6. icon: string;
  7. tooltip: string;
  8. classSuffix: string;
  9. onClick?: () => void;
  10. href?: string;
  11. }
  12. export const DashNavButton: FunctionComponent<Props> = ({ icon, tooltip, classSuffix, onClick, href }) => {
  13. if (onClick) {
  14. return (
  15. <Tooltip content={tooltip}>
  16. <button className={`btn navbar-button navbar-button--${classSuffix}`} onClick={onClick}>
  17. <i className={icon} />
  18. </button>
  19. </Tooltip>
  20. );
  21. }
  22. return (
  23. <Tooltip content={tooltip}>
  24. <a className={`btn navbar-button navbar-button--${classSuffix}`} href={href}>
  25. <i className={icon} />
  26. </a>
  27. </Tooltip>
  28. );
  29. };