fixed mapping template

This commit is contained in:
Claudio 2026-02-05 09:05:51 +01:00
parent a8330d4aba
commit 9fe9243e60

View File

@ -665,6 +665,61 @@ $xlsHeaders = $template['xls_headers'] ? json_decode($template['xls_headers'], t
loadDropdownsWithOverlay();
// =======================
// SAVE: SceltaMultipla dropdown (Select2-safe)
// =======================
// 1) listener nativo a livello document (più robusto del delegation su tbody)
document.addEventListener('change', function(event) {
const el = event.target;
if (!(el && el.matches && el.matches('select.manual-default.dropdown-select'))) return;
const tr = el.closest('tr');
const mappingId =
el.getAttribute('data-id') ||
tr?.querySelector('.mapping-select')?.getAttribute('data-id');
const xlsSelect = tr?.querySelector('.xls-columns');
console.log('[SceltaMultipla change] saving', {
mappingId,
value: el.value
});
if (!mappingId) {
console.error('❌ Missing mappingId for SceltaMultipla dropdown');
return;
}
saveMapping(mappingId, 'manual', el.value, xlsSelect ? xlsSelect.value : null);
});
// 2) eventi Select2 (quando Select2 “mangia” il change)
if (window.jQuery) {
$(document).on('select2:select select2:clear', 'select.manual-default.dropdown-select', function() {
const el = this;
const tr = el.closest('tr');
const mappingId =
el.getAttribute('data-id') ||
tr?.querySelector('.mapping-select')?.getAttribute('data-id');
const xlsSelect = tr?.querySelector('.xls-columns');
console.log('[SceltaMultipla select2] saving', {
mappingId,
value: el.value
});
if (!mappingId) {
console.error('❌ Missing mappingId for SceltaMultipla dropdown (select2)');
return;
}
saveMapping(mappingId, 'manual', el.value, xlsSelect ? xlsSelect.value : null);
});
}
async function loadClientAndSchemaNames() {
if (<?php echo json_encode($template['idclient'] ?? 0); ?> > 0) {
let response = await fetch(`get_clienti.php?id=<?php echo $template['idclient']; ?>`);