MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Adventuresro (talk | contribs) |
Adventuresro (talk | contribs) |
||
| Line 49: | Line 49: | ||
navi(location, x, y); | navi(location, x, y); | ||
}); | }); | ||
<style> | |||
.navi-copy-text { | |||
cursor: pointer; | |||
color: #2899e8; | |||
padding: 1px; | |||
display: inline-block; | |||
} | |||
</style> | |||
Revision as of 04:56, 1 August 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() {
$(this).innerText
var txt= $('.navi-copy-text')[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);
});
<style>
.navi-copy-text {
cursor: pointer;
color: #2899e8;
padding: 1px;
display: inline-block;
}
</style>