Files
sysPass/app/modules/web/themes/material-blue/js/app-theme.min.js

22 lines
10 KiB
JavaScript

var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,e,b){a instanceof String&&(a=String(a));for(var f=a.length,g=0;g<f;g++){var k=a[g];if(e.call(b,k,g,a))return{i:g,v:k}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,e,b){a!=Array.prototype&&a!=Object.prototype&&(a[e]=b.value)};
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,e,b,f){if(e){b=$jscomp.global;a=a.split(".");for(f=0;f<a.length-1;f++){var g=a[f];g in b||(b[g]={});b=b[g]}a=a[a.length-1];f=b[a];e=e(f);e!=f&&null!=e&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:e})}};
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
sysPass.Theme=function(a){var e=$.Event("theme:update"),b={elems:{$wrap:$("#wrap-loading"),$loading:$("#loading")},show:function(d){void 0!==d&&!0===d&&b.elems.$wrap.addClass("overlay-full");b.elems.$wrap.show();b.elems.$loading.addClass("is-active")},hide:function(){b.elems.$wrap.removeClass("overlay-full").hide();b.elems.$loading.removeClass("is-active")},upgradeFull:function(){b.elems.$wrap.addClass("overlay-full")}},f=function(d){sysPassApp.util.password.random(function(c,h){d.attr("data-pass",
c);var a=d.parent(),b=$("#"+d.attr("id")+"_repeat");sysPassApp.util.password.output(h,d);h=new MaterialTextfield;a.find("input:password").val(c);a.addClass(h.CssClasses_.IS_DIRTY).removeClass(h.CssClasses_.IS_INVALID);0<b.length&&(b.val(c).parent().addClass(h.CssClasses_.IS_DIRTY).removeClass(h.CssClasses_.IS_INVALID),sysPassApp.encryptFormValue(b))})},g=function(){var a='<div id="box-complexity">\n <div>\n <label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="checkbox-chars">\n <input type="checkbox" id="checkbox-chars" class="mdl-checkbox__input" name="checkbox-chars" checked/>\n <span class="mdl-checkbox__label">'+
sysPassApp.config.LANG[63]+'</span>\n </label>\n <label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="checkbox-numbers">\n <input type="checkbox" id="checkbox-numbers" class="mdl-checkbox__input" name="checkbox-numbers" checked/>\n <span class="mdl-checkbox__label">'+sysPassApp.config.LANG[35]+'</span>\n </label>\n <label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="checkbox-uppercase">\n <input type="checkbox" id="checkbox-uppercase" class="mdl-checkbox__input" name="checkbox-uppercase"/>\n <span class="mdl-checkbox__label">'+
sysPassApp.config.LANG[36]+'</span>\n </label>\n <label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="checkbox-symbols">\n <input type="checkbox" id="checkbox-symbols" class="mdl-checkbox__input" name="checkbox-symbols"/>\n <span class="mdl-checkbox__label">'+sysPassApp.config.LANG[37]+'</span>\n </label>\n <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">\n <input class="mdl-textfield__input" type="number" pattern="[0-9]{1,3}" id="passlength" \n name="passlength" value="'+
sysPassApp.util.password.config.complexity.numlength+'"\n min="1" max="117"/>\n <label class="mdl-textfield__label" for="passlength">'+sysPassApp.config.LANG[38]+'</label>\n </div>\n </div>\n </div>\n <datalist id="defaultLength"><option value="8"><option value="12"><option value="16"><option value="32"><option value="64"></datalist>';mdlDialog().show({title:sysPassApp.config.LANG[29],text:a,negative:{title:sysPassApp.config.LANG[44]},
positive:{title:sysPassApp.config.LANG[43],onClick:function(c){c.preventDefault();sysPassApp.util.password.config.complexity.chars=$("#checkbox-chars").is(":checked");sysPassApp.util.password.config.complexity.numbers=$("#checkbox-numbers").is(":checked");sysPassApp.util.password.config.complexity.uppercase=$("#checkbox-uppercase").is(":checked");sysPassApp.util.password.config.complexity.symbols=$("#checkbox-symbols").is(":checked");sysPassApp.util.password.config.complexity.numlength=parseInt($("#passlength").val())}},
cancelable:!0,contentStyle:{"max-width":"300px"},onLoaded:function(){$("#checkbox-chars").prop("checked",sysPassApp.util.password.config.complexity.chars);$("#checkbox-numbers").prop("checked",sysPassApp.util.password.config.complexity.numbers);$("#checkbox-uppercase").prop("checked",sysPassApp.util.password.config.complexity.uppercase);$("#checkbox-symbols").prop("checked",sysPassApp.util.password.config.complexity.symbols)}})},k=function(a){a.find(".passwordfield__input").each(function(){var c=
$(this);if("true"!==c.attr("data-pass-upgraded")){var a=sysPassApp.util.uniqueId(),d=c.parent(),b=c.closest("form");a=c.attr("id")+"-"+a;var l=b.find("#"+c.attr("id")+"_repeat");l.attr("id",a+"_repeat");c.attr("id",a);c.attr("data-pass",c.val());b='<button id="menu-password-'+a+'" class="mdl-button mdl-js-button mdl-button--icon" type="button" title="'+sysPassApp.config.LANG[27]+'"><i class="material-icons">more_vert</i></button>\n <ul class="mdl-menu mdl-js-menu" for="menu-password-'+
a+'">\n <li class="mdl-menu__item passGen"><i class="material-icons">settings</i>'+sysPassApp.config.LANG[28]+'</li>\n <li class="mdl-menu__item passComplexity"><i class="material-icons">vpn_key</i>'+sysPassApp.config.LANG[29]+'</li>\n <li class="mdl-menu__item reset"><i class="material-icons">refresh</i>'+sysPassApp.config.LANG[30]+"</li></ul>";d.after('<div class="password-actions" />');d.next(".password-actions").prepend("<i id='password-level-"+a+"' class=\"showpass material-icons clip-pass-field password-level\" data-clipboard-target='"+
a+"' data-level-msg= '' title=\""+sysPassApp.config.LANG[32]+'">remove_red_eye</i>').prepend(b);c.on("keyup",function(){sysPassApp.util.password.checkLevel(c);this.dataset.pass=c.val()});d=c.parent().next();d.find(".passGen").on("click",function(){f(c);c.blur()});d.find(".passComplexity").on("click",function(){g()});d.find(".showpass").on("mouseover",function(){""!==this.dataset.levelMsg?$(this).attr("title",this.dataset.levelMsg+"\n\n"+c[0].dataset.pass):$(this).attr("title",c[0].dataset.pass)});
d.find(".reset").on("click",function(){c.val("");c[0].dataset.pass="";0<l.length&&l.val("");componentHandler.upgradeDom()});c.attr("data-pass-upgraded","true");componentHandler.upgradeDom()}});a.find(".passwordfield__input-show").each(function(){var a=$(this),d=$('<i class="showpass material-icons" title="'+sysPassApp.config.LANG[32]+'">remove_red_eye</i>');if(1===a.data("clipboard")){var b=$('<i class="clip-pass-icon material-icons" title="'+sysPassApp.config.LANG[34]+'" data-clipboard-target="#'+
a.attr("id")+'">content_paste</i>');a.parent().after(b).after(d)}else a.parent().after(d);d.on("mouseover",function(){d.attr("title",a[0].dataset.pass)})})},n=function(d){a.info("setupDatePicker");var c={format:"YYYY-MM-DD",lang:sysPassApp.config.BROWSER.LOCALE.substr(0,2),time:!1,cancelText:sysPassApp.config.LANG[44],okText:sysPassApp.config.LANG[43],clearText:sysPassApp.config.LANG[30],nowText:sysPassApp.config.LANG[56],minDate:new Date,triggerEvent:"dateIconClick"};d.find(".password-datefield__input").each(function(){var a=
$(this),d=a.parent();a.bootstrapMaterialDatePicker(c);var b=d.find("input[name="+a.data("dst-unix")+"]");0<a.val()&&b.val(moment.tz(a.val(),sysPassApp.config.BROWSER.TIMEZONE).format("X"));d.next("i").on("click",function(){a.trigger("dateIconClick")});a.on("change",function(){b.val(moment.tz(a.val(),sysPassApp.config.BROWSER.TIMEZONE).format("X"))})})},m=function(){a.info("theme:update");componentHandler.upgradeDom();$("body").trigger(e)};return{passwordDetect:k,password:f,update:m,viewsTriggers:{main:function(){var a=
document.querySelector(".mdl-layout");$(".mdl-layout__drawer").find("a").click(function(){a.MaterialLayout.toggleDrawer()})},search:function(){var a=$("#frmSearch"),c=$("#res-content");a.find("button.btn-clear").on("click",function(a){$(".icon-searchfav").find("i").removeClass("mdl-color-text--amber-A200")});a.find(".icon-searchfav").on("click",function(){var b=$(this).find("i"),c=a.find("input[name='searchfav']");0==c.val()?(b.addClass("mdl-color-text--amber-A200"),b.attr("title",sysPassApp.config.LANG[53]),
c.val(1)):(b.removeClass("mdl-color-text--amber-A200"),b.attr("title",sysPassApp.config.LANG[52]),c.val(0));a.submit()});var b=a.find("#tags")[0],e=a.find(".search-filters-tags"),f=a.find("i.show-filter");c.on("click","#data-search-header .sort-down,#data-search-header .sort-up",function(){var a=$(this);a.parent().find("a").addClass("filterOn");sysPassApp.actions.account.sort(a)}).on("click","#search-rows i.icon-favorite",function(){var a=$(this);sysPassApp.actions.account.saveFavorite(a,function(){"on"===
a.data("status")?(a.addClass("mdl-color-text--amber-A100"),a.attr("title",sysPassApp.config.LANG[50]),a.html("star")):(a.removeClass("mdl-color-text--amber-A100"),a.attr("title",sysPassApp.config.LANG[49]),a.html("star_border"))})}).on("click","#search-rows span.tag",function(){e.is(":hidden")&&f.trigger("click");b.selectize.addItem($(this).data("tag-id"),!1)});f.on("click",function(){var a=$(this);e.is(":hidden")?(e.slideDown("slow"),a.html(a.data("icon-up"))):(e.slideUp("slow"),a.html(a.data("icon-down")))});
-1===b.selectedIndex&&1!==f.data("show")||f.trigger("click")},common:function(a){k(a);n(a)}},loading:b,ajax:{complete:function(){a.info("ajax:complete");m()}},html:{getList:function(a,b){var c=$('<ul class="ldap-list-item mdl-list"></ul>'),d=$('<li class="mdl-list__item"></li>'),e=$('<span class="mdl-list__item-primary-content"></span>'),f='<i class="material-icons mdl-list__item-icon">'+(void 0===b||""===b?"description":b)+"</i>";a.forEach(function(a){var b=e.clone();b.append(f);b.append(a);a=d.clone().append(b);
c.append(a)});return c},tabs:{add:function(a,b,e,f){a=$(a);if(1===f){a.parent().find("#tabs-"+b).addClass("is-active");var c="is-active"}a.append('<a href="#tabs-'+b+'" class="mdl-tabs__tab '+c+'">'+e+"</a>")}}}}};