diff --git a/src/components/ImportTask.vue b/src/components/ImportTask.vue index 755a1658b414cea26d430c117d1c659a6cd11280..026b7cbfe30e8b8ffcc4e7354b33642f2a7b13ec 100644 --- a/src/components/ImportTask.vue +++ b/src/components/ImportTask.vue @@ -131,6 +131,7 @@ export default { fetchImports() { this.$store.dispatch( 'feature-type/GET_IMPORTS', { + project_slug: this.$route.params.slug, feature_type: this.$route.params.feature_type_slug }); this.$store.dispatch('feature/GET_PROJECT_FEATURES', { diff --git a/src/store/modules/feature-type.store.js b/src/store/modules/feature-type.store.js index 5eb1b790d5460376b3d24ee7785dcb29efce1f24..49921f0132dfd260b45b198d359bd45fc4f4fd30 100644 --- a/src/store/modules/feature-type.store.js +++ b/src/store/modules/feature-type.store.js @@ -248,7 +248,7 @@ const feature_type = { }); }, - GET_IMPORTS({ commit }, { project_slug, feature_type }) { + GET_IMPORTS({ state, commit, dispatch }, { project_slug, feature_type }) { let url = `${this.state.configuration.VUE_APP_DJANGO_API_BASE}import-tasks/`; if (project_slug) { url = url.concat('', `${url.includes('?') ? '&' : '?'}project_slug=${project_slug}`); @@ -260,6 +260,27 @@ const feature_type = { .get(url) .then((response) => { if (response) { + const diffStatus = []; + if (state.importFeatureTypeData) { + for (const data of response.data) { + const index = + state.importFeatureTypeData + .findIndex(el => el.geojson_file_name === data.geojson_file_name); + if (index !== -1 && state.importFeatureTypeData[index].status !== data.status && data.status === 'finished') { + diffStatus.push(data); + } + } + } + if (diffStatus.length > 0) { + dispatch( + 'feature/GET_PROJECT_FEATURES', + { + project_slug: project_slug, + feature_type__slug: feature_type, + }, + { root: true } + ); + } commit('SET_IMPORT_FEATURE_TYPES_DATA', response.data); } return response; diff --git a/src/store/modules/feature.store.js b/src/store/modules/feature.store.js index b652e83445ea0ad34d018e0bdeeecf15efa0a9c0..7e78b47a05c4c4a3bf9db6aec227f68cb5ab659d 100644 --- a/src/store/modules/feature.store.js +++ b/src/store/modules/feature.store.js @@ -163,7 +163,9 @@ const feature = { } return response; } catch (error) { - console.error(error); + if (error.message) { + console.error(error); + } return error; } }, diff --git a/src/views/FeatureType/FeatureTypeDetail.vue b/src/views/FeatureType/FeatureTypeDetail.vue index 5f5db7779c975fe22aaa5c43fdb859065cbbbbb2..3f81020ea44f41261b0526221d3e4aa9e6c92005 100644 --- a/src/views/FeatureType/FeatureTypeDetail.vue +++ b/src/views/FeatureType/FeatureTypeDetail.vue @@ -702,7 +702,6 @@ export default { } else { jsonValidity = true; } - console.log(jsonValidity); if (jsonValidity) { this.geojsonFileToImport = files[0]; // todo : remove this value from state as it stored (first attempt didn't work) diff --git a/src/views/FeatureType/FeatureTypeEdit.vue b/src/views/FeatureType/FeatureTypeEdit.vue index 09f6b34e14ced14b975d954a54e3dcfc6c3185a6..303f3d2f59107f7d8e031dae3e24aa8308d13d28 100644 --- a/src/views/FeatureType/FeatureTypeEdit.vue +++ b/src/views/FeatureType/FeatureTypeEdit.vue @@ -645,7 +645,6 @@ export default { }, transformProperties(prop) { - console.log(prop); const type = typeof prop; const date = new Date(prop); if (type === 'boolean') {