소스 검색

Let MUC plugin override the chatbox wrapper.

JC Brand 9 년 전
부모
커밋
fc251db59e
2개의 변경된 파일11개의 추가작업 그리고 2개의 파일을 삭제
  1. 0 2
      src/converse-core.js
  2. 11 0
      src/converse-muc.js

+ 0 - 2
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),

+ 11 - 0
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);