| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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()
|