MediaWiki:Common.js: Difference between revisions
From MalveraWiki
No edit summary |
No edit summary |
||
| Line 22: | Line 22: | ||
var $table = $('<table class="wikitable sortable"></table>'); | var $table = $('<table class="wikitable sortable"></table>'); | ||
$table.append('<thead><tr><th>Amount</th><th>Chance</th> | $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); | |||
}); | |||
}); | |||
}); | |||
Revision as of 19:24, 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></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);
});
});
});
