mamberamo/public/style/vendor/bootstrap4-notify/bootstrap-notify.min.js

1 line
9.6 KiB
JavaScript
Raw Normal View History

2022-04-13 08:51:55 +02:00
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(b){var c=!1;return a('[data-notify="container"]').each(function(d,e){var f=a(e),g=f.find('[data-notify="title"]').html().trim(),h=f.find('[data-notify="message"]').html().trim(),i=g===a("<div>"+b.settings.content.title+"</div>").html().trim(),j=h===a("<div>"+b.settings.content.message+"</div>").html().trim(),k=f.hasClass("alert-"+b.settings.type);return i&&j&&k&&(c=!0),!c}),c}function c(c,e,f){var g={content:{message:"object"==typeof e?e.message:e,title:e.title?e.title:"",icon:e.icon?e.icon:"",url:e.url?e.url:"#",target:e.target?e.target:"-",id:e.id?e.id:""}};if(f=a.extend(!0,{},g,f),this.settings=a.extend(!0,{},d,f),this._defaults=d,"-"===this.settings.content.target&&(this.settings.content.target=this.settings.url_target),this.animations={start:"webkitAnimationStart oanimationstart MSAnimationStart animationstart",end:"webkitAnimationEnd oanimationend MSAnimationEnd animationend"},"number"==typeof this.settings.offset&&(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),this.settings.allow_duplicates||!this.settings.allow_duplicates&&!b(this)){this.init();var h=a('[data-notify="container"]').length;this.settings.restrict>0&&h>=this.settings.restrict&&a('[data-notify="container"]').find('button[data-notify="dismiss"]').slice(0,h-this.settings.restrict).trigger("click")}}var d={element:"body",position:null,type:"info",allow_dismiss:!0,allow_duplicates:!0,newest_on_top:!1,showProgressbar:!1,placement:{from:"top",align:"right"},restrict:0,offset:20,spacing:10,width:"200px",z_index:1031,delay:5e3,timer:1e3,url_target:"_blank",mouse_over:null,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onDismiss:null,onTimer:null,onClose:null,onClosed:null,onClick:null,icon_type:"class",template:['<div data-notify="container">','<div class="alert alert-{0}" role="alert">','<button type="button" aria-hidden="true" class="close" data-notify="dismiss">&times;</button>','<span data-notify="icon"></span>','<h4 class="alert-heading" data-notify="title">{1}</h4>','<p class="mb-0" data-notify="message">{2}</p>','<div class="progress" data-notify="progressbar">','<div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>',"</div>",'<a href="{3}" target="{4}" data-notify="url"></a>',"</div>","</div>"].join("")};String.format=function(){var a=arguments;return arguments[0].replace(/(\{\{\d\}\}|\{\d\})/g,function(b){if("{{"===b.substring(0,2))return b;var c=parseInt(b.match(/\d/)[0]);return a[c+1]})},a.extend(c.prototype,{init:function(){var a=this;this.buildNotify(),this.settings.content.icon&&this.setIcon(),"#"!=this.settings.content.url&&this.styleURL(),this.styleDismiss(),this.placement(),this.bind(),this.notify={$ele:this.$ele,update:function(b,c){var d={};"string"==typeof b?d[b]=c:d=b;for(var e in d)switch(e){case"type":this.$ele.removeClass("alert-"+a.settings.type),this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass("progress-bar-"+a.settings.type),a.settings.type=d[e],this.$ele.addClass("alert-"+d[e]).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-"+d[e]);break;case"icon":var f=this.$ele.find('[data-notify="icon"]');"class"===a.settings.icon_type.toLowerCase()?f.removeClass(a.settings.content.icon).addClass(d[e]):(f.is("img")||f.find("img"),f.attr("src",d[e])),a.settings.content.icon=d[b];break;case"progress":var g=a.settings.delay-a.settings.delay*(d[e]/100);this.$ele.data("notify-delay",g),this.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",d[e]).css("width",d[e]+"%");break;case"url":this.$ele.find('[data-notify="url"]').attr("href",d[e]);break;case"target":this.$ele.find('[data-notify="url"]').attr("target",d[e]);break;default:this.$ele.find('[data-notify="'+e+'"]').html(d[e])}var h=this.$ele.outerHeight()+parseInt(a.settings.spacing)+parseInt(a.settings.offset.y);a.reposition(h)