From 34f20ba49a45bf74cc1cf1e323d2cb71f907f384 Mon Sep 17 00:00:00 2001 From: Jack Reed <phillipjreed@gmail.com> Date: Tue, 21 Apr 2020 16:49:17 -0600 Subject: [PATCH] Flip the icon on WindowThumbnailSettings for RTL view --- .../src/components/WindowThumbnailSettings.test.js | 6 ++++++ src/components/WindowThumbnailSettings.js | 12 ++++++++---- src/containers/WindowThumbnailSettings.js | 3 ++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/__tests__/src/components/WindowThumbnailSettings.test.js b/__tests__/src/components/WindowThumbnailSettings.test.js index 1777fc508..5a6c5282d 100644 --- a/__tests__/src/components/WindowThumbnailSettings.test.js +++ b/__tests__/src/components/WindowThumbnailSettings.test.js @@ -10,6 +10,7 @@ function createWrapper(props) { return shallow( <WindowThumbnailSettings classes={{}} + direction="ltr" windowId="xyz" setWindowThumbnailPosition={() => {}} thumbnailNavigationPosition="off" @@ -47,4 +48,9 @@ describe('WindowThumbnailSettings', () => { wrapper.find(MenuItem).at(2).simulate('click'); expect(setWindowThumbnailPosition).toHaveBeenCalledWith('xyz', 'far-right'); }); + + it('when rtl flips an icon', () => { + const wrapper = createWrapper({ direction: 'rtl' }); + expect(wrapper.find(FormControlLabel).at(2).props().control.props.style).toEqual({ transform: 'rotate(180deg)' }); + }); }); diff --git a/src/components/WindowThumbnailSettings.js b/src/components/WindowThumbnailSettings.js index 0a83b7cd7..9db790fc9 100644 --- a/src/components/WindowThumbnailSettings.js +++ b/src/components/WindowThumbnailSettings.js @@ -34,7 +34,7 @@ export class WindowThumbnailSettings extends Component { */ render() { const { - classes, handleClose, t, thumbnailNavigationPosition, + classes, handleClose, t, thumbnailNavigationPosition, direction, } = this.props; return ( @@ -67,9 +67,12 @@ export class WindowThumbnailSettings extends Component { <FormControlLabel value="far-right" classes={{ label: thumbnailNavigationPosition === 'far-right' ? classes.selectedLabel : classes.label }} - control={ - <ThumbnailNavigationRightIcon color={thumbnailNavigationPosition === 'far-right' ? 'secondary' : undefined} /> - } + control={( + <ThumbnailNavigationRightIcon + color={thumbnailNavigationPosition === 'far-right' ? 'secondary' : undefined} + style={direction === 'rtl' ? { transform: 'rotate(180deg)' } : {}} + /> + )} label={t('right')} labelPlacement="bottom" /> @@ -81,6 +84,7 @@ export class WindowThumbnailSettings extends Component { WindowThumbnailSettings.propTypes = { classes: PropTypes.objectOf(PropTypes.string).isRequired, + direction: PropTypes.string.isRequired, handleClose: PropTypes.func, setWindowThumbnailPosition: PropTypes.func.isRequired, t: PropTypes.func, diff --git a/src/containers/WindowThumbnailSettings.js b/src/containers/WindowThumbnailSettings.js index c9d8f13f5..24878457a 100644 --- a/src/containers/WindowThumbnailSettings.js +++ b/src/containers/WindowThumbnailSettings.js @@ -4,7 +4,7 @@ import { withTranslation } from 'react-i18next'; import { withStyles } from '@material-ui/core/styles'; import { withPlugins } from '../extend/withPlugins'; import * as actions from '../state/actions'; -import { getThumbnailNavigationPosition } from '../state/selectors'; +import { getThumbnailNavigationPosition, getThemeDirection } from '../state/selectors'; import { WindowThumbnailSettings } from '../components/WindowThumbnailSettings'; /** @@ -21,6 +21,7 @@ const mapDispatchToProps = { setWindowThumbnailPosition: actions.setWindowThumbn */ const mapStateToProps = (state, { windowId }) => ( { + direction: getThemeDirection(state), thumbnailNavigationPosition: getThumbnailNavigationPosition(state, { windowId }), } ); -- GitLab