Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
| Baris 58: |
Baris 58: |
| return false; | | return false; |
| }); | | }); |
| });
| |
|
| |
|
| |
| /* Smart Glossary Pop-up (Pratinjau Link Ringan) */
| |
| $(document).ready(function() {
| |
| if (mw.config.get('wgIsArticle') && mw.config.get('wgAction') === 'view') {
| |
|
| |
| var timer;
| |
| // Targetkan link di dalam konten artikel saja
| |
| $('#mw-content-text a').on('mouseenter touchstart', function(e) {
| |
| var $link = $(this);
| |
| var title = $link.attr('title');
| |
|
| |
| // Jangan jalan kalau link-nya bukan artikel (misal link luar atau redlink)
| |
| if (!title || $link.hasClass('new') || $link.hasClass('external')) return;
| |
|
| |
| timer = setTimeout(function() {
| |
| $.getJSON(mw.util.wikiScript('api'), {
| |
| action: 'query',
| |
| prop: 'extracts',
| |
| exintro: true,
| |
| exsentences: 2, // Ambil 2 kalimat aja biar singkat
| |
| titles: title,
| |
| explaintext: true,
| |
| format: 'json'
| |
| }, function(data) {
| |
| var pages = data.query.pages;
| |
| var pageId = Object.keys(pages)[0];
| |
| var extract = pages[pageId].extract;
| |
|
| |
| if (extract) {
| |
| // Hapus pop-up lama kalau ada
| |
| $('.wiki-preview').remove();
| |
|
| |
| var preview = $('<div class="wiki-preview" style="position:absolute; background:#fff; color:#202122; border:1px solid #a2a9b1; padding:12px; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,0.2); z-index:10001; font-size:13px; max-width:250px; line-height:1.4; opacity:0; transition:opacity 0.3s ease;"></div>');
| |
| preview.text(extract);
| |
|
| |
| $('body').append(preview);
| |
|
| |
| // Atur posisi pop-up di deket link
| |
| var offset = $link.offset();
| |
| preview.css({
| |
| top: offset.top + 25,
| |
| left: Math.min(offset.left, $(window).width() - 270),
| |
| opacity: 1
| |
| });
| |
|
| |
| // Hilang kalau klik di mana aja atau setelah 5 detik
| |
| setTimeout(function() { $('.wiki-preview').fadeOut(function() { $(this).remove(); }); }, 5000);
| |
| }
| |
| });
| |
| }, 600); // Delay 0.6 detik biar gak ganggu kalau cuma scrolling lewat
| |
| }).on('mouseleave', function() {
| |
| clearTimeout(timer);
| |
| });
| |
|
| |
| $(document).on('mousedown touchstart', function() {
| |
| $('.wiki-preview').remove();
| |
| });
| |
| }
| |
| }); | | }); |
|
| |
|
| Baris 124: |
Baris 64: |
| $('a.external').click(function(e) { | | $('a.external').click(function(e) { |
| var url = $(this).attr('href'); | | var url = $(this).attr('href'); |
| if (!confirm('Anda akan meninggalkan Mippedia menuju situs luar:\n' + url + '\n\nLanjutkan?')) { | | if (!confirm('Anda akan meninggalkan Mippedia menuju situs luar :\n' + url + '\n\nLanjutkan?')) { |
| e.preventDefault(); | | e.preventDefault(); |
| } | | } |