Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions build/angular-growl-bootstrap.css

Large diffs are not rendered by default.

141 changes: 141 additions & 0 deletions build/angular-growl-foundation.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
/**
* angular-growl-v2 - v0.7.1 - 2014-09-24
* http://janstevens.github.io/angular-growl-2
* Copyright (c) 2014 Marco Rinck,Jan Stevens; Licensed MIT
*/
/*
* growl-container styles
*/
.growl-container.growl-fixed {
position: fixed;
float: right;
width: 90%;
max-width: 500px;
z-index: 9999;
}
.growl-container.growl-fixed.top-right {
top: 10px;
right: 15px;
}
.growl-container.growl-fixed.bottom-right {
bottom: 10px;
right: 15px;
}
.growl-container.growl-fixed.top-left {
top: 10px;
left: 15px;
}
.growl-container.growl-fixed.bottom-left {
bottom: 10px;
left: 15px;
}
.growl-container.growl-fixed.top-center {
top: 10px;
left: 50%;
margin-left: -150px;
}
.growl-container.growl-fixed.bottom-center {
bottom: 10px;
left: 50%;
margin-left: -150px;
}

/*
* growl-item styles
*/
.growl-container > .growl-item {
padding: 10px;
padding-right: 35px;
margin-bottom: 10px;
cursor: pointer;
}

.growl-container > button {
border: none;
outline:none;
}
.growl-container > .growl-item.ng-enter,
.growl-container > .growl-item.ng-leave {
-webkit-transition:0.5s linear all;
-moz-transition:0.5s linear all;
-o-transition:0.5s linear all;
transition:0.5s linear all;
}

.growl-container > .growl-item.ng-enter,
.growl-container > .growl-item.ng-leave.ng-leave-active {
opacity:0;
}
.growl-container > .growl-item.ng-leave,
.growl-container > .growl-item.ng-enter.ng-enter-active {
opacity:1;
}

.growl-container > div.growl-item {
background-position: 12px center;
background-repeat: no-repeat;
}

/*
* growl-title styles
*/
.growl-title {
font-size: 16px;
}
.growl-item.icon > .growl-title {
margin: 0 0 0 40px;
}

/*
* growl-message styles
*/
.growl-item.icon > .growl-message {
margin: 0 0 0 40px;
}
.growl-item button.close {
padding: 0px;
background: none repeat scroll 0px 0px transparent;
border: 0px none;
}
.growl-item .close:hover,
.growl-item .close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: 0.6;
}
.growl-item button:hover,
.growl-item button:focus,
.growl-item .button:hover,
.growl-item .button:focus {
background-color: inherit;
}
.growl-item .close {
float: right;
font-size: 21px;
font-weight: 700;
line-height: 1;
color: #000;
text-shadow: 0px 1px 0px #FFF;
opacity: 0.4;
}
/*
* growl background images
*/

