diff --git a/doc/api/hooks_client-side.md b/doc/api/hooks_client-side.md index 39fbd638e..799fd5ce5 100755 --- a/doc/api/hooks_client-side.md +++ b/doc/api/hooks_client-side.md @@ -223,6 +223,7 @@ Things in context: 4. sticky (boolean) - if you want the gritter notification bubble to fade out on its own or just sit there 5. timestamp - the timestamp of the chat message 6. timeStr - the timestamp as a formatted string +7. duration - for how long in milliseconds should the gritter notification appear (0 to disable) This hook is called on the client side whenever a chat message is received from the server. It can be used to create different notifications for chat messages. diff --git a/src/static/js/chat.js b/src/static/js/chat.js old mode 100644 new mode 100755 index f9bb47c1b..8cc1d76c1 --- a/src/static/js/chat.js +++ b/src/static/js/chat.js @@ -149,7 +149,8 @@ var chat = (function() "text" : text, "sticky" : false, "timestamp" : msg.time, - "timeStr" : timeStr + "timeStr" : timeStr, + "duration" : 4000 } // is the users focus already in the chatbox? @@ -186,7 +187,7 @@ var chat = (function() count++; $("#chatcounter").text(count); - if(!chatOpen) { + if(!chatOpen && ctx.duration > 0) { $.gritter.add({ // (string | mandatory) the heading of the notification title: ctx.authorName, @@ -195,7 +196,7 @@ var chat = (function() // (bool | optional) if you want it to fade out on its own or just sit there sticky: ctx.sticky, // (int | optional) the time you want it to be alive for before fading out - time: '4000' + time: ctx.duration }); } }