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!"
}
});
}