UNPKG

anthtrigger

Version:

Trigger events via http service

1 lines 1.87 kB
angular.module("cgNotify",[]).factory("notify",["$timeout","$http","$compile","$templateCache","$rootScope",function(a,b,c,d,e){var f=10,g=5,h=4e3,i="angular-notify.html",j="right",k=document.body,l=[],m=function(m){"object"!=typeof m&&(m={message:m}),m.template=m.template?m.template:i,m.position=m.position?m.position:j,m.container=m.container?m.container:k;var n=m.scope?m.scope.$new():e.$new();n.$message=m.message,b.get(m.template,{cache:d}).success(function(b){var d=c(b)(n);d.bind("webkitTransitionEnd oTransitionEnd otransitionend transitionend msTransitionEnd",function(a){("opacity"===a.propertyName||a.originalEvent&&"opacity"===a.originalEvent.propertyName)&&(d.remove(),l.splice(l.indexOf(d),1),e())}),angular.element(m.container).append(d),l.push(d),"center"===m.position&&a(function(){d.css("margin-left","-"+d[0].offsetWidth/2+"px")}),n.$close=function(){d.css("opacity",0)};var e=function(){for(var a=0,b=f,c=l.length-1;c>=0;c--){var d=l[c],e=b;b+=l[c][0].offsetHeight+g,d.css("top",e+"px"),a++}};a(function(){e()}),h>0&&a(function(){n.$close()},h)}).error(function(a){throw new Error("Template specified for cgNotify ("+m.template+") could not be loaded. "+a)});var o={};return o.close=function(){n.$close&&n.$close()},Object.defineProperty(o,"message",{get:function(){return n.$message},set:function(a){n.$message=a}}),o};return m.config=function(a){f=angular.isUndefined(a.top)?f:a.top,g=angular.isUndefined(a.verticalSpacing)?g:a.verticalSpacing,h=angular.isUndefined(a.duration)?h:a.duration,i=a.template?a.template:i,j=angular.isUndefined(a.position)?j:a.position,k=a.container?a.container:k},m.closeAll=function(){for(var a=l.length-1;a>=0;a--){var b=l[a];b.css("opacity",0)}},m}]),angular.module("cgNotify").run(["$templateCache",function(a){"use strict";a.put("angular-notify.html",'<div class="cg-notify-message">\n {{$message}}\n</div>')}]);