From 666c52f419ebe7cac4fc869324fadee8445b28c3 Mon Sep 17 00:00:00 2001
From: mouriermaxime <58846521+mouriermaxime@users.noreply.github.com>
Date: Fri, 20 Jan 2023 23:57:26 +0100
Subject: [PATCH] remove port button
---
Flask/dco_gen/templates/interactive_form.html | 39 ++++++++++++++++++-
1 file changed, 37 insertions(+), 2 deletions(-)
diff --git a/Flask/dco_gen/templates/interactive_form.html b/Flask/dco_gen/templates/interactive_form.html
index 22717dd..d63a357 100644
--- a/Flask/dco_gen/templates/interactive_form.html
+++ b/Flask/dco_gen/templates/interactive_form.html
@@ -107,7 +107,7 @@
`
-
+
`;
document.getElementById("volumes").appendChild(new_volume_div)
document.getElementById('volume_cpt').value = volume_cpt;
@@ -156,12 +156,47 @@
function add_port() {
port_cpt+=1;
var new_port_div = document.createElement('div')
+ new_port_div.setAttribute("id",`port-${port_cpt}`)
new_port_div.innerHTML +=
`
-
+
`;
document.getElementById("ports").appendChild(new_port_div)
document.getElementById('port_cpt').value = port_cpt;
}
+
+ function remove_port(index){
+ var port_to_rm = document.getElementById(`port-${index}`);
+ var cpt = document.getElementById('port_cpt').value -1;
+ port_to_rm.remove();
+ document.getElementById('port_cpt').value = cpt;
+ update_port_ids();
+ }
+
+ function update_port_ids() {
+ const port_divs = document.querySelectorAll('[id^="port-"]');
+ for (let i=0; i < port_divs.length; i++) {
+ port_divs[i].setAttribute('id',`port-${i+1}`)
+ let port_labels = port_divs[i].querySelectorAll('[for^=port_]');
+ var labels = [{"liste":port_labels,"for_name":"port_"}];
+ for(let x=0; x < labels.length; x++){
+ for (let j=0; j < labels[x].liste.length; j++) {
+ labels[x].liste[j].setAttribute("for",`${labels[x].for_name}${i+1}`);
+ }
+ }
+ let port_inputs = port_divs[i].querySelectorAll('[name^=port_]');
+ var inputs = [{"liste":port_inputs,"name":"port_"}]
+ for(let x=0; x < inputs.length; x++){
+ for (let j=0; j < inputs[x].liste.length; j++) {
+ inputs[x].liste[j].setAttribute("name",`${inputs[x].name}${i+1}`);
+ inputs[x].liste[j].setAttribute("id",`${inputs[x].name}${i+1}`);
+ }
+ }
+
+ let bouton = port_divs[i].querySelector("button");
+ bouton.setAttribute("onclick",`remove_port(${i+1})`);
+ }
+ }
+