Skip to content

Commit 3533910

Browse files
authored
Custom message style classes (Issue JanStevens#101)
Custom directive properties to change message style classes. This commit maybe will solve Issue JanStevens#101.
1 parent 22a22b1 commit 3533910

File tree

1 file changed

+29
-7
lines changed

1 file changed

+29
-7
lines changed

src/growlDirective.js

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ angular.module("angular-growl").directive("growl", [
99
scope: {
1010
reference: '@',
1111
inline: '=',
12-
limitMessages: '='
12+
limitMessages: '=',
13+
successClass: '@',
14+
infoClass: '@',
15+
warningClass: '@',
16+
errorClass: '@',
17+
dangerClass: '@'
1318
},
1419
controller: ['$scope', '$interval', 'growl', 'growlMessages',
1520
function ($scope, $interval, growl, growlMessages) {
@@ -40,16 +45,33 @@ angular.module("angular-growl").directive("growl", [
4045
}
4146
};
4247

48+
var defaultClasses = {
49+
success: 'alert-success',
50+
info: 'alert-info',
51+
warning: 'alert-warning',
52+
error: 'alert-error',
53+
danger: 'alert-danger'
54+
};
55+
4356
$scope.alertClasses = function (message) {
44-
return {
45-
'alert-success': message.severity === "success",
46-
'alert-error': message.severity === "error", //bootstrap 2.3
47-
'alert-danger': message.severity === "error", //bootstrap 3
48-
'alert-info': message.severity === "info",
49-
'alert-warning': message.severity === "warning", //bootstrap 3, no effect in bs 2.3
57+
var _successClass = $scope.successClass || defaultClasses.success;
58+
var _infoClass = $scope.infoClass || defaultClasses.info;
59+
var _warningClass = $scope.warningClass || defaultClasses.warning;
60+
var _errorClass = $scope.errorClass || defaultClasses.error;
61+
var _dangerClass = $scope.dangerClass || defaultClasses.danger;
62+
63+
var _alertClasses = {
5064
'icon': message.disableIcons === false,
5165
'alert-dismissable': !message.disableCloseButton
5266
};
67+
68+
_alertClasses[_successClass] = message.severity === "success";
69+
_alertClasses[_errorClass] = message.severity === "error"; //bootstrap 2.3
70+
_alertClasses[_dangerClass] = message.severity === "error"; //bootstrap 3
71+
_alertClasses[_infoClass] = message.severity === "info";
72+
_alertClasses[_warningClass] = message.severity === "warning"; //bootstrap 3, no effect in bs 2.3
73+
74+
return _alertClasses;
5375
};
5476

5577
$scope.showCountDown = function (message) {

0 commit comments

Comments
 (0)