Skip to content
Snippets Groups Projects
Commit 1d25d813 authored by Sébastien DA ROCHA's avatar Sébastien DA ROCHA :bicyclist:
Browse files

Merge branch 'redmine-issues/12013' into 'develop'

parents 68c8cfbb d7a58f07
No related branches found
No related tags found
No related merge requests found
......@@ -37,7 +37,11 @@
</div>
<div
v-if="project && feature_types && permissions.can_create_feature"
v-if="
project &&
feature_types.length > 0 &&
permissions.can_create_feature
"
class="item right"
>
<div
......@@ -322,10 +326,10 @@ export default {
},
onFilterChange() {
var features = this.filteredFeatures;
this.featureGroup.clearLayers();
this.featureGroup = mapUtil.addFeatures(features, {});
if (features.length > 0) {
if (this.featureGroup) {
const features = this.filteredFeatures;
this.featureGroup.clearLayers();
this.featureGroup = mapUtil.addFeatures(features, {});
mapUtil
.getMap()
.fitBounds(this.featureGroup.getBounds(), { padding: [25, 25] });
......@@ -356,9 +360,8 @@ export default {
});
// --------- End sidebar events ----------
if (this.$store.state.map.geojsonFeatures) {
this.loadFeatures(this.$store.state.map.geojsonFeatures);
} else {
if (this.features && this.features.length > 0) {
//* features are updated consistently, then if features exists, we can fetch the geojson version
const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.$route.params.slug}/feature/?output=geojson`;
this.$store.commit(
"DISPLAY_LOADER",
......@@ -367,7 +370,9 @@ export default {
axios
.get(url)
.then((response) => {
this.loadFeatures(response.data.features);
if (response.status === 200 && response.data.features.length > 0) {
this.loadFeatures(response.data.features);
}
this.$store.commit("DISCARD_LOADER");
})
.catch((error) => {
......
......@@ -590,7 +590,6 @@ export default {
if (this.project && this.permissions.can_view_project) {
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`;
let self = this;
axios
.get(url)
.then((response) => {
......@@ -600,7 +599,9 @@ export default {
mapUtil
.getMap()
.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) => {
......
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