Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/candy-chat/candy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMelissa Noelle <madamei@mojolingo.com>2015-02-25 18:13:07 +0300
committerMelissa Noelle <madamei@mojolingo.com>2015-02-26 19:51:08 +0300
commit2d3b1830a1e00163d8aba53e1e65f91b5030f9a9 (patch)
tree0cca567686d7147467338831a776d3dc0aeedd43
parent3cf31599df19aa869176da78538f70a43e8d110f (diff)
Add an event before adding the tab.
-rw-r--r--src/view/pane/chat.js28
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),