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

View File

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

View File

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

View File

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