MediaWiki:Common.js: Difference between revisions

Jump to navigation Jump to search
(error catcher)
Tag: Reverted
(temp removed code until I get it working)
Tags: Replaced Manual revert
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
document.addEventListener("DOMContentLoaded", function() {
    try {
        var table = document.querySelector('.edit-leaderboard');  // Select the table with the specific class
        if (!table) {
            console.log('Table not found.');
            return;
        }
       
        var rows = Array.from(table.querySelectorAll('tr:not(:first-child)'));
        if (rows.length === 0) {
            console.log('No rows found.');
            return;
        }
        console.log('Rows found:', rows.length);
        // Sort rows by the edit count (column index 2)
        rows.sort(function(rowA, rowB) {
            var editA = parseInt(rowA.cells[2].textContent.trim(), 10);
            var editB = parseInt(rowB.cells[2].textContent.trim(), 10);
            console.log('Edit counts:', editA, editB);
            return editB - editA;  // Sort descending by edit count
        });
        // Assign ranks after sorting
        var currentRank = 1;
        rows.forEach(function(row, index) {
            var prevEdit = index > 0 ? parseInt(rows[index - 1].cells[2].textContent.trim(), 10) : null;
            var currentEdit = parseInt(row.cells[2].textContent.trim(), 10);
            console.log('Current edit count:', currentEdit, 'Previous edit count:', prevEdit);
            // Handle ties: if the current edit count is the same as the previous one, keep the same rank
            if (prevEdit !== null && prevEdit === currentEdit) {
                row.cells[0].textContent = currentRank;  // Set the rank in the first column
            } else {
                row.cells[0].textContent = currentRank;
                currentRank = index + 1;  // Update rank for the next user
            }
            console.log('Rank assigned:', row.cells[0].textContent);
            table.appendChild(row);  // Re-add the sorted row to the table
        });
    } catch (error) {
        console.error('An error occurred:', error);
    }
});

Revision as of 03:33, 14 October 2024

/* Any JavaScript here will be loaded for all users on every page load. */