From 073f544085408705089ea7c2eb0053e2452823a6 Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Mon, 27 Sep 2021 16:34:46 +0200 Subject: [PATCH] fixed focusTrap / tooltip issue --- .../components/PreviewWysiwyg/Wrapper.js | 1 + .../components/Wysiwyg/WysiwygExpand.js | 12 +- .../components/Wysiwyg/WysiwygNav.js | 126 +++++++++--------- .../components/Wysiwyg/WysiwygStyles.js | 2 +- .../components/Wysiwyg/index.js | 2 +- 5 files changed, 75 insertions(+), 68 deletions(-) diff --git a/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js b/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js index 7aa39b5fb1..b5273a694a 100644 --- a/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +++ b/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js @@ -9,6 +9,7 @@ const Wrapper = styled.div` padding: ${({ theme }) => `${theme.spaces[3]} ${theme.spaces[4]}`}; font-size: ${14 / 16}rem; background-color: ${({ theme }) => theme.colors.neutral0}; + z-index: 2; cursor: not-allowed; color: ${({ theme }) => theme.colors.neutral800}; diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygExpand.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygExpand.js index ce0e2173eb..224b78b561 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygExpand.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygExpand.js @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import { useIntl } from 'react-intl'; import { FocusTrap } from '@strapi/parts/FocusTrap'; @@ -36,6 +36,15 @@ const WysiwygExpand = ({ const [visiblePopover, setVisiblePopover] = useState(false); const [mediaLibVisible, setMediaLibVisible] = useState(false); + useEffect(() => { + const body = document.body; + body.classList.add('lock-body-scroll'); + + return () => { + body.classList.remove('lock-body-scroll'); + }; + }, []); + const handleTogglePopover = () => setVisiblePopover(prev => !prev); const handleToggleMediaLib = () => setMediaLibVisible(prev => !prev); @@ -47,6 +56,7 @@ const WysiwygExpand = ({ { const { formatMessage } = useIntl(); @@ -36,10 +36,6 @@ const WysiwygNav = ({ defaultMessage: 'Add a title', }); const buttonMoreRef = useRef(); - const handleEscapeMore = () => { - onTogglePopover(); - buttonMoreRef.current.focus(); - }; if (isPreviewMode) { return ( @@ -143,70 +139,68 @@ const WysiwygNav = ({ icon={} /> {visiblePopover && ( - - - - - onActionClick('Strikethrough', editorRef, onTogglePopover)} - id="Strikethrough" - label="Strikethrough" - name="Strikethrough" - icon={} - /> - onActionClick('BulletList', editorRef, onTogglePopover)} - id="BulletList" - label="BulletList" - name="BulletList" - icon={} - /> - onActionClick('NumberList', editorRef, onTogglePopover)} - id="NumberList" - label="NumberList" - name="NumberList" - icon={} - /> - - - onActionClick('Code', editorRef, onTogglePopover)} - id="Code" - label="Code" - name="Code" - icon={} - /> - } - /> - onActionClick('Link', editorRef, onTogglePopover)} - id="Link" - label="Link" - name="Link" - // eslint-disable-next-line jsx-a11y/anchor-is-valid - icon={} - /> - onActionClick('Quote', editorRef, onTogglePopover)} - id="Quote" - label="Quote" - name="Quote" - icon={} - /> - - - + + + + onActionClick('Strikethrough', editorRef, onTogglePopover)} + id="Strikethrough" + label="Strikethrough" + name="Strikethrough" + icon={} + /> + onActionClick('BulletList', editorRef, onTogglePopover)} + id="BulletList" + label="BulletList" + name="BulletList" + icon={} + /> + onActionClick('NumberList', editorRef, onTogglePopover)} + id="NumberList" + label="NumberList" + name="NumberList" + icon={} + /> + + + onActionClick('Code', editorRef, onTogglePopover)} + id="Code" + label="Code" + name="Code" + icon={} + /> + } + /> + onActionClick('Link', editorRef, onTogglePopover)} + id="Link" + label="Link" + name="Link" + // eslint-disable-next-line jsx-a11y/anchor-is-valid + icon={} + /> + onActionClick('Quote', editorRef, onTogglePopover)} + id="Quote" + label="Quote" + name="Quote" + icon={} + /> + + )} - {onTogglePreviewMode && ( + {!noPreviewMode && onTogglePreviewMode && (