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 1.262: | Baris 1.262: | ||
}); | }); | ||
/* ========================================================== | |||
🚀 MIPPEDIA DATA BUTTON ONLY (Otomatis) | |||
Hanya memunculkan tombol jika data tersedia di pusat. | |||
========================================================== */ | |||
$(document).ready(function() { | $(document).ready(function() { | ||
var pageName = mw.config.get('wgPageName'); | var pageName = mw.config.get('wgPageName'); | ||
var namespace = mw.config.get('wgNamespaceNumber'); | var namespace = mw.config.get('wgNamespaceNumber'); | ||
var dataDomain = 'https://data.mippedia.org'; | var dataDomain = 'https://data.mippedia.org'; | ||
if (namespace === 0 | // Jalankan hanya di namespace artikel | ||
if (namespace === 0) { | |||
// Cek apakah halaman tersebut ada di Mippedia Data | |||
$.ajax({ | $.ajax({ | ||
url: dataDomain + '/api.php', | url: dataDomain + '/api.php', | ||
data: { action: ' | data: { | ||
action: 'query', | |||
titles: pageName, | |||
format: 'json', | |||
origin: '*' | |||
}, | |||
dataType: 'jsonp', | dataType: 'jsonp', | ||
success: function( | success: function(res) { | ||
var pages = res.query.pages; | |||
var isExist = false; | |||
// Cek apakah ID halaman > 0 (artinya halaman ada) | |||
for (var id in pages) { | |||
if (parseInt(id) > 0) { | |||
isExist = true; | |||
break; | |||
} | |||
} | |||
// Jika data ditemukan, munculkan tombol melayang | |||
if (isExist) { | |||
injectFloatingDataBtn(pageName, dataDomain); | |||
} | } | ||
} | } | ||
| Baris 1.325: | Baris 1.303: | ||
} | } | ||
function injectFloatingDataBtn(name) { | function injectFloatingDataBtn(name, domain) { | ||
if ($('#mippedia-data-btn').length) return; | if ($('#mippedia-data-btn').length) return; | ||
var $btn = $('<a>', { | var $btn = $('<a>', { | ||
id: 'mippedia-data-btn', | id: 'mippedia-data-btn', | ||
href: | href: domain + '/wiki/' + encodeURIComponent(name), | ||
target: '_blank', | target: '_blank', | ||
style: 'position: absolute; right: 10px; top: - | style: 'position: absolute; right: 10px; top: -32px; background: #36c; color: #fff; padding: 4px 10px; border-radius: 4px; font-weight: bold; font-size: 10px; text-decoration: none; z-index: 1000; box-shadow: 0 2px 4px rgba(0,0,0,0.1);', | ||
text: 'DATA' | text: 'DATA' | ||
}); | }); | ||
var $target = $('.page-actions-menu, .mw-editsection-visualeditor, #ca-edit'); | |||
// Target: Area menu aksi (dekat ikon pensil) | |||
// Mendukung skin Mobile (Minerva) dan Desktop | |||
var $target = $('.page-actions-menu, .mw-editsection-visualeditor, #ca-edit, .minerva__tab-container').first(); | |||
if ($target.length) { | if ($target.length) { | ||
$target. | $target.css('position', 'relative').append($btn); | ||
} else { | |||
// Fallback jika header tidak standar | |||
$('#firstHeading').css('position', 'relative').append($btn); | |||
} | } | ||
} | } | ||
}); | }); | ||