.growl-container > .alert-box.icon {
/* white images */
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=");
}
.growl-container > .alert-box.alert.icon {
/* white images */
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=");
}
.growl-container > .alert-box.succes.icon {
/* white images */
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==");
}
.growl-container > .alert-box.warning.icon {
/* white images */
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=");
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

122 changes: 0 additions & 122 deletions build/angular-growl.css

This file was deleted.

7 changes: 7 additions & 0 deletions build/angular-growl.foundation.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

66 changes: 46 additions & 20 deletions build/angular-growl.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* angular-growl-v2 - v0.7.1 - 2014-09-11
* angular-growl-v2 - v0.7.1 - 2014-09-24
* http://janstevens.github.io/angular-growl-2
* Copyright (c) 2014 Marco Rinck,Jan Stevens; Licensed MIT
*/
Expand All @@ -13,7 +13,8 @@ angular.module('angular-growl').directive('growl', [function () {
scope: {
reference: '@',
inline: '@',
limitMessages: '='
limitMessages: '=',
foundation: '@'
},
controller: [
'$scope',
Expand All @@ -31,6 +32,7 @@ angular.module('angular-growl').directive('growl', [function () {
directive.limitMessages = limitMessages;
}
});
$scope.foundationEnabled = $scope.foundation || false;
$scope.stopTimeoutClose = function (message) {
if (!message.clickToClose) {
angular.forEach(message.promises, function (promise) {
Expand All @@ -44,15 +46,28 @@ angular.module('angular-growl').directive('growl', [function () {
}
};
$scope.alertClasses = function (message) {
return {
'alert-success': message.severity === 'success',
'alert-error': message.severity === 'error',
'alert-danger': message.severity === 'error',
'alert-info': message.severity === 'info',
'alert-warning': message.severity === 'warning',
'icon': message.disableIcons === false,
'alert-dismissable': !message.disableCloseButton
};
var basic = {
'icon': message.disableIcons === false,
'alert-dismissable': !message.disableCloseButton
};
var classes = {};
if ($scope.foundationEnabled) {
classes = {
'alert-box success': message.severity === 'success',
'alert-box alert': message.severity === 'error',
'alert-box': message.severity === 'info',
'alert-box warning': message.severity === 'warning'
};
} else {
classes = {
'alert alert-success': message.severity === 'success',
'alert alert-error': message.severity === 'error',
'alert alert-danger': message.severity === 'error',
'alert alert-info': message.severity === 'info',
'alert alert-warning': message.severity === 'warning'
};
}
return angular.extend(basic, classes);
};
$scope.showCountDown = function (message) {
return !message.disableCountDown && message.ttl > 0;
Expand Down Expand Up @@ -81,7 +96,7 @@ angular.module('angular-growl').run([
function ($templateCache) {
'use strict';
if ($templateCache.get('templates/growl/growl.html') === undefined) {
$templateCache.put('templates/growl/growl.html', '<div class="growl-container" ng-class="wrapperClasses()">' + '<div class="growl-item alert" ng-repeat="message in growlMessages.directives[referenceId].messages" ng-class="alertClasses(message)" ng-click="stopTimeoutClose(message)">' + '<button type="button" class="close" data-dismiss="alert" aria-hidden="true" ng-click="growlMessages.deleteMessage(message)" ng-show="!message.disableCloseButton">&times;</button>' + '<button type="button" class="close" aria-hidden="true" ng-show="showCountDown(message)">{{message.countdown}}</button>' + '<h4 class="growl-title" ng-show="message.title" ng-bind="message.title"></h4>' + '<div class="growl-message" ng-bind-html="message.text"></div>' + '</div>' + '</div>');
$templateCache.put('templates/growl/growl.html', '<div class="growl-container" ng-class="wrapperClasses()">' + '<div class="growl-item" ng-repeat="message in growlMessages.directives[referenceId].messages" ng-class="alertClasses(message)" ng-click="stopTimeoutClose(message)">' + '<button type="button" class="close" data-dismiss="alert" aria-hidden="true" ng-click="growlMessages.deleteMessage(message)" ng-show="!message.disableCloseButton">&times;</button>' + '<button type="button" class="close" aria-hidden="true" ng-show="showCountDown(message)">{{message.countdown}}</button>' + '<h4 class="growl-title" ng-show="message.title" ng-bind="message.title"></h4>' + '<div class="growl-message" ng-bind-html="message.text"></div>' + '</div>' + '</div>');
}
}
]);
Expand Down Expand Up @@ -148,9 +163,9 @@ angular.module('angular-growl').provider('growl', function () {
'$q',
'growl',
function ($q, growl) {
function checkResponse(response) {
if (response.data[_messagesKey] && response.data[_messagesKey].length > 0) {
growl.addServerMessages(response.data[_messagesKey]);
function checkResponse(response,type) {
if (response.data && response.data[_messagesKey] && response.data[_messagesKey].length > 0) {
growl.addServerMessages(response.data[_messagesKey],type);
}
}
return {
Expand All @@ -159,7 +174,7 @@ angular.module('angular-growl').provider('growl', function () {
return response;
},
'responseError': function (rejection) {
checkResponse(rejection);
checkResponse(rejection,'error');
return $q.reject(rejection);
}
};
Expand Down Expand Up @@ -229,13 +244,23 @@ angular.module('angular-growl').provider('growl', function () {
function success(text, config) {
return sendMessage(text, config, 'success');
}
function addServerMessages(messages) {
function general(text, config, severity) {
severity = (severity || 'error').toLowerCase();
sendMessage(text, config, severity);
}
function addServerMessages(messages,type) {
var i, message, severity, length;
length = messages.length;
if(!angular.isArray(messages)){
var temp = {};
temp[_messageTextKey]=messages;
temp[_messageSeverityKey]= type || 'success';
messages = [temp];
}
length = messages.length;
for (i = 0; i < length; i++) {
message = messages[i];
message = messages[i];
if (message[_messageTextKey]) {
severity = message[_messageSeverityKey] || 'error';
severity = (message[_messageSeverityKey] || 'error').toLowerCase();
var config = {};
config.variables = message[_messageVariableKey] || {};
config.title = message[_messageTitleKey];
Expand All @@ -260,6 +285,7 @@ angular.module('angular-growl').provider('growl', function () {
error: error,
info: info,
success: success,
general: general,
addServerMessages: addServerMessages,
onlyUnique: onlyUnique,
reverseOrder: reverseOrder,
Expand Down
Loading