From 9514be5daf9511d950b8bb38d8a5079bb06ce42f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Gigi=C4=87?= Date: Wed, 2 Dec 2020 07:43:30 +0100 Subject: [PATCH] style: remove react bootstrap fade component (#11843) * Replace Bootstrap Fade component with custom Emotion Fade component * Fix lint errors * Added test * Fixing front-end build errors * Fix lint errors --- .../javascripts/sqllab/TableElement_spec.jsx | 9 ++++++ .../src/SqlLab/components/TableElement.jsx | 5 ++-- .../src/common/components/Fade.tsx | 28 +++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 superset-frontend/src/common/components/Fade.tsx 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;