From 9494bdee2a38cd0d8fa99e6db58b3ddb8ef294e2 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Fri, 5 Nov 2021 13:40:06 +0100 Subject: [PATCH] visgraph: improve splitId(node_id,'id') : return always integer node_id value examples: * 'accompanying_period_124' --> 124 * '124' --> 124 * 124 --> 124 --- .../Resources/public/vuejs/VisGraph/App.vue | 5 +++++ .../Resources/public/vuejs/VisGraph/store.js | 5 +++-- .../Resources/public/vuejs/VisGraph/vis-network.js | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue index 173967eb3..6552e9848 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue @@ -237,6 +237,11 @@ export default { let nodeType = splitId(data.nodes[0], 'type') switch (nodeType) { + // test + console.log( + splitId('accompanying_period_124', 'id') + ) + case 'person': let person = this.nodes.filter(n => n.id === data.nodes[0])[0] console.log('@@@@@@ event on selected Node', person.id) diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/store.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/store.js index 64b755d06..c18a14b65 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/store.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/store.js @@ -88,13 +88,14 @@ const store = createStore({ */ getFoldedPersons: (state) => (array) => { let folded = [] + console.log('array', array.map(item => item.person.id)) array.forEach(item => { - let id = (typeof item.person._id !== 'undefined') ? item.person._id : item.person.id + let id = splitId(item.person.id, 'id') + console.log(id) if (state.personLoadedIds.includes(id)) { folded.push(state.persons.filter(person => person._id === id)[0]) } }) - //console.log('array', array.map(r => r.person.id)) console.log('get FoldedPersons', folded.map(f => f.id)) return folded }, diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js index b4a0cb3d4..a6e20cd6e 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js @@ -270,8 +270,11 @@ const splitId = (id, position) => { switch (position) { case 'type': return /(.+)_/.exec(id)[1] // return 'accompanying_period' - case 'id': - return id.split("_").pop() // return '124' + case 'id': // return 124 + return parseInt(id + .toString() + .split("_") + .pop()) default: throw 'position undefined' }