From d069635c000c4e9ad2cea4985b4a219002d9f2d7 Mon Sep 17 00:00:00 2001 From: Vlad Chernushevich Date: Thu, 20 Jun 2013 23:46:04 +0200 Subject: [PATCH] Eliminate recurring nicknames in chat window --- client/assets/src/views/panel.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/client/assets/src/views/panel.js b/client/assets/src/views/panel.js index f02defd..6a37882 100644 --- a/client/assets/src/views/panel.js +++ b/client/assets/src/views/panel.js @@ -44,8 +44,9 @@ _kiwi.view.Panel = Backbone.View.extend({ }, newMsg: function (msg) { - var re, line_msg, $this = this.$el, - nick_colour_hex, nick_hex, is_highlight, msg_css_classes = ''; + var template_vars, re, line_msg, $this = this.$el, + nick_colour_hex, nick_hex, is_highlight, msg_css_classes = '', + sb = this.model.get('scrollback'), prev_msg = sb[sb.length-2]; // Nick highlight detecting if ((new RegExp('(^|\\W)(' + escapeRegex(_kiwi.app.connections.active_connection.get('nick')) + ')(\\W|$)', 'i')).test(msg.msg)) { @@ -112,10 +113,15 @@ _kiwi.view.Panel = Backbone.View.extend({ msg_css_classes += ' nick_' + nick_hex; } + template_vars = _.clone(msg); + if (prev_msg && prev_msg.nick === template_vars.nick) { + template_vars.nick = ''; + } + // Build up and add the line - msg.msg_css_classes = msg_css_classes; + template_vars.msg_css_classes = msg_css_classes; line_msg = '
<%- time %>
<%- nick %>
<%= msg %>
'; - $this.append(_.template(line_msg, msg)); + $this.append(_.template(line_msg, template_vars)); // Activity/alerts based on the type of new message if (msg.type.match(/^action /)) { -- 2.25.1