From 83c2655474241b8f4ca9474a4daeff652fb5f223 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 23 May 2014 23:57:06 -0400 Subject: [PATCH] Allowing users to add classes in the config --- src/growlDirective.js | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/src/growlDirective.js b/src/growlDirective.js index edad549..785db32 100644 --- a/src/growlDirective.js +++ b/src/growlDirective.js @@ -4,7 +4,7 @@ angular.module("angular-growl").directive("growl", ["$rootScope", function ($roo return { restrict: 'A', template: '
' + - '
' + + '
' + ' ' + '
' + '
' + @@ -18,7 +18,8 @@ angular.module("angular-growl").directive("growl", ["$rootScope", function ($roo var onlyUnique = growl.onlyUnique(); $scope.messages = []; - + $scope.classes = ['growl-item', 'alert']; + function addMessage(message) { $scope.messages.push(message); @@ -30,6 +31,29 @@ angular.module("angular-growl").directive("growl", ["$rootScope", function ($roo } $rootScope.$on("growlMessage", function (event, message) { var found; + + // Add classes based on message type + switch(message.severity){ + case 'success': + $scope.classes.push('alert-success'); + break; + case 'error': + $scope.classes.push('alert-danger'); + break; + case 'info': + $scope.classes.push('alert-info'); + break; + case 'warn': + $scope.classes.push('alert-warning'); + break; + default: + break; + } + + // Add any custom classes + if(message.classes) + $scope.classes.push(message.classes); + if (onlyUnique) { angular.forEach($scope.messages, function(msg) { if (message.text === msg.text && message.severity === msg.severity) { @@ -52,16 +76,6 @@ angular.module("angular-growl").directive("growl", ["$rootScope", function ($roo } }; - - $scope.computeClasses = function (message) { - return { - 'alert-success': message.severity === "success", - 'alert-error': message.severity === "error", //bootstrap 2.3 - 'alert-danger': message.severity === "error", //bootstrap 3 - 'alert-info': message.severity === "info", - 'alert-warning': message.severity === "warn" //bootstrap 3, no effect in bs 2.3 - }; - }; }] }; }]);