MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
function initMap() { | function initMap() { | ||
var element = document.getElementById('map'); | var element = document.getElementById('map'); | ||
var | var dataSrc = element.getAttribute('data-src'); | ||
if (dataSrc) { | |||
var coordinates = dataSrc.split(/[;,]/).map(function(coord) { | |||
return parseFloat(coord.trim()); | |||
}); | |||
var mapOptions = { | |||
center: { lat: coordinates[0], lng: coordinates[1] }, | |||
zoom: 4 | |||
}; | |||
}); | var map = new google.maps.Map(element, mapOptions); | ||
var marker = new google.maps.Marker({ | |||
position: { lat: coordinates[0], lng: coordinates[1] }, | |||
map: map, | |||
title: 'Marker Title' | |||
}); | |||
} else { | |||
// Add the 'no-data' class if data-src doesn't exist | |||
element.classList.add('no-data'); | |||
} | |||
} | } | ||
var script = document.createElement('script'); | var script = document.createElement('script'); | ||
script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBIrgq5dZQ8haJIfKHbGco90OpDwYLiXwA&callback=initMap'; | script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBIrgq5dZQ8haJIfKHbGco90OpDwYLiXwA&callback=initMap'; | ||
| Line 27: | Line 33: | ||
script.defer = true; | script.defer = true; | ||
document.head.appendChild(script); | document.head.appendChild(script); | ||
if (document.body.classList.contains('page-Main_Page')) { | |||
if (document.cookie.indexOf('popupClosed=true') === -1) { | |||
var popup = document.createElement('div'); | |||
popup.className = 'popup'; | |||
var popupContent = document.createElement('span'); | |||
popup.innerHTML = '<span><h>Content Note</h><p>As a database of 19th-century material, some of the texts in this Wiki may contain racist, offensive, and discriminatory language and imagery.</p> <a class="button">okay</a></span>'; | |||
document.body.insertBefore(popup, document.body.firstChild); | |||
popup.style.display = 'block'; | |||
popup.addEventListener('click', function () { | |||
popup.style.display = 'none'; | |||
document.cookie = 'popupClosed=true; expires=' + new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toUTCString(); // Set cookie to expire in one year | |||
}); | |||
} | |||
} | |||
Latest revision as of 23:37, 27 March 2024
/* Any JavaScript here will be loaded for all users on every page load. */
function initMap() {
var element = document.getElementById('map');
var dataSrc = element.getAttribute('data-src');
if (dataSrc) {
var coordinates = dataSrc.split(/[;,]/).map(function(coord) {
return parseFloat(coord.trim());
});
var mapOptions = {
center: { lat: coordinates[0], lng: coordinates[1] },
zoom: 4
};
var map = new google.maps.Map(element, mapOptions);
var marker = new google.maps.Marker({
position: { lat: coordinates[0], lng: coordinates[1] },
map: map,
title: 'Marker Title'
});
} else {
// Add the 'no-data' class if data-src doesn't exist
element.classList.add('no-data');
}
}
var script = document.createElement('script');
script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBIrgq5dZQ8haJIfKHbGco90OpDwYLiXwA&callback=initMap';
script.async = true;
script.defer = true;
document.head.appendChild(script);
if (document.body.classList.contains('page-Main_Page')) {
if (document.cookie.indexOf('popupClosed=true') === -1) {
var popup = document.createElement('div');
popup.className = 'popup';
var popupContent = document.createElement('span');
popup.innerHTML = '<span><h>Content Note</h><p>As a database of 19th-century material, some of the texts in this Wiki may contain racist, offensive, and discriminatory language and imagery.</p> <a class="button">okay</a></span>';
document.body.insertBefore(popup, document.body.firstChild);
popup.style.display = 'block';
popup.addEventListener('click', function () {
popup.style.display = 'none';
document.cookie = 'popupClosed=true; expires=' + new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toUTCString(); // Set cookie to expire in one year
});
}
}