From 648b939142065bccb3415c3c2320a4572b155cbf Mon Sep 17 00:00:00 2001 From: Andrew Lor Date: Wed, 27 Jul 2022 12:21:10 -0600 Subject: [PATCH 1/2] issue 9485 - set dropEffect when hanlding dragover event in Composer --- src/components/Composer/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/Composer/index.js b/src/components/Composer/index.js index c0a606f32958..f64f9b082c36 100755 --- a/src/components/Composer/index.js +++ b/src/components/Composer/index.js @@ -11,6 +11,8 @@ import CONST from '../../CONST'; import updateIsFullComposerAvailable from '../../libs/ComposerUtils/updateIsFullComposerAvailable'; import getNumberOfLines from '../../libs/ComposerUtils/index'; +const COPY_DROP_EFFECT = 'copy'; + const propTypes = { /** Maximum number of lines in the text input */ maxLines: PropTypes.number, @@ -197,13 +199,15 @@ class Composer extends React.Component { dragNDropListener(e) { let isOriginComposer = false; const handler = () => { + // Setting dropEffect for dragover is required for '+' icon on certain platforms/browsers (eg. Safari) switch (e.type) { case 'dragover': e.preventDefault(); + e.dataTransfer.dropEffect = COPY_DROP_EFFECT; this.props.onDragOver(e, isOriginComposer); break; case 'dragenter': - e.dataTransfer.dropEffect = 'copy'; + e.dataTransfer.dropEffect = COPY_DROP_EFFECT; this.props.onDragEnter(e, isOriginComposer); break; case 'dragleave': From 57ba1bda94e364119788dc8fbb505b9f9cfbe995 Mon Sep 17 00:00:00 2001 From: Andrew Lor Date: Thu, 28 Jul 2022 09:41:16 -0600 Subject: [PATCH 2/2] issue 9485 - move const to correct order --- src/components/Composer/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Composer/index.js b/src/components/Composer/index.js index f64f9b082c36..a7c1d0045170 100755 --- a/src/components/Composer/index.js +++ b/src/components/Composer/index.js @@ -11,8 +11,6 @@ import CONST from '../../CONST'; import updateIsFullComposerAvailable from '../../libs/ComposerUtils/updateIsFullComposerAvailable'; import getNumberOfLines from '../../libs/ComposerUtils/index'; -const COPY_DROP_EFFECT = 'copy'; - const propTypes = { /** Maximum number of lines in the text input */ maxLines: PropTypes.number, @@ -110,6 +108,8 @@ const IMAGE_EXTENSIONS = { 'image/webp': 'webp', }; +const COPY_DROP_EFFECT = 'copy'; + /** * Enable Markdown parsing. * On web we like to have the Text Input field always focused so the user can easily type a new chat