Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 18: | Riga 18: | ||
} | } | ||
}); | }); | ||
}); | |||
console.log("🚀 filter script: Common.js caricato"); | |||
mw.loader.using(['mediawiki.util','jquery'], function($) { | |||
console.log("✅ filter script: jQuery pronto, righe trovate:", | |||
$('#characterTable tr:has(td)').length); | |||
// … qui tutto il resto del tuo script … | |||
}); | }); | ||
/*FILTRO PER LISA*/ | /*FILTRO PER LISA*/ | ||
mw.loader.using('jquery', function($){ | mw.loader.using('jquery', function($){ | ||
$(function(){ | $(function(){ |
Versione delle 08:58, 30 lug 2025
/* 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); } }); }); console.log("🚀 filter script: Common.js caricato"); mw.loader.using(['mediawiki.util','jquery'], function($) { console.log("✅ filter script: jQuery pronto, righe trovate:", $('#characterTable tr:has(td)').length); // … qui tutto il resto del tuo script … }); /*FILTRO PER LISA*/ mw.loader.using('jquery', function($){ $(function(){ var razze = {}, luoghi = {}, sessioni = {}, statuses = {}; // 1) Scorri tutte le righe che hanno <td> $('#characterTable tr:has(td)').each(function(){ var $c = $(this).children('td'); var r = $.trim($c.eq(1).text()); var l = $.trim($c.eq(3).text()); var se = $.trim($c.eq(6).text()); var src = $c.eq(7).find('img').attr('src') || ''; var file = src.split('/').pop(); // solo il nome del file if (r) razze[r] = true; if (l) luoghi[l] = true; if (se) sessioni[se] = true; if (file) statuses[file] = true; }); // 2) Funzione di aiuto per popolare le <select> function popola(items, sel) { var $sel = $('#'+sel); $.each(Object.keys(items).sort(), function(i,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) Applica i filtri al cambio di valore $('#filter-razza, #filter-luogo, #filter-sessione, #filter-status') .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'); var 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(); var ok = (!fR || r===fR) && (!fL || l===fL) && (!fS || se===fS) && (!fSt || file===fSt); $(this).toggle(ok); }); }); }); });