1
0
mirror of https://github.com/XFox111/PasswordGeneratorExtension.git synced 2026-04-22 08:08:01 +03:00

Minor 1.1 (#3)

- Added "Prompt for password length every time before generating" option
- Added "Hide successful password generation message" option
This commit is contained in:
Michael Gordeev
2021-02-26 18:19:07 +03:00
committed by GitHub
parent 06c59cea41
commit 5c3a3ca756
6 changed files with 72 additions and 8 deletions
+24 -4
View File
@@ -34,7 +34,7 @@ function InsertButtons()
});
}
function GeneratePassword(e)
function GeneratePassword(e, useDefaultLength = false)
{
// Generating password
let availableCharacters = ""; // Set of available characters to generate a password from
@@ -47,7 +47,9 @@ function GeneratePassword(e)
includeLowercase: true,
includeUppercase: true,
excludeSimilar: true,
excludeSpecial: true
excludeSpecial: true,
hideAlert: false,
promptForLength: false
},
(settings) =>
{
@@ -72,7 +74,24 @@ function GeneratePassword(e)
}
let password = "";
for (k = 0; k < settings.length; k++)
var pwdLength = settings.length;
if (settings.promptForLength && !useDefaultLength)
while(true)
{
var response = prompt(chrome.i18n.getMessage("lengthPrompt").replace("%LEN%", settings.length));
if (response === null) // If user clicked 'Cancel'
return;
if (parseInt(response))
{
pwdLength = response;
break;
}
else if (!response) // Continue with default length if no response is provided. Try again if input is invalid
break;
}
for (k = 0; k < pwdLength; k++)
password += availableCharacters[GetRandomInt(0, availableCharacters.length)]; // Picking random characters
let field = e?.target.previousElementSibling;
@@ -97,7 +116,8 @@ function GeneratePassword(e)
if (!e)
field.remove();
alert(chrome.i18n.getMessage("success"));
if (settings.hideAlert === false)
alert(chrome.i18n.getMessage("success"));
});
}