From 1174d05127a3744a51ff2b1dd8bcd9bc56a4ebe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Tue, 20 May 2014 12:03:04 +0100 Subject: [PATCH] Do this less savagely --- js/glowingbear.js | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/js/glowingbear.js b/js/glowingbear.js index fad7fe8..d21e3ec 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -1245,27 +1245,28 @@ weechat.directive('bufferLine', function() { link: { pre: function preLink(scope, iElement, iAttrs, controller) { - var prefix = ""; - var part, partNum, classNum; - for (partNum in scope.bufferline.prefix) { - part = scope.bufferline.prefix[partNum]; - prefix = angular.element("" + part.text + ""); - for (classNum in part.classes) { - prefix.addClass(part.classes[classNum]); + var assembleParts = function(parts, target, render) { + var prefix, part, partNum, classNum; + for (partNum in parts) { + part = parts[partNum]; + if (render === undefined) { + prefix = angular.element("" + part.text + ""); + } else { + prefix = angular.element(render(part)); + } + for (classNum in part.classes) { + prefix.addClass(part.classes[classNum]); + } + iElement.find(target).append(prefix); } - iElement.find('td.prefix a').append(prefix); - } + }; - var content; - for (partNum in scope.bufferline.content) { - part = scope.bufferline.content[partNum]; - content = scope.irclinky(part.text); - prefix = angular.element('' + content + ''); - for (classNum in part.classes) { - prefix.addClass(part.classes[classNum]); + assembleParts(scope.bufferline.prefix, 'td.prefix a'); + assembleParts(scope.bufferline.content, 'td.message', + function(part) { + return '' + scope.irclinky(part.text) + ''; } - iElement.find('td.message').append(prefix); - } + ); } },