MediaWiki:Common.js: Difference between revisions
Appearance
EkramHossen (talk | contribs) No edit summary |
EkramHossen (talk | contribs) No edit summary Tag: Reverted |
||
Line 58: | Line 58: | ||
} | } | ||
} | } | ||
}); | |||
}); | |||
mw.loader.using('mediawiki.api', function () { | |||
$(document).ready(function () { | |||
// Override default search suggestions | |||
var $searchInput = $('#searchInput'); | |||
$searchInput.on('input', function () { | |||
var query = $searchInput.val(); | |||
if (query.length < 2) return; | |||
new mw.Api().get({ | |||
action: 'query', | |||
generator: 'prefixsearch', | |||
gpssearch: query, | |||
gpsnamespace: 0, | |||
gpslimit: 5, | |||
prop: 'pageimages', | |||
piprop: 'thumbnail', | |||
pithumbsize: 50, | |||
format: 'json' | |||
}).done(function (data) { | |||
var $resultsBox = $('#searchResultsBox'); | |||
if ($resultsBox.length === 0) { | |||
$resultsBox = $('<div id="searchResultsBox"></div>').css({ | |||
'position': 'absolute', | |||
'background': '#fff', | |||
'border': '1px solid #ccc', | |||
'z-index': 1000, | |||
'width': $searchInput.outerWidth() | |||
}).insertAfter($searchInput); | |||
} | |||
$resultsBox.empty(); | |||
if (data.query && data.query.pages) { | |||
var pages = Object.values(data.query.pages); | |||
pages.forEach(function (page) { | |||
var thumb = page.thumbnail ? page.thumbnail.source : 'https://upload.wikimedia.org/wikipedia/commons/6/65/No-Image-Placeholder.svg'; | |||
var $item = $('<div></div>').css({ | |||
'display': 'flex', | |||
'align-items': 'center', | |||
'padding': '5px', | |||
'cursor': 'pointer' | |||
}); | |||
var $img = $('<img>').attr('src', thumb).css({ | |||
'width': '40px', | |||
'height': '40px', | |||
'margin-right': '8px', | |||
'object-fit': 'cover' | |||
}); | |||
var $title = $('<span></span>').text(page.title); | |||
$item.append($img).append($title); | |||
$item.on('click', function () { | |||
window.location.href = mw.util.getUrl(page.title); | |||
}); | |||
$resultsBox.append($item); | |||
}); | |||
} | |||
}); | |||
}); | |||
// Hide results when clicking outside | |||
$(document).on('click', function (e) { | |||
if (!$(e.target).closest('#searchInput, #searchResultsBox').length) { | |||
$('#searchResultsBox').remove(); | |||
} | |||
}); | |||
}); | }); | ||
}); | }); |
Revision as of 00:05, 27 August 2025
var script = document.createElement("script"); script.setAttribute("async", ""); script.src = "https://www.googletagmanager.com/gtag/js?id=G-7H19MR0RZG"; document.head.appendChild(script); window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-7H19MR0RZG'); // Recently Added Profiles Widget mw.loader.using('mediawiki.api').then(function () { var api = new mw.Api(); api.get({ action: 'query', list: 'recentchanges', rcnamespace: 0, // Main namespace only rctype: 'new', rclimit: 5, rcprop: 'title|timestamp', format: 'json' }).done(function (data) { var container = document.getElementById('recent-pages'); if (!container) return; var html = '<ul>'; data.query.recentchanges.forEach(function (page) { var title = page.title; var url = mw.util.getUrl(title); html += '<li><a href="' + url + '">' + title + '</a></li>'; }); html += '</ul>'; container.innerHTML = html; }).fail(function () { var container = document.getElementById('recent-pages'); if (container) { container.innerHTML = 'Unable to load recent pages.'; } }); }); mw.loader.using('jquery', function () { $(function () { if (!$('#promo-banner').length) { var promoContainer = $('<div id="promo-banner-container"></div>'); var promo = $('<div id="promo-banner">Want to rank your website at the top of Google? Or need expert SEO services to boost your business? <br>🚀 <a href="https://www.upwork.com/freelancers/eliteseoexpert" target="_blank">Hire me on Upwork</a> now and let’s grow your traffic!</div>'); promoContainer.append(promo); // Add it right under the header in Vector 2022 var headerArea = $('.vector-header-container'); if (headerArea.length) { headerArea.after(promoContainer); } } }); }); mw.loader.using('mediawiki.api', function () { $(document).ready(function () { // Override default search suggestions var $searchInput = $('#searchInput'); $searchInput.on('input', function () { var query = $searchInput.val(); if (query.length < 2) return; new mw.Api().get({ action: 'query', generator: 'prefixsearch', gpssearch: query, gpsnamespace: 0, gpslimit: 5, prop: 'pageimages', piprop: 'thumbnail', pithumbsize: 50, format: 'json' }).done(function (data) { var $resultsBox = $('#searchResultsBox'); if ($resultsBox.length === 0) { $resultsBox = $('<div id="searchResultsBox"></div>').css({ 'position': 'absolute', 'background': '#fff', 'border': '1px solid #ccc', 'z-index': 1000, 'width': $searchInput.outerWidth() }).insertAfter($searchInput); } $resultsBox.empty(); if (data.query && data.query.pages) { var pages = Object.values(data.query.pages); pages.forEach(function (page) { var thumb = page.thumbnail ? page.thumbnail.source : 'https://upload.wikimedia.org/wikipedia/commons/6/65/No-Image-Placeholder.svg'; var $item = $('<div></div>').css({ 'display': 'flex', 'align-items': 'center', 'padding': '5px', 'cursor': 'pointer' }); var $img = $('<img>').attr('src', thumb).css({ 'width': '40px', 'height': '40px', 'margin-right': '8px', 'object-fit': 'cover' }); var $title = $('<span></span>').text(page.title); $item.append($img).append($title); $item.on('click', function () { window.location.href = mw.util.getUrl(page.title); }); $resultsBox.append($item); }); } }); }); // Hide results when clicking outside $(document).on('click', function (e) { if (!$(e.target).closest('#searchInput, #searchResultsBox').length) { $('#searchResultsBox').remove(); } }); }); });