You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mee2/cogs/web/static/js/configuration.js

66 lines
1.8 KiB
JavaScript

const form = document.querySelector("form");
const tokenInput = form.querySelector("#token");
const nameInput = form.querySelector("#name");
const statusSelect = form.querySelector("#status");
// set the token input as password field
tokenInput.setAttribute("type", "password");
// function to get the config values from the server
const getConfigValues = async () => {
try {
const tokenResponse = await fetch('/api/token');
const tokenValue = await tokenResponse.text();
tokenInput.value = tokenValue;
const nameResponse = await fetch('/api/name');
const nameValue = await nameResponse.text();
nameInput.value = nameValue;
const statusResponse = await fetch('/api/status');
const statusValue = await statusResponse.text();
statusSelect.value = statusValue;
} catch (error) {
console.error(error);
}
}
getConfigValues();
form.addEventListener("submit", async (event) => {
event.preventDefault();
const token = tokenInput.value;
const name = nameInput.value;
const status = statusSelect.value;
try {
// send POST request to /api/token endpoint with token as the body
if (token !== '') {
await fetch('/api/token', {
method: 'POST',
body: token
});
}
// send POST request to /api/name endpoint with name as the body
if (name !== '') {
await fetch('/api/name', {
method: 'POST',
body: name
});
}
// send POST request to /api/status endpoint with status as the body
if (status !== '') {
await fetch('/api/status', {
method: 'POST',
body: status
});
}
} catch (error) {
console.error(error);
}
});