mirror of
https://github.com/XFox111/PasswordGeneratorExtension.git
synced 2026-04-22 08:08:01 +03:00
Minor 1.2 (#5)
- Added option "Do not repeat characters" - Updated GitHub release template - Updated CI config
This commit is contained in:
+9
-4
@@ -10,6 +10,7 @@ chrome.storage.sync.get(
|
||||
includeUppercase: true,
|
||||
excludeSimilar: true,
|
||||
excludeSpecial: true,
|
||||
dontRepeatChars: false,
|
||||
|
||||
// Extension settings
|
||||
showButton: true,
|
||||
@@ -32,6 +33,7 @@ chrome.storage.sync.get(
|
||||
"includeUppercase",
|
||||
"excludeSimilar",
|
||||
"excludeSpecial",
|
||||
"dontRepeatChars",
|
||||
|
||||
"showButton",
|
||||
"showContext",
|
||||
@@ -47,8 +49,11 @@ chrome.storage.sync.get(
|
||||
function SetupEventHandlers()
|
||||
{
|
||||
document.querySelectorAll("input").forEach(i =>
|
||||
i.addEventListener("input",
|
||||
() => chrome.storage.sync.set(JSON.parse("{ \"" + i.id + "\": " + (i.type == "checkbox" ? i.checked : i.value) + " }"))));
|
||||
i.addEventListener(
|
||||
"input",
|
||||
() => chrome.storage.sync.set(JSON.parse("{ \"" + i.id + "\": " + (i.type == "checkbox" ? i.checked : i.value) + " }"))
|
||||
)
|
||||
);
|
||||
|
||||
document.querySelector("#generate").addEventListener("click", () => GeneratePassword(null, true));
|
||||
document.querySelector("#more").addEventListener("click", (s) =>
|
||||
@@ -57,12 +62,12 @@ function SetupEventHandlers()
|
||||
if (group.hasAttribute("hidden"))
|
||||
{
|
||||
group.removeAttribute("hidden");
|
||||
s.currentTarget.querySelector("i").textContent = "";
|
||||
s.currentTarget.querySelector("i").textContent = "\uE010";
|
||||
}
|
||||
else
|
||||
{
|
||||
group.setAttribute("hidden", "");
|
||||
s.currentTarget.querySelector("i").textContent = "";
|
||||
s.currentTarget.querySelector("i").textContent = "\uE011";
|
||||
}
|
||||
});
|
||||
}
|
||||
+9
-2
@@ -49,7 +49,8 @@ function GeneratePassword(e, useDefaultLength = false)
|
||||
excludeSimilar: true,
|
||||
excludeSpecial: true,
|
||||
hideAlert: false,
|
||||
promptForLength: false
|
||||
promptForLength: false,
|
||||
dontRepeatChars: false,
|
||||
},
|
||||
(settings) =>
|
||||
{
|
||||
@@ -82,7 +83,7 @@ function GeneratePassword(e, useDefaultLength = false)
|
||||
if (response === null) // If user clicked 'Cancel'
|
||||
return;
|
||||
|
||||
if (parseInt(response))
|
||||
if (parseInt(response) && response > 1)
|
||||
{
|
||||
pwdLength = response;
|
||||
break;
|
||||
@@ -91,6 +92,12 @@ function GeneratePassword(e, useDefaultLength = false)
|
||||
break;
|
||||
}
|
||||
|
||||
if (settings.dontRepeatChars && availableCharacters.length < pwdLength)
|
||||
{
|
||||
alert(chrome.i18n.getMessage("notEnoughChars").replace("%MIN_CHARS%", availableCharacters.length));
|
||||
return;
|
||||
}
|
||||
|
||||
for (k = 0; k < pwdLength; k++)
|
||||
password += availableCharacters[GetRandomInt(0, availableCharacters.length)]; // Picking random characters
|
||||
|
||||
|
||||
Reference in New Issue
Block a user