// custom_scroller_menu( // document.scrollingElement, // document.getElementById("menubar"), // document.getElementById("debug")); var svg = document.querySelector("#svg"), page = document.querySelector("#page"), iframe = document.querySelector("iframe#wikiframe"), cats = document.querySelector("#cats"), cats_contents = document.querySelector("#cats .body"), cats_thumb = document.querySelector("#cats .thumb"), allcatscb = document.querySelector("input#allcats"), historycb = document.querySelector("input#history"), current_title = null, loaded = false, wikibaseurl, wikibasepat; window.addEventListener("resize", resize); function resize() { var w = window, d = document, e = d.documentElement, g = d.getElementsByTagName('body')[0], x = w.innerWidth || e.clientWidth || g.clientWidth, y = w.innerHeight|| e.clientHeight|| g.clientHeight; // svg.setAttribute("width", x); // svg.setAttribute("height", y); //console.log("resize", x, y); // Match size of parent svg.setAttribute("width", page.clientWidth); svg.setAttribute("height", page.clientHeight); } resize(); // console.log("mediawikiapi", mediawikiapi); var symbols = { "Orientations": "symbols.svg#Orientations", "Ateliers pluridisciplinaires": "symbols.svg#Ateliers_pluridisciplinaires", "Cours de soutien à l'orientation": "symbols.svg#Cours_de_soutien_a_l'orientation", "Cours de soutien spécifique": "symbols.svg#Cours_de_soutien_specifique", "Cours techniques": "symbols.svg#Cours_techniques", "Cours théoriques": "symbols.svg#Cours_theoriques", "Enseignants": "symbols.svg#Enseignants", "default": "symbols.svg#Main" }; var map = new app.Map(symbols); map.init_svg("#svg"); async function doload () { console.log("loading map"); await map.load_json("data/sitemap.json"); // console.log("loading categories"); // await map.load_cats("data/cats.json", cats_contents); await map.load_legend("src/legend.json", cats_contents); console.log("LOADED!"); loaded = true; if (current_title) { map.set_active_title(current_title); } } map.on("page", function (title) { console.log("map.page", title); var url = wiki_title_to_url(title); iframe.src = url; }) // async function doload() { // map.set_active_node(startpage.value); // } function strip_fragment (href) { var spos = href.indexOf("#"); if (spos >= 0) { return href.substr(0, href.indexOf("#")) } return href; } function url_to_wiki_title (href) { href = strip_fragment(href); var m = wikibasepat.exec(href); if (m !== null) { return decodeURI(m[1]).replace(/_/g, " "); } console.log("m", m); } function wiki_title_to_url (title) { return wikibaseurl+encodeURI(title.replace(/ /g, "_")); } window.addEventListener("DOMContentLoaded", doload); function strip_title_from_wiki_url (url) { return url.substr(0, url.lastIndexOf("/")+1); } iframe.addEventListener("load", function () { var href = strip_fragment(iframe.contentWindow.location.href); if (!wikibaseurl) { wikibaseurl = strip_title_from_wiki_url(href); wikibasepat = new RegExp(wikibaseurl+"(.+)"); } console.log("iframe loaded", href); var title = url_to_wiki_title(href); console.log("title", title); if (title) { current_title = title; if (loaded) { map.set_active_title(title); } } // attempt to map url to wiki page title and update the map if it is one }); cats_thumb.addEventListener("click", function () { cats.classList.toggle("expanded"); }); // allcats checkbox // match current state & respond to change events // console.log("setting checked to", cats.classList.contains("showall")) allcatscb.checked = cats.classList.contains("showall"); allcatscb.addEventListener("change", function () { // console.log("allcats", allcatscb); if (allcatscb.checked) { cats.classList.add("showall") } else { cats.classList.remove("showall") } }) historycb.addEventListener("change", function () { // console.log("history", historycb.checked); map.set_show_history(historycb.checked); })