1
- angular . module ( 'angular-growl' , [ ] ) . config ( [ '$httpProvider' , function ( $httpProvider ) {
2
- "use strict" ;
3
-
4
- $httpProvider . responseInterceptors . push ( [ '$q' , 'growl' , function ( $q , growl ) {
5
- function success ( response ) {
6
- if ( response . messages ) {
7
- growl . addServerMessages ( response . messages ) ;
8
- }
9
- return response ;
10
- }
11
-
12
- function error ( response ) {
13
- if ( response . messages ) {
14
- growl . addServerMessages ( response . messages ) ;
15
- }
16
-
17
- return $q . reject ( response ) ;
18
-
19
- }
20
-
21
- return function ( promise ) {
22
- return promise . then ( success , error ) ;
23
- } ;
24
- } ] ) ;
25
- } ] ) ;
26
- angular . module ( "angular-growl" ) . directive ( "growl" , [ "$rootScope" , function ( $rootScope ) {
27
- "use strict" ;
28
-
29
- return {
30
- restrict : 'A' ,
31
- template : '<div class="growl" ng-show="showMessages()" style="position: fixed; top: 10px; right: 10px; float: right; width: 250px;">' +
32
- ' <div class="alert" ng-repeat="message in messages" ng-class="computeClasses (message)">' +
33
- ' <button type="button" class="close" ng-click="deleteMessage (message)">×</button>' +
34
- ' {{ message.text}}' +
35
- ' </div>' +
36
- '</div>' ,
37
- replace : false ,
38
- scope : true ,
39
- controller : function ( $scope , $timeout ) {
40
- $scope . messages = [ ] ;
41
-
42
- $scope . showMessages = function ( ) {
43
- return $scope . messages . length > 0 ;
44
- } ;
45
-
46
- $rootScope . $on ( "growlMessage" , function ( event , message ) {
47
- $scope . messages . push ( message ) ;
48
- if ( message . ttl && message . ttl !== - 1 ) {
49
- $timeout ( function ( ) {
50
- $scope . deleteMessage ( message ) ;
51
- } , message . ttl ) ;
52
- }
53
- } ) ;
54
-
55
- $scope . deleteMessage = function ( message ) {
56
- var index = $scope . messages . indexOf ( message ) ;
57
- if ( index > - 1 ) {
58
- $scope . messages . splice ( index , 1 ) ;
59
- }
60
-
61
- } ;
62
-
63
- $scope . computeClasses = function ( message ) {
64
- return {
65
- 'alert-success' : message . isSuccess ,
66
- 'alert- error' : message . isError ,
67
- 'alert-info' : message . isInfo
68
- } ;
69
- } ;
70
- }
71
- } ;
72
- } ] ) ;
73
-
74
- angular . module ( "angular-growl" ) . provider ( "growl" , function ( ) {
75
- "use strict" ;
76
-
77
- var _ttl = null ;
78
-
79
- this . globalTimeToLive = function ( ttl ) {
80
- _ttl = ttl ;
81
- } ;
82
-
83
- this . $get = [ "$rootScope" , "$filter" , function ( $rootScope , $filter ) {
84
-
85
- var translate ;
86
-
87
- try {
88
- translate = $filter ( " translate" ) ;
89
- } catch ( e ) {
90
- //
91
- }
92
-
93
- function broadcastMessage ( message ) {
94
- if ( translate ) {
95
- message = translate ( message ) ;
96
- }
97
- $rootScope . $broadcast ( "growlMessage" , message ) ;
98
- }
99
-
100
- function sendMessage ( text , config , severity ) {
101
- var _config = config || { } ;
102
-
103
- var message = {
104
- text : text ,
105
- isWarn : severity . isWarn ,
106
- isError : severity . isError ,
107
- isInfo : severity . isInfo ,
108
- isSuccess : severity . isSuccess ,
109
- ttl : _config . ttl || _ttl
110
- } ;
111
-
112
- broadcastMessage ( message ) ;
113
- }
114
-
115
- function addWarnMessage ( text , config ) {
116
- sendMessage ( text , config , { isWarn : true } ) ;
117
- }
118
-
119
- function addErrorMessage ( text , config ) {
120
- sendMessage ( text , config , { isError : true } ) ;
121
- }
122
-
123
- function addInfoMessage ( text , config ) {
124
- sendMessage ( text , config , { isInfo : true } ) ;
125
- }
126
-
127
- function addSuccessMessage ( text , config ) {
128
- sendMessage ( text , config , { isSuccess : true } ) ;
129
- }
130
-
131
- function addServerMessages ( messages ) {
132
- var i ;
133
- if ( messages && messages . length > 0 ) {
134
- for ( i = 0 ; i < messages . length ; i ++ ) {
135
- sendMessage ( messages [ i ] . text , undefined , messages [ i ] . severity ) ;
136
- }
137
- }
138
- }
139
-
140
- return {
141
- addWarnMessage : addWarnMessage ,
142
- addErrorMessage : addErrorMessage ,
143
- addInfoMessage : addInfoMessage ,
144
- addSuccessMessage : addSuccessMessage ,
145
- addServerMessages : addServerMessages
146
-
147
- } ;
148
- } ] ;
149
- } ) ;
1
+ /**
2
+ * angular-growl - v0.1.3 - 2013-09-22
3
+ * https://github.com/marcorinck/angular-growl
4
+ * Copyright (c) 2013 ; Licensed MIT
5
+ */
6
+ angular . module ( 'angular-growl' , [ ] ) ;
7
+ angular . module ( 'angular-growl' ) . directive ( 'growl' , [
8
+ '$rootScope' ,
9
+ function ( $rootScope ) {
10
+ 'use strict' ;
11
+ return {
12
+ restrict : 'A' ,
13
+ template : '<div class="growl" ng-show="showMessages()">' + '\t<div class="alert" ng-repeat="message in messages" ng-class="computeClasses(message)">' + '\t\t<button type="button" class="close" ng-click="deleteMessage(message)">×</button>' + ' {{ message.text}}' + '\t</div>' + '</div>' ,
14
+ replace : false ,
15
+ scope : true ,
16
+ controller : [
17
+ '$scope' ,
18
+ '$timeout' ,
19
+ function ( $scope , $timeout ) {
20
+ $scope . messages = [ ] ;
21
+ $scope . showMessages = function ( ) {
22
+ return $scope . messages . length > 0 ;
23
+ } ;
24
+ $rootScope . $on ( 'growlMessage' , function ( event , message ) {
25
+ $scope . messages . push ( message ) ;
26
+ if ( message . ttl && message . ttl !== - 1 ) {
27
+ $timeout ( function ( ) {
28
+ $scope . deleteMessage ( message ) ;
29
+ } , message . ttl ) ;
30
+ }
31
+ } ) ;
32
+ $scope . deleteMessage = function ( message ) {
33
+ var index = $scope . messages . indexOf ( message ) ;
34
+ if ( index > - 1 ) {
35
+ $scope . messages . splice ( index , 1 ) ;
36
+ }
37
+ } ;
38
+ $ scope. computeClasses = function ( message ) {
39
+ return {
40
+ 'alert-success' : message . isSuccess ,
41
+ 'alert-error' : message . isError ,
42
+ 'alert-info' : message . isInfo
43
+ } ;
44
+ } ;
45
+ }
46
+ ]
47
+ } ;
48
+ }
49
+ ] ) ;
50
+ angular . module ( 'angular-growl' ) . provider ( 'growl' , function ( ) {
51
+ 'use strict' ;
52
+ var _ttl = null ;
53
+ this . globalTimeToLive = function ( ttl ) {
54
+ _ttl = ttl ;
55
+ } ;
56
+ this . serverMessagesInterceptor = [
57
+ '$q' ,
58
+ 'growl' ,
59
+ function ( $q , growl ) {
60
+ function success ( response ) {
61
+ if ( response . messages ) {
62
+ growl . addServerMessages ( response . messages ) ;
63
+ }
64
+ return response ;
65
+ }
66
+ function error ( response ) {
67
+ if ( response . messages && response . messages . length > 0 ) {
68
+ growl . addServerMessages ( response . messages ) ;
69
+ }
70
+ return $q . reject ( response ) ;
71
+ }
72
+ return function ( promise ) {
73
+ return promise . then ( success , error ) ;
74
+ } ;
75
+ }
76
+ ] ;
77
+ this . $get = [
78
+ '$rootScope' ,
79
+ '$filter' ,
80
+ function ( $rootScope , $filter ) {
81
+ var translate ;
82
+ try {
83
+ translate = $filter ( 'translate' ) ;
84
+ } catch ( e ) {
85
+ }
86
+ function broadcastMessage ( message ) {
87
+ if ( translate ) {
88
+ message = translate ( message ) ;
89
+ }
90
+ $rootScope . $broadcast ( 'growlMessage' , message ) ;
91
+ }
92
+ function sendMessage ( text , config , severity ) {
93
+ var _config = config || { } ;
94
+ var message = {
95
+ text : text ,
96
+ isWarn : severity . isWarn ,
97
+ isError : severity . isError ,
98
+ isInfo : severity . isInfo ,
99
+ isSuccess : severity . isSuccess ,
100
+ ttl : _config . ttl || _ttl
101
+ } ;
102
+ broadcastMessage ( message ) ;
103
+ }
104
+ function addWarnMessage ( text , config ) {
105
+ sendMessage ( text , config , { isWarn : true } ) ;
106
+ }
107
+ function addErrorMessage ( text , config ) {
108
+ sendMessage ( text , config , { isError : true } ) ;
109
+ }
110
+ function addInfoMessage ( text , config ) {
111
+ sendMessage ( text , config , { isInfo : true } ) ;
112
+ }
113
+ function addSuccessMessage ( text , config ) {
114
+ sendMessage ( text , config , { isSuccess : true } ) ;
115
+ }
116
+ function addServerMessages ( messages ) {
117
+ var i , message , severity , length ;
118
+ length = messages . length ;
119
+ for ( i = 0 ; i < length ; i ++ ) {
120
+ message = messages [ i ] ;
121
+ if ( message . text && message . severity ) {
122
+ switch ( message . severity ) {
123
+ case 'warn' :
124
+ severity = { isWarn : true } ;
125
+ break ;
126
+ case 'success' :
127
+ severity = { isSuccess : true } ;
128
+ break ;
129
+ case 'info' :
130
+ severity = { isInfo : true } ;
131
+ break ;
132
+ case 'error' :
133
+ severity = { isError : true } ;
134
+ break ;
135
+ }
136
+ sendMessage ( message . text , undefined , severity ) ;
137
+ }
138
+ }
139
+ }
140
+ return {
141
+ addWarnMessage : addWarnMessage ,
142
+ addErrorMessage : addErrorMessage ,
143
+ addInfoMessage : addInfoMessage ,
144
+ addSuccessMessage : addSuccessMessage ,
145
+ addServerMessages : addServerMessages
146
+ } ;
147
+ }
148
+ ] ;
149
+ } ) ;
0 commit comments