1,956
edits
No edit summary |
(Disabled the [hide heading summaries after putting them in the considerations table] functionality.) |
||
(25 intermediate revisions by the same user not shown) | |||
Line 299: | Line 299: | ||
//==Considerations table== | //==Considerations table== | ||
function parseConsiderations() { | function parseConsiderations() { // init | ||
var elem = document.getElementById("considerations-table"); | var elem = document.getElementById("considerations-table"); | ||
if (elem) { | if (elem) { | ||
var e = document. | var e = document.getElementsByClassName("consideration-summary"); | ||
var str = "<table>"; | var str = "<table class='wikitable'>"; | ||
for (var i=0; i<e.length; i++) { | for (var i=0; i<e.length; i++) { | ||
var topic = e[i]. | var topic = e[i].previousElementSibling.getElementsByClassName("mw-headline")[0]; | ||
str += "<tr><td><a href='#"+topic+"'>"+topic+"</a></td>"; | str += "<tr><td><a href='#"+topic.id+"'>"+topic.innerHTML+"</a></td>"; | ||
if (e[i].title=="bad") str += "<td style='background:# | if (e[i].title=="bad") str += "<td style='background:#F65'>"; | ||
else if(e[i].title=="good")str += "<td style='background:# | else if(e[i].title=="good")str += "<td style='background:#0FB'>"; | ||
else str += "<td>"; | else str += "<td>"; | ||
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>"; | ||
elem.innerHTML = str; | elem.innerHTML = str; | ||
} | |||
} | |||
//==Text levels== | |||
function parseLevels() { // init | |||
var e = document.getElementsByClassName("levels"); | |||
for (var i=0; i<e.length; i++) { | |||
var size = parseFloat(window.getComputedStyle(e[i]).getPropertyValue("font-size")) || 16; | |||
var lines = e[i].innerHTML.split('\n'); | |||
var str = ""; | |||
for (var j=0; j<lines.length; j++) { | |||
var n=0; while (lines[j][n]==' ') n++; | |||
var k = Math.exp(-0.16*n); | |||
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 ? "":" "))+"</div>"; | |||
} | |||
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 = "↕<span class='altInner'>"+str+"</span>↕"; | |||
e[i].onclick = changeWords; | |||
} | |||
} | } | ||
} | } | ||
Line 327: | Line 380: | ||
parseFileGraphs(); | parseFileGraphs(); | ||
parseConsiderations(); | parseConsiderations(); | ||
parseLevels(); | |||
parseWordChangers(); |