MediaWiki:Common.js: Difference between revisions

From MalveraWiki
No edit summary
Tag: Reverted
Undo revision 3384 by Niebieski (talk)
Tag: Undo
Line 18: Line 18:
             var rows = rowsStr.split(';');
             var rows = rowsStr.split(';');


            // Tworzymy kontener
             var $tableContainer = $('<div class="tooltip-table-container"></div>');
             var $tableContainer = $('<div class="tooltip-table-container"></div>');


            // Nagłówek w <small>
             if (header) {
             if (header) {
                 $tableContainer.append('<div class="tooltip-table-header"><small>' + header + '</small></div>');
                 $tableContainer.append('<div class="tooltip-table-header">'+header+'</div>');
             }
             }


            // Tabela w <small>
             var $table = $('<table class="wikitable sortable"></table>');
             var $table = $('<table class="wikitable sortable"><small></small></table>');
            var $small = $table.find('small');
 
             $table.append('<thead><tr><th>Amount</th><th>Chance</th></tr></thead>');
             $table.append('<thead><tr><th>Amount</th><th>Chance</th></tr></thead>');
             var $tbody = $('<tbody></tbody>');
             var $tbody = $('<tbody></tbody>');
Line 37: Line 32:
                 if (cols.length < 2) return;
                 if (cols.length < 2) return;
                 var $tr = $('<tr></tr>');
                 var $tr = $('<tr></tr>');
                 cols.forEach(function(c){
                 cols.forEach(function(c){ $tr.append('<td>'+c.trim()+'</td>'); });
                    $tr.append('<td>'+c.trim()+'</td>');
                });
                 $tbody.append($tr);
                 $tbody.append($tr);
             });
             });


             $table.append($tbody);
             $table.append($tbody);
            $small.append($table.contents()); // przenosimy całą tabelę do <small>
             $tableContainer.append($table);
             $tableContainer.append($table);
             $tooltip.append($tableContainer);
             $tooltip.append($tableContainer);

Revision as of 20:04, 2 February 2026

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');
        if (!tablesStr) return;

        var tables = tablesStr.split('##'); // separator między tabelami
        var $tooltip = $wrapper.find('.custom-tooltip').empty();

        tables.forEach(function(tableDef) {
            var parts = tableDef.split('{{!}}'); // separator nagłówek | wiersze
            if (parts.length < 2) return;

            var header = parts[0].trim();
            var rowsStr = parts[1].trim();
            if (!rowsStr) return;

            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></tr></thead>');
            var $tbody = $('<tbody></tbody>');

            rows.forEach(function(row) {
                var cols = row.split(',');
                if (cols.length < 2) return;
                var $tr = $('<tr></tr>');
                cols.forEach(function(c){ $tr.append('<td>'+c.trim()+'</td>'); });
                $tbody.append($tr);
            });

            $table.append($tbody);
            $tableContainer.append($table);
            $tooltip.append($tableContainer);
        });
    });
});