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;