up map by what and when
This commit is contained in:
parent
0f4d3c0ace
commit
7d57086047
3 changed files with 77 additions and 7 deletions
|
@ -19,12 +19,41 @@ let marker = new maplibregl.Marker({
|
|||
draggable: true
|
||||
});
|
||||
|
||||
// Variable globale pour les données de l'événement
|
||||
let eventData = null;
|
||||
|
||||
// Function to populate form with event data
|
||||
function populateForm() {
|
||||
if (!eventData || !eventData.properties) {
|
||||
showResult('Error loading event data', 'error');
|
||||
console.log('🔄 Tentative de récupération des données événement...');
|
||||
|
||||
// Essayer de récupérer les données depuis window (définies dans le template)
|
||||
try {
|
||||
if (typeof window.eventData !== 'undefined' && window.eventData) {
|
||||
eventData = window.eventData;
|
||||
console.log('✅ Données événement récupérées depuis window:', eventData);
|
||||
} else {
|
||||
throw new Error('Aucune donnée d\'événement trouvée dans window.eventData');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur lors de la récupération des données événement:', error);
|
||||
showResult('Erreur lors du chargement des données de l\'événement: ' + error.message, 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
// Vérifier la validité des données
|
||||
if (!eventData) {
|
||||
console.error('❌ eventData est null ou undefined');
|
||||
showResult('Données d\'événement manquantes', 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!eventData.properties) {
|
||||
console.error('❌ eventData.properties est manquant:', eventData);
|
||||
showResult('Structure de données d\'événement invalide (properties manquant)', 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('✅ Données événement validées, remplissage du formulaire...');
|
||||
|
||||
const properties = eventData.properties;
|
||||
|
||||
|
@ -66,8 +95,22 @@ function populateForm() {
|
|||
}
|
||||
}
|
||||
|
||||
// Call function to populate form
|
||||
populateForm();
|
||||
// Attendre que les données soient disponibles avant de peupler le formulaire
|
||||
function initializeForm() {
|
||||
if (typeof window.eventDataJson !== 'undefined') {
|
||||
console.log('📄 Données disponibles, initialisation du formulaire...');
|
||||
populateForm();
|
||||
} else {
|
||||
console.log('⏳ En attente des données, nouvelle tentative dans 100ms...');
|
||||
setTimeout(initializeForm, 100);
|
||||
}
|
||||
}
|
||||
|
||||
// Démarrer l'initialisation
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
console.log('🚀 DOM chargé, démarrage de l\'initialisation...');
|
||||
initializeForm();
|
||||
});
|
||||
|
||||
// Add marker on map click
|
||||
map.on('click', function(e) {
|
||||
|
|
|
@ -83,8 +83,35 @@
|
|||
|
||||
{% block scripts %}
|
||||
<script>
|
||||
// Event data from API
|
||||
const eventData = JSON.parse('{{ event_data|tojson|safe }}');
|
||||
// Event data from API - sécuriser le parsing
|
||||
let eventData = null;
|
||||
try {
|
||||
const rawData = '{{ event_data|tojson|safe }}';
|
||||
console.log('🔍 Données brutes reçues:', rawData);
|
||||
eventData = JSON.parse(rawData);
|
||||
console.log('✅ Données événement parsées:', eventData);
|
||||
|
||||
// Rendre les données disponibles globalement
|
||||
window.eventData = eventData;
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur de parsing des données événement:', error);
|
||||
console.error('Données brutes:', '{{ event_data|tojson|safe }}');
|
||||
|
||||
// Afficher une erreur à l'utilisateur
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const resultElement = document.getElementById('result');
|
||||
if (resultElement) {
|
||||
resultElement.innerHTML = `
|
||||
<div style="color: #dc3545; padding: 15px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px;">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
<strong>Erreur de chargement:</strong> Impossible de parser les données de l'événement.
|
||||
<br><small>Erreur technique: ${error.message}</small>
|
||||
</div>
|
||||
`;
|
||||
resultElement.style.display = 'block';
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script src="/static/edit.js"></script>
|
||||
{% endblock %}
|
|
@ -483,7 +483,7 @@
|
|||
// Charger les événements
|
||||
async function loadEvents() {
|
||||
try {
|
||||
const response = await fetch(`https://api.openeventdatabase.org/event?what=${eventType}&limit=1000`);
|
||||
const response = await fetch(`https://api.openeventdatabase.org/event?what=${eventType}&limit=1000 &start=1970-01-01T00:00:00Z&stop=2099-12-31T23:59:59Z`);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue