mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-09 01:46:57 +01:00
16 lines
7.4 KiB
JavaScript
16 lines
7.4 KiB
JavaScript
(function(){function h(){var b={parent:document.body,version:"1.0.11",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5E3,defaultDelay:5E3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"<nav>{{buttons}}</nav>",ok:"<button class='ok' tabindex='1'>{{ok}}</button>",cancel:"<button class='cancel' tabindex='2'>{{cancel}}</button>"},
|
|
input:"<input type='text'>",message:"<p class='msg'>{{message}}</p>",log:"<div class='{{class}}'>{{message}}</div>"},defaultDialogs:{buttons:{holder:"<nav>{{buttons}}</nav>",ok:"<button class='ok' tabindex='1'>{{ok}}</button>",cancel:"<button class='cancel' tabindex='2'>{{cancel}}</button>"},input:"<input type='text'>",message:"<p class='msg'>{{message}}</p>",log:"<div class='{{class}}'>{{message}}</div>"},build:function(a){var c=this.dialogs.buttons.ok,b="<div class='dialog'><div>"+this.dialogs.message.replace("{{message}}",
|
|
a.message);if("confirm"===a.type||"prompt"===a.type)c=this.dialogs.buttons.cancel+this.dialogs.buttons.ok;"prompt"===a.type&&(b+=this.dialogs.input);return b=(b+this.dialogs.buttons.holder+"</div></div>").replace("{{buttons}}",c).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(a){this.closeLogOnClick=!!a},close:function(a,c){this.closeLogOnClick&&a.addEventListener("click",function(){l(a)});c=c&&!isNaN(+c)?+c:this.delay;0>c?l(a):0<c&&setTimeout(function(){l(a)},
|
|
c)},dialog:function(a,c,b,g){return this.setup({type:c,message:a,onOkay:b,onCancel:g})},log:function(a,c,b){var d=document.querySelectorAll(".alertify-logs > div");if(d){var f=d.length-this.maxLogItems;if(0<=f)for(var e=0,f=f+1;e<f;e++)this.close(d[e],-1)}this.notify(a,c,b)},setLogPosition:function(a){this.logContainerClass="alertify-logs "+a},setupLogContainer:function(){var a=document.querySelector(".alertify-logs"),b=this.logContainerClass;a||(a=document.createElement("div"),a.className=b,this.parent.appendChild(a));
|
|
a.className!==b&&(a.className=b);return a},notify:function(a,c,d){var g=this.setupLogContainer(),f=document.createElement("div");f.className=c||"default";f.innerHTML=b.logTemplateMethod?b.logTemplateMethod(a):a;"function"===typeof d&&f.addEventListener("click",d);g.appendChild(f);setTimeout(function(){f.className+=" show"},10);this.close(f,this.delay)},setup:function(a){function b(b){"function"!==typeof b&&(b=function(){});g&&g.addEventListener("click",function(c){if(a.onOkay&&"function"===typeof a.onOkay)if(e)a.onOkay(e.value,
|
|
c);else a.onOkay(c);e?b({buttonClicked:"ok",inputValue:e.value,event:c}):b({buttonClicked:"ok",event:c});l(d)});f&&f.addEventListener("click",function(c){if(a.onCancel&&"function"===typeof a.onCancel)a.onCancel(c);b({buttonClicked:"cancel",event:c});l(d)});e&&e.addEventListener("keyup",function(a){13===a.which&&g.click()})}var d=document.createElement("div");d.className="alertify hide";d.innerHTML=this.build(a);var g=d.querySelector(".ok"),f=d.querySelector(".cancel"),e=d.querySelector("input"),h=
|
|
d.querySelector("label");e&&("string"===typeof this.promptPlaceholder&&(h?h.textContent=this.promptPlaceholder:e.placeholder=this.promptPlaceholder),"string"===typeof this.promptValue&&(e.value=this.promptValue));var k;"function"===typeof Promise?k=new Promise(b):b();this.parent.appendChild(d);setTimeout(function(){d.classList.remove("hide");e&&a.type&&"prompt"===a.type?(e.select(),e.focus()):g&&g.focus()},100);return k},okBtn:function(a){this.okLabel=a;return this},setDelay:function(a){a=a||0;this.delay=
|
|
isNaN(a)?this.defaultDelay:parseInt(a,10);return this},cancelBtn:function(a){this.cancelLabel=a;return this},setMaxLogItems:function(a){this.maxLogItems=parseInt(a||this.defaultMaxLogItems)},theme:function(a){switch(a.toLowerCase()){case "bootstrap":this.dialogs.buttons.ok="<button class='ok btn btn-primary' tabindex='1'>{{ok}}</button>";this.dialogs.buttons.cancel="<button class='cancel btn btn-default' tabindex='2'>{{cancel}}</button>";this.dialogs.input="<input type='text' class='form-control'>";
|
|
break;case "purecss":this.dialogs.buttons.ok="<button class='ok pure-button' tabindex='1'>{{ok}}</button>";this.dialogs.buttons.cancel="<button class='cancel pure-button' tabindex='2'>{{cancel}}</button>";break;case "mdl":case "material-design-light":this.dialogs.buttons.ok="<button class='ok mdl-button mdl-js-button mdl-js-ripple-effect' tabindex='1'>{{ok}}</button>";this.dialogs.buttons.cancel="<button class='cancel mdl-button mdl-js-button mdl-js-ripple-effect' tabindex='2'>{{cancel}}</button>";
|
|
this.dialogs.input="<div class='mdl-textfield mdl-js-textfield'><input class='mdl-textfield__input'><label class='md-textfield__label'></label></div>";break;case "angular-material":this.dialogs.buttons.ok="<button class='ok md-primary md-button' tabindex='1'>{{ok}}</button>";this.dialogs.buttons.cancel="<button class='cancel md-button' tabindex='2'>{{cancel}}</button>";this.dialogs.input="<div layout='column'><md-input-container md-no-float><input type='text'></md-input-container></div>";break;default:this.dialogs.buttons.ok=
|
|
this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body;this.theme("default");this.okBtn(this.defaultOkLabel);this.cancelBtn(this.defaultCancelLabel);this.setMaxLogItems();this.promptPlaceholder=this.promptValue="";this.delay=this.defaultDelay;this.setCloseLogOnClick(this.closeLogOnClickDefault);this.setLogPosition("bottom left");this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var a=
|
|
document.getElementsByTagName("head")[0],b=document.createElement("style");b.type="text/css";b.id="alertifyCSS";b.innerHTML="/* style.css */";a.insertBefore(b,a.firstChild)}},removeCSS:function(){var a=document.querySelector("#alertifyCSS");a&&a.parentNode&&a.parentNode.removeChild(a)}};b.injectCSS();return{_$$alertify:b,parent:function(a){b.parent=a},reset:function(){b.reset();return this},alert:function(a,c,d){return b.dialog(a,"alert",c,d)||this},confirm:function(a,c,d){return b.dialog(a,"confirm",
|
|
c,d)||this},prompt:function(a,c,d){return b.dialog(a,"prompt",c,d)||this},log:function(a,c){b.log(a,"default",c);return this},theme:function(a){b.theme(a);return this},success:function(a,c){b.log(a,"success",c);return this},error:function(a,c){b.log(a,"error",c);return this},cancelBtn:function(a){b.cancelBtn(a);return this},okBtn:function(a){b.okBtn(a);return this},delay:function(a){b.setDelay(a);return this},placeholder:function(a){b.promptPlaceholder=a;return this},defaultValue:function(a){b.promptValue=
|
|
a;return this},maxLogItems:function(a){b.setMaxLogItems(a);return this},closeLogOnClick:function(a){b.setCloseLogOnClick(!!a);return this},logPosition:function(a){b.setLogPosition(a||"");return this},setLogTemplate:function(a){b.logTemplateMethod=a;return this},clearLogs:function(){b.setupLogContainer().innerHTML="";return this},version:b.version}}var l=function(b){if(b){var a=function(){b&&b.parentNode&&b.parentNode.removeChild(b)};b.classList.remove("show");b.classList.add("hide");b.addEventListener("transitionend",
|
|
a);setTimeout(a,500)}};if("undefined"!==typeof module&&module&&module.exports){module.exports=function(){return new h};var m=new h,k;for(k in m)module.exports[k]=m[k]}else"function"===typeof define&&define.amd?define(function(){return new h}):window.alertify=new h})();
|