mamberamo/public/style/vendor/bootstrap4-notify/bootstrap-notify.min.js
2022-04-13 13:51:55 +07:00

1 line
9.6 KiB
JavaScript

!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)},close:function(){a.close()}}},buildNotify:function(){var b=this.settings.content;this.$ele=a(String.format(this.settings.template,this.settings.type,b.title,b.message,b.url,b.target)),this.$ele.attr("data-notify-position",this.settings.placement.from+"-"+this.settings.placement.align),0===b.title.length&&this.$ele.find('[data-notify="title"]').css("display","none"),this.settings.allow_dismiss||this.$ele.find('[data-notify="dismiss"]').css("display","none"),(this.settings.delay<=0&&!this.settings.showProgressbar||!this.settings.showProgressbar)&&this.$ele.find('[data-notify="progressbar"]').remove(),0!==b.id.length&&this.$ele.find('[data-notify="dismiss"]').attr("data-notify-id",b.id)},setIcon:function(){"class"===this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify="icon"]').is("img")?this.$ele.find('[data-notify="icon"]').attr("src",this.settings.content.icon):this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />')},styleDismiss:function(){this.$ele.find('[data-notify="dismiss"]').css({position:"absolute",right:"10px",top:"5px",zIndex:this.settings.z_index+2})},styleURL:function(){this.$ele.find('[data-notify="url"]').css({backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)",height:"100%",left:0,position:"absolute",top:0,width:"100%",zIndex:this.settings.z_index+1})},placement:function(){var b=this,c=this.settings.offset.y,d={display:"inline-block",margin:"0px auto",position:this.settings.position?this.settings.position:"body"===this.settings.element?"fixed":"absolute",transition:"all .5s ease-in-out",zIndex:this.settings.z_index,width:this.settings.width},e=!1,f=this.settings;switch(a('[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])').each(function(){c=Math.max(c,parseInt(a(this).css(f.placement.from))+parseInt(a(this).outerHeight())+parseInt(f.spacing))}),!0===this.settings.newest_on_top&&(c=this.settings.offset.y),d[this.settings.placement.from]=c+"px",this.settings.placement.align){case"left":case"right":d[this.settings.placement.align]=this.settings.offset.x+"px";break;case"center":d.left=0,d.right=0}this.$ele.css(d).addClass(this.settings.animate.enter),a.each(Array("webkit-","moz-","o-","ms-",""),function(a,c){b.$ele[0].style[c+"AnimationIterationCount"]=1}),a(this.settings.element).append(this.$ele),!0!==this.settings.newest_on_top&&(c=parseInt(c)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(c)),a.isFunction(b.settings.onShow)&&b.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){e=!0}).one(this.animations.end,function(){b.$ele.removeClass(b.settings.animate.enter),a.isFunction(b.settings.onShown)&&b.settings.onShown.call(this)}),setTimeout(function(){e||a.isFunction(b.settings.onShown)&&b.settings.onShown.call(this)},600)},bind:function(){var b=this;this.$ele.find('[data-notify="dismiss"]').on("click",function(){a.isFunction(b.settings.onDismiss)&&b.settings.onDismiss.call(this),b.close()}),a.isFunction(b.settings.onClick)&&this.$ele.on("click",function(a){a.target!=b.$ele.find('[data-notify="dismiss"]')[0]&&b.settings.onClick.call(this,a)}),this.$ele.mouseover(function(){a(this).data("data-hover","true")}).mouseout(function(){a(this).data("data-hover","false")}),this.$ele.data("data-hover","false"),this.settings.delay>0&&(b.$ele.data("notify-delay",b.settings.delay),this.timerInterval=setInterval(function(){var c=parseInt(b.$ele.data("notify-delay"))-b.settings.timer;if("false"===b.$ele.data("data-hover")&&"pause"===b.settings.mouse_over||"pause"!=b.settings.mouse_over){var d=(b.settings.delay-c)/b.settings.delay*100;b.$ele.data("notify-delay",c),b.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",d).css("width",d+"%")}c<=-b.settings.timer&&(a.isFunction(b.settings.onTimer)&&b.settings.onTimer.call(b.$ele),b.close())},b.settings.timer))},close:function(){clearInterval(this.timerInterval);var b=this,c=parseInt(this.$ele.css(this.settings.placement.from)),d=!1;this.$ele.attr("data-closing","true").addClass(this.settings.animate.exit),b.reposition(c),a.isFunction(b.settings.onClose)&&b.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){d=!0}).one(this.animations.end,function(){a(this).remove(),a.isFunction(b.settings.onClosed)&&b.settings.onClosed.call(this)}),setTimeout(function(){d||(b.$ele.remove(),a.isFunction(b.settings.onClosed)&&b.settings.onClosed.call(this))},600)},reposition:function(b){var c=this,d='[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])',e=this.$ele.nextAll(d);!0===this.settings.newest_on_top&&(e=this.$ele.prevAll(d)),e.each(function(){a(this).css(c.settings.placement.from,b),b=parseInt(b)+parseInt(c.settings.spacing)+a(this).outerHeight()})}}),a.notify=function(a,b){return new c(this,a,b).notify},a.notifyDefaults=function(b){return d=a.extend(!0,{},d,b)},a.notifyClose=function(b){void 0===b||"all"===b?a("[data-notify]").find('[data-notify="dismiss"]').trigger("click"):"success"===b||"info"===b||"warning"===b||"danger"===b?a(".alert-"+b+"[data-notify]").find('[data-notify="dismiss"]').trigger("click"):b?a(b+"[data-notify]").find('[data-notify="dismiss"]').trigger("click"):a('[data-notify-position="'+b+'"]').find('[data-notify="dismiss"]').trigger("click")},a.notifyCloseExcept=function(b){"success"===b||"info"===b||"warning"===b||"danger"===b?a("[data-notify]").not(".alert-"+b).find('[data-notify="dismiss"]').trigger("click"):a("[data-notify]").not(b).find('[data-notify="dismiss"]').trigger("click")}});