switch to PatternFly Tooltip everywhere

This commit is contained in:
Keith Grant
2019-03-12 15:24:36 -04:00
parent 601214f6d4
commit 188eaede43
6 changed files with 8 additions and 173 deletions

View File

@@ -216,6 +216,10 @@
--pf-c-tooltip__content--PaddingBottom: 0.71rem;
--pf-c-tooltip__content--PaddingLeft: 0.71rem;
}
// higher specificity needed to override PF styles added dynamically to page
.pf-c-tooltip .pf-c-tooltip__content {
text-align: left;
}
//
// pf empty state overrides

View File

@@ -15,6 +15,7 @@ import {
Toolbar,
ToolbarGroup,
ToolbarItem,
Tooltip,
} from '@patternfly/react-core';
import {
BarsIcon,
@@ -30,7 +31,6 @@ import {
Link
} from 'react-router-dom';
import Tooltip from '../Tooltip';
import VerticalSeparator from '../VerticalSeparator';
const flexGrowStyling = {
@@ -291,7 +291,7 @@ class DataListToolbar extends React.Component {
<LevelItem>
{ showDelete && (
<Tooltip
message={i18n._(t`Delete`)}
content={i18n._(t`Delete`)}
position="top"
>
<Button

View File

@@ -1,9 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Link } from 'react-router-dom';
import { Button } from '@patternfly/react-core';
import { Button, Tooltip } from '@patternfly/react-core';
import { TimesIcon } from '@patternfly/react-icons';
import Tooltip from '../Tooltip';
import './tabs.scss';
const Tabs = ({ children, labelText, closeButton }) => (
@@ -17,7 +16,7 @@ const Tabs = ({ children, labelText, closeButton }) => (
{closeButton
&& (
<Tooltip
message={closeButton.text}
content={closeButton.text}
position="top"
>
<Link to={closeButton.link}>

View File

@@ -1,96 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
const toolTipContent = {
padding: '10px',
minWidth: '100px',
};
class Tooltip extends React.Component {
transforms = {
top: {
bottom: '100%',
left: '50%',
transform: 'translate(-50%, -25%)'
},
bottom: {
top: '100%',
left: '50%',
transform: 'translate(-50%, 25%)'
},
left: {
top: '50%',
right: '100%',
transform: 'translate(-25%, -50%)'
},
right: {
bottom: '100%',
left: '50%',
transform: 'translate(25%, 50%)'
},
};
constructor (props) {
super(props);
this.state = {
isDisplayed: false
};
}
render () {
const {
children,
message,
position,
} = this.props;
const {
isDisplayed
} = this.state;
if (message === '') {
return null;
}
return (
<span
style={{ position: 'relative' }}
className="mouseOutHandler"
onMouseLeave={() => this.setState({ isDisplayed: false })}
onBlur={() => this.setState({ isDisplayed: false })}
>
{ isDisplayed
&& (
<div
style={{ position: 'absolute', zIndex: '10', ...this.transforms[position] }}
className={`pf-c-tooltip pf-m-${position}`}
>
<div className="pf-c-tooltip__arrow" />
<div className="pf-c-tooltip__content" style={toolTipContent}>
{ message }
</div>
</div>
)
}
<span
className="mouseOverHandler"
onMouseOver={() => this.setState({ isDisplayed: true })}
onFocus={() => this.setState({ isDisplayed: true })}
>
{ children }
</span>
</span>
);
}
}
Tooltip.propTypes = {
children: PropTypes.element.isRequired,
message: PropTypes.string.isRequired,
position: PropTypes.string,
};
Tooltip.defaultProps = {
position: 'top',
};
export default Tooltip;

View File

@@ -1,3 +0,0 @@
import Tooltip from './Tooltip';
export default Tooltip;