Skip to content
Snippets Groups Projects
Commit 9b98de99 authored by Timothee P's avatar Timothee P :sunflower:
Browse files

prevent featureGeojson not updated if no features existing for project

parent 579e06e6
No related branches found
No related tags found
1 merge request!110REDMINE_ISSUE-12013
...@@ -331,10 +331,10 @@ export default { ...@@ -331,10 +331,10 @@ export default {
}, },
onFilterChange() { onFilterChange() {
var features = this.filteredFeatures; if (this.featureGroup) {
this.featureGroup.clearLayers(); const features = this.filteredFeatures;
this.featureGroup = mapUtil.addFeatures(features, {}); this.featureGroup.clearLayers();
if (features.length > 0) { this.featureGroup = mapUtil.addFeatures(features, {});
mapUtil mapUtil
.getMap() .getMap()
.fitBounds(this.featureGroup.getBounds(), { padding: [25, 25] }); .fitBounds(this.featureGroup.getBounds(), { padding: [25, 25] });
...@@ -365,15 +365,16 @@ export default { ...@@ -365,15 +365,16 @@ export default {
}); });
// --------- End sidebar events ---------- // --------- End sidebar events ----------
if (this.$store.state.map.geojsonFeatures) { if (this.features && this.features.length > 0) {
this.loadFeatures(this.$store.state.map.geojsonFeatures); //* features are updated consistently, then if features exists, we can fetch the geojson version
} else {
const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.$route.params.slug}/feature/?output=geojson`; const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.$route.params.slug}/feature/?output=geojson`;
this.featureLoading = true; this.featureLoading = true;
axios axios
.get(url) .get(url)
.then((response) => { .then((response) => {
this.loadFeatures(response.data.features); if (response.status === 200 && response.data.features.length > 0) {
this.loadFeatures(response.data.features);
}
this.featureLoading = false; this.featureLoading = false;
}) })
.catch((error) => { .catch((error) => {
......
...@@ -590,7 +590,6 @@ export default { ...@@ -590,7 +590,6 @@ export default {
if (this.project && this.permissions.can_view_project) { if (this.project && this.permissions.can_view_project) {
this.$store.dispatch("map/INITIATE_MAP"); this.$store.dispatch("map/INITIATE_MAP");
const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.$route.params.slug}/feature/?output=geojson`; const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.$route.params.slug}/feature/?output=geojson`;
let self = this;
axios axios
.get(url) .get(url)
.then((response) => { .then((response) => {
...@@ -600,7 +599,9 @@ export default { ...@@ -600,7 +599,9 @@ export default {
mapUtil mapUtil
.getMap() .getMap()
.fitBounds(featureGroup.getBounds(), { padding: [25, 25] }); .fitBounds(featureGroup.getBounds(), { padding: [25, 25] });
self.$store.commit("map/SET_GEOJSON_FEATURES", features); this.$store.commit("map/SET_GEOJSON_FEATURES", features);
} else {
this.$store.commit("map/SET_GEOJSON_FEATURES", []);
} }
}) })
.catch((error) => { .catch((error) => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment