MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(load village location from api and display map) |
||
Line 4: | Line 4: | ||
maplocation = document.getElementById('map'); | maplocation = document.getElementById('map'); | ||
maplocation.innerHTML = "<iframe src='https://map.emfcamp.org/' style='width: 100%; height: 600px'></iframe>"; | 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!" | |||
} | |||
}); | |||
} | } |
Revision as of 12:47, 13 August 2018
/* 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!" } }); }