alertes qualité plus légères

This commit is contained in:
Tykayn 2025-04-28 16:17:13 +02:00 committed by tykayn
parent f19bff1953
commit 6248f1ca0b
6 changed files with 63 additions and 27 deletions

View file

@ -486,7 +486,7 @@ function updateCounters() {
// Modifier bindEventsOnJosmRemote pour cibler les boutons dans un contexte (la popup)
function bindEventsOnJosmRemote(popupElement) {
// Cible tous les liens JOSM à l'intérieur de l'élément popup fourni
$(popupElement).find('.edit-button.josm').each(function () {
$('#current_station_infos').find('.edit-button.josm').each(function () {
// Utiliser .off().on() pour éviter les liaisons multiples si la popup est rouverte
$(this).off('click').on('click', (event) => {
event.preventDefault();
@ -769,7 +769,6 @@ function eachFeature(feature, layer, stats) {
mouseover: function () {
this.openPopup();
bindEventsOnJosmRemote(this.getPopup().getElement());
bindFullDetails(feature);
},
mouseout: function () {
// setTimeout(() => this.closePopup(), 15000);
@ -777,7 +776,6 @@ function eachFeature(feature, layer, stats) {
click: function () {
this.openPopup();
bindEventsOnJosmRemote(this.getPopup().getElement());
bindFullDetails(feature);
},
});
@ -814,10 +812,10 @@ function eachFeature(feature, layer, stats) {
color: 'red',
fillColor: 'orange',
fillOpacity: 0.5,
radius: radius * 1.2
radius: radius * 0.85
});
circle_alert.bindTooltip(badtags, {
permanent: true,
// permanent: true,
direction: 'top'
}).addTo(bad_tags_markers);
}
@ -830,19 +828,18 @@ function eachFeature(feature, layer, stats) {
circle.on({
mouseover: function () {
this.openPopup();
fillDetailsWithFeature(feature);
bindEventsOnJosmRemote(this.getPopup().getElement());
bindFullDetails(feature);
},
mouseout: function () {
// setTimeout(() => this.closePopup(), 15000);
},
click: function () {
this.openPopup();
bindEventsOnJosmRemote(this.getPopup().getElement());
bindFullDetails(feature);
// Remplir automatiquement #current_station_infos lors du clic
fillDetailsWithFeature(feature);
bindEventsOnJosmRemote(this.getPopup().getElement());
},
});

View file

@ -1,4 +1,11 @@
export const valid_qa_message = '<span class="quality-ok">✔ Aucun problème de qualité</span>'
/**
* utilitaires pour la qualité des données et deviner les puissances de stations de recharge
*/
export const valid_qa_message = '<span class="quality-ok">✔ Aucun problème de qualité</span>' // message affiché lorsque tout est bon
export const show_all_alerts = true // afficher ou non toutes les alertes, ou seulement les alertes critiques
const lcm_utils = {
/**
@ -66,13 +73,16 @@ const lcm_utils = {
displayBadTagsFromFeature: (feature) => {
let content = ''
let content_combo_output = ''
let content_truefalse = ''
let content_puissance_station = ''
// tag de prise sans output
if (feature.properties.tags['socket: type2_combo'] && !feature.properties.tags['socket: type2_combo:output']) {
content += '<span class="quality-alert">Prise type 2 combo sans puissance déclarée</span>'
content_combo_output += '<span class="quality-alert"> <img src="img/type2_combo.svg" alt="Prise type 2 combo"> Prise type 2 combo sans puissance déclarée</span>'
}
// tag de prise sans output
if (!feature.properties.tags['charging_station:output']) {
content += '<span class="quality-alert">Pas de puissance déclarée pour la station</span>'
content_puissance_station += '<span class="quality-alert">Pas de puissance déclarée pour la station</span>'
}
// Vérifier les tags de puissance qui ne devraient pas contenir de point-virgule
@ -80,12 +90,12 @@ const lcm_utils = {
if (tag.includes(':output')) {
let value = feature.properties.tags[tag];
if (value && value.includes(';')) {
content += `<div class="quality-alert">Le tag "${tag}" ne devrait pas contenir de point-virgule dans sa valeur</div>`;
content += `<div class="quality-alert"> <img src="img/fountain.png" alt="output"> Le tag "${tag}" ne devrait pas contenir de point-virgule dans sa valeur</div>`;
}
// Vérifier si la valeur est zéro
if (value === '0' || value === 0 || value === '0 kW') {
content += `<div class="quality-alert">Le tag "${tag}" ne devrait pas avoir une valeur de zéro</div>`;
content += `<div class="quality-alert"> <img src="img/prise_inconnue.svg" alt="output"> Le tag "${tag}" ne devrait pas avoir une valeur de zéro</div>`;
}
}
}
@ -117,9 +127,20 @@ const lcm_utils = {
for (let tag in feature.properties.tags) {
let value = feature.properties.tags[tag];
if (value === 'true' || value === 'false') {
content += `<div class="quality-alert">Le tag <b class="quality-emphasis">${tag}</b> utilise <b class="quality-emphasis">true/false</b> au lieu de <b class="quality-emphasis">yes/no</b></div>`;
content_truefalse = `<div class="quality-alert">Le tag <b class="quality-emphasis">${tag}</b> utilise <b class="quality-emphasis">true/false</b> au lieu de <b class="quality-emphasis">yes/no</b></div>`;
}
}
if (!show_all_alerts) {
return content = `
${content_truefalse}
${content_combo_output}
`
// ${content_puissance_station}
} else {
content = content_truefalse + content_combo_output + content_puissance_station + content
}
if (!content) {
content = '' + valid_qa_message