diff --git a/dist/notify-combined.js b/dist/notify-combined.js index 15f8590..8eab079 100644 --- a/dist/notify-combined.js +++ b/dist/notify-combined.js @@ -54,7 +54,7 @@ styles = {}; coreStyle = { name: 'core', html: "
\n
\n
\n
", - css: "." + pluginClassName + "-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n." + pluginClassName + "-corner ." + pluginClassName + "-wrapper,\n." + pluginClassName + "-corner ." + pluginClassName + "-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n}\n\n." + pluginClassName + "-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n." + pluginClassName + "-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n." + pluginClassName + "-text {\n position: relative;\n}\n\n." + pluginClassName + "-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}" + css: "." + pluginClassName + "-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n." + pluginClassName + "-corner ." + pluginClassName + "-wrapper,\n." + pluginClassName + "-corner ." + pluginClassName + "-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n margin: 3px;\n}\n\n." + pluginClassName + "-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n." + pluginClassName + "-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n." + pluginClassName + "-text {\n position: relative;\n}\n\n." + pluginClassName + "-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}" }; stylePrefixes = { @@ -259,12 +259,13 @@ Notification = (function() { return elems[fn].apply(elems, args); }; - Notification.prototype.setGlobalPosition = function(position) { - var align, anchor, css, key, main, pAlign, pMain; + Notification.prototype.setGlobalPosition = function() { + var align, anchor, css, key, main, pAlign, pMain, position; + position = this.getPosition(); pMain = position[0], pAlign = position[1]; main = positions[pMain]; align = positions[pAlign]; - key = position(pMain + "|" + pAlign); + key = pMain + "|" + pAlign; anchor = globalAnchors[key]; if (!anchor) { anchor = globalAnchors[key] = createElem("div"); @@ -283,8 +284,9 @@ Notification = (function() { return anchor.prepend(this.wrapper); }; - Notification.prototype.setElementPosition = function(position) { - var arrowColor, arrowCss, arrowSize, color, contH, contW, css, elemH, elemIH, elemIW, elemPos, elemW, gap, mainFull, margin, opp, oppFull, pAlign, pArrow, pMain, pos, posFull, wrapPos, _i, _j, _len, _len1, _ref; + Notification.prototype.setElementPosition = function() { + var arrowColor, arrowCss, arrowSize, color, contH, contW, css, elemH, elemIH, elemIW, elemPos, elemW, gap, mainFull, margin, opp, oppFull, pAlign, pArrow, pMain, pos, posFull, position, wrapPos, _i, _j, _len, _len1, _ref; + position = this.getPosition(); pMain = position[0], pAlign = position[1], pArrow = position[2]; elemPos = this.elem.position(); elemH = this.elem.outerHeight(); @@ -401,8 +403,7 @@ Notification = (function() { }; Notification.prototype.run = function(data, options) { - var position, - _this = this; + var _this = this; if ($.isPlainObject(options)) { $.extend(this.options, options); } else if ($.type(options) === 'string') { @@ -416,11 +417,10 @@ Notification = (function() { } this.text[this.rawHTML ? 'html' : 'text'](data); this.updateClasses(); - position = this.getPosition(); if (this.elem) { - this.setElementPosition(position); + this.setElementPosition(); } else { - this.setGlobalPosition(position); + this.setGlobalPosition(); } this.show(true); if (this.options.autoHide) { @@ -465,7 +465,8 @@ $.fn[pluginName] = function(data, options) { $.extend($[pluginName], { defaults: defaults, - addStyle: addStyle + addStyle: addStyle, + pluginOptions: pluginOptions }); $(function() { @@ -487,7 +488,7 @@ $(function() { }(window,document)); $.notify.addStyle("bootstrap", { - html: "
\n\n\n
", + html: "
\n\n
", classes: { base: { "font-weight": "bold", diff --git a/dist/notify-combined.min.js b/dist/notify-combined.min.js index 17caae5..37717e2 100644 --- a/dist/notify-combined.min.js +++ b/dist/notify-combined.min.js @@ -2,4 +2,4 @@ * http://notifyjs.com/ * Copyright (c) 2013 Jaime Pillora - MIT */ -(function(t,n,e){"use strict";var i,o,r,s,a,l,h,c,p,u,d,A,f,m,w,g,y,b,v,x,C,E,H=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};g="notify",w=g+"js",b={t:"top",m:"middle",b:"bottom",l:"left",c:"center",r:"right"},c=["l","c","r"],E=["t","m","b"],A=["t","b","l","r"],f={t:"b",m:null,b:"t",l:"r",c:null,r:"l"},m=function(t){var n;return n=[],$.each(t.split(/\W+/),function(t,i){var o;return o=i.toLowerCase().charAt(0),b[o]?n.push(o):e}),n},C={},r={name:"core",html:'
\n
\n
\n
',css:"."+w+"-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n."+w+"-corner ."+w+"-wrapper,\n."+w+"-corner ."+w+"-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n}\n\n."+w+"-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n."+w+"-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n."+w+"-text {\n position: relative;\n}\n\n."+w+"-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}"},x={"border-radius":["-webkit-","-moz-"]},o=function(n,i){var o,r;return(null!=(r=C[n])?r.cssElem:void 0)&&(t.console&&console.warn(""+g+": overwriting style '"+n+"'"),C[n].cssElem.remove()),i.name=n,C[n]=i,o="",i.classes&&$.each(i.classes,function(t,n){return o+="."+w+"-"+i.name+"-"+t+" {\n",$.each(n,function(t,n){return x[t]&&$.each(x[t],function(e,i){return o+=" "+i+t+": "+n+";\n"}),o+=" "+t+": "+n+";\n"}),o+="}\n"}),i.css&&(o+="/* styles for "+i.name+" */\n"+i.css),o?(i.cssElem=d(o),i.cssElem.attr("id","notify-"+i.name)):e},d=function(t){var n;n=s("style"),$("head").append(n);try{n.html(t)}catch(e){n[0].styleSheet.cssText=t}return n},y={autoHide:!0,autoHideDelay:5e3,arrowShow:!0,arrowSize:5,elementPosition:"bottom",globalPosition:"top right",style:"bootstrap",className:"error",showAnimation:"slideDown",showDuration:400,hideAnimation:"slideUp",hideDuration:200,gap:5},u=function(t,n){var e;return e=function(){},e.prototype=t,$.extend(!0,new e,n)},a=function(t){return $.extend(y,t)},s=function(t){return $("<"+t+">")},h={},l=function(t){var n;return t.is("[type=radio]")&&(n=t.parents("form:first").find("[type=radio]").filter(function(n,e){return $(e).attr("name")===t.attr("name")}),t=n.first()),t},p=function(t,n,i){var o,r;if("string"==typeof i)i=parseInt(i,10);else if("number"!=typeof i)return;if(!isNaN(i))return o=b[f[n.charAt(0)]],r=n,t[o]!==e&&(n=b[o.charAt(0)],i=-i),t[n]===e?t[n]=i:t[n]+=i,null},v=function(t,n,e){if("l"===t||"t"===t)return 0;if("c"===t||"m"===t)return e/2-n/2;if("r"===t||"b"===t)return e-n;throw"Invalid alignment"},i=function(){function t(t,n,e){"string"==typeof e&&(e={className:e}),this.options=u(y,$.isPlainObject(e)?e:{}),this.loadHTML(),this.wrapper=$(r.html),this.wrapper.data(w,this),this.arrow=this.wrapper.find("."+w+"-arrow"),this.container=this.wrapper.find("."+w+"-container"),this.container.append(this.userContainer),t&&t.length&&(this.elementType=t.attr("type"),this.originalElement=t,this.elem=l(t),this.elem.data(w,this),this.elem.before(this.wrapper)),this.container.hide(),this.run(n)}return t.prototype.loadHTML=function(){var t;if(t=this.getStyle(),this.userContainer=$(t.html),this.text=this.userContainer.find("[data-notify-text]"),0===this.text.length&&(this.text=this.userContainer.find("[data-notify-html]"),this.rawHTML=!0),0===this.text.length)throw"style: '"+name+"' HTML is missing a: 'data-notify-text' or 'data-notify-html' attribute";return this.text.addClass(""+w+"-text")},t.prototype.show=function(t,n){var i,o,r,s,a,l=this;if(o=function(){return t||l.elem||l.destroy(),n?n():e},a=this.container.parent().parents(":hidden").length>0,r=this.container.add(this.arrow),i=[],a&&t)s="show";else if(a&&!t)s="hide";else if(!a&&t)s=this.options.showAnimation,i.push(this.options.showDuration);else{if(a||t)return o();s=this.options.hideAnimation,i.push(this.options.hideDuration)}return i.push(o),r[s].apply(r,i)},t.prototype.setGlobalPosition=function(t){var n,e,i,o,r,a,l;return l=t[0],a=t[1],r=b[l],n=b[a],o=t(l+"|"+a),e=h[o],e||(e=h[o]=s("div"),i={},i[r]=0,"middle"===n?i.top="45%":"center"===n?i.left="45%":i[n]=0,e.css(i).addClass(""+w+"-corner"),$("body").append(e)),e.prepend(this.wrapper)},t.prototype.setElementPosition=function(t){var n,i,o,r,s,a,l,h,u,d,m,w,g,y,x,C,M,D,S,T,F,z,k,B,Q,R,U,X;for(T=t[0],D=t[1],S=t[2],m=this.elem.position(),h=this.elem.outerHeight(),w=this.elem.outerWidth(),u=this.elem.innerHeight(),d=this.elem.innerWidth(),k=this.wrapper.position(),s=this.container.height(),a=this.container.width(),y=b[T],C=f[T],M=b[C],l={},l[M]="b"===T?h:"r"===T?w:0,p(l,"top",m.top-k.top),p(l,"left",m.left-k.left),X=["top","left"],B=0,R=X.length;R>B;B++)F=X[B],x=parseInt(this.elem.css("margin-"+F),10),x&&p(l,F,x);if(g=Math.max(0,this.options.gap-(this.options.arrowShow?o:0)),p(l,M,g),this.options.arrowShow){for(o=this.options.arrowSize,i=$.extend({},l),n=this.userContainer.css("border-color")||this.userContainer.css("background-color")||"white",Q=0,U=A.length;U>Q;Q++)F=A[Q],z=b[F],F!==C&&(r=z===y?n:"transparent",i["border-"+z]=""+o+"px solid "+r);p(l,b[C],o),H.call(A,D)>=0&&p(i,b[D],2*o)}else this.arrow.hide();return H.call(E,T)>=0?(p(l,"left",v(D,a,w)),i&&p(i,"left",v(D,o,d))):H.call(c,T)>=0&&(p(l,"top",v(D,s,h)),i&&p(i,"top",v(D,o,u))),this.container.is(":visible")&&(l.display="block"),this.container.removeAttr("style").css(l),i?this.arrow.removeAttr("style").css(i):e},t.prototype.getPosition=function(){var t,n,e,i,o,r,s,a;if(n=this.options.position||(this.elem?this.options.elementPosition:this.options.globalPosition),t=m(n),0===t.length&&(t[0]="b"),e=t[0],0>H.call(A,e))throw"Must be one of ["+A+"]";return(1===t.length||(i=t[0],H.call(E,i)>=0&&(o=t[1],0>H.call(c,o)))||(r=t[0],H.call(c,r)>=0&&(s=t[1],0>H.call(E,s))))&&(t[1]=(a=t[0],H.call(c,a)>=0?"m":"l")),2===t.length&&(t[2]=t[1]),t},t.prototype.getStyle=function(t){var n;if(t||(t=this.options.style),t||(t="default"),n=C[t],!n)throw"Missing style: "+t;return n},t.prototype.updateClasses=function(){var t,n;return t=["base"],$.isArray(this.options.className)?t=t.concat(this.options.className):this.options.className&&t.push(this.options.className),n=this.getStyle(),t=$.map(t,function(t){return""+w+"-"+n.name+"-"+t}).join(" "),this.userContainer.attr("class",t)},t.prototype.run=function(t,n){var i,o=this;return $.isPlainObject(n)?$.extend(this.options,n):"string"===$.type(n)&&(this.options.color=n),this.container&&!t?(this.show(!1),e):this.container||t?(this.text[this.rawHTML?"html":"text"](t),this.updateClasses(),i=this.getPosition(),this.elem?this.setElementPosition(i):this.setGlobalPosition(i),this.show(!0),this.options.autoHide?(clearTimeout(this.autohideTimer),this.autohideTimer=setTimeout(function(){return o.show(!1)},this.options.autoHideDelay)):e):e},t.prototype.destroy=function(){return this.wrapper.remove()},t}(),$[g]=function(t,n,e){return t&&t.nodeName||t.jquery?$(t)[g](n,e):(e=n,n=t,new i(null,n,e)),t},$.fn[g]=function(t,n){return $(this).each(function(){var e;return e=l($(this)).data(w),e?e.run(t,n):new i($(this),t,n)}),this},$.extend($[g],{defaults:a,addStyle:o}),$(function(){return d(r.css).attr("data-notify-style","core"),$(n).on("click","."+w+"-wrapper",function(){var t;return(t=$(this).data(w))?t.elem?t.show(!1):t.destroy():e})})})(window,document),$.notify.addStyle("bootstrap",{html:"
\n\n\n
",classes:{base:{"font-weight":"bold",padding:"8px 15px 8px 14px","text-shadow":"0 1px 0 rgba(255, 255, 255, 0.5)","background-color":"#fcf8e3",border:"1px solid #fbeed5","border-radius":"4px","white-space":"nowrap","padding-left":"25px","background-repeat":"no-repeat","background-position":"3px 7px"},error:{color:"#B94A48","background-color":"#F2DEDE","border-color":"#EED3D7","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtRJREFUeNqkVc1u00AQHq+dOD+0poIQfkIjalW0SEGqRMuRnHos3DjwAH0ArlyQeANOOSMeAA5VjyBxKBQhgSpVUKKQNGloFdw4cWw2jtfMOna6JOUArDTazXi/b3dm55socPqQhFka++aHBsI8GsopRJERNFlY88FCEk9Yiwf8RhgRyaHFQpPHCDmZG5oX2ui2yilkcTT1AcDsbYC1NMAyOi7zTX2Agx7A9luAl88BauiiQ/cJaZQfIpAlngDcvZZMrl8vFPK5+XktrWlx3/ehZ5r9+t6e+WVnp1pxnNIjgBe4/6dAysQc8dsmHwPcW9C0h3fW1hans1ltwJhy0GxK7XZbUlMp5Ww2eyan6+ft/f2FAqXGK4CvQk5HueFz7D6GOZtIrK+srupdx1GRBBqNBtzc2AiMr7nPplRdKhb1q6q6zjFhrklEFOUutoQ50xcX86ZlqaZpQrfbBdu2R6/G19zX6XSgh6RX5ubyHCM8nqSID6ICrGiZjGYYxojEsiw4PDwMSL5VKsC8Yf4VRYFzMzMaxwjlJSlCyAQ9l0CW44PBADzXhe7xMdi9HtTrdYjFYkDQL0cn4Xdq2/EAE+InCnvADTf2eah4Sx9vExQjkqXT6aAERICMewd/UAp/IeYANM2joxt+q5VI+ieq2i0Wg3l6DNzHwTERPgo1ko7XBXj3vdlsT2F+UuhIhYkp7u7CarkcrFOCtR3H5JiwbAIeImjT/YQKKBtGjRFCU5IUgFRe7fF4cCNVIPMYo3VKqxwjyNAXNepuopyqnld602qVsfRpEkkz+GFL1wPj6ySXBpJtWVa5xlhpcyhBNwpZHmtX8AGgfIExo0ZpzkWVTBGiXCSEaHh62/PoR0p/vHaczxXGnj4bSo+G78lELU80h1uogBwWLf5YlsPmgDEd4M236xjm+8nm4IuE/9u+/PH2JXZfbwz4zw1WbO+SQPpXfwG/BBgAhCNZiSb/pOQAAAAASUVORK5CYII=)"},success:{color:"#468847","background-color":"#DFF0D8","border-color":"#D6E9C6","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAutJREFUeNq0lctPE0Ecx38zu/RFS1EryqtgJFA08YCiMZIAQQ4eRG8eDGdPJiYeTIwHTfwPiAcvXIwXLwoXPaDxkWgQ6islKlJLSQWLUraPLTv7Gme32zoF9KSTfLO7v53vZ3d/M7/fIth+IO6INt2jjoA7bjHCJoAlzCRw59YwHYjBnfMPqAKWQYKjGkfCJqAF0xwZjipQtA3MxeSG87VhOOYegVrUCy7UZM9S6TLIdAamySTclZdYhFhRHloGYg7mgZv1Zzztvgud7V1tbQ2twYA34LJmF4p5dXF1KTufnE+SxeJtuCZNsLDCQU0+RyKTF27Unw101l8e6hns3u0PBalORVVVkcaEKBJDgV3+cGM4tKKmI+ohlIGnygKX00rSBfszz/n2uXv81wd6+rt1orsZCHRdr1Imk2F2Kob3hutSxW8thsd8AXNaln9D7CTfA6O+0UgkMuwVvEFFUbbAcrkcTA8+AtOk8E6KiQiDmMFSDqZItAzEVQviRkdDdaFgPp8HSZKAEAL5Qh7Sq2lIJBJwv2scUqkUnKoZgNhcDKhKg5aH+1IkcouCAdFGAQsuWZYhOjwFHQ96oagWgRoUov1T9kRBEODAwxM2QtEUl+Wp+Ln9VRo6BcMw4ErHRYjH4/B26AlQoQQTRdHWwcd9AH57+UAXddvDD37DmrBBV34WfqiXPl61g+vr6xA9zsGeM9gOdsNXkgpEtTwVvwOklXLKm6+/p5ezwk4B+j6droBs2CsGa/gNs6RIxazl4Tc25mpTgw/apPR1LYlNRFAzgsOxkyXYLIM1V8NMwyAkJSctD1eGVKiq5wWjSPdjmeTkiKvVW4f2YPHWl3GAVq6ymcyCTgovM3FzyRiDe2TaKcEKsLpJvNHjZgPNqEtyi6mZIm4SRFyLMUsONSSdkPeFtY1n0mczoY3BHTLhwPRy9/lzcziCw9ACI+yql0VLzcGAZbYSM5CCSZg1/9oc/nn7+i8N9p/8An4JMADxhH+xHfuiKwAAAABJRU5ErkJggg==)"},info:{color:"#3A87AD","background-color":"#D9EDF7","border-color":"#BCE8F1","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYFAhkSsdes/QAAA8dJREFUOMvVlGtMW2UYx//POaWHXg6lLaW0ypAtw1UCgbniNOLcVOLmAjHZolOYlxmTGXVZdAnRfXQm+7SoU4mXaOaiZsEpC9FkiQs6Z6bdCnNYruM6KNBw6YWewzl9z+sHImEWv+vz7XmT95f/+3/+7wP814v+efDOV3/SoX3lHAA+6ODeUFfMfjOWMADgdk+eEKz0pF7aQdMAcOKLLjrcVMVX3xdWN29/GhYP7SvnP0cWfS8caSkfHZsPE9Fgnt02JNutQ0QYHB2dDz9/pKX8QjjuO9xUxd/66HdxTeCHZ3rojQObGQBcuNjfplkD3b19Y/6MrimSaKgSMmpGU5WevmE/swa6Oy73tQHA0Rdr2Mmv/6A1n9w9suQ7097Z9lM4FlTgTDrzZTu4StXVfpiI48rVcUDM5cmEksrFnHxfpTtU/3BFQzCQF/2bYVoNbH7zmItbSoMj40JSzmMyX5qDvriA7QdrIIpA+3cdsMpu0nXI8cV0MtKXCPZev+gCEM1S2NHPvWfP/hL+7FSr3+0p5RBEyhEN5JCKYr8XnASMT0xBNyzQGQeI8fjsGD39RMPk7se2bd5ZtTyoFYXftF6y37gx7NeUtJJOTFlAHDZLDuILU3j3+H5oOrD3yWbIztugaAzgnBKJuBLpGfQrS8wO4FZgV+c1IxaLgWVU0tMLEETCos4xMzEIv9cJXQcyagIwigDGwJgOAtHAwAhisQUjy0ORGERiELgG4iakkzo4MYAxcM5hAMi1WWG1yYCJIcMUaBkVRLdGeSU2995TLWzcUAzONJ7J6FBVBYIggMzmFbvdBV44Corg8vjhzC+EJEl8U1kJtgYrhCzgc/vvTwXKSib1paRFVRVORDAJAsw5FuTaJEhWM2SHB3mOAlhkNxwuLzeJsGwqWzf5TFNdKgtY5qHp6ZFf67Y/sAVadCaVY5YACDDb3Oi4NIjLnWMw2QthCBIsVhsUTU9tvXsjeq9+X1d75/KEs4LNOfcdf/+HthMnvwxOD0wmHaXr7ZItn2wuH2SnBzbZAbPJwpPx+VQuzcm7dgRCB57a1uBzUDRL4bfnI0RE0eaXd9W89mpjqHZnUI5Hh2l2dkZZUhOqpi2qSmpOmZ64Tuu9qlz/SEXo6MEHa3wOip46F1n7633eekV8ds8Wxjn37Wl63VVa+ej5oeEZ/82ZBETJjpJ1Rbij2D3Z/1trXUvLsblCK0XfOx0SX2kMsn9dX+d+7Kf6h8o4AIykuffjT8L20LU+w4AZd5VvEPY+XpWqLV327HR7DzXuDnD8r+ovkBehJ8i+y8YAAAAASUVORK5CYII=)"},warn:{color:"#C09853","background-color":"#FCF8E3","border-color":"#FBEED5","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABJlBMVEXr6eb/2oD/wi7/xjr/0mP/ykf/tQD/vBj/3o7/uQ//vyL/twebhgD/4pzX1K3z8e349vK6tHCilCWbiQymn0jGworr6dXQza3HxcKkn1vWvV/5uRfk4dXZ1bD18+/52YebiAmyr5S9mhCzrWq5t6ufjRH54aLs0oS+qD751XqPhAybhwXsujG3sm+Zk0PTwG6Shg+PhhObhwOPgQL4zV2nlyrf27uLfgCPhRHu7OmLgAafkyiWkD3l49ibiAfTs0C+lgCniwD4sgDJxqOilzDWowWFfAH08uebig6qpFHBvH/aw26FfQTQzsvy8OyEfz20r3jAvaKbhgG9q0nc2LbZxXanoUu/u5WSggCtp1anpJKdmFz/zlX/1nGJiYmuq5Dx7+sAAADoPUZSAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfdBgUBGhh4aah5AAAAlklEQVQY02NgoBIIE8EUcwn1FkIXM1Tj5dDUQhPU502Mi7XXQxGz5uVIjGOJUUUW81HnYEyMi2HVcUOICQZzMMYmxrEyMylJwgUt5BljWRLjmJm4pI1hYp5SQLGYxDgmLnZOVxuooClIDKgXKMbN5ggV1ACLJcaBxNgcoiGCBiZwdWxOETBDrTyEFey0jYJ4eHjMGWgEAIpRFRCUt08qAAAAAElFTkSuQmCC)"}}}); \ No newline at end of file +(function(t,n,e){"use strict";var i,o,r,s,a,l,h,c,p,u,d,A,f,m,w,g,y,b,v,x,C,E,H=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};g="notify",w=g+"js",b={t:"top",m:"middle",b:"bottom",l:"left",c:"center",r:"right"},c=["l","c","r"],E=["t","m","b"],A=["t","b","l","r"],f={t:"b",m:null,b:"t",l:"r",c:null,r:"l"},m=function(t){var n;return n=[],$.each(t.split(/\W+/),function(t,i){var o;return o=i.toLowerCase().charAt(0),b[o]?n.push(o):e}),n},C={},r={name:"core",html:'
\n
\n
\n
',css:"."+w+"-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n."+w+"-corner ."+w+"-wrapper,\n."+w+"-corner ."+w+"-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n margin: 3px;\n}\n\n."+w+"-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n."+w+"-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n."+w+"-text {\n position: relative;\n}\n\n."+w+"-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}"},x={"border-radius":["-webkit-","-moz-"]},o=function(n,i){var o,r;return(null!=(r=C[n])?r.cssElem:void 0)&&(t.console&&console.warn(""+g+": overwriting style '"+n+"'"),C[n].cssElem.remove()),i.name=n,C[n]=i,o="",i.classes&&$.each(i.classes,function(t,n){return o+="."+w+"-"+i.name+"-"+t+" {\n",$.each(n,function(t,n){return x[t]&&$.each(x[t],function(e,i){return o+=" "+i+t+": "+n+";\n"}),o+=" "+t+": "+n+";\n"}),o+="}\n"}),i.css&&(o+="/* styles for "+i.name+" */\n"+i.css),o?(i.cssElem=d(o),i.cssElem.attr("id","notify-"+i.name)):e},d=function(t){var n;n=s("style"),$("head").append(n);try{n.html(t)}catch(e){n[0].styleSheet.cssText=t}return n},y={autoHide:!0,autoHideDelay:5e3,arrowShow:!0,arrowSize:5,elementPosition:"bottom",globalPosition:"top right",style:"bootstrap",className:"error",showAnimation:"slideDown",showDuration:400,hideAnimation:"slideUp",hideDuration:200,gap:5},u=function(t,n){var e;return e=function(){},e.prototype=t,$.extend(!0,new e,n)},a=function(t){return $.extend(y,t)},s=function(t){return $("<"+t+">")},h={},l=function(t){var n;return t.is("[type=radio]")&&(n=t.parents("form:first").find("[type=radio]").filter(function(n,e){return $(e).attr("name")===t.attr("name")}),t=n.first()),t},p=function(t,n,i){var o,r;if("string"==typeof i)i=parseInt(i,10);else if("number"!=typeof i)return;if(!isNaN(i))return o=b[f[n.charAt(0)]],r=n,t[o]!==e&&(n=b[o.charAt(0)],i=-i),t[n]===e?t[n]=i:t[n]+=i,null},v=function(t,n,e){if("l"===t||"t"===t)return 0;if("c"===t||"m"===t)return e/2-n/2;if("r"===t||"b"===t)return e-n;throw"Invalid alignment"},i=function(){function t(t,n,e){"string"==typeof e&&(e={className:e}),this.options=u(y,$.isPlainObject(e)?e:{}),this.loadHTML(),this.wrapper=$(r.html),this.wrapper.data(w,this),this.arrow=this.wrapper.find("."+w+"-arrow"),this.container=this.wrapper.find("."+w+"-container"),this.container.append(this.userContainer),t&&t.length&&(this.elementType=t.attr("type"),this.originalElement=t,this.elem=l(t),this.elem.data(w,this),this.elem.before(this.wrapper)),this.container.hide(),this.run(n)}return t.prototype.loadHTML=function(){var t;if(t=this.getStyle(),this.userContainer=$(t.html),this.text=this.userContainer.find("[data-notify-text]"),0===this.text.length&&(this.text=this.userContainer.find("[data-notify-html]"),this.rawHTML=!0),0===this.text.length)throw"style: '"+name+"' HTML is missing a: 'data-notify-text' or 'data-notify-html' attribute";return this.text.addClass(""+w+"-text")},t.prototype.show=function(t,n){var i,o,r,s,a,l=this;if(o=function(){return t||l.elem||l.destroy(),n?n():e},a=this.container.parent().parents(":hidden").length>0,r=this.container.add(this.arrow),i=[],a&&t)s="show";else if(a&&!t)s="hide";else if(!a&&t)s=this.options.showAnimation,i.push(this.options.showDuration);else{if(a||t)return o();s=this.options.hideAnimation,i.push(this.options.hideDuration)}return i.push(o),r[s].apply(r,i)},t.prototype.setGlobalPosition=function(){var t,n,e,i,o,r,a,l;return l=this.getPosition(),a=l[0],r=l[1],o=b[a],t=b[r],i=a+"|"+r,n=h[i],n||(n=h[i]=s("div"),e={},e[o]=0,"middle"===t?e.top="45%":"center"===t?e.left="45%":e[t]=0,n.css(e).addClass(""+w+"-corner"),$("body").append(n)),n.prepend(this.wrapper)},t.prototype.setElementPosition=function(){var t,n,i,o,r,s,a,l,h,u,d,m,w,g,y,x,C,M,D,S,T,F,z,k,B,Q,R,U,P;for(z=this.getPosition(),S=z[0],M=z[1],D=z[2],d=this.elem.position(),l=this.elem.outerHeight(),m=this.elem.outerWidth(),h=this.elem.innerHeight(),u=this.elem.innerWidth(),k=this.wrapper.position(),r=this.container.height(),s=this.container.width(),g=b[S],x=f[S],C=b[x],a={},a[C]="b"===S?l:"r"===S?m:0,p(a,"top",d.top-k.top),p(a,"left",d.left-k.left),P=["top","left"],B=0,R=P.length;R>B;B++)T=P[B],y=parseInt(this.elem.css("margin-"+T),10),y&&p(a,T,y);if(w=Math.max(0,this.options.gap-(this.options.arrowShow?i:0)),p(a,C,w),this.options.arrowShow){for(i=this.options.arrowSize,n=$.extend({},a),t=this.userContainer.css("border-color")||this.userContainer.css("background-color")||"white",Q=0,U=A.length;U>Q;Q++)T=A[Q],F=b[T],T!==x&&(o=F===g?t:"transparent",n["border-"+F]=""+i+"px solid "+o);p(a,b[x],i),H.call(A,M)>=0&&p(n,b[M],2*i)}else this.arrow.hide();return H.call(E,S)>=0?(p(a,"left",v(M,s,m)),n&&p(n,"left",v(M,i,u))):H.call(c,S)>=0&&(p(a,"top",v(M,r,l)),n&&p(n,"top",v(M,i,h))),this.container.is(":visible")&&(a.display="block"),this.container.removeAttr("style").css(a),n?this.arrow.removeAttr("style").css(n):e},t.prototype.getPosition=function(){var t,n,e,i,o,r,s,a;if(n=this.options.position||(this.elem?this.options.elementPosition:this.options.globalPosition),t=m(n),0===t.length&&(t[0]="b"),e=t[0],0>H.call(A,e))throw"Must be one of ["+A+"]";return(1===t.length||(i=t[0],H.call(E,i)>=0&&(o=t[1],0>H.call(c,o)))||(r=t[0],H.call(c,r)>=0&&(s=t[1],0>H.call(E,s))))&&(t[1]=(a=t[0],H.call(c,a)>=0?"m":"l")),2===t.length&&(t[2]=t[1]),t},t.prototype.getStyle=function(t){var n;if(t||(t=this.options.style),t||(t="default"),n=C[t],!n)throw"Missing style: "+t;return n},t.prototype.updateClasses=function(){var t,n;return t=["base"],$.isArray(this.options.className)?t=t.concat(this.options.className):this.options.className&&t.push(this.options.className),n=this.getStyle(),t=$.map(t,function(t){return""+w+"-"+n.name+"-"+t}).join(" "),this.userContainer.attr("class",t)},t.prototype.run=function(t,n){var i=this;return $.isPlainObject(n)?$.extend(this.options,n):"string"===$.type(n)&&(this.options.color=n),this.container&&!t?(this.show(!1),e):this.container||t?(this.text[this.rawHTML?"html":"text"](t),this.updateClasses(),this.elem?this.setElementPosition():this.setGlobalPosition(),this.show(!0),this.options.autoHide?(clearTimeout(this.autohideTimer),this.autohideTimer=setTimeout(function(){return i.show(!1)},this.options.autoHideDelay)):e):e},t.prototype.destroy=function(){return this.wrapper.remove()},t}(),$[g]=function(t,n,e){return t&&t.nodeName||t.jquery?$(t)[g](n,e):(e=n,n=t,new i(null,n,e)),t},$.fn[g]=function(t,n){return $(this).each(function(){var e;return e=l($(this)).data(w),e?e.run(t,n):new i($(this),t,n)}),this},$.extend($[g],{defaults:a,addStyle:o,pluginOptions:y}),$(function(){return d(r.css).attr("data-notify-style","core"),$(n).on("click","."+w+"-wrapper",function(){var t;return(t=$(this).data(w))?t.elem?t.show(!1):t.destroy():e})})})(window,document),$.notify.addStyle("bootstrap",{html:"
\n\n
",classes:{base:{"font-weight":"bold",padding:"8px 15px 8px 14px","text-shadow":"0 1px 0 rgba(255, 255, 255, 0.5)","background-color":"#fcf8e3",border:"1px solid #fbeed5","border-radius":"4px","white-space":"nowrap","padding-left":"25px","background-repeat":"no-repeat","background-position":"3px 7px"},error:{color:"#B94A48","background-color":"#F2DEDE","border-color":"#EED3D7","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtRJREFUeNqkVc1u00AQHq+dOD+0poIQfkIjalW0SEGqRMuRnHos3DjwAH0ArlyQeANOOSMeAA5VjyBxKBQhgSpVUKKQNGloFdw4cWw2jtfMOna6JOUArDTazXi/b3dm55socPqQhFka++aHBsI8GsopRJERNFlY88FCEk9Yiwf8RhgRyaHFQpPHCDmZG5oX2ui2yilkcTT1AcDsbYC1NMAyOi7zTX2Agx7A9luAl88BauiiQ/cJaZQfIpAlngDcvZZMrl8vFPK5+XktrWlx3/ehZ5r9+t6e+WVnp1pxnNIjgBe4/6dAysQc8dsmHwPcW9C0h3fW1hans1ltwJhy0GxK7XZbUlMp5Ww2eyan6+ft/f2FAqXGK4CvQk5HueFz7D6GOZtIrK+srupdx1GRBBqNBtzc2AiMr7nPplRdKhb1q6q6zjFhrklEFOUutoQ50xcX86ZlqaZpQrfbBdu2R6/G19zX6XSgh6RX5ubyHCM8nqSID6ICrGiZjGYYxojEsiw4PDwMSL5VKsC8Yf4VRYFzMzMaxwjlJSlCyAQ9l0CW44PBADzXhe7xMdi9HtTrdYjFYkDQL0cn4Xdq2/EAE+InCnvADTf2eah4Sx9vExQjkqXT6aAERICMewd/UAp/IeYANM2joxt+q5VI+ieq2i0Wg3l6DNzHwTERPgo1ko7XBXj3vdlsT2F+UuhIhYkp7u7CarkcrFOCtR3H5JiwbAIeImjT/YQKKBtGjRFCU5IUgFRe7fF4cCNVIPMYo3VKqxwjyNAXNepuopyqnld602qVsfRpEkkz+GFL1wPj6ySXBpJtWVa5xlhpcyhBNwpZHmtX8AGgfIExo0ZpzkWVTBGiXCSEaHh62/PoR0p/vHaczxXGnj4bSo+G78lELU80h1uogBwWLf5YlsPmgDEd4M236xjm+8nm4IuE/9u+/PH2JXZfbwz4zw1WbO+SQPpXfwG/BBgAhCNZiSb/pOQAAAAASUVORK5CYII=)"},success:{color:"#468847","background-color":"#DFF0D8","border-color":"#D6E9C6","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAutJREFUeNq0lctPE0Ecx38zu/RFS1EryqtgJFA08YCiMZIAQQ4eRG8eDGdPJiYeTIwHTfwPiAcvXIwXLwoXPaDxkWgQ6islKlJLSQWLUraPLTv7Gme32zoF9KSTfLO7v53vZ3d/M7/fIth+IO6INt2jjoA7bjHCJoAlzCRw59YwHYjBnfMPqAKWQYKjGkfCJqAF0xwZjipQtA3MxeSG87VhOOYegVrUCy7UZM9S6TLIdAamySTclZdYhFhRHloGYg7mgZv1Zzztvgud7V1tbQ2twYA34LJmF4p5dXF1KTufnE+SxeJtuCZNsLDCQU0+RyKTF27Unw101l8e6hns3u0PBalORVVVkcaEKBJDgV3+cGM4tKKmI+ohlIGnygKX00rSBfszz/n2uXv81wd6+rt1orsZCHRdr1Imk2F2Kob3hutSxW8thsd8AXNaln9D7CTfA6O+0UgkMuwVvEFFUbbAcrkcTA8+AtOk8E6KiQiDmMFSDqZItAzEVQviRkdDdaFgPp8HSZKAEAL5Qh7Sq2lIJBJwv2scUqkUnKoZgNhcDKhKg5aH+1IkcouCAdFGAQsuWZYhOjwFHQ96oagWgRoUov1T9kRBEODAwxM2QtEUl+Wp+Ln9VRo6BcMw4ErHRYjH4/B26AlQoQQTRdHWwcd9AH57+UAXddvDD37DmrBBV34WfqiXPl61g+vr6xA9zsGeM9gOdsNXkgpEtTwVvwOklXLKm6+/p5ezwk4B+j6droBs2CsGa/gNs6RIxazl4Tc25mpTgw/apPR1LYlNRFAzgsOxkyXYLIM1V8NMwyAkJSctD1eGVKiq5wWjSPdjmeTkiKvVW4f2YPHWl3GAVq6ymcyCTgovM3FzyRiDe2TaKcEKsLpJvNHjZgPNqEtyi6mZIm4SRFyLMUsONSSdkPeFtY1n0mczoY3BHTLhwPRy9/lzcziCw9ACI+yql0VLzcGAZbYSM5CCSZg1/9oc/nn7+i8N9p/8An4JMADxhH+xHfuiKwAAAABJRU5ErkJggg==)"},info:{color:"#3A87AD","background-color":"#D9EDF7","border-color":"#BCE8F1","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYFAhkSsdes/QAAA8dJREFUOMvVlGtMW2UYx//POaWHXg6lLaW0ypAtw1UCgbniNOLcVOLmAjHZolOYlxmTGXVZdAnRfXQm+7SoU4mXaOaiZsEpC9FkiQs6Z6bdCnNYruM6KNBw6YWewzl9z+sHImEWv+vz7XmT95f/+3/+7wP814v+efDOV3/SoX3lHAA+6ODeUFfMfjOWMADgdk+eEKz0pF7aQdMAcOKLLjrcVMVX3xdWN29/GhYP7SvnP0cWfS8caSkfHZsPE9Fgnt02JNutQ0QYHB2dDz9/pKX8QjjuO9xUxd/66HdxTeCHZ3rojQObGQBcuNjfplkD3b19Y/6MrimSaKgSMmpGU5WevmE/swa6Oy73tQHA0Rdr2Mmv/6A1n9w9suQ7097Z9lM4FlTgTDrzZTu4StXVfpiI48rVcUDM5cmEksrFnHxfpTtU/3BFQzCQF/2bYVoNbH7zmItbSoMj40JSzmMyX5qDvriA7QdrIIpA+3cdsMpu0nXI8cV0MtKXCPZev+gCEM1S2NHPvWfP/hL+7FSr3+0p5RBEyhEN5JCKYr8XnASMT0xBNyzQGQeI8fjsGD39RMPk7se2bd5ZtTyoFYXftF6y37gx7NeUtJJOTFlAHDZLDuILU3j3+H5oOrD3yWbIztugaAzgnBKJuBLpGfQrS8wO4FZgV+c1IxaLgWVU0tMLEETCos4xMzEIv9cJXQcyagIwigDGwJgOAtHAwAhisQUjy0ORGERiELgG4iakkzo4MYAxcM5hAMi1WWG1yYCJIcMUaBkVRLdGeSU2995TLWzcUAzONJ7J6FBVBYIggMzmFbvdBV44Corg8vjhzC+EJEl8U1kJtgYrhCzgc/vvTwXKSib1paRFVRVORDAJAsw5FuTaJEhWM2SHB3mOAlhkNxwuLzeJsGwqWzf5TFNdKgtY5qHp6ZFf67Y/sAVadCaVY5YACDDb3Oi4NIjLnWMw2QthCBIsVhsUTU9tvXsjeq9+X1d75/KEs4LNOfcdf/+HthMnvwxOD0wmHaXr7ZItn2wuH2SnBzbZAbPJwpPx+VQuzcm7dgRCB57a1uBzUDRL4bfnI0RE0eaXd9W89mpjqHZnUI5Hh2l2dkZZUhOqpi2qSmpOmZ64Tuu9qlz/SEXo6MEHa3wOip46F1n7633eekV8ds8Wxjn37Wl63VVa+ej5oeEZ/82ZBETJjpJ1Rbij2D3Z/1trXUvLsblCK0XfOx0SX2kMsn9dX+d+7Kf6h8o4AIykuffjT8L20LU+w4AZd5VvEPY+XpWqLV327HR7DzXuDnD8r+ovkBehJ8i+y8YAAAAASUVORK5CYII=)"},warn:{color:"#C09853","background-color":"#FCF8E3","border-color":"#FBEED5","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABJlBMVEXr6eb/2oD/wi7/xjr/0mP/ykf/tQD/vBj/3o7/uQ//vyL/twebhgD/4pzX1K3z8e349vK6tHCilCWbiQymn0jGworr6dXQza3HxcKkn1vWvV/5uRfk4dXZ1bD18+/52YebiAmyr5S9mhCzrWq5t6ufjRH54aLs0oS+qD751XqPhAybhwXsujG3sm+Zk0PTwG6Shg+PhhObhwOPgQL4zV2nlyrf27uLfgCPhRHu7OmLgAafkyiWkD3l49ibiAfTs0C+lgCniwD4sgDJxqOilzDWowWFfAH08uebig6qpFHBvH/aw26FfQTQzsvy8OyEfz20r3jAvaKbhgG9q0nc2LbZxXanoUu/u5WSggCtp1anpJKdmFz/zlX/1nGJiYmuq5Dx7+sAAADoPUZSAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfdBgUBGhh4aah5AAAAlklEQVQY02NgoBIIE8EUcwn1FkIXM1Tj5dDUQhPU502Mi7XXQxGz5uVIjGOJUUUW81HnYEyMi2HVcUOICQZzMMYmxrEyMylJwgUt5BljWRLjmJm4pI1hYp5SQLGYxDgmLnZOVxuooClIDKgXKMbN5ggV1ACLJcaBxNgcoiGCBiZwdWxOETBDrTyEFey0jYJ4eHjMGWgEAIpRFRCUt08qAAAAAElFTkSuQmCC)"}}}); \ No newline at end of file diff --git a/dist/notify.js b/dist/notify.js index e2d9792..4584bd9 100644 --- a/dist/notify.js +++ b/dist/notify.js @@ -54,7 +54,7 @@ styles = {}; coreStyle = { name: 'core', html: "
\n
\n
\n
", - css: "." + pluginClassName + "-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n." + pluginClassName + "-corner ." + pluginClassName + "-wrapper,\n." + pluginClassName + "-corner ." + pluginClassName + "-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n}\n\n." + pluginClassName + "-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n." + pluginClassName + "-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n." + pluginClassName + "-text {\n position: relative;\n}\n\n." + pluginClassName + "-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}" + css: "." + pluginClassName + "-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n." + pluginClassName + "-corner ." + pluginClassName + "-wrapper,\n." + pluginClassName + "-corner ." + pluginClassName + "-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n margin: 3px;\n}\n\n." + pluginClassName + "-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n." + pluginClassName + "-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n." + pluginClassName + "-text {\n position: relative;\n}\n\n." + pluginClassName + "-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}" }; stylePrefixes = { @@ -259,12 +259,13 @@ Notification = (function() { return elems[fn].apply(elems, args); }; - Notification.prototype.setGlobalPosition = function(position) { - var align, anchor, css, key, main, pAlign, pMain; + Notification.prototype.setGlobalPosition = function() { + var align, anchor, css, key, main, pAlign, pMain, position; + position = this.getPosition(); pMain = position[0], pAlign = position[1]; main = positions[pMain]; align = positions[pAlign]; - key = position(pMain + "|" + pAlign); + key = pMain + "|" + pAlign; anchor = globalAnchors[key]; if (!anchor) { anchor = globalAnchors[key] = createElem("div"); @@ -283,8 +284,9 @@ Notification = (function() { return anchor.prepend(this.wrapper); }; - Notification.prototype.setElementPosition = function(position) { - var arrowColor, arrowCss, arrowSize, color, contH, contW, css, elemH, elemIH, elemIW, elemPos, elemW, gap, mainFull, margin, opp, oppFull, pAlign, pArrow, pMain, pos, posFull, wrapPos, _i, _j, _len, _len1, _ref; + Notification.prototype.setElementPosition = function() { + var arrowColor, arrowCss, arrowSize, color, contH, contW, css, elemH, elemIH, elemIW, elemPos, elemW, gap, mainFull, margin, opp, oppFull, pAlign, pArrow, pMain, pos, posFull, position, wrapPos, _i, _j, _len, _len1, _ref; + position = this.getPosition(); pMain = position[0], pAlign = position[1], pArrow = position[2]; elemPos = this.elem.position(); elemH = this.elem.outerHeight(); @@ -401,8 +403,7 @@ Notification = (function() { }; Notification.prototype.run = function(data, options) { - var position, - _this = this; + var _this = this; if ($.isPlainObject(options)) { $.extend(this.options, options); } else if ($.type(options) === 'string') { @@ -416,11 +417,10 @@ Notification = (function() { } this.text[this.rawHTML ? 'html' : 'text'](data); this.updateClasses(); - position = this.getPosition(); if (this.elem) { - this.setElementPosition(position); + this.setElementPosition(); } else { - this.setGlobalPosition(position); + this.setGlobalPosition(); } this.show(true); if (this.options.autoHide) { @@ -465,7 +465,8 @@ $.fn[pluginName] = function(data, options) { $.extend($[pluginName], { defaults: defaults, - addStyle: addStyle + addStyle: addStyle, + pluginOptions: pluginOptions }); $(function() { diff --git a/dist/notify.min.js b/dist/notify.min.js index 5009823..7facb1a 100644 --- a/dist/notify.min.js +++ b/dist/notify.min.js @@ -2,4 +2,4 @@ * http://notifyjs.com/ * Copyright (c) 2013 Jaime Pillora - MIT */ -(function(t,n,e){"use strict";var i,r,o,s,a,h,l,c,p,u,d,f,m,w,y,g,v,b,x,C,P,H,T=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};g="notify",y=g+"js",b={t:"top",m:"middle",b:"bottom",l:"left",c:"center",r:"right"},c=["l","c","r"],H=["t","m","b"],f=["t","b","l","r"],m={t:"b",m:null,b:"t",l:"r",c:null,r:"l"},w=function(t){var n;return n=[],$.each(t.split(/\W+/),function(t,i){var r;return r=i.toLowerCase().charAt(0),b[r]?n.push(r):e}),n},P={},o={name:"core",html:'
\n
\n
\n
',css:"."+y+"-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n."+y+"-corner ."+y+"-wrapper,\n."+y+"-corner ."+y+"-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n}\n\n."+y+"-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n."+y+"-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n."+y+"-text {\n position: relative;\n}\n\n."+y+"-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}"},C={"border-radius":["-webkit-","-moz-"]},r=function(n,i){var r,o;return(null!=(o=P[n])?o.cssElem:void 0)&&(t.console&&console.warn(""+g+": overwriting style '"+n+"'"),P[n].cssElem.remove()),i.name=n,P[n]=i,r="",i.classes&&$.each(i.classes,function(t,n){return r+="."+y+"-"+i.name+"-"+t+" {\n",$.each(n,function(t,n){return C[t]&&$.each(C[t],function(e,i){return r+=" "+i+t+": "+n+";\n"}),r+=" "+t+": "+n+";\n"}),r+="}\n"}),i.css&&(r+="/* styles for "+i.name+" */\n"+i.css),r?(i.cssElem=d(r),i.cssElem.attr("id","notify-"+i.name)):e},d=function(t){var n;n=s("style"),$("head").append(n);try{n.html(t)}catch(e){n[0].styleSheet.cssText=t}return n},v={autoHide:!0,autoHideDelay:5e3,arrowShow:!0,arrowSize:5,elementPosition:"bottom",globalPosition:"top right",style:"bootstrap",className:"error",showAnimation:"slideDown",showDuration:400,hideAnimation:"slideUp",hideDuration:200,gap:5},u=function(t,n){var e;return e=function(){},e.prototype=t,$.extend(!0,new e,n)},a=function(t){return $.extend(v,t)},s=function(t){return $("<"+t+">")},l={},h=function(t){var n;return t.is("[type=radio]")&&(n=t.parents("form:first").find("[type=radio]").filter(function(n,e){return $(e).attr("name")===t.attr("name")}),t=n.first()),t},p=function(t,n,i){var r,o;if("string"==typeof i)i=parseInt(i,10);else if("number"!=typeof i)return;if(!isNaN(i))return r=b[m[n.charAt(0)]],o=n,t[r]!==e&&(n=b[r.charAt(0)],i=-i),t[n]===e?t[n]=i:t[n]+=i,null},x=function(t,n,e){if("l"===t||"t"===t)return 0;if("c"===t||"m"===t)return e/2-n/2;if("r"===t||"b"===t)return e-n;throw"Invalid alignment"},i=function(){function t(t,n,e){"string"==typeof e&&(e={className:e}),this.options=u(v,$.isPlainObject(e)?e:{}),this.loadHTML(),this.wrapper=$(o.html),this.wrapper.data(y,this),this.arrow=this.wrapper.find("."+y+"-arrow"),this.container=this.wrapper.find("."+y+"-container"),this.container.append(this.userContainer),t&&t.length&&(this.elementType=t.attr("type"),this.originalElement=t,this.elem=h(t),this.elem.data(y,this),this.elem.before(this.wrapper)),this.container.hide(),this.run(n)}return t.prototype.loadHTML=function(){var t;if(t=this.getStyle(),this.userContainer=$(t.html),this.text=this.userContainer.find("[data-notify-text]"),0===this.text.length&&(this.text=this.userContainer.find("[data-notify-html]"),this.rawHTML=!0),0===this.text.length)throw"style: '"+name+"' HTML is missing a: 'data-notify-text' or 'data-notify-html' attribute";return this.text.addClass(""+y+"-text")},t.prototype.show=function(t,n){var i,r,o,s,a,h=this;if(r=function(){return t||h.elem||h.destroy(),n?n():e},a=this.container.parent().parents(":hidden").length>0,o=this.container.add(this.arrow),i=[],a&&t)s="show";else if(a&&!t)s="hide";else if(!a&&t)s=this.options.showAnimation,i.push(this.options.showDuration);else{if(a||t)return r();s=this.options.hideAnimation,i.push(this.options.hideDuration)}return i.push(r),o[s].apply(o,i)},t.prototype.setGlobalPosition=function(t){var n,e,i,r,o,a,h;return h=t[0],a=t[1],o=b[h],n=b[a],r=t(h+"|"+a),e=l[r],e||(e=l[r]=s("div"),i={},i[o]=0,"middle"===n?i.top="45%":"center"===n?i.left="45%":i[n]=0,e.css(i).addClass(""+y+"-corner"),$("body").append(e)),e.prepend(this.wrapper)},t.prototype.setElementPosition=function(t){var n,i,r,o,s,a,h,l,u,d,w,y,g,v,C,P,A,S,N,M,z,D,E,k,L,j,I,O;for(M=t[0],S=t[1],N=t[2],w=this.elem.position(),l=this.elem.outerHeight(),y=this.elem.outerWidth(),u=this.elem.innerHeight(),d=this.elem.innerWidth(),E=this.wrapper.position(),s=this.container.height(),a=this.container.width(),v=b[M],P=m[M],A=b[P],h={},h[A]="b"===M?l:"r"===M?y:0,p(h,"top",w.top-E.top),p(h,"left",w.left-E.left),O=["top","left"],k=0,j=O.length;j>k;k++)z=O[k],C=parseInt(this.elem.css("margin-"+z),10),C&&p(h,z,C);if(g=Math.max(0,this.options.gap-(this.options.arrowShow?r:0)),p(h,A,g),this.options.arrowShow){for(r=this.options.arrowSize,i=$.extend({},h),n=this.userContainer.css("border-color")||this.userContainer.css("background-color")||"white",L=0,I=f.length;I>L;L++)z=f[L],D=b[z],z!==P&&(o=D===v?n:"transparent",i["border-"+D]=""+r+"px solid "+o);p(h,b[P],r),T.call(f,S)>=0&&p(i,b[S],2*r)}else this.arrow.hide();return T.call(H,M)>=0?(p(h,"left",x(S,a,y)),i&&p(i,"left",x(S,r,d))):T.call(c,M)>=0&&(p(h,"top",x(S,s,l)),i&&p(i,"top",x(S,r,u))),this.container.is(":visible")&&(h.display="block"),this.container.removeAttr("style").css(h),i?this.arrow.removeAttr("style").css(i):e},t.prototype.getPosition=function(){var t,n,e,i,r,o,s,a;if(n=this.options.position||(this.elem?this.options.elementPosition:this.options.globalPosition),t=w(n),0===t.length&&(t[0]="b"),e=t[0],0>T.call(f,e))throw"Must be one of ["+f+"]";return(1===t.length||(i=t[0],T.call(H,i)>=0&&(r=t[1],0>T.call(c,r)))||(o=t[0],T.call(c,o)>=0&&(s=t[1],0>T.call(H,s))))&&(t[1]=(a=t[0],T.call(c,a)>=0?"m":"l")),2===t.length&&(t[2]=t[1]),t},t.prototype.getStyle=function(t){var n;if(t||(t=this.options.style),t||(t="default"),n=P[t],!n)throw"Missing style: "+t;return n},t.prototype.updateClasses=function(){var t,n;return t=["base"],$.isArray(this.options.className)?t=t.concat(this.options.className):this.options.className&&t.push(this.options.className),n=this.getStyle(),t=$.map(t,function(t){return""+y+"-"+n.name+"-"+t}).join(" "),this.userContainer.attr("class",t)},t.prototype.run=function(t,n){var i,r=this;return $.isPlainObject(n)?$.extend(this.options,n):"string"===$.type(n)&&(this.options.color=n),this.container&&!t?(this.show(!1),e):this.container||t?(this.text[this.rawHTML?"html":"text"](t),this.updateClasses(),i=this.getPosition(),this.elem?this.setElementPosition(i):this.setGlobalPosition(i),this.show(!0),this.options.autoHide?(clearTimeout(this.autohideTimer),this.autohideTimer=setTimeout(function(){return r.show(!1)},this.options.autoHideDelay)):e):e},t.prototype.destroy=function(){return this.wrapper.remove()},t}(),$[g]=function(t,n,e){return t&&t.nodeName||t.jquery?$(t)[g](n,e):(e=n,n=t,new i(null,n,e)),t},$.fn[g]=function(t,n){return $(this).each(function(){var e;return e=h($(this)).data(y),e?e.run(t,n):new i($(this),t,n)}),this},$.extend($[g],{defaults:a,addStyle:r}),$(function(){return d(o.css).attr("data-notify-style","core"),$(n).on("click","."+y+"-wrapper",function(){var t;return(t=$(this).data(y))?t.elem?t.show(!1):t.destroy():e})})})(window,document); \ No newline at end of file +(function(t,n,e){"use strict";var i,o,r,s,a,h,l,p,c,u,d,f,m,w,y,g,v,b,x,P,C,H,T=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};g="notify",y=g+"js",b={t:"top",m:"middle",b:"bottom",l:"left",c:"center",r:"right"},p=["l","c","r"],H=["t","m","b"],f=["t","b","l","r"],m={t:"b",m:null,b:"t",l:"r",c:null,r:"l"},w=function(t){var n;return n=[],$.each(t.split(/\W+/),function(t,i){var o;return o=i.toLowerCase().charAt(0),b[o]?n.push(o):e}),n},C={},r={name:"core",html:'
\n
\n
\n
',css:"."+y+"-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n."+y+"-corner ."+y+"-wrapper,\n."+y+"-corner ."+y+"-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n margin: 3px;\n}\n\n."+y+"-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n."+y+"-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n."+y+"-text {\n position: relative;\n}\n\n."+y+"-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}"},P={"border-radius":["-webkit-","-moz-"]},o=function(n,i){var o,r;return(null!=(r=C[n])?r.cssElem:void 0)&&(t.console&&console.warn(""+g+": overwriting style '"+n+"'"),C[n].cssElem.remove()),i.name=n,C[n]=i,o="",i.classes&&$.each(i.classes,function(t,n){return o+="."+y+"-"+i.name+"-"+t+" {\n",$.each(n,function(t,n){return P[t]&&$.each(P[t],function(e,i){return o+=" "+i+t+": "+n+";\n"}),o+=" "+t+": "+n+";\n"}),o+="}\n"}),i.css&&(o+="/* styles for "+i.name+" */\n"+i.css),o?(i.cssElem=d(o),i.cssElem.attr("id","notify-"+i.name)):e},d=function(t){var n;n=s("style"),$("head").append(n);try{n.html(t)}catch(e){n[0].styleSheet.cssText=t}return n},v={autoHide:!0,autoHideDelay:5e3,arrowShow:!0,arrowSize:5,elementPosition:"bottom",globalPosition:"top right",style:"bootstrap",className:"error",showAnimation:"slideDown",showDuration:400,hideAnimation:"slideUp",hideDuration:200,gap:5},u=function(t,n){var e;return e=function(){},e.prototype=t,$.extend(!0,new e,n)},a=function(t){return $.extend(v,t)},s=function(t){return $("<"+t+">")},l={},h=function(t){var n;return t.is("[type=radio]")&&(n=t.parents("form:first").find("[type=radio]").filter(function(n,e){return $(e).attr("name")===t.attr("name")}),t=n.first()),t},c=function(t,n,i){var o,r;if("string"==typeof i)i=parseInt(i,10);else if("number"!=typeof i)return;if(!isNaN(i))return o=b[m[n.charAt(0)]],r=n,t[o]!==e&&(n=b[o.charAt(0)],i=-i),t[n]===e?t[n]=i:t[n]+=i,null},x=function(t,n,e){if("l"===t||"t"===t)return 0;if("c"===t||"m"===t)return e/2-n/2;if("r"===t||"b"===t)return e-n;throw"Invalid alignment"},i=function(){function t(t,n,e){"string"==typeof e&&(e={className:e}),this.options=u(v,$.isPlainObject(e)?e:{}),this.loadHTML(),this.wrapper=$(r.html),this.wrapper.data(y,this),this.arrow=this.wrapper.find("."+y+"-arrow"),this.container=this.wrapper.find("."+y+"-container"),this.container.append(this.userContainer),t&&t.length&&(this.elementType=t.attr("type"),this.originalElement=t,this.elem=h(t),this.elem.data(y,this),this.elem.before(this.wrapper)),this.container.hide(),this.run(n)}return t.prototype.loadHTML=function(){var t;if(t=this.getStyle(),this.userContainer=$(t.html),this.text=this.userContainer.find("[data-notify-text]"),0===this.text.length&&(this.text=this.userContainer.find("[data-notify-html]"),this.rawHTML=!0),0===this.text.length)throw"style: '"+name+"' HTML is missing a: 'data-notify-text' or 'data-notify-html' attribute";return this.text.addClass(""+y+"-text")},t.prototype.show=function(t,n){var i,o,r,s,a,h=this;if(o=function(){return t||h.elem||h.destroy(),n?n():e},a=this.container.parent().parents(":hidden").length>0,r=this.container.add(this.arrow),i=[],a&&t)s="show";else if(a&&!t)s="hide";else if(!a&&t)s=this.options.showAnimation,i.push(this.options.showDuration);else{if(a||t)return o();s=this.options.hideAnimation,i.push(this.options.hideDuration)}return i.push(o),r[s].apply(r,i)},t.prototype.setGlobalPosition=function(){var t,n,e,i,o,r,a,h;return h=this.getPosition(),a=h[0],r=h[1],o=b[a],t=b[r],i=a+"|"+r,n=l[i],n||(n=l[i]=s("div"),e={},e[o]=0,"middle"===t?e.top="45%":"center"===t?e.left="45%":e[t]=0,n.css(e).addClass(""+y+"-corner"),$("body").append(n)),n.prepend(this.wrapper)},t.prototype.setElementPosition=function(){var t,n,i,o,r,s,a,h,l,u,d,w,y,g,v,P,C,A,S,N,M,z,D,E,k,L,j,O,I;for(D=this.getPosition(),N=D[0],A=D[1],S=D[2],d=this.elem.position(),h=this.elem.outerHeight(),w=this.elem.outerWidth(),l=this.elem.innerHeight(),u=this.elem.innerWidth(),E=this.wrapper.position(),r=this.container.height(),s=this.container.width(),g=b[N],P=m[N],C=b[P],a={},a[C]="b"===N?h:"r"===N?w:0,c(a,"top",d.top-E.top),c(a,"left",d.left-E.left),I=["top","left"],k=0,j=I.length;j>k;k++)M=I[k],v=parseInt(this.elem.css("margin-"+M),10),v&&c(a,M,v);if(y=Math.max(0,this.options.gap-(this.options.arrowShow?i:0)),c(a,C,y),this.options.arrowShow){for(i=this.options.arrowSize,n=$.extend({},a),t=this.userContainer.css("border-color")||this.userContainer.css("background-color")||"white",L=0,O=f.length;O>L;L++)M=f[L],z=b[M],M!==P&&(o=z===g?t:"transparent",n["border-"+z]=""+i+"px solid "+o);c(a,b[P],i),T.call(f,A)>=0&&c(n,b[A],2*i)}else this.arrow.hide();return T.call(H,N)>=0?(c(a,"left",x(A,s,w)),n&&c(n,"left",x(A,i,u))):T.call(p,N)>=0&&(c(a,"top",x(A,r,h)),n&&c(n,"top",x(A,i,l))),this.container.is(":visible")&&(a.display="block"),this.container.removeAttr("style").css(a),n?this.arrow.removeAttr("style").css(n):e},t.prototype.getPosition=function(){var t,n,e,i,o,r,s,a;if(n=this.options.position||(this.elem?this.options.elementPosition:this.options.globalPosition),t=w(n),0===t.length&&(t[0]="b"),e=t[0],0>T.call(f,e))throw"Must be one of ["+f+"]";return(1===t.length||(i=t[0],T.call(H,i)>=0&&(o=t[1],0>T.call(p,o)))||(r=t[0],T.call(p,r)>=0&&(s=t[1],0>T.call(H,s))))&&(t[1]=(a=t[0],T.call(p,a)>=0?"m":"l")),2===t.length&&(t[2]=t[1]),t},t.prototype.getStyle=function(t){var n;if(t||(t=this.options.style),t||(t="default"),n=C[t],!n)throw"Missing style: "+t;return n},t.prototype.updateClasses=function(){var t,n;return t=["base"],$.isArray(this.options.className)?t=t.concat(this.options.className):this.options.className&&t.push(this.options.className),n=this.getStyle(),t=$.map(t,function(t){return""+y+"-"+n.name+"-"+t}).join(" "),this.userContainer.attr("class",t)},t.prototype.run=function(t,n){var i=this;return $.isPlainObject(n)?$.extend(this.options,n):"string"===$.type(n)&&(this.options.color=n),this.container&&!t?(this.show(!1),e):this.container||t?(this.text[this.rawHTML?"html":"text"](t),this.updateClasses(),this.elem?this.setElementPosition():this.setGlobalPosition(),this.show(!0),this.options.autoHide?(clearTimeout(this.autohideTimer),this.autohideTimer=setTimeout(function(){return i.show(!1)},this.options.autoHideDelay)):e):e},t.prototype.destroy=function(){return this.wrapper.remove()},t}(),$[g]=function(t,n,e){return t&&t.nodeName||t.jquery?$(t)[g](n,e):(e=n,n=t,new i(null,n,e)),t},$.fn[g]=function(t,n){return $(this).each(function(){var e;return e=h($(this)).data(y),e?e.run(t,n):new i($(this),t,n)}),this},$.extend($[g],{defaults:a,addStyle:o,pluginOptions:v}),$(function(){return d(r.css).attr("data-notify-style","core"),$(n).on("click","."+y+"-wrapper",function(){var t;return(t=$(this).data(y))?t.elem?t.show(!1):t.destroy():e})})})(window,document); \ No newline at end of file diff --git a/dist/styles/notify-bootstrap.js b/dist/styles/notify-bootstrap.js index 9286202..32c12f5 100644 --- a/dist/styles/notify-bootstrap.js +++ b/dist/styles/notify-bootstrap.js @@ -1,6 +1,6 @@ $.notify.addStyle("bootstrap", { - html: "
\n\n\n
", + html: "
\n\n
", classes: { base: { "font-weight": "bold", diff --git a/src/notify.coffee b/src/notify.coffee index eac8256..e8bc546 100644 --- a/src/notify.coffee +++ b/src/notify.coffee @@ -68,6 +68,7 @@ coreStyle = display: block; height: inherit; width: inherit; + margin: 3px; } .#{pluginClassName}-wrapper { @@ -299,14 +300,15 @@ class Notification elems[fn].apply elems, args - setGlobalPosition: (position) -> + setGlobalPosition: () -> + position = @getPosition() [pMain, pAlign] = position main = positions[pMain] align = positions[pAlign] - key = position pMain+"|"+pAlign + key = pMain+"|"+pAlign anchor = globalAnchors[key] unless anchor anchor = globalAnchors[key] = createElem("div") @@ -323,7 +325,8 @@ class Notification anchor.prepend @wrapper - setElementPosition: (position) -> + setElementPosition: () -> + position = @getPosition() [pMain, pAlign, pArrow] = position @@ -465,11 +468,10 @@ class Notification @updateClasses() #positioning - position = @getPosition() if @elem - @setElementPosition position + @setElementPosition() else - @setGlobalPosition position + @setGlobalPosition() @show true @@ -509,7 +511,7 @@ $.fn[pluginName] = (data, options) -> @ #extra methods -$.extend $[pluginName], { defaults, addStyle } +$.extend $[pluginName], { defaults, addStyle, pluginOptions } #when ready $ -> diff --git a/src/styles/notify-bootstrap.coffee b/src/styles/notify-bootstrap.coffee index b047112..0e23622 100644 --- a/src/styles/notify-bootstrap.coffee +++ b/src/styles/notify-bootstrap.coffee @@ -3,7 +3,6 @@ $.notify.addStyle "bootstrap", html: """
-
""" classes: