MUC: combine two methods doing roughly the same thing

This commit is contained in:
JC Brand 2021-02-11 21:59:32 +01:00
parent 9ce4092a7c
commit 906fa93812

View File

@ -62,7 +62,7 @@ export default class MUCView extends BaseChatView {
this.listenTo(this.model, 'show', this.show); this.listenTo(this.model, 'show', this.show);
this.listenTo(this.model.features, 'change:open', this.renderHeading); this.listenTo(this.model.features, 'change:open', this.renderHeading);
this.listenTo(this.model.messages, 'change:correcting', this.onMessageCorrecting); this.listenTo(this.model.messages, 'change:correcting', this.onMessageCorrecting);
this.listenTo(this.model.session, 'change:connection_status', this.onConnectionStatusChanged); this.listenTo(this.model.session, 'change:connection_status', this.renderAfterTransition);
// Bind so that we can pass it to addEventListener and removeEventListener // Bind so that we can pass it to addEventListener and removeEventListener
this.onMouseMove = this.onMouseMove.bind(this); this.onMouseMove = this.onMouseMove.bind(this);
@ -83,7 +83,7 @@ export default class MUCView extends BaseChatView {
// Register later due to await // Register later due to await
const user_settings = await _converse.api.user.settings.getModel(); const user_settings = await _converse.api.user.settings.getModel();
this.listenTo(user_settings, 'change:mucs_with_hidden_subject', this.renderHeading); this.listenTo(user_settings, 'change:mucs_with_hidden_subject', this.renderHeading);
this.onConnectionStatusChanged(); this.renderAfterTransition();
this.model.maybeShow(); this.model.maybeShow();
this.scrollDown(); this.scrollDown();
/** /**
@ -286,7 +286,6 @@ export default class MUCView extends BaseChatView {
} }
onSidebarToggle () { onSidebarToggle () {
this.renderToolbar();
this.querySelector('.occupants')?.setVisibility(); this.querySelector('.occupants')?.setVisibility();
} }
@ -435,24 +434,6 @@ export default class MUCView extends BaseChatView {
} }
} }
onConnectionStatusChanged () {
const conn_status = this.model.session.get('connection_status');
if (conn_status === converse.ROOMSTATUS.NICKNAME_REQUIRED) {
this.renderNicknameForm();
} else if (conn_status === converse.ROOMSTATUS.PASSWORD_REQUIRED) {
this.renderPasswordForm();
} else if (conn_status === converse.ROOMSTATUS.CONNECTING) {
this.showSpinner();
} else if (conn_status === converse.ROOMSTATUS.ENTERED) {
this.hideSpinner();
this.maybeFocus();
} else if (conn_status === converse.ROOMSTATUS.DISCONNECTED) {
this.showDisconnectMessage();
} else if (conn_status === converse.ROOMSTATUS.DESTROYED) {
this.showDestroyedMessage();
}
}
/** /**
* Closes this chat box, which implies leaving the groupchat as well. * Closes this chat box, which implies leaving the groupchat as well.
* @private * @private
@ -722,15 +703,23 @@ export default class MUCView extends BaseChatView {
*/ */
renderAfterTransition () { renderAfterTransition () {
const conn_status = this.model.session.get('connection_status'); const conn_status = this.model.session.get('connection_status');
if (conn_status == converse.ROOMSTATUS.NICKNAME_REQUIRED) { if (conn_status === converse.ROOMSTATUS.NICKNAME_REQUIRED) {
this.renderNicknameForm(); this.renderNicknameForm();
} else if (conn_status == converse.ROOMSTATUS.PASSWORD_REQUIRED) { } else if (conn_status === converse.ROOMSTATUS.PASSWORD_REQUIRED) {
this.renderPasswordForm(); this.renderPasswordForm();
} else if (conn_status == converse.ROOMSTATUS.ENTERED) { } else if (conn_status === converse.ROOMSTATUS.CONNECTING) {
this.showSpinner();
} else if (conn_status === converse.ROOMSTATUS.ENTERED) {
this.hideSpinner();
this.hideChatRoomContents(); this.hideChatRoomContents();
u.showElement(this.querySelector('.chat-area')); u.showElement(this.querySelector('.chat-area'));
this.querySelector('.occupants')?.setVisibility(); this.querySelector('.occupants')?.setVisibility();
this.scrollDown(); this.scrollDown();
this.maybeFocus();
} else if (conn_status === converse.ROOMSTATUS.DISCONNECTED) {
this.showDisconnectMessage();
} else if (conn_status === converse.ROOMSTATUS.DESTROYED) {
this.showDestroyedMessage();
} }
} }