selectorItems.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import * as React from 'react';
  2. import RelativeSelector from 'app/components/organizations/timeRangeSelector/dateRange/relativeSelector';
  3. import SelectorItem from 'app/components/organizations/timeRangeSelector/dateRange/selectorItem';
  4. import {t} from 'app/locale';
  5. type Props = {
  6. handleSelectRelative: (value: string, e?: React.MouseEvent) => void;
  7. handleAbsoluteClick: (value: string, e?: React.MouseEvent) => void;
  8. isAbsoluteSelected: boolean;
  9. relativeSelected: string;
  10. relativePeriods?: Record<string, string>; // Override DEFAULT_RELATIVE_PERIODS
  11. shouldShowRelative?: boolean;
  12. shouldShowAbsolute?: boolean;
  13. };
  14. const SelectorItems = ({
  15. shouldShowRelative,
  16. shouldShowAbsolute,
  17. handleSelectRelative,
  18. handleAbsoluteClick,
  19. relativeSelected,
  20. relativePeriods,
  21. isAbsoluteSelected,
  22. }: Props) => (
  23. <React.Fragment>
  24. {shouldShowRelative && (
  25. <RelativeSelector
  26. onClick={handleSelectRelative}
  27. selected={relativeSelected}
  28. relativePeriods={relativePeriods}
  29. />
  30. )}
  31. {shouldShowAbsolute && (
  32. <SelectorItem
  33. onClick={handleAbsoluteClick}
  34. value="absolute"
  35. label={t('Absolute date')}
  36. selected={isAbsoluteSelected}
  37. last
  38. />
  39. )}
  40. </React.Fragment>
  41. );
  42. export default SelectorItems;