From 3ce0841dd4ea8c417a74fb8b0b6fcd62a8dcb7bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr>
Date: Thu, 16 Sep 2021 11:06:39 +0200
Subject: [PATCH] Fix project_mapping form and removed consoles

---
 .../project/ProjectMappingContextLayer.vue    | 16 --------------
 .../project/project_mapping_basemap.vue       | 21 +++++++++++++++++--
 src/store/modules/map.js                      | 12 +++++------
 src/views/feature_type/Feature_type_edit.vue  |  1 -
 src/views/project/Project_edit.vue            |  7 -------
 5 files changed, 25 insertions(+), 32 deletions(-)

diff --git a/src/components/project/ProjectMappingContextLayer.vue b/src/components/project/ProjectMappingContextLayer.vue
index 36b587db..12bbd9f7 100644
--- a/src/components/project/ProjectMappingContextLayer.vue
+++ b/src/components/project/ProjectMappingContextLayer.vue
@@ -61,19 +61,6 @@ export default {
   components: {
     Dropdown,
   },
-/* 
-  data() {
-    return {
-      matchingLayer: null,
-    };
-  },
-
-  watch: {
-    layer(newVal) {
-      console.log()
-      this.matchingLayer = this.layers.find((el) => el.title === newVal.title);
-    },
-  }, */
 
   computed: {
     ...mapState("map", ["layers", "availableLayers"]),
@@ -84,12 +71,10 @@ export default {
         return {
           name: matchingLayer ? matchingLayer.service : "",
           value: this.layer ? this.layer.title : "",
-          // id: matchingLayer ? matchingLayer.id : null, //? what could be the default value ?
         };
       },
 
       set(newValue) {
-        // console.log(newValue)
         const matchingLayer = this.retrieveLayer(this.layer.title);
         this.updateLayer({
           ...this.layer,
@@ -135,7 +120,6 @@ export default {
     },
 
     updateLayer(layer) {
-      console.log(layer);
       this.$store.commit("map/UPDATE_BASEMAP_LAYER", {
         basemapId: this.basemapid,
         layerId: this.layer.dataKey,
diff --git a/src/components/project/project_mapping_basemap.vue b/src/components/project/project_mapping_basemap.vue
index c8302f42..07d38e01 100644
--- a/src/components/project/project_mapping_basemap.vue
+++ b/src/components/project/project_mapping_basemap.vue
@@ -82,13 +82,14 @@ export default {
       this.$store.commit("map/DELETE_BASEMAP", this.basemap.id);
     },
 
-    addLayer() {
+    addLayer(layer) {
       const newLayer = {
         dataKey: this.maxLayersCount + 1,
         opacity: "1.00",
         order: 0,
         queryable: false,
         title: "Open street map",
+        ...layer,
       };
       this.$store.commit("map/UPDATE_BASEMAP", {
         layers: [...this.basemap.layers, newLayer],
@@ -98,7 +99,6 @@ export default {
     },
 
     updateTitle(evt) {
-      console.log(evt);
       this.$store.commit("map/UPDATE_BASEMAP", {
         id: this.basemap.id,
         title: evt.target.value,
@@ -108,6 +108,23 @@ export default {
     removeLayer(dataKey) {
       this.layers = this.layers.filter((layer) => layer.dataKey !== dataKey);
     },
+
+    fillLayersWithDatakey(layers) {
+      let dataKey = 0;
+      this.$store.commit("map/REPLACE_BASEMAP_LAYERS", {
+        basemapId: this.basemap.id,
+        layers: layers.map((el) => {
+          dataKey += 1;
+          return { dataKey, ...el };
+        }),
+      });
+    },
+  },
+
+  created() {
+    if (this.basemap.layers) {
+      this.fillLayersWithDatakey(this.basemap.layers);
+    }
   },
 
   // mounted() { //* not present in original
diff --git a/src/store/modules/map.js b/src/store/modules/map.js
index 0a272317..b66a0b3c 100644
--- a/src/store/modules/map.js
+++ b/src/store/modules/map.js
@@ -33,7 +33,6 @@ const map = {
       state.basemaps = basemaps;
     },
     UPDATE_BASEMAP(state, { title, id, layers }) {
-      console.log(title, id, layers)
       const index = state.basemaps.findIndex((el) => el.id === id);
       if (index !== -1) {
         if (title) {
@@ -42,7 +41,6 @@ const map = {
         if (layers) {
           state.basemaps[index].layers = layers
         }
-        console.log(state.basemaps[index])
       }
     },
     DELETE_BASEMAP(state, basemapId) {
@@ -52,6 +50,12 @@ const map = {
     REMOVE_BASEMAP_ID_TO_DELETE(state, basemapId) {
       state.basemapsToDelete = state.basemapsToDelete.filter(el => el !== basemapId);
     },
+    REPLACE_BASEMAP_LAYERS(state, {basemapId, layers}) {
+      const index = state.basemaps.findIndex((el) => el.id === basemapId);
+      if (index !== -1) {
+        state.basemaps[index].layers = layers;
+      }
+    },
     DELETE_BASEMAP_LAYER(state, { basemapId, layerId }) {
       const index = state.basemaps.findIndex((el) => el.id === basemapId);
       if (index !== -1) {
@@ -145,10 +149,8 @@ const map = {
 
 
     SAVE_BASEMAPS({ state, rootState, dispatch }) {
-      console.log("SAVE_BASEMAPS", state.basemaps);
       for (let basemap of state.basemaps) {
         basemap["project"] = rootState.project_slug
-        console.log("BASEMAP", basemap);
         // TODO: différencier PUT & POST
         axios
           .post(`${DJANGO_API_BASE}base-maps/`, basemap)
@@ -163,12 +165,10 @@ const map = {
     },
 
     DELETE_BASEMAP({ commit }, basemapId) {
-      console.log("DELETE_BASEMAP", basemapId);
       axios
         .delete(`${DJANGO_API_BASE}base-maps/`, basemapId)
         .then((response) => {
           if (response && response.status === 200) {
-            console.log(response.data)
             commit("REMOVE_BASEMAP_ID_TO_DELETE", basemapId)
           }
         })
diff --git a/src/views/feature_type/Feature_type_edit.vue b/src/views/feature_type/Feature_type_edit.vue
index 1c6744c0..7b198c7f 100644
--- a/src/views/feature_type/Feature_type_edit.vue
+++ b/src/views/feature_type/Feature_type_edit.vue
@@ -253,7 +253,6 @@ export default {
         return this.form.colors_style.value.custom_field_name;
       },
       set(newValue) {
-        console.log("selectedColorsStyle", newValue);
         const newColorsStyle = {
           colors: {
             [newValue.options[0]]: "#000000",
diff --git a/src/views/project/Project_edit.vue b/src/views/project/Project_edit.vue
index e1f13fa5..c2b1cbdd 100644
--- a/src/views/project/Project_edit.vue
+++ b/src/views/project/Project_edit.vue
@@ -302,14 +302,7 @@ export default {
 
       if (this.action === "create" || this.action === "duplicate") {
         await axios
-<<<<<<< Updated upstream
           .post(`${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/`, projectData)
-=======
-          .post(
-            `${configuration.VUE_APP_DJANGO_API_BASE}projects/`,
-            projectData
-          )
->>>>>>> Stashed changes
           .then((response) => {
             if (response && response.status === 201 && response.data) {
               //* send thumbnail after feature_type was created
-- 
GitLab