From f678f24f423b7b31201536decf89fee3361244ca Mon Sep 17 00:00:00 2001 From: nuxsmin Date: Thu, 29 Mar 2018 19:41:50 +0200 Subject: [PATCH] * [MOD] UI tweaks on login and password reset views * [MOD] Improved password fields behavior. New strength level meter, copy to clipboard and password viewer doesn't show up the RSA encrypted text. --- .../web/themes/material-blue/js/app-theme.js | 19 +++++++------------ .../themes/material-blue/js/app-theme.min.js | 2 +- public/js/app-main.js | 6 ++---- public/js/app-main.min.js | 2 +- 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/app/modules/web/themes/material-blue/js/app-theme.js b/app/modules/web/themes/material-blue/js/app-theme.js index efac7b24..381df261 100644 --- a/app/modules/web/themes/material-blue/js/app-theme.js +++ b/app/modules/web/themes/material-blue/js/app-theme.js @@ -83,22 +83,17 @@ sysPass.Theme = function (Common) { // Poner la clave en los input y actualizar MDL $dstParent.find("input:password").val(password); - $dstParent.addClass(mdl.CssClasses_.IS_DIRTY).removeClass(mdl.CssClasses_.IS_INVALID); + $dstParent + .addClass(mdl.CssClasses_.IS_DIRTY) + .removeClass(mdl.CssClasses_.IS_INVALID); // Poner la clave en el input de repetición y encriptarla if ($targetR.length > 0) { - $targetR.val(password).parent().addClass(mdl.CssClasses_.IS_DIRTY).removeClass(mdl.CssClasses_.IS_INVALID); + $targetR.val(password).parent() + .addClass(mdl.CssClasses_.IS_DIRTY) + .removeClass(mdl.CssClasses_.IS_INVALID); Common.encryptFormValue($targetR); } - - // Mostar el indicador de complejidad - // $dstParent.find("#passLevel").show(500); - - // } else { - // Common.outputResult(level); - // $("input:password, input.password").val(genPassword); - // $("#passLevel").show(500); - // } }); }; @@ -198,7 +193,7 @@ sysPass.Theme = function (Common) { $this.on("keyup", function () { Common.checkPassLevel($this); - $this[0].dataset.pass = $this.val(); + this.dataset.pass = $this.val(); }); const $passwordActions = $this.parent().next(); diff --git a/app/modules/web/themes/material-blue/js/app-theme.min.js b/app/modules/web/themes/material-blue/js/app-theme.min.js index a6f45114..1cc061f4 100644 --- a/app/modules/web/themes/material-blue/js/app-theme.min.js +++ b/app/modules/web/themes/material-blue/js/app-theme.min.js @@ -9,7 +9,7 @@ a.config().LANG[38]+'\n \n more_vert\n ";b.after('
');b.next(".password-actions").prepend("remove_red_eye').prepend(h);d.on("keyup",function(){a.checkPassLevel(d);d[0].dataset.pass=d.val()});b=d.parent().next();b.find(".passGen").on("click",function(){f(d);d.blur()});b.find(".passComplexity").on("click",function(){g()}); +"";b.after('
');b.next(".password-actions").prepend("remove_red_eye').prepend(h);d.on("keyup",function(){a.checkPassLevel(d);this.dataset.pass=d.val()});b=d.parent().next();b.find(".passGen").on("click",function(){f(d);d.blur()});b.find(".passComplexity").on("click",function(){g()}); b.find(".showpass").on("mouseover",function(){""!==this.dataset.levelMsg?$(this).attr("title",this.dataset.levelMsg+"\n\n"+d[0].dataset.pass):$(this).attr("title",d[0].dataset.pass)});b.find(".reset").on("click",function(){d.val("");d[0].dataset.pass="";0remove_red_eye');if(1===d.data("clipboard")){var b=$('content_paste');d.parent().after(b).after(c)}else d.parent().after(c);c.on("mouseover",function(){c.attr("title",d.val())})})},p=function(c){e.info("setupDatePicker");var d={format:"YYYY-MM-DD",lang:a.config().LOCALE.substr(0,2),time:!1,cancelText:a.config().LANG[44],okText:a.config().LANG[43],clearText:a.config().LANG[30], nowText:a.config().LANG[56],minDate:new Date,triggerEvent:"dateIconClick"};c.find(".password-datefield__input").each(function(){var c=$(this),b=c.parent();c.bootstrapMaterialDatePicker(d);var h=b.find("input[name="+c.data("dst-unix")+"]");h.val(moment.tz(c.val(),a.config().TIMEZONE).format("X"));b.next("i").on("click",function(){c.trigger("dateIconClick")});c.on("change",function(){h.val(moment.tz(c.val(),a.config().TIMEZONE).format("X"))})})};return{passwordDetect:l,password:f,viewsTriggers:{main:function(){var a= diff --git a/public/js/app-main.js b/public/js/app-main.js index f7b27a8a..bf33fb36 100644 --- a/public/js/app-main.js +++ b/public/js/app-main.js @@ -317,12 +317,10 @@ sysPass.Main = function () { const $passLevel = $("#password-level-" + $target.attr("id")); const score = level.score; - $passLevel - .show() - .removeClass("weak good strong strongest"); + $passLevel.removeClass("weak good strong strongest"); if (passwordData.passLength === 0) { - $passLevel.attr("data-level-msg", "").empty(); + $passLevel.attr("data-level-msg", ""); } else if (passwordData.passLength < passwordData.minPasswordLength) { $passLevel.attr("data-level-msg", config.LANG[11]).addClass("weak"); } else if (score === 0) { diff --git a/public/js/app-main.min.js b/public/js/app-main.min.js index 7a2e5fac..5474b4fd 100644 --- a/public/js/app-main.min.js +++ b/public/js/app-main.min.js @@ -9,7 +9,7 @@ a.textContent="");return g}}(),h=function(a){f.info("resizeImage");var g=.9*$(wi e;c.secondary=g;var k=d(c);a.css({width:k.calc,height:k.main});b.width=k.calc;b.height=k.main};b.width>g?D():b.height>e&&(f.info("height"),E());return b},m=function(a,g){f.info("Eval: "+a);if("function"===typeof a)a(g);else throw Error("Function not found: "+a);},n=function(){f.info("bindPassEncrypt");$("body").on("blur",":input[type=password]",function(a){a=$(this);a.hasClass("passwordfield__no-pki")||z(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a= $(this),z(a),a.closest("form").submit())})},w=function(){f.info("initializeClipboard");if(clipboard.isSupported())$("body").on("click",".clip-pass-button",function(){var a=u.account.copyPass($(this)).done(function(a){if(0!==a.status)return d.out(a),!1;x.set(a.csrf)});!1!==a&&clipboard.copy(a.responseJSON.data.accpass).then(function(){d.ok(c.LANG[45])},function(a){d.error(c.LANG[46])})}).on("click",".dialog-clip-button",function(){var a=$(this.dataset.clipboardTarget);clipboard.copy(a.text().replace(/\r?\n|\r/g)).then(function(){$(".dialog-text").removeClass("dialog-clip-copy"); a.addClass("dialog-clip-copy")},function(a){d.error(c.LANG[46])})}).on("click",".clip-pass-icon",function(){clipboard.copy(l($(this.dataset.clipboardTarget).val())).then(function(){d.ok(c.LANG[45])},function(a){d.error(c.LANG[46])})}).on("click",".clip-pass-field",function(){clipboard.copy(l(document.getElementById(this.dataset.clipboardTarget).dataset.pass)).then(function(){d.ok(c.LANG[45])},function(a){d.error(c.LANG[46])})});else f.warn(c.LANG[65])},z=function(a){f.info("encryptFormValue");var b= -a.val();""!==b&&parseInt(a.attr("data-length"))!==b.length&&(b=c.CRYPT.encrypt(b),a.val(b),a.attr("data-length",b.length))},C=function(a,b){f.info("outputResult");var e=$("#password-level-"+b.attr("id")),g=a.score;e.show().removeClass("weak good strong strongest");0===p.passLength?e.attr("data-level-msg","").empty():p.passLengthc.MAX_FILE_SIZE)d.error(c.LANG[18]+"
"+e.name+" (Max: "+c.MAX_FILE_SIZE+")");else{var g;a:{g=e.name.toUpperCase();var f=void 0;for(f in k.allowedExts)if(-1!==g.indexOf(k.allowedExts[f])){g=!0;break a}g=!1}g?h(a[b]):d.error(c.LANG[19]+"
"+e.name)}}};window.File&&window.FileList&&