From 55b4c6254b015d1ca390c2db1c23f2391fce667d Mon Sep 17 00:00:00 2001 From: Kasper Vaessen Date: Mon, 10 Oct 2016 01:16:48 +0300 Subject: [PATCH] Fixed nicks with background colours breaking in nicklist --- js/models.js | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/js/models.js b/js/models.js index d650f30..af96fd9 100644 --- a/js/models.js +++ b/js/models.js @@ -387,33 +387,45 @@ models.service('models', ['$rootScope', '$filter', 'bufferResume', function($roo }; function nickGetColorClasses(nickMsg, propName) { + var colorClasses = [ + 'cwf-default' + ]; if (propName in nickMsg && nickMsg[propName] && nickMsg[propName].length > 0) { var color = nickMsg[propName]; if (color.match(/^weechat/)) { // color option var colorName = color.match(/[a-zA-Z0-9_]+$/)[0]; - return [ + colorClasses = [ 'cof-' + colorName, 'cob-' + colorName, 'coa-' + colorName ]; - } else if (color.match(/^[a-zA-Z]+$/)) { - // WeeChat color name - return [ - 'cwf-' + color - ]; - } else if (color.match(/^[0-9]+$/)) { - // extended color - return [ - 'cef-' + color - ]; + } else { + if (color.match(/^[a-zA-Z]+[:$]/)) { + // WeeChat color name (foreground) + var cwfcolor = color.match(/^[a-zA-Z]+/)[0]; + colorClasses = [ + 'cwf-' + cwfcolor + ]; + } else if (color.match(/^[0-9]+[:$]/)) { + // extended color (foreground) + var cefcolor = color.match(/^[0-9]+/)[0]; + colorClasses = [ + 'cef-' + cefcolor + ]; + } + if (color.match(/:[a-zA-Z]+$/)) { + // WeeChat color name (background) + var cwbcolor = color.match(/:[a-zA-Z]+$/)[0].substring(1); + colorClasses.push('cwb-' + cwbcolor); + } else if (color.match(/:[0-9]+$/)) { + // extended color (background) + var cebcolor = color.match(/:[0-9]+$/)[0].substring(1); + colorClasses.push('ceb-' + cebcolor); + } } - } - - return [ - 'cwf-default' - ]; + return colorClasses; } function nickGetClasses(nickMsg) {