Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(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!" } }); }