converse.js: Как я могу предварительно заполнить поле Имя пользователя в форме входа - PullRequest
0 голосов
/ 06 октября 2018

Я пробовал это:

<script>
converse.initialize({ 
    websocket_url: 'wss://xxx.xxx.xxx/websocket', 
    jid:'xxxxx@xxxx.xxx.xxx',
    show_controlbox_by_default: true, 
    view_mode: 'overlayed' });
</script>

Я надеялся, что это отобразит форму входа в систему с полем Имя пользователя, уже заполненным значением, указанным в jid.Однако converse.js по-прежнему отображает пустое поле с заполнителем по умолчанию.

Я использую "https://cdn.conversejs.org/4.0.1/dist/converse.min.js"

1 Ответ

0 голосов
/ 07 октября 2018

ОК, так что я не программист javascript, но решение, которое я придумала, состоит в том, чтобы изменить функцию renderLoginPanel () и добавить следующее

    renderLoginPanel() {
      this.el.classList.add("logged-out");

      if (_.isNil(this.loginpanel)) {
        this.loginpanel = new _converse.LoginPanel({
          'model': new _converse.LoginPanelModel()
        });
        const panes = this.el.querySelector('.controlbox-panes');
        panes.innerHTML = '';
        panes.appendChild(this.loginpanel.render().el);
        this.insertBrandHeading();
      } else {
        this.loginpanel.render();
      }

      /* ***Add this line to pre-populate the username field*** */
      document.getElementById("converse-login-jid").value = _converse.jid; 

      this.loginpanel.initPopovers();
      return this;
    },

. Мне было бы интересно услышать, еслиэто где-то рядом с хорошим решением.

...