controlbox-mixin.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { _converse, api } from '@converse/headless/core';
  2. const ControlBoxRegistrationMixin = {
  3. showLoginOrRegisterForm () {
  4. if (!this.registerpanel) {
  5. return;
  6. }
  7. if (this.model.get('active-form') == 'register') {
  8. this.loginpanel.el.classList.add('hidden');
  9. this.registerpanel.el.classList.remove('hidden');
  10. } else {
  11. this.loginpanel.el.classList.remove('hidden');
  12. this.registerpanel.el.classList.add('hidden');
  13. }
  14. },
  15. renderRegistrationPanel () {
  16. if (api.settings.get('allow_registration')) {
  17. this.registerpanel = new _converse.RegisterPanel({
  18. 'model': this.model
  19. });
  20. this.registerpanel.render();
  21. this.registerpanel.el.classList.add('hidden');
  22. const login_panel = this.el.querySelector('#converse-login-panel');
  23. if (login_panel) {
  24. login_panel.insertAdjacentElement('afterend', this.registerpanel.el);
  25. }
  26. this.showLoginOrRegisterForm();
  27. }
  28. return this;
  29. }
  30. };
  31. export default ControlBoxRegistrationMixin;