diff options
author | Melissa Noelle <madamei@mojolingo.com> | 2015-02-25 18:13:07 +0300 |
---|---|---|
committer | Melissa Noelle <madamei@mojolingo.com> | 2015-02-26 19:51:08 +0300 |
commit | 2d3b1830a1e00163d8aba53e1e65f91b5030f9a9 (patch) | |
tree | 0cca567686d7147467338831a776d3dc0aeedd43 | |
parent | 3cf31599df19aa869176da78538f70a43e8d110f (diff) |
Add an event before adding the tab.
-rw-r--r-- | src/view/pane/chat.js | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/view/pane/chat.js b/src/view/pane/chat.js index 998d3ca..0428a68 100644 --- a/src/view/pane/chat.js +++ b/src/view/pane/chat.js @@ -40,8 +40,32 @@ Candy.View.Pane = (function(self, $) { * (String) roomType - Type of room: `groupchat` or `chat` */ addTab: function(roomJid, roomName, roomType) { - var roomId = Candy.Util.jidToId(roomJid), - html = Mustache.to_html(Candy.View.Template.Chat.tab, { + var roomId = Candy.Util.jidToId(roomJid); + + var evtData = { + roomJid: roomJid, + roomName: roomName, + roomType: roomType, + roomId: roomId + }; + + /** Event: candy:view.pane.before-tab + * Before sending a message + * + * Parameters: + * (String) roomJid - JID of the room the tab is for. + * (String) roomName - Name of the room. + * (String) roomType - What type of room: `groupchat` or `chat` + * + * Returns: + * Boolean|undefined - If you want to handle displaying the tab on your own, return false. + */ + if ($(Candy).triggerHandler('candy:view.pane.before-tab', evtData) === false) { + event.preventDefault(); + return; + } + + var html = Mustache.to_html(Candy.View.Template.Chat.tab, { roomJid: roomJid, roomId: roomId, name: roomName || Strophe.getNodeFromJid(roomJid), |