Procházet zdrojové kódy

Focus input when showing the add contact modal

JC Brand před 7 roky
rodič
revize
8715fe60c3
1 změnil soubory, kde provedl 12 přidání a 3 odebrání
  1. 12 3
      src/converse-rosterview.js

+ 12 - 3
src/converse-rosterview.js

@@ -160,21 +160,27 @@
                 },
 
                 initJIDAutoComplete () {
-                    const input_el = this.el.querySelector('input[name="jid"]');
+                    const jid_input = this.el.querySelector('input[name="jid"]');
                     const list = _.uniq(_converse.roster.map((item) => Strophe.getDomainFromJid(item.get('jid'))));
-                    new Awesomplete(input_el, {
+                    new Awesomplete(jid_input, {
                         'list': list,
                         'data': function (text, input) {
                             return input.slice(0, input.indexOf("@")) + "@" + text;
                         },
                         'filter': Awesomplete.FILTER_STARTSWITH
                     });
+                    this.el.addEventListener('shown.bs.modal', () => {
+                        jid_input.focus();
+                    }, false);
                 },
 
                 initXHRAutoComplete () {
                     const name_input = this.el.querySelector('input[name="name"]');
                     const jid_input = this.el.querySelector('input[name="jid"]');
-                    const awesomplete = new Awesomplete(name_input, {'list': []});
+                    const awesomplete = new Awesomplete(name_input, {
+                        'minChars': 1,
+                        'list': []
+                    });
                     const xhr = new window.XMLHttpRequest();
                     // `open` must be called after `onload` for mock/testing purposes.
                     xhr.onload = function () {
@@ -193,6 +199,9 @@
                         jid_input.value = ev.text.value;
                         name_input.value = ev.text.label;
                     });
+                    this.el.addEventListener('shown.bs.modal', () => {
+                        name_input.focus();
+                    }, false);
                 },
 
                 addContactFromForm (ev) {