Skip to content
Snippets Groups Projects
Kunde.js 2.98 KiB
Newer Older
console.log("Loading Kunde.js ...");

function loadData() {
    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);
                process(responseData);
            }
            console.error ("Dokument ist leer");
            console.error('Statuscode: ' + request.status);
        }
    };

    request.onerror = function () {
        "use strict";
        console.error('Netzwerkfehler')
    };

    //request.onreadystatechange = processData;

    request.send();
}
//TODO: Make classes for Bestllung HTML Node and Pizza HTML Node
function process(data) {
    let orderForm = document.getElementById("orderForm");
    let emptyBestellung = document.getElementById("bestellung");
    let emptyPizza = document.getElementById("pizza");
    // Kopiere die Vorlage
    let copyBestellung = emptyBestellung.cloneNode(true);
    let copyPizza = emptyPizza.cloneNode(true);
    copyBestellung = copyBestellung.cloneNode(true);
    // Lösche die Vorlage
    emptyBestellung.remove();
    emptyPizza.remove();

    for (let [orderingID, order] of Object.entries(data)) {

        let address = order["Address"];

        orderForm.append(copyBestellung);
        copyBestellung = copyBestellung.cloneNode(true);

        let newBestellung = orderForm.lastElementChild;
        newBestellung.id = "bestellung." + orderingID;
        newBestellung.firstElementChild.id = "bestellung.legend." + orderingID;
        newBestellung.firstElementChild.innerText = "Bestellung " + orderingID;
        newBestellung.lastElementChild.remove(); // lösche mitkopierte emptyPizza

        let orderList = order["OrderList"]
        for (let [orderedArticleID, pizza] of Object.entries(orderList)) {
            let name = pizza["Name"];
            let price = pizza["Price"];
            let status = pizza["Status"];

            newBestellung.append(copyPizza);
            copyPizza = copyPizza.cloneNode(true);

            let newPizza = newBestellung.lastElementChild;
            newPizza.id = "pizza." + orderedArticleID;
            newPizza.firstElementChild.id = "pizza.legend." + orderedArticleID;
            newPizza.firstElementChild.innerText = "Pizza " + name;

            let inputs = newPizza.getElementsByTagName("input");
            for (let input of inputs) {

                input.name = orderedArticleID;

                // Places the checked-attribute for the individual pizza
                if (input.type === "radio" && parseInt(input.value) === parseInt(status)) {

                    input.checked = true;
                }
            }


window.onload = function () {
    "use strict";

}
window.setInterval (loadData, 2000);