From 4d676c64255be94a8ee92912137b135175d9acd1 Mon Sep 17 00:00:00 2001 From: leandro <leandroalmada86@gmail.com> Date: Mon, 27 Sep 2021 12:37:14 +0200 Subject: [PATCH] fix list fond carto --- src/store/modules/map.js | 66 +++++++++++++++++---------- src/views/project/Project_mapping.vue | 6 ++- 2 files changed, 46 insertions(+), 26 deletions(-) diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 4a84a098..083bbb45 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -153,43 +153,59 @@ const map = { SAVE_BASEMAPS({ state, rootState, dispatch }, newBasemapIds) { - for (let basemap of state.basemaps) { - basemap["project"] = rootState.project_slug - // TODO: différencier PUT & POST - console.log(newBasemapIds.includes(basemap.id), newBasemapIds, basemap.id); - if (newBasemapIds.includes(basemap.id)) { - axios - .post(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/`, basemap) - .then((response) => (console.log(response.data))) - .catch((error) => { - throw error; - }); - } else { - axios - .put(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/${basemap.id}/`, basemap) - .then((response) => (console.log(response.data))) - .catch((error) => { - throw error; - }); + return new Promise((resolve, reject) => { + for (let basemap of state.basemaps) { + basemap["project"] = rootState.project_slug + // TODO: différencier PUT & POST + if (newBasemapIds.includes(basemap.id)) { + axios + .post(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/`, basemap) + .then((response) => { + resolve(response); + }) + .catch((error) => { + reject(error); + throw error; + }); + } else { + axios + .put(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/${basemap.id}/`, basemap) + .then((response) => { + resolve(response); + }) + .catch((error) => { + reject(error); + throw error; + }); + } } - } - //* delete in the backend the basemaps that was rewoved from the front - for (let basemapId of state.basemapsToDelete) { - dispatch("DELETE_BASEMAP", basemapId); - } + //* delete in the backend the basemaps that was rewoved from the front + for (let basemapId of state.basemapsToDelete) { + dispatch("DELETE_BASEMAP", basemapId) + .then((response) =>{ + resolve(response); + }); + } + state.basemapsToDelete = [] + }); }, DELETE_BASEMAP({ commit }, basemapId) { - axios - .delete(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/`, basemapId) + return new Promise((resolve, reject) => { + let url = `${this.state.configuration.VUE_APP_DJANGO_API_BASE}base-maps/` + basemapId + axios + .delete(url) .then((response) => { if (response && response.status === 200) { commit("REMOVE_BASEMAP_ID_TO_DELETE", basemapId) } + resolve(response); }) .catch((error) => { + reject(error); throw error; }); + }); } }, } diff --git a/src/views/project/Project_mapping.vue b/src/views/project/Project_mapping.vue index f7a0b2ec..3621e2d8 100644 --- a/src/views/project/Project_mapping.vue +++ b/src/views/project/Project_mapping.vue @@ -70,7 +70,11 @@ export default { saveChanges() { // ToDo : check if values are filled - this.$store.dispatch("map/SAVE_BASEMAPS", this.newBasemapIds); + this.$store.dispatch("map/SAVE_BASEMAPS", this.newBasemapIds) + .then((res) => { + console.log('res', res) + }); + this.newBasemapIds = []; }, }, -- GitLab