function loadData() { "use strict"; var url = "./Kundenstatus.php"; var request = new XMLHttpRequest(); request.open("GET", url, true); request.onload = function () { if (request.readyState === 4 && request.status >= 200 && request.status < 300) { if (request.responseText != null) { var responseData = JSON.parse(request.responseText); console.log(responseData); process(responseData); } else { console.error ("Dokument ist leer"); } } else { console.error("Statuscode: " + request.status); } }; request.onerror = function () { "use strict"; console.error("Netzwerkfehler"); }; //request.onreadystatechange = processData; request.send(); } const newScript = document.createElement("script"); newScript.src = "./JS/OrderData.js"; newScript.type = "module"; document.getElementsByTagName("body")[0].prepend(newScript); function process(data) { "use strict"; const orderForm = document.getElementById("orderForm"); if (orderForm != null) { while (orderForm.lastElementChild) { orderForm.removeChild(orderForm.lastElementChild); } for (let [orderingID, order] of Object.entries(data)) { let pizzaObj = { pizzaList: [] }; //orderForm.append(testBuildOrder(orderingID)); let orderList = order["OrderList"] for (let [orderedArticleID, pizza] of Object.entries(orderList)) { let name = pizza["Name"]; let price = parseFloat(pizza["Price"]); let status = parseInt(pizza["Status"]); let newPizza = { orderedArticleID: orderedArticleID, name: name, price: price, status: status }; pizzaObj.pizzaList.push(newPizza); } buildOrder(orderForm, orderingID, pizzaObj); } } } window.onload = function () { "use strict"; loadData(); } window.setInterval (loadData, 2000); function buildOrder(parentNode, id, pizzaObj) { "use strict"; let orderMainNode = document.createElement("fieldset"); orderMainNode.id = id; let orderLegend = document.createElement("legend"); orderLegend.id = id + ".legend"; orderLegend.innerText = "Bestellung " + id; orderMainNode.append(orderLegend); buildPizza(orderMainNode, pizzaObj); parentNode.append(orderMainNode); } function buildPizza(orderMainNode, pizzaObj) { "use strict"; let pizzaList = pizzaObj.pizzaList; for (let pizza of pizzaList) { let pizzaName = pizza.name; let orderedArticleID = pizza.orderedArticleID; let pizzaStatus = pizza.status; let pizzaNode = document.createElement("fieldset"); let pizzaLegend = document.createElement("legend"); pizzaNode.id = "pizzaNode." + orderedArticleID; pizzaLegend.innerText = "Pizza " + pizzaName; pizzaNode.append(pizzaLegend); buildInputs(pizzaNode, orderedArticleID, pizzaStatus); orderMainNode.append(pizzaNode); } } function buildInputs(pizzaNode, orderedArticleID, status) { "use strict"; let statusArray = [ "Bestellt", "Im Ofen", "Fertig", "Unterwegs", "Geliefert" ]; for (let value = 0; value < 5; value++) { let inputLabel = document.createElement("label"); pizzaNode.append(inputLabel); inputLabel.innerText = statusArray[value]; let inputRadio = document.createElement("input"); inputLabel.append(inputRadio); inputRadio.type = "radio"; inputRadio.name = orderedArticleID; inputRadio.value = value.toString(); inputRadio.disabled = true; if (value === status) { inputRadio.checked = true; } } }