-
Notifications
You must be signed in to change notification settings - Fork 41
/
vs-notify.min.js
1 lines (1 loc) · 2.82 KB
/
vs-notify.min.js
1
var s=document.createElement("style");s.type="text/css",document.getElementsByTagName("head")[0].appendChild(s),s.innerHTML=".vs-notify{ position:fixed; width:300px; z-index:9999; }.vs-notify .ntf{ font-size:14px; padding:10px; margin:0 5px 5px; color:#fff; background:#44A4FC; border-left:5px solid #187FE7; box-sizing:border-box; text-align:left; cursor:pointer; }.vs-notify .warn { background:#ffb648; border-left-color:#f48a06; }.vs-notify .error { background:#E54D42; border-left-color:#B82E24; }.vs-notify .success{ background:#68CD86; border-left-color:#42A85F; }.ntf-left-enter-active, .ntf-left-leave-active, .ntf-right-enter-active, .ntf-right-leave-active, .ntf-top-enter-active, .ntf-top-leave-active,.ntf-bottom-enter-active, .ntf-bottom-leave-active{ transition: all 0.3s; }.ntf-left-enter, .ntf-left-leave-to { opacity:0; transform:translateX(-300px); }.ntf-right-enter, .ntf-right-leave-to{ opacity:0; transform:translateX(300px); }.ntf-fade-enter-active, .ntf-fade-leave-active{ transition: opacity 0.5s; }.ntf-fade-enter, .ntf-fade-leave-to{ opacity: 0; }.ntf-top-enter, .ntf-top-leave-to{ opacity:0; transform: translateY(-120px); }.ntf-bottom-enter, .ntf-bottom-leave-to{ opacity:0; transform: translateY(120px); }";var VsNotify={install:function(t){var e=this;this.g={};var i=function(t,i,n,o){e.g[t]&&e.g[t](i,n,o)};Object.defineProperty(t.prototype,"$notify",{get:function(){return i}})}};Vue.use(VsNotify),Vue.component("vs-notify",{template:'<div :class="[\'vs-notify\', group]" :style="styles"><transition-group :name="trans" mode="out-in"><div :class="it.type" v-for="it in list" :key="it.id"><slot name="body" :class="it.type" :item="it" :close="function(){ end(it) }"><div @click.stop="end(it)" v-html="it.text"></div></slot></div></transition-group></div>',props:{group:String,transition:String,position:{type:String,default:"top right"},duration:{type:Number,default:3e3},reverse:{type:Boolean,default:!1}},data:function(){var t=!this.reverse,e=this.position,i=this.transition;return e.indexOf("bottom")+1&&(t=!t),!i&&e.indexOf("left")+1&&(i="ntf-left"),!i&&e.indexOf("right")+1&&(i="ntf-right"),{dir:t,trans:i,list:[]}},created:function(){var t=1,e=this;VsNotify.g[this.group]=function(i,n,o){if(void 0===i)return void e.end();var r={id:t++,text:i,type:"ntf"+(n?" "+n:"")};o=void 0!==o?o:e.duration,o>0&&(r.timer=setTimeout(function(){e.end(r)},o)),e.dir?e.list.push(r):e.list.unshift(r)}},computed:{styles:function(){for(var t={},e=this.position.split(" "),i=0;i<e.length;i++)"center"==e[i]?(t.left=t.right=0,t.margin="auto"):""!=e[i]&&(t[e[i]]=0);return t}},methods:{find:function(t){for(var e=0;e<this.list.length;e++)if(this.list[e].id==t)return e;return-1},end_no:function(t){t+1&&(clearTimeout(this.list[t].timer),this.list.splice(t,1))},end:function(t){if(void 0!==t)this.end_no(this.find(t.id));else for(;this.list.length;)this.end_no(0)}}});