浏览代码

Fixes #1201 Emoji picker appears when pressing enter

JC Brand 6 年之前
父节点
当前提交
094a8a578a
共有 3 个文件被更改,包括 9 次插入2 次删除
  1. 1 0
      CHANGES.md
  2. 4 1
      dist/converse.js
  3. 4 1
      src/converse-chatview.js

+ 1 - 0
CHANGES.md

@@ -6,6 +6,7 @@
 - New config setting [enable_muc_push](https://conversejs.org/docs/html/configuration.html#enable-muc-push)
 - #1182 MUC occupants without nick or JID created
 - #1184 Notification error when message has no body
+- #1201 Emoji picker appears when pressing enter
 
 ## 4.0.0 (2018-09-07)
 

+ 4 - 1
dist/converse.js

@@ -61696,7 +61696,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
             } else if (ev.keyCode === _converse.keycodes.ESCAPE) {
               return this.onEscapePressed(ev);
             } else if (ev.keyCode === _converse.keycodes.ENTER) {
-              _.invoke(this.emoji_dropdown, 'toggle');
+              if (this.emoji_dropdown && u.isVisible(this.emoji_dropdown.el.querySelector('.emoji-picker'))) {
+                this.emoji_dropdown.toggle();
+              }
 
               return this.onFormSubmitted(ev);
             } else if (ev.keyCode === _converse.keycodes.UP_ARROW && !ev.target.selectionEnd) {
@@ -61891,6 +61893,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
             this.renderEmojiPicker();
             const dropdown_el = this.el.querySelector('.toggle-smiley.dropup');
             this.emoji_dropdown = new bootstrap.Dropdown(dropdown_el, true);
+            this.emoji_dropdown.el = dropdown_el;
             this.emoji_dropdown.toggle();
           }
         },

+ 4 - 1
src/converse-chatview.js

@@ -898,7 +898,9 @@
                         } else if (ev.keyCode === _converse.keycodes.ESCAPE) {
                             return this.onEscapePressed(ev);
                         } else if (ev.keyCode === _converse.keycodes.ENTER) {
-                            _.invoke(this.emoji_dropdown, 'toggle');
+                            if (this.emoji_dropdown && u.isVisible(this.emoji_dropdown.el.querySelector('.emoji-picker'))) {
+                                this.emoji_dropdown.toggle();
+                            }
                             return this.onFormSubmitted(ev);
                         } else if (ev.keyCode === _converse.keycodes.UP_ARROW && !ev.target.selectionEnd) {
                             return this.editEarlierMessage();
@@ -1065,6 +1067,7 @@
 
                         const dropdown_el = this.el.querySelector('.toggle-smiley.dropup');
                         this.emoji_dropdown = new bootstrap.Dropdown(dropdown_el, true);
+                        this.emoji_dropdown.el = dropdown_el;
                         this.emoji_dropdown.toggle();
                     }
                 },