MediaWiki:Common.js
Dari GBI Danau Bogor Raya
Catatan: Setelah menerbitkan, Anda mungkin perlu melewati tembolok peramban web Anda untuk melihat perubahan.
- Firefox/Safari: Tekan dan tahan Shift sembari mengeklik Reload, atau tekan Ctrl-F5 atau Ctrl-R (⌘-R di Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R di Mac)
- Edge: Tahan Ctrl sembari mengeklik Refresh, atau tekan Ctrl-F5
/* JavaScript yang ada di sini akan diterapkan untuk semua kulit. */
/* Code dari MediaWiki:Common.js sebagian besar dipindahkan ke MediaWiki_Talk:Common.js sejak 11 Oktober 2022 */
$(document).ready(function() {
$('.carousel').carousel();
});
$(document).ready(function() {
$('#myCarousel').carousel();
});
/*
$('button').click(function(){ //you can give id or class name here for $('button')
$(this).text(function(i,old){
return old=='+' ? '-' : '+';
});
});
*/
/* Didapat dari:
https://stackoverflow.com/questions/23101966/bootstrap-alert-auto-close
Menggunakan id="success-alert"
*/
$("#alert-hideable").fadeTo(10000, 500).slideUp(500, function(){
$("#alert-hideable").slideUp(500);
});
$("#alert-hideable-1").fadeTo(10000, 500).slideUp(500, function(){
$("#alert-hideable-1").slideUp(500);
});
$("#alert-hideable-2").fadeTo(10000, 500).slideUp(500, function(){
$("#alert-hideable-2").slideUp(500);
});
var one = document.querySelector("#sidebar-right");
var children = document.querySelector(".catlinks").children;
Array.prototype.forEach.call(children, function (child) {
one.appendChild(child);
});
// Optimize LCP image: remove lazy loading and set high fetch priority
mw.hook('wikipage.content').add(function() {
var firstImg = document.querySelector('#mw-content-text img');
if (firstImg) {
firstImg.loading = 'eager';
firstImg.fetchPriority = 'high';
}
});
// Pastikan library core MediaWiki dan jQuery sudah siap
mw.loader.using(['javascript.util', 'jquery']).then(function () {
$(document).ready(function () {
// Memantau event ketika elemen collapse Bootstrap selesai terbuka sempurna
$(document).on('shown.bs.collapse', '.collapse', function () {
// Targetkan row yang memiliki atribut data-masonry sesuai template Anda
var $grid = $('.row[data-masonry]');
// Berikan delay kecil (300ms) untuk memastikan transisi menu/collapse selesai
// dan tinggi elemen yang di-expand sudah maksimal saat dihitung ulang
setTimeout(function() {
// Cek inisialisasi lewat metode jQuery
if ($grid.data('masonry')) {
$grid.masonry('layout');
}
// Jika auto-init via data-attribute, gunakan window.Masonry untuk memicu layout ulang
else if (typeof Masonry !== 'undefined') {
$grid.each(function() {
var msnry = Masonry.data(this);
if (msnry) {
msnry.layout();
}
});
}
}, 300);
});
});
});
$activeGrid.imagesLoaded(function() {
$activeGrid.masonry('layout');
});
$('.collapse').on('shown.bs.collapse', function () {
var $grid = $('.grid');
// Berikan delay kecil (misal 200ms) agar transisi selesai & gambar mulai ter-render
setTimeout(function() {
if ($grid.data('masonry')) {
$grid.masonry('layout');
}
}, 200);
});