mirror of
https://forge.chapril.org/tykayn/libre-charge-map
synced 2025-06-20 01:34:43 +02:00
alertes qualité plus légères
This commit is contained in:
parent
f19bff1953
commit
6248f1ca0b
6 changed files with 63 additions and 27 deletions
|
@ -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());
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue