obstacl
Version:
Simple multipurpose loader plugin for any frontend project
1 lines • 4.06 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Obstacl=t():e.Obstacl=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){n(1),e.exports=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2);Object.defineProperty(t,"Obstacl",{enumerable:!0,get:function(){return r.Obstacl}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Obstacl=void 0;var r=n(3),i=function(){function e(){this.stack=[]}return e.prototype.create=function(e,t){void 0===t&&(t={});var n="text"in t?t.text:"Wait...",i="icon"in t?t.icon:"",o="font"in t?t.font:16,a=this.verifyElement(e);if(a){if(!this.stack.includes(a))if(a.classList.add("isDisabled"),this.stack.push(a),t.onClick||a.addEventListener("click",r.breakClick,!1),t.action&&t.action(),t.onClick&&a.addEventListener("click",(function(e){e.preventDefault(),t.onClick()}),!1),t.timer){t.showCountdown?a.appendChild(r.overlayDelay({timer:t.timer,text:n,font:o})):a.appendChild(r.overlay({text:n,icon:i,font:o,animate:t.animate}));var s=this;setTimeout((function(){s.destroy(a)}),t.timer)}else if(t.injectHTML){if("string"!=typeof t.injectHTML)return void console.error('property "injectHTML" expects value of type string.');var c=!("useOverlay"in t)||t.useOverlay;a.appendChild(r.injectCustomHtml(t.injectHTML,c))}else a.appendChild(r.overlay({text:n,icon:i,font:o,animate:t.animate}))}else console.error("invalid target supplied to $Obstacl creator.")},e.prototype.destroy=function(e){var t=this.verifyElement(e);if(t){var n=t.getElementsByClassName("Overlay")[0];return this.stack.splice(this.stack.indexOf(t),1),t.classList.remove("isDisabled"),t.removeChild(n),void t.removeEventListener("click",r.breakClick,!1)}console.error("invalid target supplied to $Obstacl destroyer.")},e.prototype.verifyElement=function(e){return"string"==typeof e?document.querySelector(e):e},e}();t.Obstacl=new i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.breakClick=t.overlayDelay=t.injectCustomHtml=t.overlay=void 0,t.overlay=function(e){var t=document.createElement("span");return t.classList.add("Overlay"),t.innerHTML='\n <span class="'+e.icon+" "+(!1===e.animate?"":"animate-spin")+' mr-2" style="font-size: '+e.font+'px;">\n </span>\n <span style="font-size: '+e.font+'px;">\n '+e.text+"\n </span>\n ",t},t.injectCustomHtml=function(e,t){void 0===t&&(t=!0);var n=document.createElement("div");return n.classList.add(t?"Overlay":""),n.innerHTML=e,n},t.overlayDelay=function(e){var t=document.createElement("span");t.classList.add("Overlay"),t.innerHTML='\n <span class="DelayCount mr-2" style="font-size: '+e.font+'px;">\n </span>\n <span style="font-size: '+e.font+'px;">\n '+e.text+"\n </span>\n ";for(var n=function(n){setTimeout((function(){t.firstChild.textContent=String(n)}),e.timer-1e3*n)},r=Math.ceil(e.timer/1e3);r>=0;r--)n(r);return t},t.breakClick=function(e){e.preventDefault()}},function(e,t,n){}])}));