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);
- }
+ );
}
},