Apply configuration changes immediately
This commit is contained in:
parent
881b5941a9
commit
17602d9ae9
2 changed files with 20 additions and 35 deletions
29
dialog.html
29
dialog.html
|
@ -4,22 +4,19 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form">
|
<fieldset>
|
||||||
<fieldset>
|
<legend>Redirect configuration</legend>
|
||||||
<legend>Redirect configuration</legend>
|
<input type="checkbox" id="enabled" class="control"><label for="enabled">Enable redirect</label><br>
|
||||||
<input type="checkbox" id="enabled" class="control"><label for="enabled">Enable redirect</label><br>
|
<label for="instance">Nitter domain</label><br>
|
||||||
<label for="instance">Nitter domain</label><br>
|
<input type="text" id="instance" class="control" required>
|
||||||
<input type="text" id="instance" class="control" required>
|
</fieldset>
|
||||||
</fieldset>
|
<fieldset>
|
||||||
<fieldset>
|
<legend>Authentication</legend>
|
||||||
<legend>Authentication</legend>
|
<label for="username">Username</label><br>
|
||||||
<label for="username">Username</label><br>
|
<input type="text" id="username" class="control"><br>
|
||||||
<input type="text" id="username" class="control"><br>
|
<label for="password">Password</label><br>
|
||||||
<label for="password">Password</label><br>
|
<input type="password" id="password" class="control"><br>
|
||||||
<input type="password" id="password" class="control"><br>
|
</fieldset>
|
||||||
</fieldset>
|
|
||||||
<input type="submit" value="Update settings" id="submit" disabled>
|
|
||||||
<form>
|
|
||||||
<script src="dialog.js"></script>
|
<script src="dialog.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
26
dialog.js
26
dialog.js
|
@ -43,32 +43,20 @@ function setupSettingsForm(settings) {
|
||||||
const instance = document.getElementById('instance');
|
const instance = document.getElementById('instance');
|
||||||
const username = document.getElementById('username');
|
const username = document.getElementById('username');
|
||||||
const password = document.getElementById('password');
|
const password = document.getElementById('password');
|
||||||
const submit = document.getElementById('submit');
|
|
||||||
|
|
||||||
enabled.checked = settings.enabled;
|
enabled.checked = settings.enabled;
|
||||||
instance.value = settings.instance;
|
instance.value = settings.instance;
|
||||||
username.value = settings.username;
|
username.value = settings.username;
|
||||||
password.value = settings.password;
|
password.value = settings.password;
|
||||||
|
|
||||||
document.getElementById('form').addEventListener('submit', (event) => {
|
|
||||||
event.preventDefault();
|
|
||||||
settings.enabled = enabled.checked;
|
|
||||||
settings.instance = instance.value;
|
|
||||||
settings.username = username.value;
|
|
||||||
settings.password = password.value;
|
|
||||||
submit.disabled = true;
|
|
||||||
browser.storage.local.set(settings);
|
|
||||||
updateRedirects(settings);
|
|
||||||
});
|
|
||||||
|
|
||||||
for (let element of document.getElementsByClassName('control')) {
|
for (let element of document.getElementsByClassName('control')) {
|
||||||
element.addEventListener('input', () => {
|
element.addEventListener('change', () => {
|
||||||
const different =
|
settings.enabled = enabled.checked;
|
||||||
enabled.checked !== settings.enabled ||
|
settings.instance = instance.value;
|
||||||
instance.value !== settings.instance ||
|
settings.username = username.value;
|
||||||
username.value !== settings.username ||
|
settings.password = password.value;
|
||||||
password.value !== settings.password;
|
browser.storage.local.set(settings);
|
||||||
submit.disabled = !different;
|
updateRedirects(settings);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue