window.onbeforeunload = () => { window.scrollTo(0, 0); } setPlayerCount = (factionId, value) => { if (factionId == -1) { document.getElementById('player-count').innerHTML = value; addTableSorting(); } else if (factionId >= 0 && factionId <= 9) { document.getElementById(factionId).innerHTML = value; } } function getFactionNameByFactionId(factionId) { switch (parseInt(factionId)) { case 1: return "LSPD"; case 2: return "LSED"; case 3: return "FIB"; case 4: return "Trucker"; case 5: return "Vagos"; case 7: return "Grove Street"; case 8: return "Ballas"; case 9: return "Weazel News"; default: return "Zivilisten"; } } function addPlayerEntry(userId, userName, factionId, userPing) { var factionName = getFactionNameByFactionId(factionId); document.getElementById('players').innerHTML += `${userId} ${userName} ${factionName} ${userPing}`; } // https://www.jstips.co/en/javascript/detect-document-ready-in-pure-js/ document.onreadystatechange = () => { if (document.readyState === 'complete') { mp.trigger('CEF:PlayerList_Loaded'); } }; // Sortierung von https://codepen.io/selbekk/pen/LNOZKL function addTableSorting() { const headers = Array.from(document.querySelectorAll('th')); const rows = Array.from(document.querySelectorAll('tbody tr')); function sort(e) { const index = headers.indexOf(e.target); const sortVal = e.target.classList.contains('is-asc') ? 1 : -1; rows.sort((a, b) => { const aValue = a.children[index].innerHTML; const bValue = b.children[index].innerHTML; if(aValue > bValue) { return sortVal; } if(aValue < bValue) { return -sortVal; } return 0; }) e.target.classList.add('is-sorted'); e.target.classList.toggle('is-asc'); const body = document.querySelector('tbody'); body.innerHTML = ''; rows.forEach(row => body.appendChild(row)); } headers.forEach(header => header.addEventListener('click', sort)); }