User:Darqam/common.js
From Guild Wars 2 Wiki
Jump to navigationJump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
//taken from User:Chieftain Alex/common.js (all of this) // Encode wiki links that might break, e.g. ampersands. function encodeWikiElements(selector, attribute) { $(selector).each(function (i, element){ var m = $(this).attr(attribute).match(/^(\/index\.php\?title=)(.*?)(&action=.*)$/); if ((m) && ( $(this).attr(attribute).search('%') === -1) ) { $(this).attr(attribute, m[1] + encodeURIComponent(m[2]) + m[3]); } }); } encodeWikiElements('a[href]','href'); encodeWikiElements('form[action]','action'); /** Function to provide copypaste text to hide users from RC **/ (function addRCSnippet () { if (mw.config.get('wgCanonicalSpecialPageName') === 'Recentchanges') { var string = "$('a[title=\"User:Anon\"]').closest('tr').addClass('hide');"; $('#rcQuickLinks tbody').append('<tr><th></th><td><code>'+string+'</code></td></tr>'); } })(); //Original function from Poke, revised by myself: (function isSigned() { var isTalkPage = mw.config.get('wgPageName').toLowerCase().indexOf('talk:') > -1; if (isTalkPage == true) { $('#editform').submit(function checkSignature(event) { var editContent = document.getElementById('wpTextbox1').value; editContent = editContent.trim();//once got all page, remove trailing whitespaces if (editContent.endsWith('~~') === false) { if (confirm('Signature not found, submit anyway?') == false) {//if user hits cancel, don't proceed with submit action event.preventDefault(); return false; } } }); } })(); //Things break, yeah? (function getRequest() { if(mw.config.get('wgPageName') !== "User:Darqam/sandbox3") return; var key = "30C0FABF-FD8C-C14C-813B-745CE1147B14328949E3-9B39-4022-BA4F-953382A37C11"; var request = new XMLHttpRequest(); request.open('GET', "https://api.guildwars2.com/v2/characters/Darqam?access_token="+key, true); request.send(); request.addEventListener('load', function() { var data = JSON.parse(this.response); var thing = data.specializations.pve; var output = ""; var specIds = new Array(); var specNames = new Array(); var traitIds = new Array(); var traitNames = new Array(); Object.keys(thing).forEach( function(curSpec) { specIds.push(thing[curSpec].id); thing[curSpec].traits.forEach( function(curTrait) { traitIds.push(curTrait); }) }); var specs = new XMLHttpRequest(); specs.open('GET', "https://api.guildwars2.com/v2/specializations?ids="+specIds.join(",")); specs.send(); specs.addEventListener('load', function() { var specializations = JSON.parse(this.response); Object.keys(specializations).forEach( function(specObj) { specNames.push(specializations[specObj].name); }); var trts = new XMLHttpRequest(); trts.open('GET', "https://api.guildwars2.com/v2/traits?ids="+traitIds.join(",")); trts.send(); trts.addEventListener('load', function() { var traits = JSON.parse(this.response); Object.keys(traits).forEach( function(traitObj) { traitNames.push(traits[traitObj].name); }); var output = ""; for(var i=0;i<specNames.length;i++){ output += "For the specialization "+specNames[i]+" we have traits "+traitNames[i*3]+", "+traitNames[i*3+1]+", "+traitNames[i*3+2]+".<br/> " } $('#myTest').append(output); }); }); }); })();