diff --git a/src/assets/js/map-util.js b/src/assets/js/map-util.js index 8fac44860d2fd12c161d7b7ef3ee51d585db1f92..007e92077be4966ccd56b99d188e39ba24dc9faa 100644 --- a/src/assets/js/map-util.js +++ b/src/assets/js/map-util.js @@ -300,6 +300,9 @@ const mapUtil = { const colorStyle = featureType.colors_style.colors[currentValue]; return colorStyle ? colorStyle : featureType.color } + else{ + return featureType.color; + } }, addVectorTileLayer: function (url, project_slug, featureTypes, form_filters) { diff --git a/src/views/feature/Feature_detail.vue b/src/views/feature/Feature_detail.vue index e5a8eb37067bae2351240c004e8af5a904ed48ee..9a8b3e83a9bc8c6a63b76c810a75bf08e48ed5cb 100644 --- a/src/views/feature/Feature_detail.vue +++ b/src/views/feature/Feature_detail.vue @@ -38,11 +38,8 @@ > <i class="inverted grey pencil alternate icon"></i> </router-link> - <!-- (permissions && permissions.can_delete_feature) || --> <a - v-if=" - isFeatureCreator || (permissions && permissions.is_project_super_contributor) - " + v-if="isFeatureCreator" @click="isCanceling = true" id="feature-delete" class="ui button button-hover-red" diff --git a/src/views/project/Project_detail.vue b/src/views/project/Project_detail.vue index f702da8c5137f7bc55f5a43b458f68a22c13e7da..ad24ad07663e5f0b2635d1e019ddabf63c7c8236 100644 --- a/src/views/project/Project_detail.vue +++ b/src/views/project/Project_detail.vue @@ -211,6 +211,14 @@ > <i class="inverted grey copy alternate icon"></i> </router-link> + <div + v-if="isImporting(type)" + class="import-message" + > + <i class="info circle icon" /> + Import en cours + </div> + <div v-else v-frag> <router-link :to="{ name: 'editer-type-signalement', @@ -221,11 +229,7 @@ type.is_editable && permissions && permissions.can_create_feature_type && - isOffline() !== true && - !( - importFeatureTypeData.find(el => el.feature_type_title === type.slug) && - importFeatureTypeData.find(el => el.feature_type_title === type.slug).status === 'pending' - ) + isOffline() !== true " class=" ui @@ -253,11 +257,7 @@ type.geom_type === 'point' && permissions && permissions.can_create_feature_type && - isOffline() != true && - !( - importFeatureTypeData.find(el => el.feature_type_title === type.slug) && - importFeatureTypeData.find(el => el.feature_type_title === type.slug).status === 'pending' - ) + isOffline() != true " class=" ui @@ -274,15 +274,6 @@ > <i class="inverted grey paint brush alternate icon"></i> </router-link> - <div - v-if=" - importFeatureTypeData.find(el => el.feature_type_title === type.slug) && - importFeatureTypeData.find(el => el.feature_type_title === type.slug).status === 'pending' - " - class="import-message" - > - <i class="info circle icon" /> - Import en cours </div> </div> </div> @@ -692,7 +683,8 @@ export default { project_slug: this.$route.params.slug }); }, this.$store.state.configuration.VUE_APP_RELOAD_INTERVAL)); - } else if (newValue && !newValue.some(el => el.status === 'pending')) { + } else if (newValue && !newValue.some(el => el.status === 'pending') && this.reloadIntervalId) { + this.GET_PROJECT_FEATURE_TYPES(this.project.slug); this.CLEAR_RELOAD_INTERVAL_ID(); } } @@ -713,6 +705,9 @@ export default { ...mapActions('feature', [ 'GET_PROJECT_FEATURES' ]), + ...mapActions('feature_type', [ + 'GET_PROJECT_FEATURE_TYPES' + ]), refreshId() { return "?ver=" + Math.random(); }, @@ -722,6 +717,13 @@ export default { isOffline() { return navigator.onLine === false; }, + isImporting(type) { + if (this.importFeatureTypeData) { + const singleImportData = this.importFeatureTypeData.find(el => el.feature_type_title === type.slug); + return singleImportData && singleImportData.status === 'pending' + } + return false; + }, checkForOfflineFeature() { let arraysOffline = [];