MediaWiki: Common.js: Perbedaan antara revisi
Dari GBI Danau Bogor Raya
kTidak ada ringkasan suntingan Tanda: Dikembalikan |
kTidak ada ringkasan suntingan Tanda: Dikembalikan |
||
| Baris 58: | Baris 58: | ||
// Pastikan kode berjalan setelah dependensi jQuery siap | // Pastikan kode berjalan setelah dependensi jQuery siap | ||
mw.loader.using(['jquery'], function() { | // Pastikan modul inti MediaWiki dan jQuery siap | ||
mw.loader.using(['jquery', 'mediawiki.util'], function() { | |||
$(document).ready(function() { | $(document).ready(function() { | ||
// | // Fungsi utama untuk merapikan ulang grid masonry | ||
function refreshActiveMasonry() { | |||
var $activeGrid = $('.tab-pane.active [data-masonry]'); | var $activeGrid = $('.tab-pane.active [data-masonry]'); | ||
if ($activeGrid.length > 0) { | if ($activeGrid.length > 0) { | ||
// | // Gunakan taktik pembungkus untuk memastikan gambar selesai dimuat sempurna | ||
$activeGrid.imagesLoaded().progress(function() { | |||
$activeGrid.masonry('layout'); | |||
}).done(function() { | |||
$activeGrid.masonry('layout'); | |||
$activeGrid. | }); | ||
} | } | ||
} | |||
// Pemicu 1: Saat tab Bootstrap skin Tweeki diklik dan selesai tampil | |||
$('a[data-toggle="tab"], button[data-bs-toggle="tab"]').on('shown.bs.tab', function() { | |||
refreshActiveMasonry(); | |||
}); | }); | ||
// Pemicu 2: Antisipasi jika DPL3 memuat konten secara asinkronus setelah halaman siap | |||
setTimeout(function() { | |||
refreshActiveMasonry(); | |||
}, 500); | |||
}); | }); | ||
Revisi per 30 Juni 2026 09.47
/* 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 kode berjalan setelah dependensi jQuery siap
// Pastikan modul inti MediaWiki dan jQuery siap
mw.loader.using(['jquery', 'mediawiki.util'], function() {
$(document).ready(function() {
// Fungsi utama untuk merapikan ulang grid masonry
function refreshActiveMasonry() {
var $activeGrid = $('.tab-pane.active [data-masonry]');
if ($activeGrid.length > 0) {
// Gunakan taktik pembungkus untuk memastikan gambar selesai dimuat sempurna
$activeGrid.imagesLoaded().progress(function() {
$activeGrid.masonry('layout');
}).done(function() {
$activeGrid.masonry('layout');
});
}
}
// Pemicu 1: Saat tab Bootstrap skin Tweeki diklik dan selesai tampil
$('a[data-toggle="tab"], button[data-bs-toggle="tab"]').on('shown.bs.tab', function() {
refreshActiveMasonry();
});
// Pemicu 2: Antisipasi jika DPL3 memuat konten secara asinkronus setelah halaman siap
setTimeout(function() {
refreshActiveMasonry();
}, 500);
});
});
$activeGrid.imagesLoaded(function() {
$activeGrid.masonry('layout');
});