MediaWiki:Common.js: Difference between revisions
From MalveraWiki
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
mw.hook('wikipage.content').add(function ($content) { | mw.hook('wikipage.content').add(function ($content) { | ||
$content.find('.tooltip-wrapper[data-tooltip-tables] | $content.find('.tooltip-wrapper[data-tooltip-tables]').each(function () { | ||
var $ | var $wrapper = $(this); | ||
var tablesStr = $wrapper.data('tooltip-tables'); | var tablesStr = $wrapper.data('tooltip-tables'); | ||
if (!tablesStr) return; | if (!tablesStr) return; | ||
var $tooltip = $wrapper.find('.custom-tooltip').empty(); | |||
// 1️⃣ Dodaj grafikę i nazwę przedmiotu | |||
var itemImage = $wrapper.data('tooltip-image'); // np. "File:Crown.png" | |||
var itemName = $wrapper.data('tooltip-name'); // np. "Crown" | |||
if (itemImage) { | |||
var $img = $('<div style="text-align:center;margin-bottom:4px;">' + | |||
'<img src="/images/' + itemImage + '" style="max-width:64px;display:block;margin:0 auto;">' + | |||
'</div>'); | |||
$tooltip.append($img); | |||
} | |||
if (itemName) { | |||
var $name = $('<div style="text-align:center;font-weight:bold;margin-bottom:6px;">' + itemName + '</div>'); | |||
$tooltip.append($name); | |||
} | |||
// 2️⃣ Dodaj tabele | |||
var tables = tablesStr.split('##'); // separator między tabelami | var tables = tablesStr.split('##'); // separator między tabelami | ||
tables.forEach(function(tableDef) { | tables.forEach(function(tableDef) { | ||
Revision as of 20:52, 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 $tooltip = $wrapper.find('.custom-tooltip').empty();
// 1️⃣ Dodaj grafikę i nazwę przedmiotu
var itemImage = $wrapper.data('tooltip-image'); // np. "File:Crown.png"
var itemName = $wrapper.data('tooltip-name'); // np. "Crown"
if (itemImage) {
var $img = $('<div style="text-align:center;margin-bottom:4px;">' +
'<img src="/images/' + itemImage + '" style="max-width:64px;display:block;margin:0 auto;">' +
'</div>');
$tooltip.append($img);
}
if (itemName) {
var $name = $('<div style="text-align:center;font-weight:bold;margin-bottom:6px;">' + itemName + '</div>');
$tooltip.append($name);
}
// 2️⃣ Dodaj tabele
var tables = tablesStr.split('##'); // separator między tabelami
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);
});
});
});
