MediaWiki:Common.js: Difference between revisions
From MalveraWiki
No edit summary |
No edit summary Tag: Reverted |
||
| 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">'+header+'</div>'); | $tableContainer.append('<div class="tooltip-table-header"><small>' + header + '</small></div>'); | ||
} | } | ||
var $table = $('<table class="wikitable sortable"></table>'); | // Tabela w <small> | ||
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 32: | Line 37: | ||
if (cols.length < 2) return; | if (cols.length < 2) return; | ||
var $tr = $('<tr></tr>'); | var $tr = $('<tr></tr>'); | ||
cols.forEach(function(c){ $tr.append('<td>'+c.trim()+'</td>'); }); | cols.forEach(function(c){ | ||
$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:02, 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(';');
// Tworzymy kontener
var $tableContainer = $('<div class="tooltip-table-container"></div>');
// Nagłówek w <small>
if (header) {
$tableContainer.append('<div class="tooltip-table-header"><small>' + header + '</small></div>');
}
// Tabela w <small>
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>');
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);
$small.append($table.contents()); // przenosimy całą tabelę do <small>
$tableContainer.append($table);
$tooltip.append($tableContainer);
});
});
});
