waschmarken/static/views/session/script.js
2020-07-17 19:18:17 +02:00

81 lines
2.7 KiB
JavaScript

function draw_item(item) {
const itemdiv = document.createElement('itemdiv');
var name = item["name"]
var description = item["description"]
var image = item["image"] || "../static/empty.jpg"
namespan = document.createElement('b');
namespan.innerText = name;
namespan.style.display = "block"
namespan.style.textAlign = "center"
descriptionspan = document.createElement('span');
descriptionspan.innerText = description;
descriptionspan.style.display = "block"
descriptionspan.style.width = "8rem";
imageimg = document.createElement('img');
imageimg.src = image;
imageimg.style.width = "8rem";
imageimg.style.display = "block"
itemdiv.appendChild(namespan);
itemdiv.appendChild(imageimg);
itemdiv.appendChild(descriptionspan);
itemdiv.style.display = "inline-block"
itemdiv.style.background = "lightcoral"
itemdiv.setAttribute("itemid", item["id"]);
return itemdiv
}
var text = document.getElementById("msg").innerText
msg = JSON.parse(text)
document.getElementById("btn-leave-session").onclick = async (e) => await fetch('api/leave_session', {
method: 'POST', body: JSON.stringify({})
});
document.getElementById("session").innerText = msg.session;
document.getElementById('label-username').innerText = msg.username;
//fill inventory and inventories
inventorydiv = document.getElementById("inventory");
inventoriesdiv = document.getElementById("inventories");
while (inventorydiv.children.length) inventorydiv.lastChild.remove();
while (inventoriesdiv.children.length) inventoriesdiv.lastChild.remove();
username = msg.username;
inventories = msg.inventories;
if (username in inventories) {
inventory = inventories[username]
Object.keys(inventory).forEach( item => {
var item = inventory[item];
itemdiv = draw_item(item);
inventorydiv.appendChild(itemdiv);
});
}
Object.keys(inventories).forEach( inventory => {
if (!(inventory in inventories))
return;
if (inventory == username)
return;
var wrapper = document.createElement('div')
var usernamespan = document.createElement('span')
usernamespan.innerText = inventory;
var inventorydiv = document.createElement('div')
Object.keys(inventories[inventory]).forEach( item => {
var item = inventories[inventory][item];
itemdiv = draw_item(item);
inventorydiv.appendChild(itemdiv);
});
//inventorydiv.appendChild(itemdiv);
wrapper.appendChild(usernamespan)
wrapper.appendChild(inventorydiv)
inventoriesdiv.appendChild(wrapper);
});