From 5376bbf4a3715bcffd6615a78a04836c555bae59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maxi=20Quo=C3=9F?=
Date: Thu, 30 Sep 2021 14:34:55 +0200
Subject: [PATCH] add delete function
---
app/wol/static/js/{scan.js => settings.js} | 22 +-
app/wol/templates/wol/settings.html | 271 ++++++++++++---------
app/wol/urls.py | 7 +-
app/wol/views.py | 30 ++-
4 files changed, 200 insertions(+), 130 deletions(-)
rename app/wol/static/js/{scan.js => settings.js} (74%)
diff --git a/app/wol/static/js/scan.js b/app/wol/static/js/settings.js
similarity index 74%
rename from app/wol/static/js/scan.js
rename to app/wol/static/js/settings.js
index 33b21113..8b46c2d2 100644
--- a/app/wol/static/js/scan.js
+++ b/app/wol/static/js/settings.js
@@ -1,5 +1,14 @@
document.getElementById("scan-button").addEventListener("click", scan)
+var deleteButtons = document.querySelectorAll('[id*=-delete-button]');
+for (let index = 0; index < deleteButtons.length; index++) {
+ const element = deleteButtons[index];
+ element.addEventListener('click', () => {
+ element.disabled = true;
+ element.innerText = "Deleted";
+ });
+}
+
async function scan() {
const table = document.getElementById("scan-table").getElementsByTagName('tbody')[0];
table.innerHTML = "";
@@ -7,7 +16,7 @@ async function scan() {
tableContainer.classList.add("is-hidden");
document.getElementById("scan-button").classList.add("is-loading");
- const response = await fetch("/scan");
+ const response = await fetch("/settings/scan");
const data = await response.json();
if (data.devices.length == 0) {
@@ -36,6 +45,7 @@ async function scan() {
button.addEventListener("click", function (event) {
add_device(JSON.stringify(device));
event.target.disabled = true;
+ event.target.innerText = "Added";
});
td4.appendChild(button);
}
@@ -45,8 +55,16 @@ async function scan() {
function add_device(data) {
var xhr = new XMLHttpRequest();
- var url = "/add-device/";
+ var url = "/settings/add/";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(data);
+}
+
+function del_device(devId) {
+ var xhr = new XMLHttpRequest();
+ var url = "/settings/del/";
+ xhr.open("POST", url, true);
+ xhr.setRequestHeader("Content-Type", "application/json");
+ xhr.send(devId);
}
\ No newline at end of file
diff --git a/app/wol/templates/wol/settings.html b/app/wol/templates/wol/settings.html
index 7c21438c..8cb2d95d 100644
--- a/app/wol/templates/wol/settings.html
+++ b/app/wol/templates/wol/settings.html
@@ -48,15 +48,15 @@