2
0
Эх сурвалжийг харах

emoji-view: insert partially matched emoji on enter

if it's the only search hit.
JC Brand 5 жил өмнө
parent
commit
dfafbefb71

+ 12 - 6
src/converse-emoji-views.js

@@ -239,6 +239,15 @@ converse.plugins.add('converse-emoji-views', {
                 sizzle('.emoji-picker', this.el).forEach(a => this.observer.observe(a));
             },
 
+            insertIntoTextArea (value) {
+                const replace = this.model.get('autocompleting');
+                const position = this.model.get('position');
+                this.model.set({'autocompleting': null, 'position': null});
+                this.chatview.insertIntoTextArea(value, replace, false, position);
+                this.chatview.emoji_dropdown.toggle();
+                this.filter('', true);
+            },
+
             onKeyDown (ev) {
                 if (ev.keyCode === _converse.keycodes.TAB) {
                     ev.preventDefault();
@@ -250,12 +259,9 @@ converse.plugins.add('converse-emoji-views', {
                     ev.preventDefault();
                     ev.stopPropagation();
                     if (_converse.emoji_shortnames.includes(ev.target.value)) {
-                        const replace = this.model.get('autocompleting');
-                        const position = this.model.get('position');
-                        this.model.set({'autocompleting': null, 'position': null});
-                        this.chatview.insertIntoTextArea(ev.target.value, replace, false, position);
-                        this.chatview.emoji_dropdown.toggle();
-                        this.filter('', true);
+                        this.insertIntoTextArea(ev.target.value);
+                    } else if (this.search_results.length === 1) {
+                        this.insertIntoTextArea(this.search_results[0].sn);
                     }
                 } else {
                     this.debouncedFilter(ev.target);