Skip to content

Commit 0f71446

Browse files
author
Jan Stevens
committed
Merge pull request marcorinck#18 from MilosMosovsky/master
Add option to reverse order messages
2 parents 2bed838 + b3dc31a commit 0f71446

File tree

3 files changed

+38
-3
lines changed

3 files changed

+38
-3
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,18 @@ app.controller("demoCtrl", ['$scope', 'growl', function($scope, growl) {
9696

9797
##Configuration
9898

99+
###Reverse ordered messages [default: false]
100+
101+
Ability to reverse order of messages (default ordering is newest on the bottom ).
102+
103+
````javascript
104+
var app = angular.module('myApp', ['angular-growl']);
105+
106+
app.config(['growlProvider', function(growlProvider) {
107+
growlProvider.globalReversedOrder(true);
108+
}]);
109+
````
110+
99111
###Only unique messages [default: true]
100112

101113
Accept only unique messages as a new message. If a message is already displayed (text and severity are the same) then this

src/growlDirective.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,15 @@ angular.module("angular-growl").directive("growl", ["$rootScope", "$sce",
2020
function addMessage(message) {
2121
$timeout(function() {
2222
message.text = $sce.trustAsHtml(String(message.text));
23-
$scope.messages.push(message);
23+
24+
/** abillity to reverse order (newest first ) **/
25+
if(growl.reverseOrder())
26+
{
27+
$scope.messages.unshift(message);
28+
} else {
29+
$scope.messages.push(message);
30+
}
31+
2432

2533
if (message.ttl && message.ttl !== -1) {
2634
$timeout(function() {

src/growlFactory.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ angular.module("angular-growl").provider("growl", function() {
1212
_inline = false,
1313
_position = 'top-right',
1414
_disableCloseButton = false,
15-
_disableIcons = false;
15+
_disableIcons = false,
16+
_reverseOrder = false;
1617

1718
/**
1819
* set a global timeout (time to live) after which messages will be automatically closed
@@ -53,6 +54,15 @@ angular.module("angular-growl").provider("growl", function() {
5354
_disableIcons = disableIcons;
5455
};
5556

57+
/**
58+
* set whether message ordering is reversed
59+
*
60+
* @param {bool} reverseOrder
61+
*/
62+
this.globalReversedOrder = function (reverseOrder) {
63+
_reverseOrder = reverseOrder;
64+
};
65+
5666
/**
5767
* set the key in server sent messages the serverMessagesInterecptor is looking for variables to inject in the message
5868
*
@@ -249,6 +259,10 @@ angular.module("angular-growl").provider("growl", function() {
249259
return _onlyUniqueMessages;
250260
}
251261

262+
function reverseOrder() {
263+
return _reverseOrder;
264+
}
265+
252266
function inlineMessages() {
253267
return _inline;
254268
}
@@ -264,8 +278,9 @@ angular.module("angular-growl").provider("growl", function() {
264278
success: success,
265279
addServerMessages: addServerMessages,
266280
onlyUnique: onlyUnique,
281+
reverseOrder : reverseOrder,
267282
inlineMessages: inlineMessages,
268-
position: position,
283+
position: position
269284
};
270285
}];
271286
});

0 commit comments

Comments
 (0)