vis need each edge has an id, and vuex don't like vis create it by itself !

This commit is contained in:
Mathieu Jaumotte 2021-10-25 16:42:38 +02:00
parent b7f3700928
commit e7f555077e

View File

@ -52,7 +52,7 @@ const store = createStore({
state.courses.push(course)
},
addRelationship(state, relationship) {
console.log('+ addRelationship', relationship.id)
console.log('+ addRelationship', relationship)
state.relationships.push(relationship)
},
markHouseholdLoading(state, id) {
@ -62,17 +62,6 @@ const store = createStore({
unmarkHouseholdLoading(state, id) {
state.householdLoadingIds = state.householdLoadingIds.filter(i => i !== id)
},
addLinkFromPersonsToHousehold(state, household) {
const members = household.members.filter(v => household.current_members_id.includes(v.id))
members.forEach(m => {
console.log('-> addLink from person', m.person.id, 'to household', m.person.current_household_id)
state.relationships.push({
from: `${m.person.type}_${m.person.id}`,
to: `household_${m.person.current_household_id}`
})
})
},
},
actions: {
addPerson({ commit, dispatch }, person) {
@ -89,7 +78,7 @@ const store = createStore({
* Fetch person current household if it is not already loading
* check first isHouseholdLoading to fetch household once
*/
fetchHouseholdForPerson({ commit, getters }, person) {
fetchHouseholdForPerson({ commit, getters, dispatch }, person) {
console.log(' isHouseholdLoading ?', getters.isHouseholdLoading(person.current_household_id))
if (! getters.isHouseholdLoading(person.current_household_id)) {
commit('markHouseholdLoading', person.current_household_id)
@ -97,7 +86,7 @@ const store = createStore({
.then(household => new Promise(resolve => {
//console.log('getHouseholdByPerson', household)
commit('addHousehold', household)
commit('addLinkFromPersonsToHousehold', household)
dispatch('addLinkFromPersonsToHousehold', household)
resolve()
})
).catch( () => {
@ -106,6 +95,19 @@ const store = createStore({
}
},
addLinkFromPersonsToHousehold({ commit }, household) {
const members = household.members.filter(v => household.current_members_id.includes(v.id))
members.forEach(m => {
//console.log('-> addLink from person', m.person.id, 'to household', m.person.current_household_id)
commit('addRelationship', {
from: `${m.person.type}_${m.person.id}`,
to: `household_${m.person.current_household_id}`,
id: `p${m.person.id}-h${m.person.current_household_id}`
})
})
},
/**
* Fetch person current AccompanyingCourses
*/