浏览代码

Make tooltips persistent when hovered

Dominik Prokop 7 年之前
父节点
当前提交
22c9ce7de8
共有 2 个文件被更改,包括 10 次插入3 次删除
  1. 4 2
      public/app/core/components/Tooltip/Popper.tsx
  2. 6 1
      public/app/core/components/Tooltip/Tooltip.tsx

+ 4 - 2
public/app/core/components/Tooltip/Popper.tsx

@@ -16,7 +16,7 @@ const transitionStyles = {
   exiting: { opacity: 0 },
 };
 
-interface Props {
+interface Props extends React.DOMAttributes<HTMLDivElement> {
   renderContent: (content: any) => any;
   show: boolean;
   placement?: PopperJS.Placement;
@@ -27,7 +27,7 @@ interface Props {
 
 class Popper extends PureComponent<Props> {
   render() {
-    const { renderContent, show, placement } = this.props;
+    const { renderContent, show, placement, onMouseEnter, onMouseLeave } = this.props;
     const { content } = this.props;
 
     return (
@@ -39,6 +39,8 @@ class Popper extends PureComponent<Props> {
                 {({ ref, style, placement, arrowProps }) => {
                   return (
                     <div
+                      onMouseEnter={onMouseEnter}
+                      onMouseLeave={onMouseLeave}
                       ref={ref}
                       style={{
                         ...style,

+ 6 - 1
public/app/core/components/Tooltip/Tooltip.tsx

@@ -12,7 +12,12 @@ const Tooltip = ({ children, renderContent, ...controllerProps }: UsingPopperPro
       {(showPopper, hidePopper, popperProps) => {
         return (
           <>
-            <Popper {...popperProps} referenceElement={tooltipTriggerRef.current} />
+            <Popper
+              {...popperProps}
+              onMouseEnter={showPopper}
+              onMouseLeave={hidePopper}
+              referenceElement={tooltipTriggerRef.current}
+            />
             {React.cloneElement(children, {
               ref: tooltipTriggerRef,
               onMouseEnter: showPopper,