MediaWiki:Common.js: Perbedaan antara revisi
Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
||
| Baris 613: | Baris 613: | ||
/* ========================================================== | /* ========================================================== | ||
⏳ MIPPEDIA DATA - TIMELINE KRONOLOGI (FROM INFOBOX) | |||
Menyusun sejarah entitas dari data tabel Mippedia Data | |||
========================================================== */ | ========================================================== */ | ||
(function() { | (function() { | ||
$(document).ready(function() { | $(document).ready(function() { | ||
var | var events = []; | ||
// Ambil data dari baris infobox atau tabel data | |||
$('.infobox tr, .wikitable tr, .mip-data-table tr').each(function() { | |||
var label = $(this).find('th').text().trim().replace(':', ''); | |||
var value = $(this).find('td').text().trim(); | |||
// Cari angka tahun (19xx atau 20xx) di dalam kolom data | |||
var yearMatch = value.match(/\b(19|20)\d{2}\b/); | |||
if (yearMatch && label) { | |||
events.push({ | |||
year: yearMatch[0], | |||
label: label, | |||
fullInfo: value | |||
}); | |||
} | |||
}); | |||
// | // Urutkan kronologi | ||
events.sort((a, b) => a.year - b.year); | |||
if (events.length > 0) { | |||
var $timelineSection = $('<div id="mip-timeline-section">').css({ | |||
'margin': '20px 0', 'padding': '15px', 'background': '#fff', | |||
'border': '1px solid #eee', 'border-radius': '10px', 'box-shadow': '0 2px 8px rgba(0,0,0,0.05)' | |||
}); | |||
$timelineSection.append('<div style="font-weight:bold; color:#333; margin-bottom:15px; border-bottom:2px solid #6a5acd; display:inline-block;">⏳ Kronologi Data</div>'); | |||
var $wrapper = $('<div style="border-left: 2px solid #6a5acd; margin-left: 10px; padding-left: 20px;"></div>'); | |||
events.forEach(function(ev) { | |||
var $node = $('<div style="position:relative; margin-bottom:15px;">'); | |||
$node.append('<div style="position:absolute; left:-27px; top:4px; width:10px; height:10px; background:#6a5acd; border-radius:50%; border:3px solid #fff; box-shadow:0 0 0 2px #6a5acd;"></div>'); | |||
$node.append('<div style="font-weight:bold; color:#6a5acd; font-size:0.95em;">' + ev.year + '</div>'); | |||
$node.append('<div style="font-size:0.85em; color:#555;"><strong>' + ev.label + ':</strong> ' + ev.fullInfo + '</div>'); | |||
$wrapper.append($node); | |||
}); | }); | ||
$timelineSection.append($wrapper); | |||
// Masukkan ke bagian paling bawah konten Mippedia Data | |||
$('#mw-content-text').append($timelineSection); | |||
} | |||
} | |||
}); | }); | ||
})(); | })(); | ||