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
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>
|
|
|