מדיה ויקי:Gadget-InterwikiOrder.js: הבדלים בין גרסאות בדף
מראה
סדר וניקיון |
שכתוב עם API מודרני |
||
| שורה 37: | שורה 37: | ||
function initInterwikiOrder() { | function initInterwikiOrder() { | ||
var | var api = new mw.Api(); | ||
if (!document.getElementById('p-lang')) { | if (!document.getElementById('p-lang')) { | ||
| שורה 43: | שורה 43: | ||
} | } | ||
api.get( { | |||
action: 'query', | |||
prop: 'revisions', | |||
format: 'json', | |||
rvprop: 'content', | |||
rvlimit: 1, | |||
titles: 'User:' + mw.config.get( 'wgUserName' ) + '/בינוויקי' | |||
} ).done( function ( result ) { | |||
var text, lines, rx, i, m; | |||
$.each( result.query.pages, function ( id, data ) { | |||
text = data.revisions[0]['*']; | |||
return false; | |||
} ); | |||
lines = text.split('\n'); | |||
lines = | |||
rx = new RegExp('\\*\\s?([^$]*)'); | rx = new RegExp('\\*\\s?([^$]*)'); | ||
| שורה 79: | שורה 75: | ||
fixInterwikiOrder(); | fixInterwikiOrder(); | ||
} | } | ||
} | } ); | ||
} | } | ||
$(initInterwikiOrder); | $(initInterwikiOrder); | ||
גרסה מ־06:44, 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 api = new mw.Api();
if (!document.getElementById('p-lang')) {
return;
}
api.get( {
action: 'query',
prop: 'revisions',
format: 'json',
rvprop: 'content',
rvlimit: 1,
titles: 'User:' + mw.config.get( 'wgUserName' ) + '/בינוויקי'
} ).done( function ( result ) {
var text, lines, rx, i, m;
$.each( result.query.pages, function ( id, data ) {
text = data.revisions[0]['*'];
return false;
} );
lines = text.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();
}
} );
}
$(initInterwikiOrder);