Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5.
/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti. */ /*CAPITALIZE SEARCH*/ document.addEventListener("DOMContentLoaded", function () { const input = document.querySelector("#searchInput"); input.addEventListener("input", function () { const words = input.value.split(" ").map(word => { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }); const capitalized = words.join(" "); // Only update value if it's changed to avoid cursor jump if (input.value !== capitalized) { const cursorPos = input.selectionStart; input.value = capitalized; input.setSelectionRange(cursorPos, cursorPos); } }); }); /*FILTRO LISA NPC*/ (function($) { // debug rapido console.log("🔍 filtro NPC attivato – righe trovate:", $('#characterTable tr:has(td)').length); if ($('#characterTable tr:has(td)').length === 0) { console.warn("❗ characterTable tr:has(td) restituisce 0: controlla id/tabella"); return; } // 1) Raccogli i valori unici var razze = {}, luoghi = {}, sessioni = {}, statuses = {}; $('#characterTable tr:has(td)').each(function(){ var $c = $(this).children('td'), r = $.trim($c.eq(1).text()), l = $.trim($c.eq(3).text()), se = $.trim($c.eq(6).text()), file = ($c.eq(7).find('img').attr('src')||'').split('/').pop(); if(r) razze[r] = true; if(l) luoghi[l] = true; if(se) sessioni[se] = true; if(file) statuses[file]= true; }); // 2) Popola le select function popola(items, selId) { var $sel = $('#'+selId); Object.keys(items).sort().forEach(function(v){ $sel.append($('<option>').val(v).text(v)); }); } popola(razze, 'filter-razza'); popola(luoghi, 'filter-luogo'); popola(sessioni, 'filter-sessione'); popola(statuses, 'filter-status'); // 3) Filtro al change $('#filter-razza, #filter-luogo, #filter-sessione, #filter-status') .on('change', function(){ var fR = $('#filter-razza').val(), fL = $('#filter-luogo').val(), fS = $('#filter-sessione').val(), fSt= $('#filter-status').val(); $('#characterTable tr:has(td)').each(function(){ var $c = $(this).children('td'), r = $.trim($c.eq(1).text()), l = $.trim($c.eq(3).text()), se = $.trim($c.eq(6).text()), file = ($c.eq(7).find('img').attr('src')||'').split('/').pop(), match = (!fR || r===fR) && (!fL || l===fL) && (!fS || se===fS) && (!fSt || file===fSt); $(this).toggle(match); }); }); // 4) Reset button $('#filter-reset').on('click', function(){ var btn = $(this); btn.addClass('rotating'); // svuota tutte le select e riapplica il filtro $('#filter-razza, #filter-luogo, #filter-sessione, #filter-status') .val('').trigger('change'); // togli classe dopo l'animazione setTimeout(function(){ btn.removeClass('rotating'); }, 500); }); })(jQuery);