bugfix emit saveFormOnTheFly and add newly created contact to suggestion list immediately

This commit is contained in:
Julie Lenaerts 2022-01-24 14:24:56 +01:00
parent ae8cc0f700
commit 145c1d59e9
4 changed files with 14 additions and 8 deletions

View File

@ -218,7 +218,7 @@ export default {
type = 'thirdparty'
data = this.$refs.castThirdparty.$data.thirdparty;
// create the new contact here, bypassing saveFormOnTheFly() -> not working here?
const body = {
data = {
"type": "thirdparty",
"kind": "child",
"name": data.text,
@ -231,12 +231,6 @@ export default {
"email": data.email,
"address": null
}
postThirdparty(body)
.then(thirdparty => new Promise((resolve, reject) => {
// this.$parent.newPriorSuggestion(thirdparty);
console.log('thirdparty created', thirdparty)
resolve();
}));
} else {
type = this.$refs.castNew.radioType;
data = this.$refs.castNew.castDataByType();

View File

@ -57,6 +57,7 @@
v-bind:item="item"
v-bind:search="search"
v-bind:type="checkUniq"
@saveFormOnTheFly="saveFormOnTheFly"
@updateSelected="updateSelected">
</person-suggestion>

View File

@ -18,6 +18,7 @@
<suggestion-third-party
v-if="item.result.type === 'thirdparty'"
@saveFormOnTheFly="emitEvent"
v-bind:item="item">
</suggestion-third-party>
@ -54,7 +55,7 @@ export default {
'search',
'type'
],
emits: ['updateSelected'],
emits: ['updateSelected', 'saveFormOnTheFly'],
computed: {
selected: {
set(value) {
@ -72,6 +73,9 @@ export default {
methods: {
setValueByType(value, type) {
return (type === 'radio')? [value] : value;
},
emitEvent({data, type}) {
this.$emit('saveFormOnTheFly', {type: type, data: data})
}
}
};

View File

@ -25,6 +25,7 @@
</badge-entity>
<on-the-fly v-if="item.result.kind === 'company'"
v-bind:parent="item.result"
@saveFormOnTheFly="emitEvent"
action="addContact"
></on-the-fly>
<on-the-fly
@ -58,6 +59,7 @@ export default {
BadgeEntity
},
props: ['item'],
emits: ['saveFormOnTheFly'],
i18n,
computed: {
hasAddress() {
@ -81,6 +83,11 @@ export default {
return null;
}
},
methods: {
emitEvent({data, type}) {
this.$emit('saveFormOnTheFly', {type: type, data: data})
}
}
}
</script>