MediaWiki:Common.js: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 130: Line 130:
   e[i].innerHTML = 'Loading...';
   e[i].innerHTML = 'Loading...';
  }
  }
  var xhttp = new XMLHttpRequest();
  if (_calc3) {
xhttp.onreadystatechange = function() {
  var xhttp = new XMLHttpRequest();
  if (this.readyState==4 && this.status==200) {
  xhttp.onreadystatechange = function() {
  var l=0;
  if (this.readyState==4 && this.status==200) {
  var lines = this.responseText.split('\n');
    var l=0;
  var e = document.getElementsByClassName('dp');
    var lines = this.responseText.split('\n');
  for (var i=0; i<e.length; i++, l++) e[i].children[1].innerHTML = lines[l].split('<br')[0]; // update 'value' to contain hyperlinks
    var e = document.getElementsByClassName('dp');
  e = document.getElementsByClassName('calc');
    for (var i=0; i<e.length; i++, l++) e[i].children[1].innerHTML = lines[l].split('<br')[0]; // update 'value' to contain hyperlinks
  for (var i=0; i<e.length; i++, l++) e[i].innerHTML = lines[l]; // equation
    e = document.getElementsByClassName('calc');
  }
    for (var i=0; i<e.length; i++, l++) e[i].innerHTML = lines[l]; // equation
};
    _calc3 = ''; // done
xhttp.open("POST", "/calc/calc3.php?input="+encodeURIComponent(_calc3), true)
  }
try { xhttp.send(); } catch(error) { /* AJAX URL not found */ }
  };
 
  xhttp.open("POST", "/calc/calc3.php?input="+encodeURIComponent(_calc3), true);
  try { xhttp.send(); } catch(error) { /* AJAX URL not found */ }
}
  // External calculation links
  // External calculation links
  e = document.getElementsByClassName('ecalc');
  e = document.getElementsByClassName('ecalc');
Line 312: Line 314:
   str += e[i].innerHTML;
   str += e[i].innerHTML;
   str += "</td></tr>";
   str += "</td></tr>";
   e[i].style.display = "none";
   //e[i].style.display = "none";
   }
   }
   str += "</table>";
   str += "</table>";
Line 331: Line 333:
   for (var j=0; j<lines.length; j++) {
   for (var j=0; j<lines.length; j++) {
   var n=0; while (lines[j][n]==' ') n++;
   var n=0; while (lines[j][n]==' ') n++;
  var font = (n%2)?"serif":"sans";
   var k = Math.exp(-0.16*n);
   var k = Math.exp(-0.16*n);
   str += "<div style='font-size:"+(1.6*size*k)+"px; margin-left:"+(16*size*(1-k))+"px; font-family:"+font+"; color:RGB(0,"+(255-255*k)+",0)'>"+lines[j].substr(n)+"</div>";
   str += "<div style='font-size:" +(1.4*size*k+6)
                +"px; margin-left:"+(size*(n*0.5 + 12-12*k))
                +"px; font-family:"+((n%2)?"serif":"sans")
                + "; color:RGB(0,"+(255-255*k)+",0)"
                +  "; padding:0.15em 0; line-height:1.1em'>"
      +(lines[j].substr(n) || (j==lines.length-1 ? "":"&nbsp;"))+"</div>";
   }
   }
   e[i].innerHTML = str;
   e[i].innerHTML = str;
}
}
//==Word changers==
function changeWords(ev) { // to next option
var hide = ev.currentTarget;
if(!hide || !hide.classList.contains("altOuter")) return;
var show = hide.nextElementSibling;
if(!show || !show.classList.contains("altOuter") || !show.innerHTML) {
  var find = hide;
  do { // seek back to the first of list
  show = find;
  find = find.previousElementSibling;
  } while (find && find.classList.contains("altOuter"));
}
hide.style.display = "none";
show.style.display = "initial";
}
function parseWordChangers() { // init
var e = document.getElementsByClassName("altOuter");
for (var i=0; i<e.length; i++) {
  var str = e[i].innerHTML;
  if (str) {
  e[i].innerHTML = "&#8597;<span class='altInner'>"+str+"</span>&#8597;";
  e[i].onclick = changeWords;
  }
  }
  }
}
}
Line 348: Line 383:
parseConsiderations();
parseConsiderations();
parseLevels();
parseLevels();
parseWordChangers();