MediaWiki:Common.js: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
Adventuresro (talk | contribs)  | 
				Adventuresro (talk | contribs)    | 
				||
| (36 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');
});