xmpp.chapril.org-conversejs/src/plugins/profile/modals/chat-status.js
JC Brand 15c10376b0 Rename all templates to camelCase
To conform with naming conventions regarding functions, which the
templates are.
2023-02-15 14:29:07 +01:00

50 lines
1.4 KiB
JavaScript

import BaseModal from "plugins/modal/modal.js";
import tplChatStatusModal from "../templates/chat-status-modal.js";
import { __ } from 'i18n';
import { _converse, api, converse } from "@converse/headless/core";
const u = converse.env.utils;
export default class ChatStatusModal extends BaseModal {
initialize () {
super.initialize();
this.render();
this.addEventListener('shown.bs.modal', () => {
this.querySelector('input[name="status_message"]').focus();
}, false);
}
renderModal () {
return tplChatStatusModal(this);
}
getModalTitle () { // eslint-disable-line class-methods-use-this
return __('Change chat status');
}
clearStatusMessage (ev) {
if (ev && ev.preventDefault) {
ev.preventDefault();
u.hideElement(this.querySelector('.clear-input'));
}
const roster_filter = this.querySelector('input[name="status_message"]');
roster_filter.value = '';
}
onFormSubmitted (ev) {
ev.preventDefault();
const data = new FormData(ev.target);
this.model.save({
'status_message': data.get('status_message'),
'status': data.get('chat_status')
});
this.modal.hide();
}
}
_converse.ChatStatusModal = ChatStatusModal;
api.elements.define('converse-chat-status-modal', ChatStatusModal);