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);
});
});
});
})();