brouillon7
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| brouillon7 [2026/04/22 20:04] – nanaki | brouillon7 [2026/04/22 20:07] (Version actuelle) – nanaki | ||
|---|---|---|---|
| Ligne 210: | Ligne 210: | ||
| < | < | ||
| - | /* ===================== POINTS ===================== */ | + | let max = 15; |
| - | let skills = document.querySelectorAll(" | + | |
| - | let counter | + | |
| - | skills.forEach(s => { | + | document.querySelectorAll(" |
| - | s.addEventListener(" | + | cb.addEventListener(" |
| - | let total = 0; | + | let total = document.querySelectorAll(".skill:checked").length; |
| - | skills.forEach(c => { if(c.checked) | + | if(total > max){ cb.checked = false; return; } |
| - | + | points.innerText | |
| - | if(total > 15){ | + | |
| - | s.checked = false; | + | |
| - | return; | + | |
| - | } | + | |
| - | counter.textContent | + | |
| }); | }); | ||
| }); | }); | ||
| - | /* ===================== FILTRE + RECHERCHE ===================== */ | + | function |
| - | let filter | + | let e = filterEffect.value; |
| - | let search | + | let t = filterType.value; |
| - | + | let s = search.value.toLowerCase(); | |
| - | function applyFilters(){ | + | |
| - | + | ||
| - | let val = filter.value; | + | |
| - | let query = search.value.toLowerCase(); | + | |
| - | + | ||
| - | document.querySelectorAll("# | + | |
| - | + | ||
| - | let text = row.innerText.toLowerCase(); | + | |
| - | let effect = row.dataset.effect || ""; | + | |
| - | + | ||
| - | let matchFilter = | + | |
| - | (val === " | + | |
| - | + | ||
| - | let matchSearch = | + | |
| - | (text.includes(query)); | + | |
| - | + | ||
| - | row.style.display = | + | |
| - | (matchFilter && matchSearch) ? "" | + | |
| + | document.querySelectorAll("# | ||
| + | let txt = r.innerText.toLowerCase(); | ||
| + | let ok = (e==" | ||
| + | && (t==" | ||
| + | && txt.includes(s); | ||
| + | r.style.display = ok ? "" | ||
| }); | }); | ||
| - | |||
| } | } | ||
| - | filter.addEventListener(" | + | filterEffect.onchange |
| - | search.addEventListener(" | + | filterType.onchange |
| - | + | search.oninput | |
| - | /* ===================== TRI COLONNES ===================== */ | + | |
| - | document.querySelectorAll("# | + | |
| - | + | ||
| - | let asc = true; | + | |
| - | + | ||
| - | header.addEventListener(" | + | |
| - | + | ||
| - | let rows = Array.from(document.querySelectorAll("# | + | |
| - | + | ||
| - | rows.sort((a, b) => { | + | |
| - | + | ||
| - | let A = a.children[index].innerText.trim(); | + | |
| - | let B = b.children[index].innerText.trim(); | + | |
| - | + | ||
| - | let numA = parseFloat(A); | + | |
| - | let numB = parseFloat(B); | + | |
| - | + | ||
| - | if(!isNaN(numA) && !isNaN(numB)){ | + | |
| - | return asc ? numA - numB : numB - numA; | + | |
| - | } | + | |
| - | + | ||
| - | return asc | + | |
| - | ? A.localeCompare(B, | + | |
| - | : B.localeCompare(A, | + | |
| - | + | ||
| - | }); | + | |
| - | + | ||
| - | asc = !asc; | + | |
| - | + | ||
| - | let tbody = document.querySelector("# | + | |
| - | rows.forEach(row => tbody.appendChild(row)); | + | |
| - | + | ||
| - | }); | + | |
| - | + | ||
| - | }); | + | |
| - | + | ||
| - | /* ===================== HIGHLIGHT CHECKBOX ===================== */ | + | |
| - | skills.forEach(cb => { | + | |
| - | cb.addEventListener(" | + | |
| - | cb.closest(" | + | |
| - | }); | + | |
| - | }); | + | |
| </ | </ | ||
| </ | </ | ||
brouillon7.1776881097.txt.gz · Dernière modification : 2026/04/22 20:04 de nanaki
