From b8549f5aa39ee657e69f6291026d59dd3553fd12 Mon Sep 17 00:00:00 2001 From: leandro <leandroalmada86@gmail.com> Date: Mon, 27 Sep 2021 16:29:42 +0200 Subject: [PATCH] fix couches cartos --- .../project/ProjectMappingContextLayer.vue | 45 +++++++++++-------- src/store/modules/map.js | 4 +- src/views/project/Project_mapping.vue | 2 +- 3 files changed, 30 insertions(+), 21 deletions(-) diff --git a/src/components/project/ProjectMappingContextLayer.vue b/src/components/project/ProjectMappingContextLayer.vue index 12bbd9f7..9a766ca2 100644 --- a/src/components/project/ProjectMappingContextLayer.vue +++ b/src/components/project/ProjectMappingContextLayer.vue @@ -68,20 +68,25 @@ export default { selectedLayer: { get() { const matchingLayer = this.retrieveLayer(this.layer.title); - return { - name: matchingLayer ? matchingLayer.service : "", - value: this.layer ? this.layer.title : "", - }; + if (matchingLayer != undefined){ + return { + name: matchingLayer != undefined ? matchingLayer.service : "", + value: this.layer ? this.layer.title : "", + }; + } + return [] }, set(newValue) { - const matchingLayer = this.retrieveLayer(this.layer.title); - this.updateLayer({ - ...this.layer, - service: newValue.name, - title: newValue.value, - id: matchingLayer.id, - }); + const matchingLayer = this.retrieveLayer(newValue.title); + if (matchingLayer != undefined){ + this.updateLayer({ + ...this.layer, + service: newValue.name, + title: newValue.value, + id: matchingLayer.id, + }); + } }, }, @@ -96,7 +101,7 @@ export default { availableLayers: function () { return this.layers.map((el) => { - return { name: el.service, value: el.title }; + return { id: el.id, name: el.service, value: el.title, title: el.title }; }); }, @@ -109,7 +114,7 @@ export default { methods: { retrieveLayer(title) { - return this.layers.find((el) => el.title === title); + return this.layers.find((el) => el.title === title); }, removeLayer() { @@ -130,12 +135,14 @@ export default { mounted() { const matchingLayer = this.retrieveLayer(this.layer.title); - this.updateLayer({ - ...this.layer, - service: matchingLayer.service, - title: matchingLayer.title, - id: matchingLayer.id, - }); + if (matchingLayer != undefined){ + this.updateLayer({ + ...this.layer, + service: matchingLayer.service, + title: matchingLayer.title, + id: matchingLayer.id, + }); + } }, }; </script> \ No newline at end of file diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 083bbb45..719eb697 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -99,7 +99,9 @@ const map = { GET_BASEMAPS({ commit }, project_slug) { return axios .get(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/?project__slug=${project_slug}`) - .then((response) => (commit("SET_BASEMAPS", response.data))) + .then((response) => { + commit("SET_BASEMAPS", response.data) + }) .catch((error) => { throw error; }); diff --git a/src/views/project/Project_mapping.vue b/src/views/project/Project_mapping.vue index 3621e2d8..0a94b5a8 100644 --- a/src/views/project/Project_mapping.vue +++ b/src/views/project/Project_mapping.vue @@ -21,7 +21,7 @@ </a> </div> - <div class="ui"> + <div v-if="basemaps" class="ui"> <ProjectMappingBasemap v-for="basemap in basemaps" :key="basemap.id" -- GitLab