diff --git a/src/plugins/chatview/templates/chat.js b/src/plugins/chatview/templates/chat.js
index eacc75aab..754f86401 100644
--- a/src/plugins/chatview/templates/chat.js
+++ b/src/plugins/chatview/templates/chat.js
@@ -4,23 +4,25 @@ import { _converse } from '@converse/headless/core';
export default (o) => html`
-
-
-
-
+ ${ o.model ? html`
+
+
+
+
- ${o.show_help_messages ? html`
-
` : '' }
+ ${o.show_help_messages ? html`
+
` : '' }
+
+
-
-
+ ` : '' }
`;
diff --git a/src/plugins/chatview/view.js b/src/plugins/chatview/view.js
index 134505879..d1aa2bfa6 100644
--- a/src/plugins/chatview/view.js
+++ b/src/plugins/chatview/view.js
@@ -14,8 +14,12 @@ import { _converse, api } from '@converse/headless/core';
export default class ChatView extends BaseChatView {
length = 200
- async connectedCallback () {
+ connectedCallback () {
super.connectedCallback();
+ this.initialize();
+ }
+
+ async initialize() {
_converse.chatboxviews.add(this.jid, this);
this.model = _converse.chatboxes.get(this.jid);
this.listenTo(_converse, 'windowStateChanged', this.onWindowStateChanged);
diff --git a/src/plugins/headlines-view/templates/headlines.js b/src/plugins/headlines-view/templates/headlines.js
index 9f2119ef1..9b5fa8936 100644
--- a/src/plugins/headlines-view/templates/headlines.js
+++ b/src/plugins/headlines-view/templates/headlines.js
@@ -1,18 +1,18 @@
import '../heading.js';
import { html } from "lit";
-export default (o) => html`
+export default (model) => html`
-
-
+ ${ model ? html`
+
+
+
` : '' }
`;
diff --git a/src/plugins/headlines-view/view.js b/src/plugins/headlines-view/view.js
index 7182f5bd8..23e6d8cc1 100644
--- a/src/plugins/headlines-view/view.js
+++ b/src/plugins/headlines-view/view.js
@@ -5,8 +5,12 @@ import { _converse, api } from '@converse/headless/core';
class HeadlinesView extends BaseChatView {
- async connectedCallback () {
+ connectedCallback () {
super.connectedCallback();
+ this.initialize();
+ }
+
+ async initialize() {
_converse.chatboxviews.add(this.jid, this);
this.model = _converse.chatboxes.get(this.jid);
@@ -32,12 +36,7 @@ class HeadlinesView extends BaseChatView {
}
render () {
- return tpl_headlines(
- Object.assign(this.model.toJSON(), {
- show_send_button: false,
- show_toolbar: false,
- })
- );
+ return tpl_headlines(this.model);
}
async close (ev) {
diff --git a/src/plugins/muc-views/muc.js b/src/plugins/muc-views/muc.js
index 8344d2370..4f2a9f5a1 100644
--- a/src/plugins/muc-views/muc.js
+++ b/src/plugins/muc-views/muc.js
@@ -9,8 +9,12 @@ export default class MUCView extends BaseChatView {
length = 300
is_chatroom = true
- async connectedCallback () {
+ connectedCallback () {
super.connectedCallback();
+ this.initialize();
+ }
+
+ async initialize () {
this.model = await api.rooms.get(this.jid);
_converse.chatboxviews.add(this.jid, this);
this.setAttribute('id', this.model.get('box_id'));
@@ -36,7 +40,7 @@ export default class MUCView extends BaseChatView {
}
render () {
- return this.model ? tpl_muc({ 'model': this.model }) : '';
+ return tpl_muc({ 'model': this.model });
}
/**
diff --git a/src/plugins/muc-views/templates/muc.js b/src/plugins/muc-views/templates/muc.js
index 2667ae1cf..4ac05f2f8 100644
--- a/src/plugins/muc-views/templates/muc.js
+++ b/src/plugins/muc-views/templates/muc.js
@@ -13,8 +13,10 @@ export default (o) => {
return html`
-
-
${getChatRoomBodyTemplate(o)}
-
- `;
+ ${ o.model ? html`
+
+
+
${getChatRoomBodyTemplate(o)}
+ ` : '' }
+
`;
}
diff --git a/src/plugins/muc-views/tests/component.js b/src/plugins/muc-views/tests/component.js
index ba5d5c702..f75a1dfac 100644
--- a/src/plugins/muc-views/tests/component.js
+++ b/src/plugins/muc-views/tests/component.js
@@ -35,4 +35,60 @@ describe("The