מדיה ויקי:Gadget-InterwikiOrder.js: הבדלים בין גרסאות בדף
מראה
מאין תקציר עריכה |
סדר וניקיון |
||
| שורה 1: | שורה 1: | ||
var interwikiOrder = | var interwikiOrder = []; | ||
function containsInterwiki(kids, interWikiID) { | function containsInterwiki(kids, interWikiID) { | ||
var i; | |||
for (i = 0; i < kids.length; i++) { | |||
if ($(kids[i]).hasClass('interwiki-' + interWikiID) ) { | |||
return i; | |||
} | |||
} | |||
return -1; | |||
} | } | ||
function fixInterwikiOrder() { | function fixInterwikiOrder() { | ||
var i, interWikiIndex, kids, father, end, removeAllOthers; | |||
kids = document.getElementById('p-lang').getElementsByTagName('LI'); | |||
end = 'זהו'; // the Hebrew string says "end" | |||
removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == end) ? 2 : 1; | |||
for (i = interwikiOrder.length - removeAllOthers; i > -1; i--) { | |||
interWikiIndex = containsInterwiki(kids, interwikiOrder[i]); | |||
if (interWikiIndex != -1) { | |||
father = document.getElementById('p-lang').getElementsByTagName('UL')[0]; | |||
father.insertBefore(kids[interWikiIndex], father.firstChild); | |||
} | |||
} | |||
if (removeAllOthers == 2) { | |||
while (kids.length != interwikiOrder.length - 1) { | |||
father.removeChild(father.lastChild); | |||
} | |||
} | |||
} | } | ||
function initInterwikiOrder() { | function initInterwikiOrder() { | ||
var a; | |||
if (!document.getElementById('p-lang')) { | |||
return; | |||
} | |||
a = sajax_init_object(); | |||
// the Hebrew strings are "User:" (namespace) and "interwiki" (sub-page name) | |||
a.open('GET', wgServer + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(wgUserName) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true); | |||
a.onreadystatechange = function() { | |||
var lines, rx, i, m; | |||
if (a.readyState != 4) { | |||
return; | |||
} | |||
lines = a.responseText.split('\n'); | |||
rx = new RegExp('\\*\\s?([^$]*)'); | |||
for (i = 0; i < lines.length; i++) { | |||
m = rx.exec(lines[i]); | |||
if (m) { | |||
interwikiOrder.push(m[1]); | |||
} else { | |||
break; | |||
} | |||
} | |||
if (interwikiOrder[0]) { | |||
fixInterwikiOrder(); | |||
} | |||
}; | |||
a.send(null); | |||
} | } | ||
$(initInterwikiOrder); | $(initInterwikiOrder); | ||
גרסה מ־06:11, 24 ביוני 2015
var interwikiOrder = [];
function containsInterwiki(kids, interWikiID) {
var i;
for (i = 0; i < kids.length; i++) {
if ($(kids[i]).hasClass('interwiki-' + interWikiID) ) {
return i;
}
}
return -1;
}
function fixInterwikiOrder() {
var i, interWikiIndex, kids, father, end, removeAllOthers;
kids = document.getElementById('p-lang').getElementsByTagName('LI');
end = 'זהו'; // the Hebrew string says "end"
removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == end) ? 2 : 1;
for (i = interwikiOrder.length - removeAllOthers; i > -1; i--) {
interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
if (interWikiIndex != -1) {
father = document.getElementById('p-lang').getElementsByTagName('UL')[0];
father.insertBefore(kids[interWikiIndex], father.firstChild);
}
}
if (removeAllOthers == 2) {
while (kids.length != interwikiOrder.length - 1) {
father.removeChild(father.lastChild);
}
}
}
function initInterwikiOrder() {
var a;
if (!document.getElementById('p-lang')) {
return;
}
a = sajax_init_object();
// the Hebrew strings are "User:" (namespace) and "interwiki" (sub-page name)
a.open('GET', wgServer + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(wgUserName) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true);
a.onreadystatechange = function() {
var lines, rx, i, m;
if (a.readyState != 4) {
return;
}
lines = a.responseText.split('\n');
rx = new RegExp('\\*\\s?([^$]*)');
for (i = 0; i < lines.length; i++) {
m = rx.exec(lines[i]);
if (m) {
interwikiOrder.push(m[1]);
} else {
break;
}
}
if (interwikiOrder[0]) {
fixInterwikiOrder();
}
};
a.send(null);
}
$(initInterwikiOrder);