MediaWiki:Corrections.js
Appearance
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/**************
* corrections
**************/
function close_corr_summary() {
content = document.getElementById("corr_summary");
if(!content) return;
content.innerHTML = "";
content.parentNode.removeChild(content);
}
function scroll_to_correction(k){
var selectedPosX = 0;
var selectedPosY = 0;
var j=0;
for(var i=0; item=document.getElementsByTagName("span")[i]; i++) {
if(item.className=="coquille") {
j=j+1;
if(j==k){
element=item;
while(element != null){
selectedPosX += element.offsetLeft;
selectedPosY += element.offsetTop;
element = element.offsetParent;
}
window.scrollTo(selectedPosX,selectedPosY);
}
}
}
}
function pr_popup(){
content = document.getElementById("corr_summary");
if(content) return;
corr_container = document.createElement("div");
corr_container.setAttribute("id","corr_summary");
corr_container.style.cssText="position:fixed;width:35em;max-height:35em;scroll:auto;right:5em;background:#ffffff;opacity:1;border:1px solid;padding:5px";
corr_container.innerHTML = self.corr_list;
content = document.getElementById("bodyContent");
content.insertBefore(corr_container,content.firstChild);
}
function pr_typos() {
if( wgNamespaceNumber==0 || self.proofreadPageViewURL ) {
var message_title = {
'en':"List of corrections performed on this page" ,
'fr':"Liste des corrections apportées à cette page"
}
var message_link = {
'en':"Corrections" ,
'fr':"Coquilles"
}
var message_corr_1 = {
'en':"One typo </a> has been corrected." ,
'fr':"Une coquille </a> a été corrigée."
}
var message_corr = {
'en':" typos</a> have been corrected." ,
'fr':" coquilles</a> ont été corrigées."
}
var message_close = {
'en':"Close." ,
'fr':"Fermer."
}
var str = '<h4>'+message_title[wgContentLanguage] + " :</h4><ul>";
j=0;
for(var i=0; item=document.getElementsByTagName("span")[i]; i++) {
if(item.className=="coquille") {
j=j+1;
w1=w2='';
if(item.previousSibling) {
context1=item.previousSibling.data.split(' ');
if(context1.length>1) w1 = context1[context1.length - 2];
}
if(item.nextSibling) {
context2=item.nextSibling.data.split(' ');
if(context2.length>1) w2 = context2[1];
}
str = str +'<li>'+'<a href=\"javascript:scroll_to_correction('+j+');\">'+j+'</a>'+' « '+w1+' <span style=\"color:#ff0000;\">'+item.title + '</span> '+ w2 + ' » → « ' + w1 + ' <span style=\"color:#00A000;\">' + item.innerHTML + '</span> ' + w2 +' »</li>';
}
}
str=str+'</ul><hr/><div style="float:right;"><a href="javascript:close_corr_summary()">'+message_close[wgContentLanguage]+'</a></div>'
self.corr_list = str;
if(j) {
var optlist = get_optlist();
optlist.innerHTML = optlist.innerHTML + "<li class=\"\"><a href='javascript:pr_popup();'>"+message_link[wgContentLanguage]+" ("+j+")</a></li>";
cs=document.getElementById("corr-info");
if(cs){
if(j==1)
cs.innerHTML = " <a href='javascript:pr_popup();'>" + message_corr_1[wgContentLanguage];
else
cs.innerHTML = " <a href='javascript:pr_popup();'>" + j + message_corr[wgContentLanguage];
}
}
}
}
addOnloadHook(pr_typos);