helpcenter/Web/js/jquery/jquery.blockUI.min.js
alexandervnuchkov 71f171fb08 First commit
2016-08-29 16:51:20 +03:00

1 line
10 KiB
JavaScript

!function(){"use strict";function setup($){function install(el,opts){var css,themedCSS,full=el==window,msg=opts&&void 0!==opts.message?opts.message:void 0;if(opts=$.extend({},$.blockUI.defaults,opts||{}),!opts.ignoreIfBlocked||!$(el).data("blockUI.isBlocked")){if(opts.overlayCSS=$.extend({},$.blockUI.defaults.overlayCSS,opts.overlayCSS||{}),css=$.extend({},$.blockUI.defaults.css,opts.css||{}),opts.onOverlayClick&&(opts.overlayCSS.cursor="pointer"),themedCSS=$.extend({},$.blockUI.defaults.themedCSS,opts.themedCSS||{}),msg=void 0===msg?opts.message:msg,full&&pageBlock&&remove(window,{fadeOut:0}),msg&&"string"!=typeof msg&&(msg.parentNode||msg.jquery)){var node=msg.jquery?msg[0]:msg,data={};$(el).data("blockUI.history",data),data.el=node,data.parent=node.parentNode,data.display=node.style.display,data.position=node.style.position,data.parent&&data.parent.removeChild(node)}$(el).data("blockUI.onUnblock",opts.onUnblock);var lyr1,lyr2,lyr3,s,z=opts.baseZ;lyr1=$(msie||opts.forceIframe?'<iframe class="blockUI" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>':'<div class="blockUI" style="display:none"></div>'),lyr2=$(opts.theme?'<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+z++ +';display:none"></div>':'<div class="blockUI blockOverlay" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),opts.theme&&full?(s='<div class="blockUI '+opts.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">',opts.title&&(s+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title||"&nbsp;")+"</div>"),s+='<div class="ui-widget-content ui-dialog-content"></div>',s+="</div>"):opts.theme?(s='<div class="blockUI '+opts.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">',opts.title&&(s+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title||"&nbsp;")+"</div>"),s+='<div class="ui-widget-content ui-dialog-content"></div>',s+="</div>"):s=full?'<div class="blockUI '+opts.blockMsgClass+' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+opts.blockMsgClass+' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>',lyr3=$(s),msg&&(opts.theme?(lyr3.css(themedCSS),lyr3.addClass("ui-widget-content")):lyr3.css(css)),opts.theme||lyr2.css(opts.overlayCSS),lyr2.css("position",full?"fixed":"absolute"),(msie||opts.forceIframe)&&lyr1.css("opacity",0);var layers=[lyr1,lyr2,lyr3],$par=$(full?"body":el);$.each(layers,function(){this.appendTo($par)}),opts.theme&&opts.draggable&&$.fn.draggable&&lyr3.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var expr=setExpr&&(!$.support.boxModel||$("object,embed",full?null:el).length>0);if(ie6||expr){if(full&&opts.allowBodyStretch&&$.support.boxModel&&$("html,body").css("height","100%"),(ie6||!$.support.boxModel)&&!full)var t=sz(el,"borderTopWidth"),l=sz(el,"borderLeftWidth"),fixT=t?"(0 - "+t+")":0,fixL=l?"(0 - "+l+")":0;$.each(layers,function(i,o){var s=o[0].style;if(s.position="absolute",2>i)full?s.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+opts.quirksmodeOffsetHack+') + "px"'):s.setExpression("height",'this.parentNode.offsetHeight + "px"'),full?s.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):s.setExpression("width",'this.parentNode.offsetWidth + "px"'),fixL&&s.setExpression("left",fixL),fixT&&s.setExpression("top",fixT);else if(opts.centerY)full&&s.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),s.marginTop=0;else if(!opts.centerY&&full){var top=opts.css&&opts.css.top?parseInt(opts.css.top,10):0,expression="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+top+') + "px"';s.setExpression("top",expression)}})}if(msg&&(opts.theme?lyr3.find(".ui-widget-content").append(msg):lyr3.append(msg),(msg.jquery||msg.nodeType)&&$(msg).show()),(msie||opts.forceIframe)&&opts.showOverlay&&lyr1.show(),opts.fadeIn){var cb=opts.onBlock?opts.onBlock:noOp,cb1=opts.showOverlay&&!msg?cb:noOp,cb2=msg?cb:noOp;opts.showOverlay&&lyr2._fadeIn(opts.fadeIn,cb1),msg&&lyr3._fadeIn(opts.fadeIn,cb2)}else opts.showOverlay&&lyr2.show(),msg&&lyr3.show(),opts.onBlock&&opts.onBlock.bind(lyr3)();if(bind(1,el,opts),full?(pageBlock=lyr3[0],pageBlockEls=$(opts.focusableElements,pageBlock),opts.focusInput&&setTimeout(focus,20)):center(lyr3[0],opts.centerX,opts.centerY),opts.timeout){var to=setTimeout(function(){full?$.unblockUI(opts):$(el).unblock(opts)},opts.timeout);$(el).data("blockUI.timeout",to)}}}function remove(el,opts){var count,full=el==window,$el=$(el),data=$el.data("blockUI.history"),to=$el.data("blockUI.timeout");to&&(clearTimeout(to),$el.removeData("blockUI.timeout")),opts=$.extend({},$.blockUI.defaults,opts||{}),bind(0,el,opts),null===opts.onUnblock&&(opts.onUnblock=$el.data("blockUI.onUnblock"),$el.removeData("blockUI.onUnblock"));var els;els=full?$("body").children().filter(".blockUI").add("body > .blockUI"):$el.find(">.blockUI"),opts.cursorReset&&(els.length>1&&(els[1].style.cursor=opts.cursorReset),els.length>2&&(els[2].style.cursor=opts.cursorReset)),full&&(pageBlock=pageBlockEls=null),opts.fadeOut?(count=els.length,els.stop().fadeOut(opts.fadeOut,function(){0===--count&&reset(els,data,opts,el)})):reset(els,data,opts,el)}function reset(els,data,opts,el){var $el=$(el);if(!$el.data("blockUI.isBlocked")){els.each(function(i,o){this.parentNode&&this.parentNode.removeChild(this)}),data&&data.el&&(data.el.style.display=data.display,data.el.style.position=data.position,data.el.style.cursor="default",data.parent&&data.parent.appendChild(data.el),$el.removeData("blockUI.history")),$el.data("blockUI.static")&&$el.css("position","static"),"function"==typeof opts.onUnblock&&opts.onUnblock(el,opts);var body=$(document.body),w=body.width(),cssW=body[0].style.width;body.width(w-1).width(w),body[0].style.width=cssW}}function bind(b,el,opts){var full=el==window,$el=$(el);if((b||(!full||pageBlock)&&(full||$el.data("blockUI.isBlocked")))&&($el.data("blockUI.isBlocked",b),full&&opts.bindEvents&&(!b||opts.showOverlay))){var events="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";b?$(document).bind(events,opts,handler):$(document).unbind(events,handler)}}function handler(e){if("keydown"===e.type&&e.keyCode&&9==e.keyCode&&pageBlock&&e.data.constrainTabKey){var els=pageBlockEls,fwd=!e.shiftKey&&e.target===els[els.length-1],back=e.shiftKey&&e.target===els[0];if(fwd||back)return setTimeout(function(){focus(back)},10),!1}var opts=e.data,target=$(e.target);return target.hasClass("blockOverlay")&&opts.onOverlayClick&&opts.onOverlayClick(e),target.parents("div."+opts.blockMsgClass).length>0?!0:0===target.parents().children().filter("div.blockUI").length}function focus(back){if(pageBlockEls){var e=pageBlockEls[back===!0?pageBlockEls.length-1:0];e&&e.focus()}}function center(el,x,y){var p=el.parentNode,s=el.style,l=(p.offsetWidth-el.offsetWidth)/2-sz(p,"borderLeftWidth"),t=(p.offsetHeight-el.offsetHeight)/2-sz(p,"borderTopWidth");x&&(s.left=l>0?l+"px":"0"),y&&(s.top=t>0?t+"px":"0")}function sz(el,p){return parseInt($.css(el,p),10)||0}$.fn._fadeIn=$.fn.fadeIn;var noOp=$.noop||function(){},msie=/MSIE/.test(navigator.userAgent),ie6=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),setExpr=(document.documentMode||0,$.isFunction(document.createElement("div").style.setExpression));$.blockUI=function(opts){install(window,opts)},$.unblockUI=function(opts){remove(window,opts)},$.growlUI=function(title,message,timeout,onClose){var $m=$('<div class="growlUI"></div>');title&&$m.append("<h1>"+title+"</h1>"),message&&$m.append("<h2>"+message+"</h2>"),void 0===timeout&&(timeout=3e3);var callBlock=function(opts){opts=opts||{},$.blockUI({message:$m,fadeIn:"undefined"!=typeof opts.fadeIn?opts.fadeIn:700,fadeOut:"undefined"!=typeof opts.fadeOut?opts.fadeOut:1e3,timeout:"undefined"!=typeof opts.timeout?opts.timeout:timeout,centerY:!1,showOverlay:!1,onUnblock:onClose,css:$.blockUI.defaults.growlCSS})};callBlock();$m.css("opacity");$m.mouseover(function(){callBlock({fadeIn:0,timeout:3e4});var displayBlock=$(".blockMsg");displayBlock.stop(),displayBlock.fadeTo(300,1)}).mouseout(function(){$(".blockMsg").fadeOut(1e3)})},$.fn.block=function(opts){if(this[0]===window)return $.blockUI(opts),this;var fullOpts=$.extend({},$.blockUI.defaults,opts||{});return this.each(function(){var $el=$(this);fullOpts.ignoreIfBlocked&&$el.data("blockUI.isBlocked")||$el.unblock({fadeOut:0})}),this.each(function(){"static"==$.css(this,"position")&&(this.style.position="relative",$(this).data("blockUI.static",!0)),this.style.zoom=1,install(this,opts)})},$.fn.unblock=function(opts){return this[0]===window?($.unblockUI(opts),this):this.each(function(){remove(this,opts)})},$.blockUI.version=2.7,$.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var pageBlock=null,pageBlockEls=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],setup):setup(jQuery)}();