balsamine.2015-2016
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

popelt-v1.0.min.js
application/javascript

Download raw (4.8 KB)

/*=================================================================================================
 * @name: Popelt
 * @type: jQuery
 * @author: (c) Elton Jain - @eltonjain
 * @demo: http://welbour.com
 * @version: 1.0
 * @requires jQuery 1.9.1
 *=================================================================================================*/
(function(b){window.Popelt=function(u){function v(){var c="."+g+"."+f,h="."+m+"."+f;b(c).on("click","."+s,d.close);a.closeClass&&(a.closeClass=a.closeClass.replace(".",""),b(c).on("click","."+a.closeClass,d.close));if(!0===a.closeButton)b(c).on("click","."+w,d.close);!0!==a.modal&&(b("body").on("click",h+", "+c,d.close),b("body").on("click",c+" .pop-block",function(a){a.stopPropagation()}));!1!==a.escClose&&x();k.on("resize",q)}function y(c){var d="."+g+"."+c;b("."+m+"."+c+", "+d).off("click");b(d+
"."+s).off("click");a.closeClass&&b(d+"."+a.closeClass.replace(".","")).off("click");t.off("keydown."+c)}function x(){t.on("keydown."+f,function(a){if(27==a.which)return a.stopImmediatePropagation(),d.close(e.popup_current_id),!1})}function l(c){var e="."+g+"."+f+" ."+r;d.setContent(c);b(e).append(c);c="."+g+" ."+r;!0===a.focus&&b(c).find("input,textarea").first().focus();q()}function z(){if("ajax"==a.contentType&&a.loadUrl)b.get(a.loadUrl,function(a){a=b('<div class="pop-ajax-wrapper"></div>').append(a);
l(a);return!1});else if("iframe"==a.contentType&&a.loadUrl){var c=b('<iframe class="pop-iframe"></iframe>');c.attr("src",a.loadUrl);c.css({border:0,width:a.iframeWidth,height:a.iframeHeight});l(c)}else 0==a.contentType.indexOf("#")&&(c=b(a.contentType).html(),l(c))}function q(){if(""!==a.offsetTop&&0<=a.offsetTop||!1===a.valign)return!1;var c="."+g+"."+f+" .pop-block";b(c).outerWidth();c=b(c).outerHeight();_new_top=(A-c)/2-20;_new_top=0<_new_top?_new_top:0;b("."+g+"."+f+" .pop-container").css("margin-top",
_new_top)}var d=this,t=b(document),e=window,k=b(e),A=e.innerHeight||k.height();e.innerWidth||k.width();var w="pop-btn-close",s="pop-close",m="pop-screen",g="pop-wrap",r="pop-content",f,p=9E3;b.isArray(e._popups_open)||(e._popups_open=[]);e._popups_open_count||(e._popups_open_count=0);var a=b.extend({modal:!1,title:!1,content:"",offsetTop:-1,closeButton:!0,closeBtnTooltip:"Close",width:600,closeClass:"",escClose:!0,focus:null,contentType:!1,loadUrl:!1,buttons:[],fadeSpeed:200,iframeHeight:"300px",
iframeWidth:"100%",maxHeight:!1,valign:!0,responsive:!1,overlayColor:!1,overlayOpacity:!1},u);d.init=function(){e._popups=(e._popups||0)+1;f="__pop"+e._popups+"__";p+=e._popups};d.setContent=function(b){a.content=b;return d};d.showPopup=function(){if(0>=b("."+g+"."+f).length){var c,h,n,k;n=b("<div>").addClass(m).addClass(f).css("z-index",p);a.overlayColor&&n.css("background",a.overlayColor);a.overlayOpacity&&n.css("opacity",a.overlayOpacity).css("filter","alpha("+10*a.overlayOpacity+")");h=b("<div>").addClass(r);
a.title&&(c=b("<div>").addClass("pop-title").text(a.title));a.content&&h.append(a.content).appendTo(h);a.buttons.length&&(k=b("<div>").addClass("pop-action-block"),b.each(a.buttons,function(a,c){b.isFunction(c.classname);var d=b("<button>").addClass("pop-btn").addClass(c.classname).text(c.label);if(c.clickEvent)d.on("click",c.clickEvent);k.append(d)}));a.maxHeight&&h.css("max-height",a.maxHeight);popBlock=b("<div>").addClass("pop-block");if(!1!==a.closeButton){var l=b("<span>").addClass("pop-btn-close").html("&times;");
a.closeBtnTooltip&&l.attr("title",a.closeBtnTooltip);popBlock.append(l)}popBlock.append(c).append(h).append(k);popContainer=b("<div>").addClass("pop-container").width(a.width).append(popBlock);popContainer.css("margin","0 auto");0<=a.offsetTop&&popContainer.css("margin-top",a.offsetTop);!0===a.responsive&&popContainer.css("max-width","100%");c=b("<div>").addClass(g).addClass(f).css("z-index",p+1).append(popContainer);b("body").append(n);b("body").append(c)}(a.contentType||a.loadUrl)&&z();b("."+m+
"."+f).show();b("."+g+"."+f).show();v();q();e._popups_open_count++;e._popups_open.push(f);e.popup_current_id=f;b("body").not(".noscroll")&&b("body").addClass("noscroll");return d};d.addButton=function(c,e,f){c={label:c};b.isFunction(e)&&(f=e,e="");c.classname=e;b.isFunction(f)?c.clickEvent=f:c.clickEvent=d.close;a.buttons.push(c);return c};d.addOKButton=function(a){d.addButton("OK",a)};d.addCancelButton=function(){d.addButton("Cancel",d.close)};d.addCloseButton=function(){d.addButton("Close",d.close)};
d.closePopup=function(c){popupId=e.popup_current_id?e.popup_current_id:f;y(popupId);c=b("."+g+"."+popupId);var d=b("."+m+"."+popupId);c.fadeTo(a.fadeSpeed,0,function(){b(this).remove()});d.fadeTo(a.fadeSpeed,0,function(){b(this).remove()});e._popups_open_count--;e._popups_open.pop();e.popup_current_id=e._popups_open[e._popups_open.length-1];0==e._popups_open_count&&b("body").removeClass("noscroll");return!1};d.show=d.showPopup;d.close=d.closePopup;d.init();return this}})(jQuery);