From 7e005f2ea3c5afca4f4f27aa3a4481d20e3eef25 Mon Sep 17 00:00:00 2001 From: Mark VanLandingham Date: Thu, 2 Dec 2021 14:50:30 -0600 Subject: [PATCH] DEV: Don't error when emoji-picker is used outside composer (#15172) --- .../discourse/app/components/emoji-picker.js | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/app/assets/javascripts/discourse/app/components/emoji-picker.js b/app/assets/javascripts/discourse/app/components/emoji-picker.js index 3d04b226bb..1d6867a06b 100644 --- a/app/assets/javascripts/discourse/app/components/emoji-picker.js +++ b/app/assets/javascripts/discourse/app/components/emoji-picker.js @@ -88,25 +88,24 @@ export default Component.extend({ return; } - if (!this.site.isMobileDevice) { - this._popper = createPopper( - document.querySelector(".d-editor-textarea-wrapper"), - emojiPicker, - { - placement: "auto", - modifiers: [ - { - name: "preventOverflow", + const textareaWrapper = document.querySelector( + ".d-editor-textarea-wrapper" + ); + if (!this.site.isMobileDevice && textareaWrapper) { + this._popper = createPopper(textareaWrapper, emojiPicker, { + placement: "auto", + modifiers: [ + { + name: "preventOverflow", + }, + { + name: "offset", + options: { + offset: [5, 5], }, - { - name: "offset", - options: { - offset: [5, 5], - }, - }, - ], - } - ); + }, + ], + }); } // this is a low-tech trick to prevent appending hundreds of emojis