MediaWiki:Common.js

From Electromagnetic Field
Revision as of 12:47, 13 August 2018 by Davidc (talk | contribs) (load village location from api and display map)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

if ( mw.config.get( 'wgPageName' ) === 'User:Stitch/Test' || mw.config.get( 'wgPageName' ) === 'Villages') {
    maplocation = document.getElementById('map');
    maplocation.innerHTML = "<iframe src='https://map.emfcamp.org/' style='width: 100%; height: 600px'></iframe>";
}


/* Map for individual village pages */

var thisPage = mw.config.get('wgPageName');
var mapEl = document.getElementById('villageMap');

if (thisPage.substring(0, 8) == 'Village:' && window.fetch && mapEl) { // Can't use wgCanonicalNamespace as it's not a proper namespace
  window.fetch("https://www.emfcamp.org/api/map")
    .then(function (response) {
      if (response.ok) {
        return response.json();
      }
    })
    .then(function (data) {
      if (data.features) {
        for (var i=0; i<data.features.length; ++i) {
          var feature = data.features[i];
          if (feature.properties && feature.properties.wiki_page == thisPage) {
            var mapUrl = 'https://map.emfcamp.org/#17/' + feature.geometry.coordinates[1] + '/' + feature.geometry.coordinates[0];
            mapEl.innerHTML = '<iframe src="' + mapUrl + '" style="width: 100%; height: 200px; border: 0;"></iframe>';
            return;
          }
        }
        mapEl.innerHTML = "This village hasn't placed a map pin yet!"
      }
    });
}