toastr-tng
Version:
This is a forked version of Toastr (TNG = The Next Generation). ToastrJS is a JavaScript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.
3 lines (2 loc) • 5.04 kB
JavaScript
!function(e){function t(e,t,n){return f({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=u(t)),v)}function s(e,t,n){return f({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function o(e){C=e}function i(e,t,n){return f({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return f({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var s=m();v||n(s),d(e,s,t)||l(s)}function c(t){var s=m();return v||n(s),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),s=n.length-1;s>=0;s--)d(e(n[s]),t)}function d(t,n,s){var o=!(!s||!s.force)&&s.force;return!(!t||!o&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function u(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'<button type="button">×</button>',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function g(e){C&&C(e)}function f(t){function s(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function o(){c(),d(),u(),p(),f(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}M.attr("aria-live",e)}function a(){x.closeOnHover&&M.hover(H,D),!x.onclick&&x.tapToDismiss&&M.click(b),x.closeButton&&P&&P.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),x.onCloseClick&&x.onCloseClick(e),b(!0)}),x.onclick&&M.click(function(e){x.onclick(e),b()})}function r(){M.hide(),M[x.showMethod]({duration:x.showDuration,easing:x.showEasing,complete:x.onShown}),x.timeOut>0&&(I=setTimeout(b,x.timeOut),S.maxHideTime=parseFloat(x.timeOut),S.hideEta=(new Date).getTime()+S.maxHideTime,x.progressBar&&(S.intervalId=setInterval(E,10)))}function c(){t.iconClass&&M.addClass(x.toastClass).addClass(k)}function l(){x.newestOnTop?v.prepend(M):v.append(M)}function d(){if(t.title){var e=t.title;x.escapeHtml&&(e=s(t.title)),y.append(e).addClass(x.titleClass),M.append(y)}}function u(){if(t.message){var e=t.message;x.escapeHtml&&(e=s(t.message)),B.append(e).addClass(x.messageClass),M.append(B)}}function p(){x.closeButton&&(P.addClass(x.closeClass).attr("role","button"),M.prepend(P))}function f(){x.progressBar&&(F.addClass(x.progressClass),M.prepend(F))}function C(){x.rtl&&M.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&x.closeMethod!==!1?x.closeMethod:x.hideMethod,s=t&&x.closeDuration!==!1?x.closeDuration:x.hideDuration,o=t&&x.closeEasing!==!1?x.closeEasing:x.hideEasing;if(!e(":focus",M).length||t)return clearTimeout(S.intervalId),M[n]({duration:s,easing:o,complete:function(){h(M),clearTimeout(I),x.onHidden&&"hidden"!==j.state&&x.onHidden(),j.state="hidden",j.endTime=new Date,g(j)}})}function D(){(x.timeOut>0||x.extendedTimeOut>0)&&(I=setTimeout(b,x.extendedTimeOut),S.maxHideTime=parseFloat(x.extendedTimeOut),S.hideEta=(new Date).getTime()+S.maxHideTime)}function H(){clearTimeout(I),S.hideEta=0,M.stop(!0,!0)[x.showMethod]({duration:x.showDuration,easing:x.showEasing})}function E(){var e=(S.hideEta-(new Date).getTime())/S.maxHideTime*100;F.width(e+"%")}var x=m(),k=t.iconClass||x.iconClass;if("undefined"!=typeof t.optionsOverride&&(x=e.extend(x,t.optionsOverride),k=t.optionsOverride.iconClass||k),!O(x,t)){T++,v=n(x,!0);var I=null,M=e("<div/>"),y=e("<div/>"),B=e("<div/>"),F=e("<div/>"),P=e(x.closeHtml),S={intervalId:null,hideEta:null,maxHideTime:null},j={toastId:T,state:"visible",startTime:new Date,options:x,map:t};return o(),r(),a(),g(j),x.debug&&console&&console.log(j),M}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:s,options:{},subscribe:o,success:i,version:"2.1.5",warning:a};return b}(jQuery);
//# sourceMappingURL=toastr.js.map