User:Alyxia/monobook.js: Difference between revisions
Jump to navigation
Jump to search
(Add a link to Special:AllPages in the toolbox) |
(...do you seriously *want* ECMAScript 5?) |
||
Line 2: | Line 2: | ||
function ModifySidebar(action, section, name, link) { | function ModifySidebar(action, section, name, link) { | ||
try { | try { | ||
switch (section) { | switch (section) { | ||
case 'languages': | case 'languages': | ||
target = 'p-lang'; | var target = 'p-lang'; | ||
break; | break; | ||
case 'toolbox': | case 'toolbox': | ||
target = 'p-tb'; | var target = 'p-tb'; | ||
break; | break; | ||
case 'navigation': | case 'navigation': | ||
target = 'p-navigation'; | var target = 'p-navigation'; | ||
break; | break; | ||
default: | default: | ||
target = 'p-' + section; | var target = 'p-' + section; | ||
break; | break; | ||
} | } | ||
if (action == 'add') { | if (action == 'add') { | ||
var node = document | |||
.getElementById(target) | .getElementById(target) | ||
.getElementsByTagName('div')[0] | .getElementsByTagName('div')[0] | ||
.getElementsByTagName('ul')[0]; | .getElementsByTagName('ul')[0]; | ||
var aNode = document.createElement('a'); | |||
var liNode = document.createElement('li'); | |||
aNode.appendChild(document.createTextNode(name)); | aNode.appendChild(document.createTextNode(name)); | ||
Line 35: | Line 34: | ||
if (action == 'remove') { | if (action == 'remove') { | ||
var list = document | |||
.getElementById(target) | .getElementById(target) | ||
.getElementsByTagName('div')[0] | .getElementsByTagName('div')[0] | ||
.getElementsByTagName('ul')[0]; | .getElementsByTagName('ul')[0]; | ||
var listelements = list.getElementsByTagName('li'); | |||
for ( | for (var i = 0; i < listelements.length; i++) { | ||
if ( | if ( | ||
listelements[i].getElementsByTagName('a')[0].innerHTML == name || | listelements[i].getElementsByTagName('a')[0].innerHTML == name || | ||
Line 60: | Line 59: | ||
function CustomizeModificationsOfSidebar() { | function CustomizeModificationsOfSidebar() { | ||
ModifySidebar('add', 'toolbox', ' | ModifySidebar('add', 'toolbox', 'CategoryTree', 'https://wiki.fyralabs.com/Special:AllPages'); | ||
} | } | ||
jQuery(CustomizeModificationsOfSidebar); | jQuery(CustomizeModificationsOfSidebar); | ||
// }}} | // }}} |
Revision as of 09:29, 6 June 2023
// Sidebar modification {{{
function ModifySidebar(action, section, name, link) {
try {
switch (section) {
case 'languages':
var target = 'p-lang';
break;
case 'toolbox':
var target = 'p-tb';
break;
case 'navigation':
var target = 'p-navigation';
break;
default:
var target = 'p-' + section;
break;
}
if (action == 'add') {
var node = document
.getElementById(target)
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var aNode = document.createElement('a');
var liNode = document.createElement('li');
aNode.appendChild(document.createTextNode(name));
aNode.setAttribute('href', link);
liNode.appendChild(aNode);
liNode.className = 'plainlinks';
node.appendChild(liNode);
}
if (action == 'remove') {
var list = document
.getElementById(target)
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var listelements = list.getElementsByTagName('li');
for (var i = 0; i < listelements.length; i++) {
if (
listelements[i].getElementsByTagName('a')[0].innerHTML == name ||
listelements[i].getElementsByTagName('a')[0].href == link
) {
list.removeChild(listelements[i]);
}
}
}
} catch (e) {
// Probably not the best course of action to ignore error handling... but
// whatever.
console.error('Something went horribly wrong when trying to modify the sidebar!\n', e);
return;
}
}
function CustomizeModificationsOfSidebar() {
ModifySidebar('add', 'toolbox', 'CategoryTree', 'https://wiki.fyralabs.com/Special:AllPages');
}
jQuery(CustomizeModificationsOfSidebar);
// }}}