replace store by data() for OnTheFly creation in AddPersons component

This commit is contained in:
2021-08-26 00:06:24 +02:00
parent ccb302ad28
commit 34df295801
3 changed files with 27 additions and 27 deletions

View File

@@ -92,7 +92,6 @@ import OnTheFly from 'ChillMainAssets/vuejs/_components/OnTheFly.vue';
import PersonSuggestion from './AddPersons/PersonSuggestion';
import { searchPersons, searchPersons_2 } from 'ChillPersonAssets/vuejs/_api/AddPersons';
import { postPerson } from "ChillPersonAssets/vuejs/_api/OnTheFly";
import {mapGetters, mapState} from "vuex";
export default {
name: 'AddPersons',
@@ -116,13 +115,12 @@ export default {
search: {
query: "",
suggested: [],
selected: []
selected: [],
priorSuggestion: {}
}
}
},
computed: {
...mapState(['priorSuggestion']),
...mapGetters(['hasPriorSuggestion']),
query: {
set(query) {
return this.setQuery(query);
@@ -173,6 +171,12 @@ export default {
return 'radio';
}
return 'checkbox';
},
priorSuggestion() {
return this.search.priorSuggestion;
},
hasPriorSuggestion() {
return this.search.priorSuggestion.key ? true : false;
}
},
methods: {
@@ -225,13 +229,28 @@ export default {
return item.result.type + item.result.id;
},
addPriorSuggestion() {
console.log('echo', this.hasPriorSuggestion);
if (this.hasPriorSuggestion) {
console.log('addPriorSuggestion',);
this.suggested.unshift(this.priorSuggestion);
this.selected.unshift(this.priorSuggestion);
console.log('reset priorSuggestion');
this.$store.commit('newPriorSuggestion', null);
this.newPriorSuggestion(null);
}
},
newPriorSuggestion(entity) {
console.log('newPriorSuggestion', entity);
if (entity !== null) {
let suggestion = {
key: entity.type + entity.id,
relevance: 0.5,
result: entity
}
this.search.priorSuggestion = suggestion;
console.log('ici', this.search.priorSuggestion);
} else {
this.search.priorSuggestion = {};
}
},
saveFormOnTheFly({ type, data }) {
@@ -243,8 +262,8 @@ export default {
console.log('type person with', data);
postPerson(data)
.then(person => new Promise((resolve, reject) => {
this.person = person;
this.$store.commit('newPriorSuggestion', person);
//this.person = person;
this.newPriorSuggestion(person);
resolve();
}));
}