mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-07 00:46:59 +01:00
* [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.
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -9,7 +9,7 @@ a.config().LANG[38]+'</label>\n </div></div></div>\n <data
|
||||
a.passwordData.complexity.uppercase=$("#checkbox-uppercase").is(":checked");a.passwordData.complexity.symbols=$("#checkbox-symbols").is(":checked");a.passwordData.complexity.numlength=parseInt($("#passlength").val())}},cancelable:!0,contentStyle:{"max-width":"300px"},onLoaded:function(){$("#checkbox-chars").prop("checked",a.passwordData.complexity.chars);$("#checkbox-numbers").prop("checked",a.passwordData.complexity.numbers);$("#checkbox-uppercase").prop("checked",a.passwordData.complexity.uppercase);
|
||||
$("#checkbox-symbols").prop("checked",a.passwordData.complexity.symbols);$("#passlength").val(a.passwordData.complexity.numlength)}})},l=function(c){c.find(".passwordfield__input").each(function(){var d=$(this);if("true"!==d.attr("data-pass-upgraded")){var c=a.uniqueId(),b=d.parent(),h=d.closest("form"),c=d.attr("id")+"-"+c,k=h.find("#"+d.attr("id")+"_repeat");k.attr("id",c+"_repeat");d.attr("id",c);d.attr("data-pass",d.val());h='<button id="menu-password-'+c+'" class="mdl-button mdl-js-button mdl-button--icon" type="button" title="'+
|
||||
a.config().LANG[27]+'"><i class="material-icons">more_vert</i></button>\n <ul class="mdl-menu mdl-js-menu" for="menu-password-'+c+'">\n <li class="mdl-menu__item passGen"><i class="material-icons">settings</i>'+a.config().LANG[28]+'</li>\n <li class="mdl-menu__item passComplexity"><i class="material-icons">vpn_key</i>'+a.config().LANG[29]+'</li>\n <li class="mdl-menu__item reset"><i class="material-icons">refresh</i>'+a.config().LANG[30]+
|
||||
"</li></ul>";b.after('<div class="password-actions" />');b.next(".password-actions").prepend("<i id='password-level-"+c+"' class=\"showpass material-icons clip-pass-field password-level\" data-clipboard-target='"+c+"' data-level-msg= '' title=\""+a.config().LANG[32]+'">remove_red_eye</i>').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()});
|
||||
"</li></ul>";b.after('<div class="password-actions" />');b.next(".password-actions").prepend("<i id='password-level-"+c+"' class=\"showpass material-icons clip-pass-field password-level\" data-clipboard-target='"+c+"' data-level-msg= '' title=\""+a.config().LANG[32]+'">remove_red_eye</i>').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="";0<k.length&&k.val("");componentHandler.upgradeDom()});d.attr("data-pass-upgraded","true");componentHandler.upgradeDom()}});c.find(".passwordfield__input-show").each(function(){var d=$(this),c=$('<i class="showpass material-icons" title="'+a.config().LANG[32]+
|
||||
'">remove_red_eye</i>');if(1===d.data("clipboard")){var b=$('<i class="clip-pass-icon material-icons" title="'+a.config().LANG[34]+'" data-clipboard-target="#'+d.attr("id")+'">content_paste</i>');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=
|
||||
|
||||
@@ -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) {
|
||||
|
||||
2
public/js/app-main.min.js
vendored
2
public/js/app-main.min.js
vendored
@@ -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.passLength<p.minPasswordLength?e.attr("data-level-msg",c.LANG[11]).addClass("weak"):0===g?e.attr("data-level-msg",c.LANG[9]+" - "+a.feedback.warning).addClass("weak"):1===g||2===g?e.attr("data-level-msg",
|
||||
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.removeClass("weak good strong strongest");0===p.passLength?e.attr("data-level-msg",""):p.passLength<p.minPasswordLength?e.attr("data-level-msg",c.LANG[11]).addClass("weak"):0===g?e.attr("data-level-msg",c.LANG[9]+" - "+a.feedback.warning).addClass("weak"):1===g||2===g?e.attr("data-level-msg",
|
||||
c.LANG[8]+" - "+a.feedback.warning).addClass("good"):3===g?e.attr("data-level-msg",c.LANG[7]).addClass("strong"):4===g&&e.attr("data-level-msg",c.LANG[10]).addClass("strongest")},F=function(a){f.info("checkPassLevel");p.passLength=a.val().length;C(zxcvbn(a.val()),a)},G=function(a){var b=function(a){var b=$("#fileUploadForm");!1===a&&b.hide();a=b.find("input[type='file']");a.on("change",function(){"function"===typeof k.beforeSendAction&&k.beforeSendAction();l(this.files)});return a},e={actionId:a.data("action-id"),
|
||||
itemId:a.data("item-id"),sk:x.get()},k={requestDoneAction:"",setRequestData:function(a){$.extend(e,a)},getRequestData:function(){return e},beforeSendAction:"",url:"",allowedExts:[]},h=function(a){if(void 0===k.url||""===k.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);e.sk=x.get();Object.keys(e).forEach(function(a){b.append(a,e[a])});a=v.getRequestOpts();a.url=k.url;a.processData=!1;a.contentType=!1;a.data=b;v.getActionCall(a,function(a){var b=a.status;a=a.description;0===
|
||||
b?("function"===typeof k.requestDoneAction&&k.requestDoneAction(),d.ok(a)):10===b?u.main.logout():d.error(a)})},l=function(a){if(5<a.length)d.error(c.LANG[17]+" (Max: 5)");else for(var b=0;b<a.length;b++){var e=a[b];if(e.size/1E3>c.MAX_FILE_SIZE)d.error(c.LANG[18]+"<br>"+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]+"<br>"+e.name)}}};window.File&&window.FileList&&
|
||||
|
||||
Reference in New Issue
Block a user