MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Adventuresro (talk | contribs) |
Adventuresro (talk | contribs) |
||
(53 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
var aNode = document.createElement( 'a' ); | var aNode = document.createElement( 'a' ); | ||
var liNode = document.createElement( 'li' ); | var liNode = document.createElement( 'li' ); | ||
var url = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php/Special:CategoryTree'; | |||
aNode.appendChild( document.createTextNode( 'CategoryTree' ) ); | aNode.appendChild( document.createTextNode( 'CategoryTree' ) ); | ||
aNode.setAttribute( 'href' , | aNode.setAttribute( 'href' , url ); | ||
liNode.appendChild( aNode ); | liNode.appendChild( aNode ); | ||
liNode.className = 'plainlinks'; | liNode.className = 'plainlinks'; | ||
Line 22: | Line 23: | ||
addOnloadHook( AppendCategoryTreeToSidebar ); | addOnloadHook( AppendCategoryTreeToSidebar ); | ||
function navi(map, x, y) { | |||
var text = "/navi " + map + " " + x + "/" + y; | |||
// Create a temporary textarea element | |||
const textarea = document.createElement("textarea"); | |||
textarea.value = text; | |||
textarea.style.position = "fixed"; // Make it invisible and outside of the viewport | |||
textarea.style.left = "-9999px"; | |||
textarea.style.top = "-9999px"; | |||
document.body.appendChild(textarea); | |||
// Select and copy the text from the textarea | |||
textarea.select(); | |||
document.execCommand("copy"); | |||
// Remove the textarea from the DOM | |||
document.body.removeChild(textarea); | |||
} | |||
$(document).on('click', '.navi-copy-text', function() { | |||
var txt= $(this)[0].innerText.replace('(','').replace(')','').split(' '); | |||
var cords = txt[1].split(','); | |||
var location = txt[0]; | |||
var x = cords[0]; | |||
var y = cords[1]; | |||
navi(location, x, y); | |||
}); | |||
$(document).ready(function() { | |||
$('.navi-copy-text').attr('title', 'Click here to copy to the clipboard, then paste in game'); | |||
}); |
Latest revision as of 14:07, 12 December 2023
/* Any JavaScript here will be loaded for all users on every page load. */ function AppendCategoryTreeToSidebar() { try { var node = document.getElementById( "p-tb" ) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var aNode = document.createElement( 'a' ); var liNode = document.createElement( 'li' ); var url = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php/Special:CategoryTree'; aNode.appendChild( document.createTextNode( 'CategoryTree' ) ); aNode.setAttribute( 'href' , url ); liNode.appendChild( aNode ); liNode.className = 'plainlinks'; node.appendChild( liNode ); } catch(e) { // lets just ignore what's happened return; } } addOnloadHook( AppendCategoryTreeToSidebar ); function navi(map, x, y) { var text = "/navi " + map + " " + x + "/" + y; // Create a temporary textarea element const textarea = document.createElement("textarea"); textarea.value = text; textarea.style.position = "fixed"; // Make it invisible and outside of the viewport textarea.style.left = "-9999px"; textarea.style.top = "-9999px"; document.body.appendChild(textarea); // Select and copy the text from the textarea textarea.select(); document.execCommand("copy"); // Remove the textarea from the DOM document.body.removeChild(textarea); } $(document).on('click', '.navi-copy-text', function() { var txt= $(this)[0].innerText.replace('(','').replace(')','').split(' '); var cords = txt[1].split(','); var location = txt[0]; var x = cords[0]; var y = cords[1]; navi(location, x, y); }); $(document).ready(function() { $('.navi-copy-text').attr('title', 'Click here to copy to the clipboard, then paste in game'); });