MediaWiki:Common.js: Difference between revisions

From MalveraWiki
No edit summary
No edit summary
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. */
mw.hook('wikipage.content').add(function ($content) {
mw.hook('wikipage.content').add(function ($content) {
     $content.find('.tooltip-wrapper[data-tooltip-rows]').each(function () {
     $content.find('.tooltip-wrapper[data-tooltip-tables]').each(function () {
         var $wrapper = $(this);
         var $wrapper = $(this);
         var rowsStr = $wrapper.data('tooltip-rows'); // "+1,50%;+2,30%;+3,20%"
         var tablesStr = $wrapper.data('tooltip-tables'); // np. "Nagłówek 1|+1,50%;+2,30%||Nagłówek 2|+A,10%;+B,20%"
         if (!rowsStr) return;
         if (!tablesStr) return;


         var rows = rowsStr.split(';'); // rozdzielamy wiersze
         var tables = tablesStr.split('||'); // rozdzielamy tabele
        var $tooltip = $wrapper.find('.custom-tooltip').empty();


         var table = $('<table class="wikitable sortable"></table>');
         tables.forEach(function(tableDef) {
        table.append('<thead><tr><th>Amount</th><th>Chance</th></tr></thead>');
            var parts = tableDef.split('|');
        var tbody = $('<tbody></tbody>');
            if (parts.length < 2) return;
            var header = parts[0].trim();
            var rowsStr = parts.slice(1).join('|'); // reszta to wiersze
            var rows = rowsStr.split(';');


        rows.forEach(function (row) {
             var $tableContainer = $('<div class="tooltip-table-container"></div>');
             var cols = row.split(',');
             if (header) {
            if (cols.length < 2) return;
                $tableContainer.append('<div class="tooltip-table-header">'+header+'</div>');
            var tr = $('<tr></tr>');
             }
             cols.forEach(function (c) { tr.append('<td>' + c.trim() + '</td>'); });
             tbody.append(tr);
        });


        table.append(tbody);
            var $table = $('<table class="wikitable sortable"></table>');
        $wrapper.find('.custom-tooltip').empty().append(table);
            $table.append('<thead><tr><th>Amount</th><th>Chance</th>
    });
});

Revision as of 19:22, 2 February 2026

/* Any JavaScript here will be loaded for all users on every page load. */
mw.hook('wikipage.content').add(function ($content) {
    $content.find('.tooltip-wrapper[data-tooltip-tables]').each(function () {
        var $wrapper = $(this);
        var tablesStr = $wrapper.data('tooltip-tables'); // np. "Nagłówek 1|+1,50%;+2,30%||Nagłówek 2|+A,10%;+B,20%"
        if (!tablesStr) return;

        var tables = tablesStr.split('||'); // rozdzielamy tabele
        var $tooltip = $wrapper.find('.custom-tooltip').empty();

        tables.forEach(function(tableDef) {
            var parts = tableDef.split('|'); 
            if (parts.length < 2) return;
            var header = parts[0].trim();
            var rowsStr = parts.slice(1).join('|'); // reszta to wiersze
            var rows = rowsStr.split(';');

            var $tableContainer = $('<div class="tooltip-table-container"></div>');
            if (header) {
                $tableContainer.append('<div class="tooltip-table-header">'+header+'</div>');
            }

            var $table = $('<table class="wikitable sortable"></table>');
            $table.append('<thead><tr><th>Amount</th><th>Chance</th>