up map by what and when

This commit is contained in:
Tykayn 2025-09-26 17:47:59 +02:00 committed by tykayn
parent 0f4d3c0ace
commit 7d57086047
3 changed files with 77 additions and 7 deletions

View file

@ -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) {

View file

@ -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 %}

View file

@ -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}`);