From fc251db59e5a050a4f2e7480f06c087517322058 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Mon, 14 Mar 2016 16:01:42 +0000 Subject: [PATCH] Let MUC plugin override the chatbox wrapper. --- src/converse-core.js | 2 -- src/converse-muc.js | 11 +++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/converse-core.js b/src/converse-core.js index c84c864f2..f9bd43765 100755 --- a/src/converse-core.js +++ b/src/converse-core.js @@ -184,8 +184,6 @@ 'close': view.close.bind(view), 'focus': view.focus.bind(view), 'get': chatbox.get.bind(chatbox), - // FIXME: leaky abstraction from MUC - 'is_chatroom': view.is_chatroom, 'maximize': chatbox.maximize.bind(chatbox), 'minimize': chatbox.minimize.bind(chatbox), 'open': view.show.bind(view), diff --git a/src/converse-muc.js b/src/converse-muc.js index 12e850b89..e1194c24f 100755 --- a/src/converse-muc.js +++ b/src/converse-muc.js @@ -52,6 +52,17 @@ // // New functions which don't exist yet can also be added. + wrappedChatBox: function (chatbox) { + /* Wrap a chatbox for outside consumption (i.e. so that it can be + * returned via the API. + */ + if (!chatbox) { return; } + var view = converse.chatboxviews.get(chatbox.get('jid')); + var box = this._super.wrappedChatBox.apply(this, arguments); + box.is_chatroom = view.is_chatroom; + return box; + }, + Features: { addClientFeatures: function () { this._super.addClientFeatures.apply(this, arguments);