MediaWiki:Common.js: Difference between revisions

From AdventuresRO
Jump to navigation Jump to search
 
(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' , '[w:Special:CategoryTree]' );
         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');
});