diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/OnTheFly.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/OnTheFly.vue
index df300cc4e..9e5efd86c 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/OnTheFly.vue
+++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/OnTheFly.vue
@@ -14,7 +14,6 @@
{{ $t(titleModal) }}
- type: {{type}}
@@ -65,7 +64,6 @@ import Modal from 'ChillMainAssets/vuejs/_components/Modal.vue';
import OnTheFlyCreate from './OnTheFly/Create.vue';
import OnTheFlyPerson from 'ChillPersonAssets/vuejs/_components/OnTheFly/Person.vue';
import OnTheFlyThirdparty from 'ChillThirdPartyAssets/vuejs/_components/OnTheFly/ThirdParty.vue';
-import { postPerson } from "ChillPersonAssets/vuejs/_api/OnTheFly";
export default {
name: 'OnTheFly',
@@ -76,6 +74,7 @@ export default {
OnTheFlyCreate
},
props: ['type', 'id', 'action', 'buttonText'],
+ emits: ['saveFormOnTheFly'],
data() {
return {
modal: {
@@ -169,29 +168,10 @@ export default {
}
}
- // create/edit person
- if (type === 'person') {
-
- console.log('type person with', data);
- postPerson(data)
- .then(person => new Promise((resolve, reject) => {
- this.person = person;
- this.$store.commit('newPriorSuggestion', person);
- resolve();
- }));
- }
-
- // create/edit thirdparty
- else if (type === 'thirdparty') {
-
- console.log('not yet implemented', type);
- console.log('type thirdparty with', data);
- // postThirdparty(data)
- // .then(...)
- }
+ // pass datas to parent
+ this.$emit('saveFormOnTheFly', { type: type, data: data });
this.modal.showModal = false;
-
},
goToLocation(id, type){
if(type == 'person'){
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue
index d2e56c852..4f836edc4 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue
+++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue
@@ -67,7 +67,8 @@
+ action="create"
+ @saveFormOnTheFly="saveFormOnTheFly">
@@ -90,6 +91,7 @@ import Modal from 'ChillMainAssets/vuejs/_components/Modal';
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 {
@@ -145,7 +147,7 @@ export default {
return this.search.selected.length;
},
selectedAndSuggested() {
- this.checkPriorSuggestion();
+ this.addPriorSuggestion();
const uniqBy = (a, key) => [
...new Map(
a.map(x => [key(x), x])
@@ -222,15 +224,36 @@ export default {
itemKey(item) {
return item.result.type + item.result.id;
},
- checkPriorSuggestion() {
+ addPriorSuggestion() {
if (this.hasPriorSuggestion) {
- console.log('checkPriorSuggestion',);
+ console.log('addPriorSuggestion',);
this.suggested.unshift(this.priorSuggestion);
this.selected.unshift(this.priorSuggestion);
console.log('reset priorSuggestion');
this.$store.commit('newPriorSuggestion', null);
}
+ },
+ saveFormOnTheFly({ type, data }) {
+ console.log('saveFormOnTheFly from addPersons', { type, data });
+
+ // create/edit person
+ if (type === 'person') {
+
+ console.log('type person with', data);
+ postPerson(data)
+ .then(person => new Promise((resolve, reject) => {
+ this.person = person;
+ this.$store.commit('newPriorSuggestion', person);
+ resolve();
+ }));
+ }
+
+ // create/edit thirdparty
+ else if (type === 'thirdparty') {
+ console.log('not yet implemented: type thirdparty with', type, data);
+ }
+
}
},
}