From 9fe9243e60994a0255fba7aac4176e856aa33495 Mon Sep 17 00:00:00 2001 From: solocla Date: Thu, 5 Feb 2026 09:05:51 +0100 Subject: [PATCH] fixed mapping template --- .../userarea/mapping_template_xls_scheme2.php | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/public/userarea/mapping_template_xls_scheme2.php b/public/userarea/mapping_template_xls_scheme2.php index 145e76d..e1e91d8 100644 --- a/public/userarea/mapping_template_xls_scheme2.php +++ b/public/userarea/mapping_template_xls_scheme2.php @@ -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 ( > 0) { let response = await fetch(`get_clienti.php?id=`);