From 9660c4bdaabf03409ad9c21b3c2c9085cb89eb14 Mon Sep 17 00:00:00 2001 From: DylanPaulusSEL <30325527+DylanPaulusSEL@users.noreply.github.com> Date: Thu, 14 Jun 2018 18:15:09 -0700 Subject: [PATCH] Fix issue with pasting in IE11 (#1901) * Fix issue with pasting in IE11 Fixing the issue where dataTransfer or clipboardData are not populated, in IE 11 under event.NativeEvent. Instead, if we are using IE11, use the base event object instead which contains a valid dataTrasnfer/clipboardData object. * Run prettier on code changes --- packages/slate-react/src/utils/get-event-transfer.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/slate-react/src/utils/get-event-transfer.js b/packages/slate-react/src/utils/get-event-transfer.js index a651de479..c17e058eb 100644 --- a/packages/slate-react/src/utils/get-event-transfer.js +++ b/packages/slate-react/src/utils/get-event-transfer.js @@ -1,5 +1,5 @@ import Base64 from 'slate-base64-serializer' - +import { IS_IE } from 'slate-dev-environment' import TRANSFER_TYPES from '../constants/transfer-types' /** @@ -26,7 +26,10 @@ const FRAGMENT_MATCHER = / data-slate-fragment="([^\s"]+)"/ */ function getEventTransfer(event) { - if (event.nativeEvent) { + // COMPAT: IE 11 doesn't populate nativeEvent with either + // dataTransfer or clipboardData. We'll need to use the base event + // object (2018/14/6) + if (!IS_IE && event.nativeEvent) { event = event.nativeEvent }