Skip to content
Snippets Groups Projects
Commit 78362019 authored by Timothee P's avatar Timothee P :sunflower:
Browse files

Merge branch 'develop' into redmine-issues/14072

parents 89ba4956 aa7eefc2
No related branches found
No related tags found
1 merge request!438REDMINE_ISSUE-14072|Mode édition rapide des signalements
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
aria-describedby="Table des données du signalement" aria-describedby="Table des données du signalement"
> >
<tbody> <tbody>
<tr v-if="feature_type || featureType"> <tr v-if="featureType">
<td> <td>
<strong> Type de signalement </strong> <strong> Type de signalement </strong>
</td> </td>
<td> <td>
<FeatureTypeLink :feature-type="feature_type || featureType" /> <FeatureTypeLink :feature-type="featureType" />
</td> </td>
</tr> </tr>
<tr <tr
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
<script> <script>
import { mapState, mapGetters } from 'vuex'; import { mapState } from 'vuex';
import FeatureTypeLink from '@/components/FeatureType/FeatureTypeLink'; import FeatureTypeLink from '@/components/FeatureType/FeatureTypeLink';
import { statusChoices } from '@/utils'; import { statusChoices } from '@/utils';
...@@ -141,10 +141,6 @@ export default { ...@@ -141,10 +141,6 @@ export default {
'linked_features', 'linked_features',
]), ]),
...mapGetters('feature-type', [
'feature_type',
]),
statusIcon() { statusIcon() {
switch (this.currentFeature.status) { switch (this.currentFeature.status) {
case 'archived': case 'archived':
......
<template> <template>
<router-link <router-link
v-if="featureType && featureType.slug"
:to="{ :to="{
name: 'details-type-signalement', name: 'details-type-signalement',
params: { feature_type_slug: featureType.slug }, params: { feature_type_slug: featureType.slug },
......
...@@ -76,8 +76,8 @@ export default new Vuex.Store({ ...@@ -76,8 +76,8 @@ export default new Vuex.Store({
}, },
DISPLAY_MESSAGE(state, message) { DISPLAY_MESSAGE(state, message) {
state.messages = [message, ...state.messages]; state.messages = [message, ...state.messages];
if (document.getElementById('content')) { if (document.getElementById('app-content')) {
document.getElementById('content').scrollIntoView({ block: 'start', inline: 'nearest' }); document.getElementById('app-content').scrollIntoView({ block: 'start', inline: 'nearest' });
} }
setTimeout(() => { setTimeout(() => {
state.messages = []; state.messages = [];
......
...@@ -149,7 +149,8 @@ export default { ...@@ -149,7 +149,8 @@ export default {
'project' 'project'
]), ]),
...mapState('feature-type', [ ...mapState('feature-type', [
'feature_types' 'feature_types',
'feature_type',
]), ]),
...mapState('feature', [ ...mapState('feature', [
'currentFeature' 'currentFeature'
...@@ -198,6 +199,7 @@ export default { ...@@ -198,6 +199,7 @@ export default {
async getPageInfo() { async getPageInfo() {
if (this.$route.params.slug_signal) { // if coming from the route with an id if (this.$route.params.slug_signal) { // if coming from the route with an id
this.slugSignal = this.$route.params.slug_signal; this.slugSignal = this.$route.params.slug_signal;
this.featureType = this.feature_type;
} //* else it would be retrieve after fetchFilteredFeature with offset } //* else it would be retrieve after fetchFilteredFeature with offset
this.DISPLAY_LOADER('Recherche du signalement'); this.DISPLAY_LOADER('Recherche du signalement');
let promises = []; let promises = [];
...@@ -208,7 +210,7 @@ export default { ...@@ -208,7 +210,7 @@ export default {
this.GET_PROJECT_INFO(this.$route.params.slug), this.GET_PROJECT_INFO(this.$route.params.slug),
); );
} }
//* changement de requête selon s'il y a un id ou un offset //* changement de requête selon s'il y a un id ou un offset(dans le cas du parcours des signalements filtrés)
if (this.$route.query.offset >= 0) { if (this.$route.query.offset >= 0) {
promises.push(this.fetchFilteredFeature()); promises.push(this.fetchFilteredFeature());
} else if (!this.currentFeature || this.currentFeature.feature_id !== this.slugSignal) { } else if (!this.currentFeature || this.currentFeature.feature_id !== this.slugSignal) {
......
<template> <template>
<div id="project-basemaps"> <div id="project-basemaps">
<div
v-if="infoMessage.length > 0"
id="message_info"
class="fullwidth"
>
<div
v-for="(message, index) of infoMessage"
:key="index"
:class="['ui message', message.success ? 'positive' : 'negative']"
style="text-align: left"
>
<div class="header">
<i
class="info circle icon"
aria-hidden="true"
/>
Informations
</div>
{{ message.comment }}
</div>
</div>
<h1 class="ui header"> <h1 class="ui header">
Administration des fonds cartographiques Administration des fonds cartographiques
</h1> </h1>
...@@ -76,7 +55,7 @@ ...@@ -76,7 +55,7 @@
<script> <script>
import BasemapListItem from '@/components/Project/Basemaps/BasemapListItem.vue'; import BasemapListItem from '@/components/Project/Basemaps/BasemapListItem.vue';
import { mapState, mapGetters } from 'vuex'; import { mapState, mapGetters, mapMutations } from 'vuex';
export default { export default {
name: 'ProjectBasemaps', name: 'ProjectBasemaps',
...@@ -87,7 +66,6 @@ export default { ...@@ -87,7 +66,6 @@ export default {
data() { data() {
return { return {
infoMessage: [],
newBasemapIds: [], newBasemapIds: [],
}; };
}, },
...@@ -109,6 +87,7 @@ export default { ...@@ -109,6 +87,7 @@ export default {
}, },
methods: { methods: {
...mapMutations(['DISPLAY_MESSAGE']),
addBasemap() { addBasemap() {
this.newBasemapIds.push(this.basemapMaxId + 1); //* register new basemaps to seperate post and put this.newBasemapIds.push(this.basemapMaxId + 1); //* register new basemaps to seperate post and put
this.$store.commit('map/CREATE_BASEMAP', this.basemapMaxId + 1); this.$store.commit('map/CREATE_BASEMAP', this.basemapMaxId + 1);
...@@ -140,27 +119,17 @@ export default { ...@@ -140,27 +119,17 @@ export default {
res.status === 200 && res.status === 201 && res.status === 204 res.status === 200 && res.status === 201 && res.status === 204
); );
if (errors.length === 0) { if (errors.length === 0) {
this.infoMessage.push({ this.DISPLAY_MESSAGE({
success: true,
comment: 'Enregistrement effectué.', comment: 'Enregistrement effectué.',
level: 'positive'
}); });
this.newBasemapIds = []; this.newBasemapIds = [];
} else { } else {
this.infoMessage.push({ this.DISPLAY_MESSAGE({
success: false, comment: 'L\'édition des fonds cartographiques a échoué.',
comment: "L'édition des fonds cartographiques a échoué. ", level: 'negative'
}); });
} }
document
.getElementById('message_info')
.scrollIntoView({ block: 'end', inline: 'nearest' });
setTimeout(
function () {
this.infoMessage = [];
}.bind(this),
5000
);
}) })
.catch((error) => { .catch((error) => {
console.error(error); console.error(error);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment