Widget:FestivalsCharts: Difference between revisions
From International Robin Hood Bibliography
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
<noinclude><div class="no-img">This widget generates the charts on landing pages in the Festivals section of IRHB. It takes no parameters.</div></noinclude><includeonly> | <noinclude><div class="no-img">This widget generates the charts on landing pages in the Festivals section of IRHB. It takes no parameters.</div></noinclude><includeonly> | ||
<script> | <script> | ||
//Timeline widget | |||
//Timeline widget | //Timeline widget | ||
(function() { | (function() { | ||
Line 52: | Line 53: | ||
if (curCentury !== 0) { | if (curCentury !== 0) { | ||
var cntStr = curCentury + (curCentury !== "21" ? "th" : "st") + " Cent."; | var cntStr = curCentury + (curCentury !== "21" ? "th" : "st") + " Cent."; | ||
var cHead = "<div class=' | var cHead = "<div class='tlnCnt' id='c" + curCentury + "'><div>" + cntStr + " (" + cTotal + ")</div>"; | ||
pText += cHead + "<div>" + cText + "</div></div>"; | pText += cHead + "<div>" + cText + "</div></div>"; | ||
} | } | ||
Line 62: | Line 63: | ||
cTotal += nPages; | cTotal += nPages; | ||
var decStr = prop + "–" + String((parseInt(prop) + 9)).substring(2) + " (" + nPages + ")"; | var decStr = prop + "–" + String((parseInt(prop) + 9)).substring(2) + " (" + nPages + ")"; | ||
cText += "<div class=' | cText += "<div class='tlnDec' id='i" + prop + "'><div>" + decStr + "</div><ul>"; | ||
for (var i = 0; i < nPages; i++) { | for (var i = 0; i < nPages; i++) { | ||
var y = pages[prop][i].year; | var y = pages[prop][i].year; | ||
Line 68: | Line 69: | ||
var fPos = p.indexOf(" festivals"); | var fPos = p.indexOf(" festivals"); | ||
p = p.substring(0, fPos); | p = p.substring(0, fPos); | ||
cText += "<li class=' | cText += "<li class='tlnItem'><span id='" + p + "_" + y + "'>" + y + " – " + p + "</span><div></div></li>"; | ||
} | } | ||
cText += "</ul></div>" | cText += "</ul></div>" | ||
Line 74: | Line 75: | ||
} | } | ||
var cntStr = curCentury + (curCentury !== "21" ? "th" : "st") + " Cent."; | var cntStr = curCentury + (curCentury !== "21" ? "th" : "st") + " Cent."; | ||
var cHead = "<div class=' | var cHead = "<div class='tlnCnt' id='c" + curCentury + "'><div>" + cntStr + " (" + cTotal + ")</div>"; | ||
pText += cHead + "<div>" + cText + "</div></div>"; | pText += cHead + "<div>" + cText + "</div></div>"; | ||
elem.innerHTML = pText; | elem.innerHTML = pText; | ||
var centuries = get("tline").getElementsByClassName(" | var centuries = get("tline").getElementsByClassName("tlnCnt"); | ||
var nCnts = centuries.length; | var nCnts = centuries.length; | ||
for (var i = 0; i < nCnts; i++) { | for (var i = 0; i < nCnts; i++) { | ||
Line 86: | Line 87: | ||
var decades = get("tline").getElementsByClassName(" | var decades = get("tline").getElementsByClassName("tlnDec"); | ||
var nDecs = decades.length; | var nDecs = decades.length; | ||
for (var i = 0; i < nDecs; i++) { | for (var i = 0; i < nDecs; i++) { | ||
initDiv(decades[i]); | initDiv(decades[i]); | ||
} | } | ||
var items = get("tline").getElementsByClassName(" | var items = get("tline").getElementsByClassName("tlnItem"); | ||
var nItems = items.length; | var nItems = items.length; | ||
for (var i = 0; i < nItems; i++) { | for (var i = 0; i < nItems; i++) { | ||
Line 193: | Line 194: | ||
"display": true, | "display": true, | ||
"fontSize": 28, | "fontSize": 28, | ||
"fontFamily": "' | "fontFamily": "'OpenSansCondensed-Light', Helvetica, Arial, sans-serif", | ||
"fontColor": '# | "fontColor": '#800000', | ||
"fontStyle": "bold", | "fontStyle": "bold", | ||
"padding": 20 | "padding": 20 | ||
Line 272: | Line 273: | ||
} | } | ||
if (lbl === "Status") { | if (lbl === "Status") { | ||
cColrs[1] = "# | cColrs[1] = "#800000"; | ||
} | } | ||
var chrt = new Chart( get(cvsId), { | var chrt = new Chart( get(cvsId), { | ||
Line 345: | Line 346: | ||
} | } | ||
item = encodeURIComponent(item); | item = encodeURIComponent(item); | ||
var qry = " | var qry = "/wiki/api.php?action=ask&query=[[flLocality::" + | ||
item + "]][[flDate::" + yr + | item + "]][[flDate::" + yr + | ||
"]]|?flDate|?flCenturyOrdinal|?flLocality|?flLat|?flLon|?flCountry|?flAdmDiv|?flVicinity|?flRiding|?flGlondon|?flEvents|?flImage&format=json"; | "]]|?flDate|?flCenturyOrdinal|?flLocality|?flLat|?flLon|?flCountry|?flAdmDiv|?flVicinity|?flRiding|?flGlondon|?flEvents|?flImage&format=json"; | ||
Line 377: | Line 378: | ||
var card = lstItems[i].firstChild.nextSibling; | var card = lstItems[i].firstChild.nextSibling; | ||
var imgId = "img" + dec + "_" + i; | var imgId = "img" + dec + "_" + i; | ||
card.innerHTML = "<img class='cardImg' id='" + imgId + "'></img> | card.innerHTML = ""; | ||
var txt = "<div class='cardText'><table class='itemCard'>"; | |||
txt += "<tr><td colspan='2'><img class='cardImg' id='" + imgId + "'></img></td></tr>"; | |||
var safePage = page.replace("'", "%27"); | var safePage = page.replace("'", "%27"); | ||
safePage = replaceAll(safePage, " ", "_"); | safePage = replaceAll(safePage, " ", "_"); | ||
txt += "<tr>< | txt += "<tr><th>Link</th><td><a href='/wiki/index.php/" + safePage + "'>" + page + "</a></td></tr>"; | ||
var lt = res.printouts.FlLat[0] ? res.printouts.FlLat[0] : "?"; | var lt = res.printouts.FlLat[0] ? res.printouts.FlLat[0] : "?"; | ||
var ln = res.printouts.FlLon[0] ? res.printouts.FlLon[0] : "?"; | var ln = res.printouts.FlLon[0] ? res.printouts.FlLon[0] : "?"; | ||
txt += "<tr>< | txt += "<tr><th>Locality</th><td>" + res.printouts.FlLocality[0] + "</td></tr>"; | ||
txt += "<tr>< | txt += "<tr><th>Lat.</th><td>" + lt + "</td></tr>"; | ||
txt += "<tr>< | txt += "<tr><th>Lon.</th><td>" + ln + "</td></tr>"; | ||
txt += "<tr>< | txt += "<tr><th>Adm. div.</th><td>" + res.printouts.FlAdmDiv[0] + "</td></tr>"; | ||
var riding = res.printouts.FlRiding[0]; | var riding = res.printouts.FlRiding[0]; | ||
if (typeof riding !== "undefined") { | if (typeof riding !== "undefined") { | ||
txt += "<tr>< | txt += "<tr><th>Riding</th><td>" + riding + "</td></tr>"; | ||
} else { | } else { | ||
var glondon = res.printouts.FlGlondon[0]; | var glondon = res.printouts.FlGlondon[0]; | ||
if (typeof glondon !== "undefined") { | if (typeof glondon !== "undefined") { | ||
txt += "<tr>< | txt += "<tr><th>Greater London</th><td>Yes</td></tr>"; | ||
} | } | ||
} | } | ||
var vic = res.printouts.FlVicinity[0]; | var vic = res.printouts.FlVicinity[0]; | ||
vic = vic.replace("''", "<i>").replace("''", "</i>"); | vic = vic.replace("''", "<i>").replace("''", "</i>"); | ||
txt += "<tr>< | txt += "<tr><th>Vicinity</th><td>" + vic + "</td></tr>"; | ||
txt += "<tr>< | txt += "<tr><th>Date</th><td>" + flDate + "</td></tr>"; | ||
var century = res.printouts.FlCenturyOrdinal[0]; | var century = res.printouts.FlCenturyOrdinal[0]; | ||
if (century) { | if (century) { | ||
txt += "<tr>< | txt += "<tr><th>Century</th><td>" + century + "</td></tr>"; | ||
} | } | ||
txt += "<tr>< | txt += "<tr><th>Events</th><td>" + res.printouts.FlEvents[0] + "</td></tr>"; | ||
card.innerHTML += txt; | card.innerHTML += txt; | ||
var imgName = res.printouts.FlImage[0]; | var imgName = res.printouts.FlImage[0]; | ||
Line 415: | Line 417: | ||
card.style.display = "block"; | card.style.display = "block"; | ||
}; | }; | ||
tempImg.src = " | tempImg.src = "/wiki/thumb.php?f=" + encodeURIComponent(imgName) + "&w=195"; | ||
img.style.display = "block"; | img.style.display = "block"; | ||
} else { | } else { | ||
Line 448: | Line 450: | ||
var script = document.createElement('script'); | var script = document.createElement('script'); | ||
script.type = 'text/javascript'; | script.type = 'text/javascript'; | ||
script.src = " | script.src = "/wiki/js/Chart.js"; | ||
script.onreadystatechange = prepareCharts; | script.onreadystatechange = prepareCharts; | ||
script.onload = prepareCharts; | script.onload = prepareCharts; |
Revision as of 00:36, 26 April 2020
This widget generates the charts on landing pages in the Festivals section of IRHB. It takes no parameters.