MediaWiki:Common.js: Difference between revisions

From Zezenia Online Wiki
Add map toggles
Add map embed no builtins parameter
Line 58: Line 58:
     if (embed.dataset.center) params += "center=" + embed.dataset.center + "&";
     if (embed.dataset.center) params += "center=" + embed.dataset.center + "&";
     if (embed.dataset.markers) params += "markers=" + encodeURIComponent(embed.dataset.markers) + "&";
     if (embed.dataset.markers) params += "markers=" + encodeURIComponent(embed.dataset.markers) + "&";
    if (embed.dataset.nobuiltins && embed.dataset.nobuiltins.length) params += "hidemarkers=true&";
     iframe.src = "https://map.playzezenia.com?" + params;
     iframe.src = "https://map.playzezenia.com?" + params;



Revision as of 02:53, 28 March 2021

/* Any JavaScript here will be loaded for all users on every page load. */
var css = document.createElement("link");
css.rel = "stylesheet";
css.type = "text/css";
css.href = "https://www.playzezenia.com/cdn/styles/cookieconsent.css";
document.head.appendChild(css);

var script = document.createElement("script");
script.src = "https://www.playzezenia.com/cdn/scripts/cookieconsent.js";
script.async = true;
script.onload = function() {
window.cookieconsent.initialise({
	palette: {
		popup: {
			background: "#000",
			text: "#ececec"
		},
		button: {
			background: "#fff",
			text: "#000"
		}
	},
	content: {
		message: "Zezenia Online uses cookies to log you in and improve our services.",
		dismiss: "I agree",
		link: "Privacy Policy",
		href: "https://www.playzezenia.com/home/legal#2",
	},
	cookie: {
		domain: "." + document.domain.split('.').reverse().splice(0, 2).reverse().join('.'),
	},
});
}
document.body.appendChild(script);

var gtm = document.createElement("script");
gtm.async = true;
gtm.src = "https://www.googletagmanager.com/gtag/js?id=G-Z2TDHQE12Q";
document.body.appendChild(gtm);

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-Z2TDHQE12Q');

/* Embed maps */
  var embeds = document.querySelectorAll(".zezenia-map-embed");
  embeds.forEach(function(embed) {
    var iframe = document.createElement("iframe");
    iframe.width = embed.dataset.width || 800;
    iframe.height = embed.dataset.height || 600;

    var params = "embed=true&";
    if (embed.dataset.x) params += "x=" + embed.dataset.x + "&";
    if (embed.dataset.y) params += "y=" + embed.dataset.y + "&";
    if (embed.dataset.z) params += "z=" + embed.dataset.z + "&";
    if (embed.dataset.zoom) params += "zoom=" + embed.dataset.zoom + "&";
    if (embed.dataset.center) params += "center=" + embed.dataset.center + "&";
    if (embed.dataset.markers) params += "markers=" + encodeURIComponent(embed.dataset.markers) + "&";
    if (embed.dataset.nobuiltins && embed.dataset.nobuiltins.length) params += "hidemarkers=true&";
    iframe.src = "https://map.playzezenia.com?" + params;

    embed.appendChild(iframe);
  });

/* Toggle maps */
var toggleMaps = document.querySelectorAll(".zezenia-map-toggle");
toggleMaps.forEach(function(toggle) {
  toggle.style.display = "inline-block";

  var map = toggle.querySelector(".zezenia-map-embed");
  map.style.display = "none";

  var link = document.createElement("a");
  link.innerText = "🗺️ Open map";
  link.onclick = function(e) {
    e.preventDefault();

    if (map.style.display !== "none") {
      map.style.display = "none";
      link.innerHTML = "🗺️ Open map";
    } else {
      map.style.display = "block";
      link.innerHTML = "🗺️ Close map";
    }

    return false;
  };
  link.href = "#";

  toggle.insertBefore(link, map);
});