From 83d91e61cb0bba8398876a5214675ff845d65cbe Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Fri, 22 Oct 2021 12:57:44 +0200 Subject: [PATCH] vue_visgraph: manage vis objects with window variables to avoid conflict between vis and vue --- .../Resources/public/vuejs/VisGraph/App.vue | 65 ++++++------------- .../Resources/public/vuejs/VisGraph/index.js | 4 +- .../public/vuejs/VisGraph/vis-network.js | 36 ++++++++++ 3 files changed, 57 insertions(+), 48 deletions(-) create mode 100644 src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue index 0518a93d2..c10ef5122 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/App.vue @@ -1,8 +1,5 @@ diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/index.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/index.js index 0aeb032d5..332b6cf6c 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/index.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/index.js @@ -3,16 +3,14 @@ import { store } from "./store.js" import { _createI18n } from 'ChillMainAssets/vuejs/_js/i18n' import { visMessages } from './i18n' import App from './App.vue' +import './vis-network' const i18n = _createI18n(visMessages) - const container = document.getElementById('relationship-graph') - const persons = JSON.parse(container.dataset.persons) persons.forEach(person => { store.dispatch('addPerson', person) - //store.dispatch('fetchInfoForPerson', person) }) const app = createApp({ diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js new file mode 100644 index 000000000..f8e2a6724 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/VisGraph/vis-network.js @@ -0,0 +1,36 @@ +/* + * Vis-network initial data/configuration script + * Notes: + * Use window.network and window.options to avoid conflict between vue and vis + * cfr. https://github.com/almende/vis/issues/2524#issuecomment-307108271 + */ + +window.options = { + manipulation: { + enabled: true, + initiallyActive: true, + addNode: function(nodeData, callback) { + console.log('addNode', nodeData) + nodeData.label = 'hello world'; + callback(nodeData); + }, + editNode: function(nodeData, callback) { + console.log('editNode', nodeData) + callback(nodeData); + }, + addEdge: function(edgeData, callback) { + console.log('addEdge', edgeData) + callback(edgeData); + }, + editEdge: function(edgeData, callback) { + console.log('editNode', edgeData) + callback(edgeData); + }, + }, + nodes: { + physics: true + } +}; + +window.network = {}; +