Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(Created page with "→Any JavaScript here will be loaded for all users on every page load.: // Navi Copy JQuery Code by Kaddy! $('.navi-copy').each(function(index, element) { if ($("#...") |
|||
Line 32: | Line 32: | ||
document.execCommand('copy'); | document.execCommand('copy'); | ||
} | } | ||
+ | |||
+ | |||
+ | //Latest in Topic | ||
+ | mw.loader.using(['mediawiki.api','mediawiki.util']).then(function () { | ||
+ | function showLatestInCategory(el, catTitle) { | ||
+ | new mw.Api().get({ | ||
+ | action: 'query', | ||
+ | list: 'categorymembers', | ||
+ | cmtitle: 'Category:' + catTitle, | ||
+ | cmprop: 'title|timestamp', | ||
+ | cmsort: 'timestamp', // newest added to category | ||
+ | cmdir: 'desc', | ||
+ | cmlimit: 1, | ||
+ | formatversion: 2 | ||
+ | }).done(function (data) { | ||
+ | var item = data?.query?.categorymembers?.[0]; | ||
+ | if (!item) { el.textContent = 'No pages in category.'; return; } | ||
+ | el.innerHTML = '<a href="' + mw.util.getUrl(item.title) + '">' + | ||
+ | mw.html.escape(item.title) + '</a>'; | ||
+ | }).fail(function () { el.textContent = 'Failed to load.'; }); | ||
+ | } | ||
+ | |||
+ | // Auto-initialize any placeholders: | ||
+ | document.querySelectorAll('[data-latest-category]').forEach(function (el) { | ||
+ | showLatestInCategory(el, el.getAttribute('data-latest-category')); | ||
+ | }); | ||
+ | }); |
Revision as of 23:40, 11 September 2025
/* Any JavaScript here will be loaded for all users on every page load. */ // Navi Copy JQuery Code by Kaddy! $('.navi-copy').each(function(index, element) { if ($("#navi-copy-textarea").attr('exists') != "true") { txtdiv = '<textarea style="height:1px;width:1px; position:absolute;left:-1000px;" id="navi-copy-textarea" exists="true">Filler Text</textarea><style>.navi-copy-text { cursor:pointer; color:#2899e8; padding:1px; display:inline-block; } .navi-copy-text:hover { color:#c1a1f1; } .navi-copied { text-align:center; border:1px dotted #2899e8; border-radius:3px; color:#2899e8; display:inline-block; } .navi-copy { display:inline-block; } </style>'; $("body").append(txtdiv); } var map = $(element).children().get(0).innerHTML; var x = $(element).children().get(1).innerHTML; var y = $(element).children().get(2).innerHTML; var newhtml = "<div class=\"navi-copy-text\" title=\"Click here to copy to the clipboard, then paste in game\" onclick=\"CopyNaviLink(this, '"+map+"','"+x+"','"+y+"');\">("+map+" "+x+", "+y+")</div><div class=\"navi-copied\" style=\"display:none;\">Copied!</div>"; $(element).html(newhtml); }); function CopyNaviLink(ele, map, x, y) { element = $(ele); sibling = element.siblings(); width = element.width(); height = element.height()+0; sibling.css('width',width); sibling.css('height',height); element.css('display','none'); sibling.css('display','inline-block'); setTimeout(function() { sibling.fadeOut().delay(300).css('display','none'); element.css('display','inline-block'); }, 1400); var ClipBoardText = "/navi "+map+" "+x+"/"+y; var textarea = document.getElementById('navi-copy-textarea'); $('#navi-copy-textarea').text(ClipBoardText); $("#navi-copy-textarea").select(); document.execCommand('copy'); } //Latest in Topic mw.loader.using(['mediawiki.api','mediawiki.util']).then(function () { function showLatestInCategory(el, catTitle) { new mw.Api().get({ action: 'query', list: 'categorymembers', cmtitle: 'Category:' + catTitle, cmprop: 'title|timestamp', cmsort: 'timestamp', // newest added to category cmdir: 'desc', cmlimit: 1, formatversion: 2 }).done(function (data) { var item = data?.query?.categorymembers?.[0]; if (!item) { el.textContent = 'No pages in category.'; return; } el.innerHTML = '<a href="' + mw.util.getUrl(item.title) + '">' + mw.html.escape(item.title) + '</a>'; }).fail(function () { el.textContent = 'Failed to load.'; }); } // Auto-initialize any placeholders: document.querySelectorAll('[data-latest-category]').forEach(function (el) { showLatestInCategory(el, el.getAttribute('data-latest-category')); }); });