2023-02-15 14:19:48 +01:00
|
|
|
import tplMUCNicknameForm from './templates/muc-nickname-form.js';
|
2021-03-24 11:59:09 +01:00
|
|
|
import { CustomElement } from 'shared/components/element';
|
2021-03-13 11:37:07 +01:00
|
|
|
import { _converse, api } from "@converse/headless/core";
|
|
|
|
|
2021-09-23 22:31:30 +02:00
|
|
|
import './styles/nickname-form.scss';
|
|
|
|
|
|
|
|
|
2021-03-13 11:37:07 +01:00
|
|
|
class MUCNicknameForm extends CustomElement {
|
|
|
|
|
|
|
|
static get properties () {
|
|
|
|
return {
|
|
|
|
'jid': { type: String }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
connectedCallback () {
|
|
|
|
super.connectedCallback();
|
|
|
|
this.model = _converse.chatboxes.get(this.jid);
|
|
|
|
}
|
|
|
|
|
|
|
|
render () {
|
2023-02-15 14:19:48 +01:00
|
|
|
return tplMUCNicknameForm(this);
|
2022-02-06 16:15:04 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
submitNickname (ev) {
|
|
|
|
ev.preventDefault();
|
|
|
|
const nick = ev.target.nick.value.trim();
|
|
|
|
if (!nick) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (this.model.isEntered()) {
|
|
|
|
this.model.setNickname(nick);
|
|
|
|
this.closeModal();
|
|
|
|
} else {
|
|
|
|
this.model.join(nick);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
closeModal () {
|
|
|
|
const evt = document.createEvent('Event');
|
|
|
|
evt.initEvent('hide.bs.modal', true, true);
|
|
|
|
this.dispatchEvent(evt);
|
2021-03-13 11:37:07 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
api.elements.define('converse-muc-nickname-form', MUCNicknameForm);
|
|
|
|
|
|
|
|
export default MUCNicknameForm;
|