Tag: Undo |
(some minor improvementa) |
||
Line 1: | Line 1: | ||
// By Equazcion: https://terraria.gamepedia.com/User:Equazcion |
// By Equazcion: https://terraria.gamepedia.com/User:Equazcion |
||
− | var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ) |
+ | var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ), |
− | + | wgPageName = mw.config.get( 'wgPageName' ), |
|
− | + | wgTitle = mw.config.get( 'wgTitle' ); |
|
if (wgNamespaceNumber == 6) { |
if (wgNamespaceNumber == 6) { |
||
+ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | msgListLink = 'List foreign uses', |
||
+ | msgLocalFileListHeader = 'File usage (local)'; |
||
+ | |||
$('#mw-imagepage-reupload-link').append( |
$('#mw-imagepage-reupload-link').append( |
||
$('<li></li>').append( |
$('<li></li>').append( |
||
− | $('<a></a>', {'class':'foreignLink', 'href':'#ddd', 'text': |
+ | $('<a></a>', {'class':'foreignLink', 'href':'#ddd', 'text':msgListLink}) |
) |
) |
||
); |
); |
||
+ | |||
$('.foreignLink').click(function(){ |
$('.foreignLink').click(function(){ |
||
+ | // Clear any existing list |
||
− | + | $('ul.interUses').remove(); |
|
− | $('div[id$="linkstoimage"]').append($('<ul></ul>', {'class':'interUses'})); |
||
+ | $('h2#foreignUsesHeader').remove(); |
||
⚫ | |||
+ | |||
⚫ | |||
+ | // Create header and list elements |
||
⚫ | |||
+ | $('h2#filelinks') |
||
⚫ | |||
+ | .text(msgLocalFileListHeader) |
||
⚫ | |||
+ | .before('<h2 id="foreignUsesHeader">' + msgForeignUses + '</h2><ul class="interUses"></ul>'); |
||
⚫ | |||
+ | |||
− | $interUses.append( $('<h2></h2>', {'text':msgForeignUses, 'style':'margin-left:-22px;'}) ); |
||
+ | // Add TOC link |
||
+ | $('ul#filetoc li a[href="#filelinks"]').parent('li').after('<li><a href="#foreignUsesHeader">' + msgForeignUses + '</a></li>'); |
||
+ | |||
⚫ | |||
var langs = { |
var langs = { |
||
"Russian":"terraria-ru", |
"Russian":"terraria-ru", |
||
Line 82: | Line 96: | ||
}); |
}); |
||
}); |
}); |
||
− | setTimeout(function(){$interUses[0].scrollIntoView(true)}, 1000); |
||
}); |
}); |
||
} |
} |
Revision as of 01:33, 26 June 2020
// By Equazcion: https://terraria.gamepedia.com/User:Equazcion
var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ),
wgPageName = mw.config.get( 'wgPageName' ),
wgTitle = mw.config.get( 'wgTitle' );
if (wgNamespaceNumber == 6) {
var URLprefix = 'https://',
URLsuffix = '.gamepedia.com/api.php?format=json&callback=?',
msgForeignUses = 'File usage (foreign)',
msgImageLink = 'file page',
msgNoUses = 'No foreign uses of this file were detected.',
msgListLink = 'List foreign uses',
msgLocalFileListHeader = 'File usage (local)';
$('#mw-imagepage-reupload-link').append(
$('<li></li>').append(
$('<a></a>', {'class':'foreignLink', 'href':'#ddd', 'text':msgListLink})
)
);
$('.foreignLink').click(function(){
// Clear any existing list
$('ul.interUses').remove();
$('h2#foreignUsesHeader').remove();
// Create header and list elements
$('h2#filelinks')
.text(msgLocalFileListHeader)
.before('<h2 id="foreignUsesHeader">' + msgForeignUses + '</h2><ul class="interUses"></ul>');
// Add TOC link
$('ul#filetoc li a[href="#filelinks"]').parent('li').after('<li><a href="#foreignUsesHeader">' + msgForeignUses + '</a></li>');
var $interUses = $('.interUses');
var langs = {
"Russian":"terraria-ru",
"French":"terraria-fr",
"Polish":"terraria-pl",
"Portuguese":"terraria-pt",
"Korean":"terraria-ko",
"Chinese":"terraria-zh",
"Ukrainian":"terraria-uk",
"German":"terraria-de",
"Hungarian":"terraria-hu",
"Terraria Mods":"terrariamods",
"Antiaris Mod":"antiaris",
"Calamity Mod":"calamitymod",
"Decimation Mod":"decimationmod",
"Dragon Ball Terraria Mod":"dbtmod",
"Elements Awoken Mod":"elementsawoken",
"Enigma Mod":"enigmamod",
"Exodus Mod":"exodusmod",
"GRealm Mod":"grealm",
"Germanium Mod":"germaniummod",
"Shadows of Abaddon Mod":"shadowsofabaddon",
"Spirit Mod":"spiritmod",
"Split Mod":"splitmod",
"Thorium Mod":"thoriummod",
"Tremor Mod":"tremormod",
"Super Terraria World":"superterrariaworld"
};
$interUses.append( $('<h3></h3>', {'text': msgNoUses, 'class':'no_foreign_uses'}) );
$.each(langs, function(key, value) {
var currentLangCode = value;
var request2 = { action:'query', list:'allimages', ailimit:'1', aifrom:wgTitle }
$.getJSON(URLprefix + currentLangCode + URLsuffix, request2, function(response2) {
$.each(response2.query.allimages, function(index, value){
if (value.name != wgTitle.replace(/ /g,'_')){
var request1 = { action:'query', list:'imageusage', iutitle:wgPageName };
$.getJSON(URLprefix + currentLangCode + URLsuffix, request1, function(response1) {
var currentLangName = key;
if (response1.query.imageusage.length > 0) {
var urlImage = URLprefix + currentLangCode + '.gamepedia.com/' + wgPageName;
$('.no_foreign_uses').remove();
$interUses.append(
$('<h3></h3>', {'style':'margin-left:-20px;', 'text':currentLangName}).append(
$('<span></span>', {'style':'font-size:85%;'}).append(
' (', $('<a></a>', {'href':urlImage, 'text':msgImageLink}), ')'
)
)
);
$.each(response1.query.imageusage, function(index, value) {
var urlUse = URLprefix + currentLangCode + '.gamepedia.com/' + value.title;
$interUses.append(
$('<li></li>').append(
$('<a></a>', {'href': urlUse, 'text':value.title})
)
);
});
}
});
}
});
});
});
});
}