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 608: | Baris 608: | ||
$('#mip-desc-section').after($mapWrapper); | $('#mip-desc-section').after($mapWrapper); | ||
} | } | ||
} | |||
}); | |||
})(); | |||
/* ========================================================== | |||
⏳ MIPPEDIA DATA - ENTITY HISTORY TIMELINE | |||
Otomatis menyusun kronologi berdasarkan tahun di tabel data | |||
========================================================== */ | |||
(function() { | |||
$(document).ready(function() { | |||
var events = []; | |||
// Ambil data dari tabel (Infobox atau Wikitable) | |||
$('.infobox tr, .wikitable tr').each(function() { | |||
var label = $(this).find('th').text().trim(); | |||
var value = $(this).find('td').text().trim(); | |||
// Cari angka tahun (19xx atau 20xx) | |||
var yearMatch = value.match(/\b(19|20)\d{2}\b/); | |||
if (yearMatch && label) { | |||
events.push({ | |||
year: yearMatch[0], | |||
desc: label.replace(':', '') + ': ' + value | |||
}); | |||
} | |||
}); | |||
// Urutkan tahun dari yang terkecil | |||
events.sort((a, b) => a.year - b.year); | |||
if (events.length > 0) { | |||
var $timelineBox = $('<div>').css({ | |||
'margin-top': '30px', | |||
'padding': '20px', | |||
'background': '#fdfdfd', | |||
'border': '1px solid #eee', | |||
'border-radius': '12px' | |||
}); | |||
$timelineBox.append('<h3 style="margin-top:0; font-size:1.1em; color:#333; border-bottom:2px solid #6a5acd; display:inline-block;">⏳ Garis Waktu Entitas</h3>'); | |||
var $list = $('<div style="margin-top:15px; border-left: 2px solid #6a5acd; padding-left: 20px; margin-left: 10px;"></div>'); | |||
events.forEach(function(ev) { | |||
var $item = $('<div style="position:relative; margin-bottom:15px;"></div>'); | |||
$item.append('<div style="position:absolute; left:-27px; top:5px; width:12px; height:12px; background:#6a5acd; border-radius:50%; border:3px solid #fff;"></div>'); | |||
$item.append('<strong style="color:#6a5acd; display:block; font-size:1em;">' + ev.year + '</strong>'); | |||
$item.append('<span style="font-size:0.9em; color:#555;">' + ev.desc + '</span>'); | |||
$list.append($item); | |||
}); | |||
$timelineBox.append($list); | |||
// Masukkan setelah bagian deskripsi atau di akhir konten | |||
$('#mw-content-text').append($timelineBox); | |||
} | } | ||
}); | }); | ||
})(); | })(); | ||