From 4c6311db89f1a7267b3c72b1fb61af3bfd032091 Mon Sep 17 00:00:00 2001 From: Rory Madden Date: Tue, 28 Jan 2014 15:28:55 +0000 Subject: [PATCH 1/4] Add variables to messages for interpolation by angular-translate --- src/growlFactory.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/growlFactory.js b/src/growlFactory.js index d3e5329..247dd14 100644 --- a/src/growlFactory.js +++ b/src/growlFactory.js @@ -6,6 +6,7 @@ angular.module("angular-growl").provider("growl", function() { _messagesKey = 'messages', _messageTextKey = 'text', _messageSeverityKey = 'severity', + _messageVariableKey = 'variables', _onlyUniqueMessages = true; /** @@ -54,6 +55,15 @@ angular.module("angular-growl").provider("growl", function() { _messageSeverityKey = messageSeverityKey; }; + /** + * sets the key in server sent messages the serverMessagesInterecptor is looking for variables to inject in the message + * + * @param {string} messageVariableKey default: variables + */ + this.messageVariableKey = function (messageVariableKey) { + _messageVariableKey = messageVariableKey; + }; + this.onlyUniqueMessages = function(onlyUniqueMessages) { _onlyUniqueMessages = onlyUniqueMessages; }; @@ -96,7 +106,7 @@ angular.module("angular-growl").provider("growl", function() { function broadcastMessage(message) { if (translate) { - message.text = translate(message.text); + message.text = translate(message.text, message.variables); } $rootScope.$broadcast("growlMessage", message); } @@ -108,7 +118,8 @@ angular.module("angular-growl").provider("growl", function() { text: text, severity: severity, ttl: _config.ttl || _ttl, - enableHtml: _config.enableHtml || _enableHtml + enableHtml: _config.enableHtml || _enableHtml, + variables: _config.variables || {} }; broadcastMessage(message); @@ -180,7 +191,12 @@ angular.module("angular-growl").provider("growl", function() { severity = "error"; break; } - sendMessage(message[_messageTextKey], undefined, severity); + + var config = {}; + // were any variables included + config.variables = message[_messageVariableKey] || {}; + + sendMessage(message[_messageTextKey], config, severity); } } } From 5c8eafdb169f0105c89a977fe6295f9994f8f150 Mon Sep 17 00:00:00 2001 From: Rory Madden Date: Tue, 28 Jan 2014 15:35:05 +0000 Subject: [PATCH 2/4] Default server message to error if no severity provided --- src/growlFactory.js | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/growlFactory.js b/src/growlFactory.js index 247dd14..5d43cc0 100644 --- a/src/growlFactory.js +++ b/src/growlFactory.js @@ -176,20 +176,27 @@ angular.module("angular-growl").provider("growl", function() { for (i = 0; i < length; i++) { message = messages[i]; - if (message[_messageTextKey] && message[_messageSeverityKey]) { - switch (message[_messageSeverityKey]) { - case "warn": - severity = "warn"; - break; - case "success": - severity = "success"; - break; - case "info": - severity = "info"; - break; - case "error": - severity = "error"; - break; + + if (message[_messageTextKey]) { + if (message[_messageSeverityKey]) { + switch (message[_messageSeverityKey]) { + case "warn": + severity = "warn"; + break; + case "success": + severity = "success"; + break; + case "info": + severity = "info"; + break; + case "error": + severity = "error"; + break; + } + } + // default the severity to error if no severity is provided + else { + severity = 'error'; } var config = {}; From f1d6c7522f5235c6d2b2e8008badd64e76f17f6b Mon Sep 17 00:00:00 2001 From: Rory Madden Date: Tue, 28 Jan 2014 15:51:22 +0000 Subject: [PATCH 3/4] Revert "Default server message to error if no severity provided" This reverts commit 5c8eafdb169f0105c89a977fe6295f9994f8f150. --- src/growlFactory.js | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/src/growlFactory.js b/src/growlFactory.js index 5d43cc0..247dd14 100644 --- a/src/growlFactory.js +++ b/src/growlFactory.js @@ -176,27 +176,20 @@ angular.module("angular-growl").provider("growl", function() { for (i = 0; i < length; i++) { message = messages[i]; - - if (message[_messageTextKey]) { - if (message[_messageSeverityKey]) { - switch (message[_messageSeverityKey]) { - case "warn": - severity = "warn"; - break; - case "success": - severity = "success"; - break; - case "info": - severity = "info"; - break; - case "error": - severity = "error"; - break; - } - } - // default the severity to error if no severity is provided - else { - severity = 'error'; + if (message[_messageTextKey] && message[_messageSeverityKey]) { + switch (message[_messageSeverityKey]) { + case "warn": + severity = "warn"; + break; + case "success": + severity = "success"; + break; + case "info": + severity = "info"; + break; + case "error": + severity = "error"; + break; } var config = {}; From fea2e1e240604567aa999e067ba31dc8fb90ba27 Mon Sep 17 00:00:00 2001 From: Rory Madden Date: Tue, 28 Jan 2014 15:59:41 +0000 Subject: [PATCH 4/4] Revert "Revert "Default server message to error if no severity provided"" This reverts commit f1d6c7522f5235c6d2b2e8008badd64e76f17f6b. --- src/growlFactory.js | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/growlFactory.js b/src/growlFactory.js index 247dd14..5d43cc0 100644 --- a/src/growlFactory.js +++ b/src/growlFactory.js @@ -176,20 +176,27 @@ angular.module("angular-growl").provider("growl", function() { for (i = 0; i < length; i++) { message = messages[i]; - if (message[_messageTextKey] && message[_messageSeverityKey]) { - switch (message[_messageSeverityKey]) { - case "warn": - severity = "warn"; - break; - case "success": - severity = "success"; - break; - case "info": - severity = "info"; - break; - case "error": - severity = "error"; - break; + + if (message[_messageTextKey]) { + if (message[_messageSeverityKey]) { + switch (message[_messageSeverityKey]) { + case "warn": + severity = "warn"; + break; + case "success": + severity = "success"; + break; + case "info": + severity = "info"; + break; + case "error": + severity = "error"; + break; + } + } + // default the severity to error if no severity is provided + else { + severity = 'error'; } var config = {};