gestione gare pubbliche
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

48 righe
2.0 KiB

<script>
window.__avvalimenti_onUpdate = function() {
const raggruppamenti = document.querySelectorAll(".raggruppamento-edit input[name$=\"[identifier]\"]");
function onUpdate(el) {
console.log(`Updating `, el);
// Selezioniamo la nostra select
const select = el.querySelector("select");
// Selezioniamo la voce selezionata
const selected = select.value;
// Puliamo le opzioni
select.innerHTML = "";
// Aggiungiamo la voce vuota
let emptyOption = document.createElement("option");
emptyOption.value = "";
emptyOption.text = "Seleziona..."
select.appendChild(emptyOption);
// Aggiungiamo la voce di default
let parentOption = document.createElement("option");
parentOption.value = "PARENT";
const workaroundParent = document.querySelector("#ragione_sociale_parent");
if(workaroundParent) {
parentOption.text = workaroundParent.innerText;
} else {
parentOption.text = document.querySelector("#edit-form input[name=ragione_sociale]").value;
}
select.appendChild(parentOption);
// Aggiungiamo i raggruppamenti
for (let reg of raggruppamenti) {
let regOption = document.createElement("option");
regOption.value = reg.value;
let regName = reg.parentElement.querySelector("input[name$=\"[ragione_sociale]\"").value;
regOption.text = regName;
select.appendChild(regOption);
}
// Riselezioniamo se necessario
if(selected) {
let newSelected = select.querySelector(`option[value="${selected}"`);
if(newSelected) {
newSelected.selected = true;
}
}
}
document.querySelectorAll(".avvalimento-padre").forEach(el => {
onUpdate(el);
})
}
</script>