From 977d53c8c964111a152d169c518abc7d69c8d13d Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Fri, 18 Jan 2019 11:13:07 +0100 Subject: [PATCH] Get rid of unused renderContent prop on PopperController --- .../src/components/Tooltip/Popper.tsx | 8 ++++---- .../src/components/Tooltip/PopperController.tsx | 17 ++--------------- .../src/components/Tooltip/Tooltip.tsx | 2 +- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/packages/grafana-ui/src/components/Tooltip/Popper.tsx b/packages/grafana-ui/src/components/Tooltip/Popper.tsx index 17955d346b5..9ee4ca41f5f 100644 --- a/packages/grafana-ui/src/components/Tooltip/Popper.tsx +++ b/packages/grafana-ui/src/components/Tooltip/Popper.tsx @@ -3,6 +3,7 @@ import * as PopperJS from 'popper.js'; import { Manager, Popper as ReactPopper } from 'react-popper'; import { Portal } from '@grafana/ui'; import Transition from 'react-transition-group/Transition'; +import { PopperContent } from './PopperController'; const defaultTransitionStyles = { transition: 'opacity 200ms linear', @@ -17,17 +18,16 @@ const transitionStyles: { [key: string]: object } = { }; interface Props extends React.HTMLAttributes { - renderContent: (content: any) => any; show: boolean; placement?: PopperJS.Placement; - content: string | ((props: any) => JSX.Element); + content: PopperContent; referenceElement: PopperJS.ReferenceObject; arrowClassName?: string; } class Popper extends PureComponent { render() { - const { renderContent, show, placement, onMouseEnter, onMouseLeave, className, arrowClassName } = this.props; + const { show, placement, onMouseEnter, onMouseLeave, className, arrowClassName } = this.props; const { content } = this.props; return ( @@ -56,7 +56,7 @@ class Popper extends PureComponent { className={`popper`} >
- {renderContent(content)} + {content}
JSX.Element); +export type PopperContent = string | JSX.Element; export interface UsingPopperProps { show?: boolean; placement?: PopperJS.Placement; content: PopperContent; children: JSX.Element; - renderContent?: (content: PopperContent) => JSX.Element; } type PopperControllerRenderProp = ( @@ -17,8 +16,7 @@ type PopperControllerRenderProp = ( popperProps: { show: boolean; placement: PopperJS.Placement; - content: string | ((props: any) => JSX.Element); - renderContent: (content: any) => any; + content: PopperContent; } ) => JSX.Element; @@ -69,16 +67,6 @@ class PopperController extends React.Component { })); }; - renderContent(content: PopperContent) { - - if (typeof content === 'function') { - // If it's a function we assume it's a React component - const ReactComponent = content; - return ; - } - return content; - } - render() { const { children, content } = this.props; const { show, placement } = this.state; @@ -87,7 +75,6 @@ class PopperController extends React.Component { show, placement, content, - renderContent: this.renderContent, }); } } diff --git a/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx b/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx index 343672721ec..f03eb97f441 100644 --- a/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx +++ b/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx @@ -12,7 +12,7 @@ export enum Themes { interface TooltipProps extends UsingPopperProps { theme?: Themes; } -export const Tooltip = ({ children, renderContent, theme, ...controllerProps }: TooltipProps) => { +export const Tooltip = ({ children, theme, ...controllerProps }: TooltipProps) => { const tooltipTriggerRef = createRef(); const popperBackgroundClassName = 'popper__background' + (theme ? ' ' + theme : '');