const makeClusterButton = document.getElementById("makeCluster") let clusters = Array() let chosenShelves = Array() function getEByID(id) { return document.getElementById(id) } function shelfClick(id) { const clickedShelf = getEByID("b" + id.toString()) if (!clusters.flat(1).includes(id)) { //If not id in clusters if (chosenShelves.includes(id)) { //If id in chosenShelves chosenShelves = chosenShelves.filter(e => { return e !== id; }) clickedShelf.classList.remove("selected") clickedShelf.innerText = "" } else { //Else (if id not in chosenShelves chosenShelves.push(id) clickedShelf.classList.add("selected") } } chosenShelves.forEach((id, num) => { getEByID("b" + id.toString()).innerText = (num + 1).toString() }) if (chosenShelves.length > 0) { makeClusterButton.classList.remove("hidden") } else { makeClusterButton.classList.add("hidden") } } function unselectAll() { chosenShelves.forEach(id => { getEByID("b" + id.toString()).innerText = "" getEByID("b" + id.toString()).classList.remove("selected") }) chosenShelves = Array() makeClusterButton.classList.add("hidden") } function createCluster() { const shelves = JSON.stringify(chosenShelves) const numLights = chosenShelves.length const sendDict = {["numLights"]: numLights, ["lights"]: shelves} console.log(JSON.stringify(sendDict)) sendWebRequest("http://192.168.1.170/api/create_cluster", JSON.stringify(sendDict), "POST") } window.onkeydown = function(event) { if (event.key === "Escape") { unselectAll() } } function sendWebRequest(url, data, method) { const Http = new XMLHttpRequest() Http.open(method, url) Http.setRequestHeader("data", data) Http.send() Http.onreadystatechange = (e) => { console.log(Http.responseText) } } function updateConfig() { fetch("http://192.168.1.170/api/get_config") .then(response => response.json()) .then(data => console.log(data)) } updateConfig()