MediaWiki:Gadget-PatrolLinks.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 27: | Line 27: | ||
var nextDiv = document.createElement('div'); | var nextDiv = document.createElement('div'); | ||
var patrolDiv = document.createElement('div'); | var patrolDiv = document.createElement('div'); | ||
nextDiv.style.width = ' | nextDiv.style.width = '49%'; | ||
patrolDiv.style.width = ' | patrolDiv.style.width = '49%'; | ||
nextDiv.style.display = 'inline-block'; | nextDiv.style.display = 'inline-block'; | ||
patrolDiv.style.display = 'inline-block'; | patrolDiv.style.display = 'inline-block'; | ||
Line 66: | Line 66: | ||
if(oTitle4El) { | if(oTitle4El) { | ||
var oldDiv = document.createElement('div'); | var oldDiv = document.createElement('div'); | ||
oldDiv.style.width = ' | oldDiv.style.width = '49%'; | ||
oldDiv.style.display = 'inline-block'; | oldDiv.style.display = 'inline-block'; | ||
Latest revision as of 16:03, August 14, 2023
// Consistently places the patrol link on diff pages
// by Espyo
$(function() {
'use strict';
if(!mw.config.get('wgDiffOldId') || !mw.config.get('wgDiffNewId')) return;
// Move the div in the "new" side of the diff.
var nTitle4El = document.getElementById('mw-diff-ntitle4');
if(nTitle4El) {
var nTitleParentEl = nTitle4El.parentNode;
var nTitle1El = document.getElementById('mw-diff-ntitle1');
nTitleParentEl.insertBefore(nTitle4El, nTitle1El);
}
// Move the div in the "old" side of the diff.
var oTitle4El = document.getElementById('mw-diff-otitle4');
if(oTitle4El) {
var oTitleParentEl = oTitle4El.parentNode;
var oTitle1El = document.getElementById('mw-diff-otitle1');
oTitleParentEl.insertBefore(oTitle4El, oTitle1El);
}
// Arrange the next and patrol buttons to be fixed.
if(nTitle4El) {
var nextDiv = document.createElement('div');
var patrolDiv = document.createElement('div');
nextDiv.style.width = '49%';
patrolDiv.style.width = '49%';
nextDiv.style.display = 'inline-block';
patrolDiv.style.display = 'inline-block';
patrolDiv.style.whiteSpace = 'nowrap';
patrolDiv.style.overflow = 'clip';
var nextA = null;
var patrolSpan = null;
var space = null;
for(var i = 0; i < nTitle4El.childNodes.length; i++) {
if(nTitle4El.childNodes[i].nodeType == Node.TEXT_NODE) {
space = nTitle4El.childNodes[i];
} else {
if(nTitle4El.childNodes[i].tagName == 'A') {
nextA = nTitle4El.childNodes[i];
} else {
patrolSpan = nTitle4El.childNodes[i];
}
}
}
if(nextA) {
nextDiv.appendChild(nextA);
}
if(patrolSpan) {
patrolDiv.appendChild(patrolSpan);
}
if(space) {
space.remove();
}
nTitle4El.appendChild(patrolDiv);
nTitle4El.appendChild(nextDiv);
}
// Arrange the previous button to match.
if(oTitle4El) {
var oldDiv = document.createElement('div');
oldDiv.style.width = '49%';
oldDiv.style.display = 'inline-block';
var oldA = document.getElementById('differences-oldlink');
if(oldA) {
oldDiv.appendChild(oldA);
}
oTitle4El.appendChild(oldDiv);
}
});
// Consistently places the patrol link on file pages
// by Espyo
$(function() {
'use strict';
if(!mw || mw.config.get('wgCanonicalNamespace') != 'File') return;
var patrolLinkDiv = document.getElementsByClassName('patrollink');
if(patrolLinkDiv.length == 0) {
return;
}
patrolLinkDiv = patrolLinkDiv[0];
var fileTocDiv = document.getElementById('filetoc');
if(fileTocDiv == null) {
return;
}
fileTocDiv.after(patrolLinkDiv);
});