1
0
mirror of https://github.com/S2-/pwgen.git synced 2025-08-03 09:10:04 +02:00

direct copy

This commit is contained in:
s2
2017-11-15 17:14:35 +01:00
parent 50d4ecf2a0
commit 0837d3421f
2 changed files with 32 additions and 8 deletions

View File

@@ -8,17 +8,24 @@
<body> <body>
<form> <form>
<div> <div>
<label for"length">length</label> <input type="number" id="length" value="14" min="0"> <label for"length">length</label>
<input type="number" id="length" value="14" min="0" name="length">
</div> </div>
<div> <div>
<label for"special">include special chars</label> <input type="checkbox" id="special" checked="checked"> <label for"special">include special chars</label>
<input type="checkbox" id="special" checked="checked" name="special">
</div> </div>
<div> <div>
<label for"pw">your password</label> <input type="text" id="pw"> <label for"pw">your password</label>
<input type="text" id="pw" name="pw">
</div> </div>
<div> <div>
<button id="copy">copy to clipboard</button><button id="new">give me an other one</button> <button id="copy">copy to clipboard</button><button id="new">give me an other one</button>
</div> </div>
<div>
<label for"directcopy">direct copy</label>
<input type="checkbox" id="directcopy" name="directcopy" title="next time when i click the button, copy the new password immediately to the clipboard">
</div>
</form> </form>
<script src="pwgen.js"></script> <script src="pwgen.js"></script>
</body> </body>

View File

@@ -12,14 +12,16 @@ function randPassword(length, includeSpecial) {
function getParams() { function getParams() {
return { return {
length: parseInt(document.getElementById('length').value), length: parseInt(document.getElementById('length').value),
special: document.getElementById('special').checked special: document.getElementById('special').checked,
directcopy: document.getElementById('directcopy').checked
} }
} }
function loadOptions() { function loadOptions() {
return browser.storage.local.get({ return browser.storage.local.get({
length: 14, length: 14,
special: true special: true,
directcopy: false
}); });
} }
@@ -27,6 +29,12 @@ function saveOptions(options) {
return browser.storage.local.set(options); return browser.storage.local.set(options);
} }
function copypasstoclippboard() {
var copyText = document.getElementById('pw');
copyText.select();
document.execCommand('copy');
}
document.getElementById('new').addEventListener('click', (ev) => { document.getElementById('new').addEventListener('click', (ev) => {
ev.preventDefault(); ev.preventDefault();
var params = getParams(); var params = getParams();
@@ -36,13 +44,22 @@ document.getElementById('new').addEventListener('click', (ev) => {
document.getElementById('copy').addEventListener('click', (ev) => { document.getElementById('copy').addEventListener('click', (ev) => {
ev.preventDefault(); ev.preventDefault();
var copyText = document.getElementById('pw'); copypasstoclippboard();
copyText.select(); });
document.execCommand('copy');
document.getElementById('directcopy').addEventListener('change', (ev) => {
console.log(getParams());
saveOptions(getParams());
}); });
loadOptions().then((options) => { loadOptions().then((options) => {
console.log(options);
document.getElementById('length').value = options.length; document.getElementById('length').value = options.length;
document.getElementById('special').checked = options.special; document.getElementById('special').checked = options.special;
document.getElementById('directcopy').checked = options.directcopy;
document.getElementById('pw').value = randPassword(getParams().length, getParams().special); document.getElementById('pw').value = randPassword(getParams().length, getParams().special);
if (options.directcopy) {
copypasstoclippboard();
}
}); });