diff --git a/frontend/package.json b/frontend/package.json
index 7193692..5ea8af9 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -20,6 +20,7 @@
"leaflet": "^1.9.4",
"leaflet-easybutton": "^2.4.0",
"leaflet-iconmaterial": "^1.1.0",
+ "papaparse": "^5.4.1",
"leaflet.markercluster": "^1.5.3",
"pinia": "^2.1.6",
"swagger-ui": "^5.10.5",
diff --git a/frontend/src/components/DataViewDrawer.vue b/frontend/src/components/DataViewDrawer.vue
index 863becc..46764e9 100644
--- a/frontend/src/components/DataViewDrawer.vue
+++ b/frontend/src/components/DataViewDrawer.vue
@@ -30,12 +30,18 @@
{{ totalModels }}
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/stores/map.js b/frontend/src/stores/map.js
index e518785..ae06ae7 100644
--- a/frontend/src/stores/map.js
+++ b/frontend/src/stores/map.js
@@ -11,6 +11,7 @@ export const useMapStore = defineStore('map', () => {
const modelFeatures = ref({})
const perceptualModelsGeojson = ref([])
const mapLoaded = ref(false)
+ let currentFilteredData = ref([])
const markerClusterGroup = L.markerClusterGroup({
iconCreateFunction: (cluster) => {
const childCount = cluster.getChildCount();
@@ -103,12 +104,12 @@ export const useMapStore = defineStore('map', () => {
content += 'Temporal zone:
'
content += `${feature.properties.temporal_zone_type.temporal_property}`
}
-
layer.bindPopup(content, {
maxWidth: 400,
maxHeight: 300,
keepInView: true
})
+ currentFilteredData.value.push(feature);
}
const pointToLayer = (feature, latlng) => {
@@ -151,6 +152,7 @@ export const useMapStore = defineStore('map', () => {
}
function filterFeatures(filterFunction) {
+ currentFilteredData.value =[];
// TODO enable multiple filters at the same time
// first remove all layers
layerGroup.value.removeLayer(modelFeatures.value)
@@ -164,6 +166,7 @@ export const useMapStore = defineStore('map', () => {
},
pointToLayer: pointToLayer
})
+
// add filtered features
markerClusterGroup.addLayer(modelFeatures.value);
layerGroup.value.addLayer(markerClusterGroup);
@@ -187,6 +190,7 @@ export const useMapStore = defineStore('map', () => {
mapLoaded,
fetchPerceptualModelsGeojson,
filterFeatures,
- resetFilter
+ resetFilter,
+ currentFilteredData
}
})