bl2tools/bl2tools/frontend/functions.js
2022-04-21 13:27:51 -04:00

93 lines
2 KiB
JavaScript

function merp() {
console.log('Merp!');
}
function toggle_all_details(state) {
const elements = document.getElementsByTagName('details');
for (let element of elements) {
if (state && !element.hasAttribute('open')) {
element.setAttribute('open', null);
} else if (!state && element.hasAttribute('open')) {
element.removeAttribute('open');
}
}
}
function fetch_saves() {
const saves = document.getElementById('saves');
fetch('/api/list').then((resp) => {
if (!resp.ok) {
return Promise.reject(resp);
}
return resp.json();
}).then((data) => {
data.map((id) => {
fetch(`/api/save/${id}/html`).then((resp) => {
if (!resp.ok) {
return Promise.reject(resp);
}
return resp.text();
}).then((data) => {
const div = document.createElement('div');
div.innerHTML = data;
saves.appendChild(div.firstChild);
});
});
});
}
function update_save(id) {
fetch(`/api/save/${id}`).then((resp) => {
if (!resp.ok) {
return Promise.reject(resp);
}
return resp.json();
}).then((data) => {
const save = document.getElementById(id);
save.getElementsByClassName('name')[0].innerHTML = data.name;
save.getElementsByClassName('level')[0]
.getElementsByClassName('value')[0].innerHTML = data.name;
save.getElementsByClassName('xp')[0]
.getElementsByClassName('value')[0].innerHTML = data.xp;
save.getElementsByClassName('money')[0]
.getElementsByClassName('value')[0].innerHTML = data.money;
save.getElementsByClassName('eridium')[0]
.getElementsByClassName('value')[0].innerHTML = data.eridium;
save.getElementsByClassName('readonly')[0]
.getElementsByClassName('value')[0].innerHTML = data.readonly;
});
}
function toggle_readonly(id) {
fetch(`/api/save/${id}/toggle`).then((resp) => {
if (!resp.ok) {
return Promise.reject(resp);
}
return resp.json();
}).then((data) => {
const save = document.getElementById(id)
.getElementsByClassName('readonly')[0]
.getElementsByClassName('value')[0].innerHTML = data.readonly;
});
}