From 0dfd7a92da063dbc831bbdce5e83ef42ca2147b9 Mon Sep 17 00:00:00 2001 From: nobody42 <5514211-nobody42@users.noreply.gitlab.com> Date: Thu, 26 Mar 2020 10:57:32 +0100 Subject: [PATCH] Added jQuery BlockUI v2.70 --- core/files.js | 3 +++ core/mappings.js | 1 + core/resources.js | 5 +++++ modules/internal/helpers.js | 4 ++++ pages/updates/updates.html | 1 + resources/jquery.blockUI/2.70/jquery.blockUI.min.jsm | 1 + 6 files changed, 15 insertions(+) create mode 100644 resources/jquery.blockUI/2.70/jquery.blockUI.min.jsm diff --git a/core/files.js b/core/files.js index 4db5ad9d..3a3dca33 100644 --- a/core/files.js +++ b/core/files.js @@ -89,6 +89,9 @@ var files = { 'resources/jquery/2.2.4/jquery.min.jsm': true, 'resources/jquery/3.4.1/jquery.min.jsm': true, + // jQuery BlockUI + 'resources/jquery.blockUI/2.70/jquery.blockUI.min.jsm': true, + // jQuery UI 'resources/jqueryui/1.11.4/jquery-ui.min.jsm': true, diff --git a/core/mappings.js b/core/mappings.js index 964fb219..0fcace8b 100644 --- a/core/mappings.js +++ b/core/mappings.js @@ -82,6 +82,7 @@ var mappings = { 'jeditable.js/{version}/jeditable.min.js': resources.jeditableJS, 'jquery/{version}/jquery.': resources.jQuery, 'jquery/{version}/jquery.min.': resources.jQuery, + 'jquery.blockUI/{version}/jquery.blockUI.min.js': resources.jQueryBlockUI, 'jqueryui/{version}/jquery-ui.js': resources.jQueryUI, 'jqueryui/{version}/jquery-ui.min.js': resources.jQueryUI, 'jquery-validate/{version}/jquery.validate.min.js': resources.jqueryValidationPlugin, diff --git a/core/resources.js b/core/resources.js index c8ee0e27..5c1c6463 100644 --- a/core/resources.js +++ b/core/resources.js @@ -119,6 +119,11 @@ var resources = { 'path': 'resources/jquery/{version}/jquery.min.jsm', 'type': 'application/javascript' }, + // jQuery BlockUI + 'jQueryBlockUI': { + 'path': 'resources/jquery.blockUI/{version}/jquery.blockUI.min.jsm', + 'type': 'application/javascript' + }, // jQuery UI 'jQueryUI': { 'path': 'resources/jqueryui/{version}/jquery-ui.min.jsm', diff --git a/modules/internal/helpers.js b/modules/internal/helpers.js index f00f6964..30b057ba 100644 --- a/modules/internal/helpers.js +++ b/modules/internal/helpers.js @@ -234,6 +234,8 @@ helpers.determineResourceName = function (filename) { return 'jQuery'; case 'jquery-ui.min.jsm': return 'jQuery UI'; + case 'jquery.blockUI.min.jsm': + return 'jQuery Block UI'; case 'jquery.validate.min.jsm': return 'jQuery jeditable'; case 'jquery.jeditable.min.jsm': @@ -380,6 +382,8 @@ helpers.setLastVersion = function (type, version) { version = '3.4.1'; } else if (type.includes('/jqueryui/1.')) { version = '1.11.4'; + } else if (type.includes('/jquery.blockUI/2.')) { + version = '2.70'; } else if (type.includes('/jquery-validate/1.')) { version = '1.19.1'; } else if (type.includes('/jquery-jeditable/1.')) { diff --git a/pages/updates/updates.html b/pages/updates/updates.html index 6346434c..9f84be4d 100644 --- a/pages/updates/updates.html +++ b/pages/updates/updates.html @@ -38,6 +38,7 @@
  • Added clipboard.js v2.0.6
  • Added WebRTC adapter v6.4.8
  • Added spin.js v2.3.2
  • +
  • Added jQuery BlockUI v2.70
  • Please update your uBlock/uMatrix rules diff --git a/resources/jquery.blockUI/2.70/jquery.blockUI.min.jsm b/resources/jquery.blockUI/2.70/jquery.blockUI.min.jsm new file mode 100644 index 00000000..2a485c28 --- /dev/null +++ b/resources/jquery.blockUI/2.70/jquery.blockUI.min.jsm @@ -0,0 +1 @@ +(function(){"use strict";function setup($){$.fn._fadeIn=$.fn.fadeIn;var noOp=$.noop||function(){};var msie=/MSIE/.test(navigator.userAgent);var ie6=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent);var mode=document.documentMode||0;var setExpr=$.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=$('
    ');if(title)$m.append("

    "+title+"

    ");if(message)$m.append("

    "+message+"

    ");if(timeout===undefined)timeout=3e3;var callBlock=function(opts){opts=opts||{};$.blockUI({message:$m,fadeIn:typeof opts.fadeIn!=="undefined"?opts.fadeIn:700,fadeOut:typeof opts.fadeOut!=="undefined"?opts.fadeOut:1e3,timeout:typeof opts.timeout!=="undefined"?opts.timeout:timeout,centerY:false,showOverlay:false,onUnblock:onClose,css:$.blockUI.defaults.growlCSS})};callBlock();var nonmousedOpacity=$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){$.blockUI(opts);return this}var fullOpts=$.extend({},$.blockUI.defaults,opts||{});this.each(function(){var $el=$(this);if(fullOpts.ignoreIfBlocked&&$el.data("blockUI.isBlocked"))return;$el.unblock({fadeOut:0})});return this.each(function(){if($.css(this,"position")=="static"){this.style.position="relative";$(this).data("blockUI.static",true)}this.style.zoom=1;install(this,opts)})};$.fn.unblock=function(opts){if(this[0]===window){$.unblockUI(opts);return this}return this.each(function(){remove(this,opts)})};$.blockUI.version=2.7;$.blockUI.defaults={message:"

    Please wait...

    ",title:null,draggable:true,theme:false,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:false,baseZ:1e3,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:400,timeout:0,showOverlay:true,focusInput:true,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:false};var pageBlock=null;var pageBlockEls=[];function install(el,opts){var css,themedCSS;var full=el==window;var msg=opts&&opts.message!==undefined?opts.message:undefined;opts=$.extend({},$.blockUI.defaults,opts||{});if(opts.ignoreIfBlocked&&$(el).data("blockUI.isBlocked"))return;opts.overlayCSS=$.extend({},$.blockUI.defaults.overlayCSS,opts.overlayCSS||{});css=$.extend({},$.blockUI.defaults.css,opts.css||{});if(opts.onOverlayClick)opts.overlayCSS.cursor="pointer";themedCSS=$.extend({},$.blockUI.defaults.themedCSS,opts.themedCSS||{});msg=msg===undefined?opts.message:msg;if(full&&pageBlock)remove(window,{fadeOut:0});if(msg&&typeof msg!="string"&&(msg.parentNode||msg.jquery)){var node=msg.jquery?msg[0]:msg;var data={};$(el).data("blockUI.history",data);data.el=node;data.parent=node.parentNode;data.display=node.style.display;data.position=node.style.position;if(data.parent)data.parent.removeChild(node)}$(el).data("blockUI.onUnblock",opts.onUnblock);var z=opts.baseZ;var lyr1,lyr2,lyr3,s;if(msie||opts.forceIframe)lyr1=$('');else lyr1=$('');if(opts.theme)lyr2=$('');else lyr2=$('');if(opts.theme&&full){s='"}else if(opts.theme){s='"}else if(full){s=''}else{s=''}lyr3=$(s);if(msg){if(opts.theme){lyr3.css(themedCSS);lyr3.addClass("ui-widget-content")}else lyr3.css(css)}if(!opts.theme)lyr2.css(opts.overlayCSS);lyr2.css("position",full?"fixed":"absolute");if(msie||opts.forceIframe)lyr1.css("opacity",0);var layers=[lyr1,lyr2,lyr3],$par=full?$("body"):$(el);$.each(layers,function(){this.appendTo($par)});if(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%");if((ie6||!$.support.boxModel)&&!full){var t=sz(el,"borderTopWidth"),l=sz(el,"borderLeftWidth");var fixT=t?"(0 - "+t+")":0;var fixL=l?"(0 - "+l+")":0}$.each(layers,function(i,o){var s=o[0].style;s.position="absolute";if(i<2){if(full)s.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+opts.quirksmodeOffsetHack+') + "px"');else s.setExpression("height",'this.parentNode.offsetHeight + "px"');if(full)s.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');else s.setExpression("width",'this.parentNode.offsetWidth + "px"');if(fixL)s.setExpression("left",fixL);if(fixT)s.setExpression("top",fixT)}else if(opts.centerY){if(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;var expression="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+top+') + "px"';s.setExpression("top",expression)}})}if(msg){if(opts.theme)lyr3.find(".ui-widget-content").append(msg);else lyr3.append(msg);if(msg.jquery||msg.nodeType)$(msg).show()}if((msie||opts.forceIframe)&&opts.showOverlay)lyr1.show();if(opts.fadeIn){var cb=opts.onBlock?opts.onBlock:noOp;var cb1=opts.showOverlay&&!msg?cb:noOp;var cb2=msg?cb:noOp;if(opts.showOverlay)lyr2._fadeIn(opts.fadeIn,cb1);if(msg)lyr3._fadeIn(opts.fadeIn,cb2)}else{if(opts.showOverlay)lyr2.show();if(msg)lyr3.show();if(opts.onBlock)opts.onBlock.bind(lyr3)()}bind(1,el,opts);if(full){pageBlock=lyr3[0];pageBlockEls=$(opts.focusableElements,pageBlock);if(opts.focusInput)setTimeout(focus,20)}else center(lyr3[0],opts.centerX,opts.centerY);if(opts.timeout){var to=setTimeout(function(){if(full)$.unblockUI(opts);else $(el).unblock(opts)},opts.timeout);$(el).data("blockUI.timeout",to)}}function remove(el,opts){var count;var full=el==window;var $el=$(el);var data=$el.data("blockUI.history");var to=$el.data("blockUI.timeout");if(to){clearTimeout(to);$el.removeData("blockUI.timeout")}opts=$.extend({},$.blockUI.defaults,opts||{});bind(0,el,opts);if(opts.onUnblock===null){opts.onUnblock=$el.data("blockUI.onUnblock");$el.removeData("blockUI.onUnblock")}var els;if(full)els=$("body").children().filter(".blockUI").add("body > .blockUI");else els=$el.find(">.blockUI");if(opts.cursorReset){if(els.length>1)els[1].style.cursor=opts.cursorReset;if(els.length>2)els[2].style.cursor=opts.cursorReset}if(full)pageBlock=pageBlockEls=null;if(opts.fadeOut){count=els.length;els.stop().fadeOut(opts.fadeOut,function(){if(--count===0)reset(els,data,opts,el)})}else reset(els,data,opts,el)}function reset(els,data,opts,el){var $el=$(el);if($el.data("blockUI.isBlocked"))return;els.each(function(i,o){if(this.parentNode)this.parentNode.removeChild(this)});if(data&&data.el){data.el.style.display=data.display;data.el.style.position=data.position;data.el.style.cursor="default";if(data.parent)data.parent.appendChild(data.el);$el.removeData("blockUI.history")}if($el.data("blockUI.static")){$el.css("position","static")}if(typeof opts.onUnblock=="function")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")))return;$el.data("blockUI.isBlocked",b);if(!full||!opts.bindEvents||b&&!opts.showOverlay)return;var events="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";if(b)$(document).bind(events,opts,handler);else $(document).unbind(events,handler)}function handler(e){if(e.type==="keydown"&&e.keyCode&&e.keyCode==9){if(pageBlock&&e.data.constrainTabKey){var els=pageBlockEls;var fwd=!e.shiftKey&&e.target===els[els.length-1];var back=e.shiftKey&&e.target===els[0];if(fwd||back){setTimeout(function(){focus(back)},10);return false}}}var opts=e.data;var target=$(e.target);if(target.hasClass("blockOverlay")&&opts.onOverlayClick)opts.onOverlayClick(e);if(target.parents("div."+opts.blockMsgClass).length>0)return true;return target.parents().children().filter("div.blockUI").length===0}function focus(back){if(!pageBlockEls)return;var e=pageBlockEls[back===true?pageBlockEls.length-1:0];if(e)e.focus()}function center(el,x,y){var p=el.parentNode,s=el.style;var l=(p.offsetWidth-el.offsetWidth)/2-sz(p,"borderLeftWidth");var t=(p.offsetHeight-el.offsetHeight)/2-sz(p,"borderTopWidth");if(x)s.left=l>0?l+"px":"0";if(y)s.top=t>0?t+"px":"0"}function sz(el,p){return parseInt($.css(el,p),10)||0}}if(typeof define==="function"&&define.amd&&define.amd.jQuery){define(["jquery"],setup)}else{setup(jQuery)}})();