filter min power slider, display count of hidden stations

This commit is contained in:
Tykayn 2025-04-20 00:54:04 +02:00 committed by tykayn
parent 33c4bd0668
commit a114635fce
10 changed files with 177 additions and 51 deletions

View file

@ -344,6 +344,9 @@ function calculerPourcentage(partie, total, reduc) {
// Ajouter une variable globale pour stocker le nombre d'issues Osmose
let osmoseIssuesCount = 0;
// Ajouter une variable globale pour stocker le nombre de stations affichées
let displayedStationsCount = 0;
function displayStatsFromGeoJson(resultAsGeojson) {
let count = resultAsGeojson.features.length;
let count_station_output = 0;
@ -463,6 +466,7 @@ function displayStatsFromGeoJson(resultAsGeojson) {
// Remplacer la ligne existante par un appel à updateCounters
updateCounters();
}
// Ajouter une fonction pour mettre à jour les compteurs
@ -506,6 +510,9 @@ function displayPointsFromApi(points, convert_to_osm_json) {
geojsondata = osmtogeojson(points);
}
// Réinitialiser le compteur avant d'afficher les points
displayedStationsCount = 0;
displayStatsFromGeoJson(geojsondata);
let resultLayer = L.geoJson(geojsondata, {
@ -530,6 +537,9 @@ function displayPointsFromApi(points, convert_to_osm_json) {
},
onEachFeature: eachFeature,
});
// Mettre à jour le compteur de stations filtrées
updateFilteredStationsCount();
}
function makePopupOfFeature(feature) {
@ -580,7 +590,6 @@ function eachFeature(feature, layer) {
// Filtrage par puissance
if (outPowerGuessed === 0 || outPowerGuessed === null) {
// Gestion des stations à puissance inconnue
if (display_unknown_max_power_station === 'hide') {
return;
}
@ -591,6 +600,9 @@ function eachFeature(feature, layer) {
}
}
// Incrémenter le compteur de stations affichées
displayedStationsCount++;
let link_josm = createJOSMEditLink(feature);
let popupContent = makePopupOfFeature(feature);
@ -840,7 +852,8 @@ function refreshDisplay(convert_points_to_osm = false) {
supprimerMarqueurs();
if (geojsondata) {
displayPointsFromApi(geojsondata, convert_points_to_osm);
updateCounters(); // Mettre à jour les compteurs après le filtrage
updateCounters();
updateFilteredStationsCount();
}
}
@ -1260,6 +1273,12 @@ function init() {
"Bornes potentielles (Osmose)": osmose_markers
};
// const baseLayersControl = L.control.layers(baseLayers, null, {
// collapsed: true,
// className: 'leaflet-control-layers base-layers',
// id: 'base-layers-control'
// }).addTo(map);
const overlayControl = L.control.layers(null, overlayMaps, {
collapsed: true,
className: 'leaflet-control-layers overlay-layers',
@ -1333,4 +1352,18 @@ init()
// Créer un nouveau pane pour les marqueurs Osmose avec un zIndex plus élevé
map.createPane('osmosePane');
map.getPane('osmosePane').style.zIndex = 1000;
map.getPane('osmosePane').style.zIndex = 1000;
// Ajouter une nouvelle fonction pour mettre à jour le compteur de stations filtrées
function updateFilteredStationsCount() {
const totalStations = geojsondata ? geojsondata.features.length : 0;
const filterStats = `<div class="filter-stats">${displayedStationsCount} stations sur ${totalStations} trouvées</div>`;
// Mettre à jour ou créer l'élément après le slider
let existingStats = $('.filter-stats');
if (existingStats.length) {
existingStats.replaceWith(filterStats);
} else {
$('#filter_max_output_display').after(filterStats);
}
}