diff --git a/superset-frontend/spec/javascripts/sqllab/TableElement_spec.jsx b/superset-frontend/spec/javascripts/sqllab/TableElement_spec.jsx index 6c3b8040ed..b446aa77f6 100644 --- a/superset-frontend/spec/javascripts/sqllab/TableElement_spec.jsx +++ b/superset-frontend/spec/javascripts/sqllab/TableElement_spec.jsx @@ -23,6 +23,7 @@ import configureStore from 'redux-mock-store'; import { supersetTheme, ThemeProvider } from '@superset-ui/core'; import Link from 'src/components/Link'; +import Fade from 'src/common/components/Fade'; import TableElement from 'src/SqlLab/components/TableElement'; import ColumnElement from 'src/SqlLab/components/ColumnElement'; @@ -63,6 +64,14 @@ describe('TableElement', () => { }, ); }); + it('fades table', () => { + const wrapper = shallow(); + expect(wrapper.state().hovered).toBe(false); + expect(wrapper.find(Fade).props().hovered).toBe(false); + wrapper.find('div.TableElement').simulate('mouseEnter'); + expect(wrapper.state().hovered).toBe(true); + expect(wrapper.find(Fade).props().hovered).toBe(true); + }); it('sorts columns', () => { const wrapper = shallow(); expect(wrapper.state().sortColumns).toBe(false); diff --git a/superset-frontend/src/SqlLab/components/TableElement.jsx b/superset-frontend/src/SqlLab/components/TableElement.jsx index 0332aa5df0..cc86376232 100644 --- a/superset-frontend/src/SqlLab/components/TableElement.jsx +++ b/superset-frontend/src/SqlLab/components/TableElement.jsx @@ -18,10 +18,11 @@ */ import React from 'react'; import PropTypes from 'prop-types'; -import { ButtonGroup, Collapse, Fade, Well } from 'react-bootstrap'; +import { ButtonGroup, Collapse, Well } from 'react-bootstrap'; import shortid from 'shortid'; import { t } from '@superset-ui/core'; +import Fade from 'src/common/components/Fade'; import CopyToClipboard from '../../components/CopyToClipboard'; import Link from '../../components/Link'; import ColumnElement from './ColumnElement'; @@ -215,7 +216,7 @@ class TableElement extends React.PureComponent { {table.isMetadataLoading || table.isExtraMetadataLoading ? ( ) : ( - {this.renderControls()} + {this.renderControls()} )} ` + transition: all ${({ theme }) => theme.transitionTiming}s; + opacity: ${props => (props.hovered ? 1 : 0)}; +`; + +export default Fade;