לדלג לתוכן

מדיה ויקי:Gadget-InterwikiOrder.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
מאין תקציר עריכה
מאין תקציר עריכה
שורה 1: שורה 1:
var interwikiOrder = new Array();
var interwikiOrder = new Array();


function containsInterwiki(liElements, interWikiID) {
function containsInterwiki(kids, interWikiID) {
  for (var i = 0; i < liElements.length; i++)
  for (var i = 0; i < kids.length; i++)
   if ( liElements[i].className == ('interwiki-' + interWikiID) )
   if ( kids[i].className == ('interwiki-' + interWikiID) )
   return i;
   return kids[i];
  return -1;
  return -1;
}
}
שורה 12: שורה 12:
  var kids = ulElement.childNodes;
  var kids = ulElement.childNodes;
  for (var i = interwikiOrder.length - 1; i > -1; i--) {
  for (var i = interwikiOrder.length - 1; i > -1; i--) {
   var interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
   var interWikiKid = containsInterwiki(kids, interwikiOrder[i]);
   if (interWikiIndex != -1) {
   if (interWikiKid != -1) {
alert("a");
alert("a");
  var tempEl = kids[interWikiIndex];
   kids.removeChild(interWikiKid);
   kids.splice(interWikiIndex, 1); // remove element
alert("b");
alert("b");
   kids.splice(0, 0, tempEl); // add the element at the begining
   ulElement.insertBefore(ulElement.firstChild, interWikiKid);
alert("c");
alert("c");
   }
   }

גרסה מ־02:49, 13 בינואר 2008

var interwikiOrder = new Array();

function containsInterwiki(kids, interWikiID) {
 for (var i = 0; i < kids.length; i++)
  if ( kids[i].className == ('interwiki-' + interWikiID) )
   return kids[i];
 return -1;
}

function fixInterwikiOrder() {
 var ulElement = document.getElementById('p-lang').getElementsByTagName('UL')[0];
 var kids = ulElement.childNodes;
 for (var i = interwikiOrder.length - 1; i > -1; i--) {
  var interWikiKid = containsInterwiki(kids, interwikiOrder[i]);
  if (interWikiKid != -1) {
alert("a");
   kids.removeChild(interWikiKid);
alert("b");
   ulElement.insertBefore(ulElement.firstChild, interWikiKid);
alert("c");
  }
 }
}

function initInterwikiOrder() {
 if (!document.getElementById('p-lang')) return;
 var a = sajax_init_object();
 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() {
  if (a.readyState != 4) return;
  var lines = a.responseText.split('\n');
  var rx = new RegExp('\\*\\s?([^$]*)');
  for (var i = 0; i < lines.length; i++) {
   var m = rx.exec(lines[i]);
   if (m)
    interwikiOrder.push(m[1]);
   else
    break;
  }
  if (interwikiOrder[0]) fixInterwikiOrder();
 }
 a.send(null);
}

addOnloadHook(initInterwikiOrder);