diff --git a/javascripts/igrowl.js b/javascripts/igrowl.js index 4874fa4..954e894 100644 --- a/javascripts/igrowl.js +++ b/javascripts/igrowl.js @@ -129,6 +129,7 @@ if ( options.animation ) { this.template + .removeClass( options.animShow ) .addClass( options.animHide ) .one(animStart, function(e){ if ( typeof options.onHide === 'function' ) options.onHide(); diff --git a/javascripts/igrowl.min.js b/javascripts/igrowl.min.js index 08e728b..f9997e1 100644 --- a/javascripts/igrowl.min.js +++ b/javascripts/igrowl.min.js @@ -2,4 +2,4 @@ Copyright (c) 2014 Catalin Covic https://github.com/catc */ -(function(e){"use strict";var t="webkitAnimationStart oanimationstart MSAnimationStart animationstart",n="webkitAnimationEnd oanimationend MSAnimationEnd animationend",r='
';var i=function(t){var t=e.extend(true,{},e.iGrowl.prototype.defaults,t);this.options=t;this.template=s(t);o.call(this);return this},s=function(t){if(!t.title&&!t.message)throw new Error("You must enter at least a title or message.");var n=e(r);if(t.small){n.addClass("igrowl-small")}n.addClass("igrowl-"+t.type);if(t.icon)n.prepend('
');if(t.title)n.find(".igrowl-text").prepend('
'+t.title+"
");if(t.message)n.find(".igrowl-text").append('
'+t.message+"
");n.attr("alert-placement",t.placement.x+" "+t.placement.y);return n},o=function(){var r=this.options,i=this.template;var s=e('.igrowl[alert-placement="'+r.placement.x+" "+r.placement.y+'"]').last(),o=r.offset.y,a=this;if(s.length){o=parseInt(s.css(r.placement.y),10)+s.outerHeight()+r.spacing}i.css(r.placement.y,o);r.placement.x==="center"?i.addClass("igrowl-center"):i.css(r.placement.x,r.offset.x);e("body").append(i);if(r.animation){i.addClass(r.animShow).one(t,function(e){if(typeof r.onShow==="function")r.onShow()}).one(n,function(e){u.call(a)})}else{u.call(a)}},u=function(){var e=this.options,t=this.template;if(typeof e.onShown==="function")e.onShown();var n=this;if(e.delay>0){setTimeout(function(){n.dismiss()},e.delay)}t.find(".igrowl-dismiss").on("click",function(){n.dismiss()})},a=function(){var t=this.options,n=e(this.template);n.nextAll('.igrowl[alert-placement="'+t.placement.x+" "+t.placement.y+'"]').each(function(r,i){var s=parseInt(e(this).css(t.placement.y),10)-n.outerHeight()-t.spacing;e(i).css(t.placement.y,s)});n.remove()};i.prototype={dismiss:function(e,r){var i=this.options,r=this.template,s=this;if(i.animation){this.template.addClass(i.animHide).one(t,function(e){if(typeof i.onHide==="function")i.onHide()}).one(n,function(e){if(typeof i.onHidden==="function")i.onHidden();a.call(s)});setTimeout(function(){r.hide();a.call(s)},1500)}else{r.hide();if(typeof i.onHidden==="function")i.onHidden();a.call(s)}}};e.iGrowl=function(e){var t=new i(e);return t};e.iGrowl.prototype.defaults={type:"info",title:null,message:null,icon:null,small:false,delay:2500,spacing:30,placement:{x:"right",y:"top"},offset:{x:20,y:20},animation:true,animShow:"bounceIn",animHide:"bounceOut",onShow:null,onShown:null,onHide:null,onHidden:null}})(jQuery) \ No newline at end of file +(function(e){"use strict";var t="webkitAnimationStart oanimationstart MSAnimationStart animationstart",n="webkitAnimationEnd oanimationend MSAnimationEnd animationend",r='
';var i=function(t){var t=e.extend(true,{},e.iGrowl.prototype.defaults,t);this.options=t;this.template=s(t);o.call(this);return this},s=function(t){if(!t.title&&!t.message)throw new Error("You must enter at least a title or message.");var n=e(r);if(t.small){n.addClass("igrowl-small")}n.addClass("igrowl-"+t.type);if(t.icon)n.prepend('
');if(t.title)n.find(".igrowl-text").prepend('
'+t.title+"
");if(t.message)n.find(".igrowl-text").append('
'+t.message+"
");n.attr("alert-placement",t.placement.x+" "+t.placement.y);return n},o=function(){var r=this.options,i=this.template;var s=e('.igrowl[alert-placement="'+r.placement.x+" "+r.placement.y+'"]').last(),o=r.offset.y,a=this;if(s.length){o=parseInt(s.css(r.placement.y),10)+s.outerHeight()+r.spacing}i.css(r.placement.y,o);r.placement.x==="center"?i.addClass("igrowl-center"):i.css(r.placement.x,r.offset.x);e("body").append(i);if(r.animation){i.addClass(r.animShow).one(t,function(e){if(typeof r.onShow==="function")r.onShow()}).one(n,function(e){u.call(a)})}else{u.call(a)}},u=function(){var e=this.options,t=this.template;if(typeof e.onShown==="function")e.onShown();var n=this;if(e.delay>0){setTimeout(function(){n.dismiss()},e.delay)}t.find(".igrowl-dismiss").on("click",function(){n.dismiss()})},a=function(){var t=this.options,n=e(this.template);n.nextAll('.igrowl[alert-placement="'+t.placement.x+" "+t.placement.y+'"]').each(function(r,i){var s=parseInt(e(this).css(t.placement.y),10)-n.outerHeight()-t.spacing;e(i).css(t.placement.y,s)});n.remove()};i.prototype={dismiss:function(e,r){var i=this.options,r=this.template,s=this;if(i.animation){this.template.removeClass(i.animShow).addClass(i.animHide).one(t,function(e){if(typeof i.onHide==="function")i.onHide()}).one(n,function(e){if(typeof i.onHidden==="function")i.onHidden();a.call(s)});setTimeout(function(){r.hide();a.call(s)},1500)}else{r.hide();if(typeof i.onHidden==="function")i.onHidden();a.call(s)}}};e.iGrowl=function(e){var t=new i(e);return t};e.iGrowl.prototype.defaults={type:"info",title:null,message:null,icon:null,small:false,delay:2500,spacing:30,placement:{x:"right",y:"top"},offset:{x:20,y:20},animation:true,animShow:"bounceIn",animHide:"bounceOut",onShow:null,onShown:null,onHide:null,onHidden:null}})(jQuery) \ No newline at end of file