diff --git a/src/components/D3Visualization/GraphEventHandler.js b/src/components/D3Visualization/GraphEventHandler.js index 708b290..9cdf7f1 100644 --- a/src/components/D3Visualization/GraphEventHandler.js +++ b/src/components/D3Visualization/GraphEventHandler.js @@ -19,6 +19,7 @@ */ import {mapNodes, mapRelationships, getGraphStats} from './mapper' +import store from '@/store' export class GraphEventHandler { constructor (graph, graphView, getNodeNeighbours, onItemMouseOver, onItemSelected, onGraphModelChange) { @@ -66,10 +67,8 @@ export class GraphEventHandler { if (!d.selected) { this.selectItem(d) this.onItemSelected({type: 'node', item: {id: d.id, labels: d.labels, properties: d.propertyList}}) - this.selectedNode = d - store.state.selectedNode = {type: 'node', item: {id: d.id, labels: d.labels, properties: d.propertyList}} - store.state.selectedItem = 1 - console.log("graph.js", store.state.selectedNode) + // 存储节点数据到vuex中,其他模块可使用,mutation函数似乎只能传一个参数 + store.commit('kg/SET_KG', {type: 'node', item: {id: d.id, labels: d.labels, properties: d.propertyList}}) } else { this.deselectItem() } @@ -108,10 +107,8 @@ export class GraphEventHandler { if (!relationship.selected) { this.selectItem(relationship) this.onItemSelected({type: 'relationship', item: {id: relationship.id, type: relationship.type, properties: relationship.propertyList}}) - this.selectedRelationShip = relationship - store.state.selectedRelationShip = {type: 'relationship', item: {id: relationship.id, type: relationship.type, properties: relationship.propertyList}} - store.state.selectedItem = 2 - console.log("graph.js", this.selectedRelationShip) + // 存储关系数据到vuex中,其他模块可使用 + store.commit('kg/SET_KG', {type: 'relation', item: {id: relationship.id, labels: relationship.type, properties: relationship.propertyList}}) } else { this.deselectItem() } diff --git a/src/components/D3Visualization/components/Graph.vue b/src/components/D3Visualization/components/Graph.vue index f8da05c..a978bcf 100644 --- a/src/components/D3Visualization/components/Graph.vue +++ b/src/components/D3Visualization/components/Graph.vue @@ -176,12 +176,12 @@ }, deep: true }, - selectedNode: { - handler: function(val, oldVal) { - this.$store.state.selectedNode = val - console.log("change:", val) - } - }, + // selectedNode: { + // handler: function(val, oldVal) { + // this.$store.state.selectedNode = val + // console.log("change:", val) + // } + // }, relationships: { handler: function(val, oldVal) { if (oldVal.toString() !== val.toString() && this.graphView) { diff --git a/src/store/getters.js b/src/store/getters.js index 5ab7b4c..2155a3c 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -3,6 +3,7 @@ const getters = { device: state => state.app.device, token: state => state.user.token, avatar: state => state.user.avatar, - name: state => state.user.name + name: state => state.user.name, + kg: state => state.kg } export default getters diff --git a/src/store/index.js b/src/store/index.js index 6be466a..c984251 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import getters from './getters' import app from './modules/app' import settings from './modules/settings' import user from './modules/user' +import kg from './modules/kg' Vue.use(Vuex) @@ -11,7 +12,8 @@ const store = new Vuex.Store({ modules: { app, settings, - user + user, + kg }, getters }) diff --git a/src/store/modules/kg.js b/src/store/modules/kg.js new file mode 100644 index 0000000..44e0d76 --- /dev/null +++ b/src/store/modules/kg.js @@ -0,0 +1,32 @@ + + +const getDefaultState = () => { + return { + // type = node ? relation + type: 'node', + data: {} + } +} + +const state = getDefaultState() + +const mutations = { + RESET_KG: (state) => { + state = getDefaultState() + }, + SET_KG: (state, obj) => { + state.type = obj.type + state.data = obj.item + }, +} + +const actions = { + +} + +export default { + namespaced: true, + state, + mutations, + actions +} \ No newline at end of file diff --git a/src/views/Test/test2.vue b/src/views/Test/test2.vue index 1b80e5f..fa4dda3 100644 --- a/src/views/Test/test2.vue +++ b/src/views/Test/test2.vue @@ -1,18 +1,32 @@ + + + diff --git a/src/views/event/select copy.vue b/src/views/event/select copy.vue new file mode 100644 index 0000000..aaaeeaa --- /dev/null +++ b/src/views/event/select copy.vue @@ -0,0 +1,618 @@ + + + + + + + + \ No newline at end of file diff --git a/src/views/event/select.vue b/src/views/event/select.vue index a95252e..9bf77e4 100644 --- a/src/views/event/select.vue +++ b/src/views/event/select.vue @@ -1,15 +1,46 @@ + + + + + + + +