-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathjquery.alert2.min.js
More file actions
9 lines (9 loc) · 2.97 KB
/
Copy pathjquery.alert2.min.js
File metadata and controls
9 lines (9 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
/**
* jQuery.Alert
* @version 2.0
* @author biohzrdmx <github.com/biohzrdmx>
* @requires jQuery 1.8+
* @license MIT
* @copyright Copyright © 2018 biohzrdmx. All rights reserved.
*/
;!function(t){"function"!=typeof t.easing.easeInOutQuad&&(t.easing.easeInOutQuad=function(t,a,e,n,o){return(a/=o/2)<1?n/2*a*a+e:-n/2*(--a*(a-2)-1)+e}),t.alert=function(a,e){t.alert.api.show(a,e)},t.alert.api={show:function(a,e){e=t.extend(!0,{},t.alert.defaults,e||{});var n=t(e.parent);if(container=n.find(".jquery-alert"),alertOverlay=container.find(".alert-overlay"),alertBox=container.find(".alert-box"),0==container.length&&(container=t(e.templates.container),alertOverlay=t(e.templates.overlay),alertBox=t(e.templates.box),container.append(alertOverlay),container.append(alertBox),n.append(container),container.attr("tabindex",0),container.on("keyup",function(t){e.callbacks.onKey(t.key)})),!container.hasClass("is-open")){container.attr("class","jquery-alert "+e.theme);var o=alertBox.find(".alert-message"),r=alertBox.find(".alert-buttons");if(e.callbacks.createMessage(o,a),e.buttons){r.empty();for(var i in e.buttons)if(e.buttons.hasOwnProperty(i)){var s=t(e.templates.button),l=e.buttons[i];e.callbacks.createButton(s,l,i),s.data("name",i),s.on("click",function(a){a.preventDefault();var n=t(this),o=n.data("name"),r="button"+(o=o[0].toUpperCase()+o.slice(1));(e.callbacks[r]||e.callbacks.onButton)(n)}),r.append(s),e.buttons[i]=s}}container.data("options",e),e.animations.overlayIn(alertOverlay),e.animations.boxIn(alertBox),container.addClass("is-open"),container.focus()}},close:function(){var a=t(".jquery-alert"),e=a.data("options"),n=a.find(".alert-overlay"),o=a.find(".alert-box");e.animations.boxOut(o),e.animations.overlayOut(n),setTimeout(function(){a.removeClass("is-open")},350)},button:function(a){var e=t(".jquery-alert").data("options");return button=null,ret=!1,button=e.buttons[a]||null,button&&(button.trigger("click"),ret=!0),ret}},t.alert.defaults={parent:"body",buttons:{close:"Close"},theme:"theme-light",templates:{button:'<a href="#" class="button"></a>',container:'<div class="jquery-alert"></div>',overlay:'<div class="alert-overlay"></div>',box:'<div class="alert-box"><div class="alert-message">{message}</div><div class="alert-buttons">{buttons}</div></div>'},animations:{overlayIn:function(t){t.fadeIn(350)},overlayOut:function(t){t.fadeOut(350)},boxIn:function(a){a.css("opacity",0).show().animate({opacity:1,marginTop:"-=15"},{duration:200,easing:"easeInOutQuad",complete:function(){t(".jquery-alert").data("options").callbacks.onOpen(a)}})},boxOut:function(a){a.animate({opacity:0,marginTop:"+=15"},{duration:200,easing:"easeInOutQuad",complete:function(){var e=t(".jquery-alert").data("options");t(this).hide(),e.callbacks.onClose(a)}})}},callbacks:{createMessage:function(t,a){t.html(a)},createButton:function(t,a,e){t.text(a)},onOpen:t.noop,onClose:t.noop,onButton:function(){t.alert.api.close()},onKey:function(a){switch(a){case"Escape":case"Enter":case" ":t.alert.api.button("close")}}}}}(jQuery);