Client: highlight CSS styling #124
authorDarren <darren@darrenwhitlen.com>
Thu, 8 Nov 2012 14:49:50 +0000 (14:49 +0000)
committerDarren <darren@darrenwhitlen.com>
Thu, 8 Nov 2012 14:49:50 +0000 (14:49 +0000)
client/assets/css/style.css
client/assets/dev/view.js

index ec5f62d2007a7422ca302bc857bfa455b28d81d0..477464a1957d138d4ce84f42ddcb4cf992a93820 100644 (file)
@@ -141,7 +141,9 @@ a img { border:none; }
     padding:0.5em; margin-top:1em; margin-bottom:1em; margin-right:2em;
 }
 
-.messages .msg.global_nick_highlight { background:#D9D9D9; }
+.messages .msg.global_nick_highlight,
+.messages .msg.highlight { background:#D9D9D9; }
+
 
 
 
index 68b4c4152a24aead2e28e2c7845a94224c3e8018..0da683d24cad5f98c2493280329b73cad5d2833d 100644 (file)
@@ -285,7 +285,13 @@ _kiwi.view.Panel = Backbone.View.extend({
     newMsg: function (msg) {\r
         // TODO: make sure that the message pane is scrolled to the bottom (Or do we? ~Darren)\r
         var re, line_msg, $this = this.$el,\r
-            nick_colour_hex, nick_hex;\r
+            nick_colour_hex, nick_hex, is_highlight, msg_css_classes = '';\r
+\r
+        // Nick highlight detecting\r
+        if ((new RegExp('\\b' + _kiwi.gateway.get('nick') + '\\b', 'i')).test(msg.msg)) {\r
+            is_highlight = true;\r
+            msg_css_classes += ' highlight';\r
+        }\r
 \r
         // Escape any HTML that may be in here\r
         msg.msg =  $('<div />').text(msg.msg).html();\r
@@ -338,17 +344,18 @@ _kiwi.view.Panel = Backbone.View.extend({
             _.map(msg.nick.split(''), function (char) {\r
                 nick_hex += char.charCodeAt(0).toString(16);\r
             });\r
-            msg.nick_css_class = 'nick_' + nick_hex;\r
+            msg_css_classes += ' nick_' + nick_hex;\r
         }\r
 \r
         // Build up and add the line\r
-        line_msg = '<div class="msg <%= type %> <%= nick_css_class %>"><div class="time"><%- time %></div><div class="nick" style="<%= nick_style %>"><%- nick %></div><div class="text" style="<%= style %>"><%= msg %> </div></div>';\r
+        msg.msg_css_classes = msg_css_classes;\r
+        line_msg = '<div class="msg <%= type %> <%= msg_css_classes %>"><div class="time"><%- time %></div><div class="nick" style="<%= nick_style %>"><%- nick %></div><div class="text" style="<%= style %>"><%= msg %> </div></div>';\r
         $this.append(_.template(line_msg, msg));\r
 \r
         // Activity/alerts based on the type of new message\r
         if (msg.type.match(/^action /)) {\r
             this.alert('action');\r
-        } else if (msg.msg.indexOf(_kiwi.gateway.get('nick')) > -1) {\r
+        } else if (is_highlight) {\r
             _kiwi.app.view.alertWindow('* People are talking!');\r
             this.alert('highlight');\r
         } else {\r