1 line
7.4 KiB
JavaScript
1 line
7.4 KiB
JavaScript
(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach(function(t){o(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}function o(e,t,n){return(t=a(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o)}}function a(t){var n=function(t){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,"string");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(n)?n:n+""}var c=new(function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.activeBlocks=new Map,this.defaultOptions={timeout:2e3,fadeIn:200,fadeOut:400,message:null,css:{border:"none",padding:"15px",backgroundColor:"#000",opacity:.5,color:"#fff",borderRadius:"10px"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"}}},t=[{key:"blockPage",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n(n({},this.defaultOptions),t),i=document.createElement("div");if(i.className="blockui-overlay",i.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n background-color: ".concat(o.overlayCSS.backgroundColor,";\n opacity: 0;\n transition: opacity ").concat(o.fadeIn,"ms ease-in-out;\n cursor: ").concat(o.overlayCSS.cursor,";\n "),o.message){var a=this.createMessageElement(o.message,o.css);a.style.cssText+="\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 10000;\n ",document.body.appendChild(a),this.activeBlocks.set("page-message",a)}document.body.appendChild(i),this.activeBlocks.set("page-overlay",i),requestAnimationFrame(function(){i.style.opacity=o.overlayCSS.opacity}),o.timeout&&setTimeout(function(){return e.unblockPage()},o.timeout)}},{key:"unblockPage",value:function(){var e=this,t=this.activeBlocks.get("page-overlay"),n=this.activeBlocks.get("page-message");t&&(t.style.opacity="0",setTimeout(function(){t.remove(),e.activeBlocks.delete("page-overlay")},this.defaultOptions.fadeOut)),n&&(n.style.opacity="0",setTimeout(function(){n.remove(),e.activeBlocks.delete("page-message")},this.defaultOptions.fadeOut))}},{key:"blockElement",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){var i=n(n({},this.defaultOptions),o),a=this.generateId();"static"===window.getComputedStyle(e).position&&(e.style.position="relative",e.dataset.blockuiOriginalPosition="static");var c=document.createElement("div");if(c.className="blockui-element-overlay",c.dataset.blockuiId=a,c.style.cssText="\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1000;\n background-color: ".concat(i.overlayCSS.backgroundColor,";\n opacity: 0;\n transition: opacity ").concat(i.fadeIn,"ms ease-in-out;\n cursor: ").concat(i.overlayCSS.cursor,";\n "),i.message){var s=this.createMessageElement(i.message,i.css);s.style.cssText+="\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1001;\n ",c.appendChild(s)}return e.appendChild(c),this.activeBlocks.set(a,{element:e,overlay:c}),requestAnimationFrame(function(){c.style.opacity=i.overlayCSS.opacity}),i.timeout&&setTimeout(function(){return t.unblockElement(e)},i.timeout),a}}},{key:"unblockElement",value:function(e){var t=this;e&&e.querySelectorAll(".blockui-element-overlay").forEach(function(n){var o=n.dataset.blockuiId;n.style.opacity="0",setTimeout(function(){n.remove(),t.activeBlocks.delete(o),e.dataset.blockuiOriginalPosition&&(e.style.position=e.dataset.blockuiOriginalPosition,delete e.dataset.blockuiOriginalPosition)},t.defaultOptions.fadeOut)})}},{key:"createMessageElement",value:function(e,t){var n;return"string"==typeof e?(n=document.createElement("div")).innerHTML=e:e instanceof Element?(n=e.cloneNode(!0)).classList.remove("d-none"):e&&e.jquery&&(n=e[0].cloneNode(!0)).classList.remove("d-none"),n&&t&&"string"==typeof e&&Object.assign(n.style,t),n}},{key:"generateId",value:function(){return"blockui-".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9))}}],t&&i(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}());const s=c;window.blockUI=c,document.addEventListener("DOMContentLoaded",function(){var e=document.querySelector(".block-page-btn-example-1"),t=document.querySelector(".block-page-btn-example-2"),n=document.querySelector(".block-page-btn-example-3");e&&e.addEventListener("click",function(){var e=document.querySelector(".body-block-example-1");s.blockPage({message:e,timeout:2e3})}),t&&t.addEventListener("click",function(){var e=document.querySelector(".body-block-example-2");s.blockPage({message:e,timeout:2e3})}),n&&n.addEventListener("click",function(){var e=document.querySelector(".body-block-example-3");s.blockPage({message:e,timeout:2e3})});var o=document.querySelector(".block-element-btn-example-1"),i=document.querySelector(".block-element-btn-example-2"),a=document.querySelector(".block-element-btn-example-3"),c=document.querySelector(".element-block-example");o&&c&&o.addEventListener("click",function(){s.blockElement(c,{message:'\n <div class="loader mx-auto">\n <div class="ball-grid-pulse">\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n <div class="bg-white"></div>\n </div>\n </div>\n ',timeout:2e3})}),i&&c&&i.addEventListener("click",function(){s.blockElement(c,{message:'\n <div class="loader mx-auto">\n <div class="line-scale-pulse-out">\n <div class="bg-success"></div>\n <div class="bg-success"></div>\n <div class="bg-success"></div>\n <div class="bg-success"></div>\n <div class="bg-success"></div>\n </div>\n </div>\n ',timeout:2e3})}),a&&c&&a.addEventListener("click",function(){s.blockElement(c,{message:'\n <div class="loader mx-auto">\n <div class="ball-pulse-sync">\n <div class="bg-warning"></div>\n <div class="bg-warning"></div>\n <div class="bg-warning"></div>\n </div>\n </div>\n ',timeout:2e3})})})})(); |