From f059e65acc4e2640a90fd7a1e2553b0e1aa0e783 Mon Sep 17 00:00:00 2001 From: Jackie Luo Date: Wed, 23 Mar 2016 17:01:14 -0700 Subject: [PATCH] fix(composer-emoji): Return null if no matching node is found --- .../composer-emoji/lib/emoji-composer-extension.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal_packages/composer-emoji/lib/emoji-composer-extension.jsx b/internal_packages/composer-emoji/lib/emoji-composer-extension.jsx index b1d863d33..f838eb3d2 100644 --- a/internal_packages/composer-emoji/lib/emoji-composer-extension.jsx +++ b/internal_packages/composer-emoji/lib/emoji-composer-extension.jsx @@ -80,8 +80,9 @@ class EmojiComposerExtension extends ContenteditableExtension { if (event.key === "ArrowDown" || event.key === "ArrowRight" || event.key === "ArrowUp" || event.key === "ArrowLeft") { event.preventDefault(); - const moveToNext = (event.key === "ArrowDown" || event.key === "ArrowRight") + const moveToNext = (event.key === "ArrowDown" || event.key === "ArrowRight"); const emojiNameNode = DOMUtils.closest(sel.anchorNode, "n1-emoji-autocomplete"); + if (!emojiNameNode) return null; const selectedEmoji = emojiNameNode.getAttribute("selectedEmoji"); if (selectedEmoji) { const emojiIndex = emojiOptions.indexOf(selectedEmoji); @@ -100,6 +101,7 @@ class EmojiComposerExtension extends ContenteditableExtension { } else if (event.key === "Enter" || event.key === "Tab") { event.preventDefault(); const emojiNameNode = DOMUtils.closest(sel.anchorNode, "n1-emoji-autocomplete"); + if (!emojiNameNode) return null; let selectedEmoji = emojiNameNode.getAttribute("selectedEmoji"); if (!selectedEmoji) selectedEmoji = emojiOptions[0]; EmojiComposerExtension._onSelectEmoji({editor: editor,