diff --git a/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/App.vue b/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/App.vue index b848a1428..fd1c093d7 100644 --- a/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/App.vue +++ b/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/App.vue @@ -143,9 +143,4 @@ div.flex-bloc { } } } -select#chill_activitybundle_activity_persons, -select#chill_activitybundle_activity_thirdParties, -select#chill_activitybundle_activity_users { - display: none; -} diff --git a/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js b/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js index cfbc1a812..4f30cf516 100644 --- a/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js +++ b/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js @@ -4,6 +4,20 @@ import { createStore } from 'vuex'; const debug = process.env.NODE_ENV !== 'production'; //console.log('window.activity', window.activity); +const addIdToValue = (string, id) => { + let array = string ? string.split(',') : []; + array.push(id.toString()); + let str = array.join(); + return str; +}; + +const removeIdFromValue = (string, id) => { + let array = string.split(','); + array = array.filter(el => el !== id.toString()); + let str = array.join(); + return str; +}; + const store = createStore({ strict: debug, state: { @@ -27,7 +41,7 @@ const store = createStore({ }; }, removePersonInvolved(state, payload) { - console.log('### mutation removePersonInvolved', payload.type); + //console.log('### mutation removePersonInvolved', payload.type); switch (payload.type) { case 'person': state.activity.persons = state.activity.persons.filter(person => person !== payload); @@ -43,15 +57,39 @@ const store = createStore({ }, actions: { addPersonsInvolved({ commit }, payload) { - console.log('### action addPersonsInvolved', payload); - //let el = document.getElementById('form['activity']['xxx']['xxxx']'); - //let option = document.createElement('option'); - //option.value = person.id; - //el.appendChild(option); + console.log('### action addPersonsInvolved', payload.result.type); + switch (payload.result.type) { + case 'person': + let aPersons = document.getElementById("chill_activitybundle_activity_persons"); + aPersons.value = addIdToValue(aPersons.value, payload.result.id); + break; + case 'thirdparty': + let aThirdParties = document.getElementById("chill_activitybundle_activity_thirdParties"); + aThirdParties.value = addIdToValue(aThirdParties.value, payload.result.id); + break; + case 'user': + let aUsers = document.getElementById("chill_activitybundle_activity_users"); + aUsers.value = addIdToValue(aUsers.value, payload.result.id); + break; + }; commit('addPersonsInvolved', payload); }, removePersonInvolved({ commit }, payload) { console.log('### action removePersonInvolved', payload); + switch (payload.type) { + case 'person': + let aPersons = document.getElementById("chill_activitybundle_activity_persons"); + aPersons.value = removeIdFromValue(aPersons.value, payload.id); + break; + case 'thirdparty': + let aThirdParties = document.getElementById("chill_activitybundle_activity_thirdParties"); + aThirdParties.value = removeIdFromValue(aThirdParties.value, payload.id); + break; + case 'user': + let aUsers = document.getElementById("chill_activitybundle_activity_users"); + aUsers.value = removeIdFromValue(aUsers.value, payload.id); + break; + }; commit('removePersonInvolved', payload); } }