From 1226d3b27a04820393d19f65426ae1a4197d2210 Mon Sep 17 00:00:00 2001 From: Adam Procter <adamprocter@researchnot.es> Date: Sun, 29 Aug 2021 13:31:14 +0100 Subject: [PATCH] added other nodes live sync now working --- src/components/OtherNodes.vue | 39 +++++---------------------------- src/store/modules/otherNodes.js | 30 +++++++++++++++---------- src/store/modules/setup.js | 3 +-- src/views/Cards.vue | 2 +- 4 files changed, 26 insertions(+), 48 deletions(-) diff --git a/src/components/OtherNodes.vue b/src/components/OtherNodes.vue index 413c18b..b617d93 100644 --- a/src/components/OtherNodes.vue +++ b/src/components/OtherNodes.vue @@ -1,10 +1,8 @@ <template> - <div v-for="(nodes, index) in otherArray" :key="index"> - <p - class="readmode" - :id="nodes.node_id" - :inner-html.prop="nodes.node_text" - ></p> + <div v-for="(nodes, index) in otherNodes.otherNodes" :key="index"> + <p class="readmode" :id="nodes.id"> + {{ nodes.text }} + </p> </div> </template> @@ -17,45 +15,20 @@ import { mapState } from 'vuex' export default { name: 'OtherNodes', - data() { - return { - otherArray: [], - } - }, - computed: { ...mapState({ otherNodes: (state) => state.otherNodes, }), }, - // watch: { - // added: function () { - // this.loadData() - // }, - // }, - mounted() { - //console.log('mounted') + this.$store.dispatch('getOthernodes') setTimeout(this.loadData, 500) - - // if (localStorage.nogg_microcosm) { - // // var devicename = localStorage.nogg_name - // var microcosm = localStorage.nogg_microcosm - // this.$store.dispatch('setMicrocosm', { microcosm }) - // } else { - // console.log('no') - // // go home - // } }, methods: { loadData() { - var othersFiltered = this.otherNodes.otherNodes.filter( - (nodes) => nodes.node_deleted == false - ) - this.$store.dispatch('getOthernodes') - this.otherArray = othersFiltered + this.$store.dispatch('setOthernodes') }, }, } diff --git a/src/store/modules/otherNodes.js b/src/store/modules/otherNodes.js index 79539cf..f4c88d9 100644 --- a/src/store/modules/otherNodes.js +++ b/src/store/modules/otherNodes.js @@ -1,7 +1,5 @@ var pouchdb - -// PRETTY SURE this is wrong -import * as store from '@/store/store.js' +var deviceName export const state = { allNodes: [], @@ -17,8 +15,7 @@ export const mutations = { }) .then(function (doc) { state.allNodes = doc.rows - // TODO: THIS IS NOT working - store.commit('SET_OTHER_NODES') + console.log('get all nodes') }) .catch(function (err) { console.log(err) @@ -26,19 +23,22 @@ export const mutations = { }, SET_OTHER_NODES(state) { + console.log('setting') state.otherNodes = [] var i var j for (i = 0; i < Object.keys(state.allNodes).length; i++) { - for (j = 0; j < Object.keys(state.allNodes[i].doc.nodes).length; j++) { - const newNode = { - id: state.allNodes[i].doc.nodes[j].node_id, - text: state.allNodes[i].doc.nodes[j].node_text, - deleted: state.allNodes[i].doc.nodes[j].node_deleted, - color: state.allNodes[i].doc.nodes[j].node_color, + if (state.allNodes[i].id != deviceName) { + for (j = 0; j < Object.keys(state.allNodes[i].doc.nodes).length; j++) { + const newNode = { + id: state.allNodes[i].doc.nodes[j].node_id, + text: state.allNodes[i].doc.nodes[j].node_text, + deleted: state.allNodes[i].doc.nodes[j].node_deleted, + color: state.allNodes[i].doc.nodes[j].node_color, + } + state.otherNodes.push(newNode) } - state.otherNodes.push(newNode) } } }, @@ -47,9 +47,15 @@ export const mutations = { export const actions = { getOthernodes: ({ commit }) => { commit('GET_ALL_NODES') + commit('SET_OTHER_NODES') + }, + + setOthernodes: ({ commit }) => { + commit('SET_OTHER_NODES') }, getMicrocosm(vuexContext) { + deviceName = vuexContext.rootState.setup.deviceName pouchdb = vuexContext.rootState.setup.pouchdb }, } diff --git a/src/store/modules/setup.js b/src/store/modules/setup.js index 065fedf..bc8b33f 100644 --- a/src/store/modules/setup.js +++ b/src/store/modules/setup.js @@ -79,8 +79,7 @@ export const actions = { retry: true, }) .on('change', function () { - // console.log('change happened') - // vuexContext.dispatch('getNodes', null, { root: true }) + vuexContext.dispatch('getOthernodes', null, { root: true }) }) .on('paused', function () {}) .on('active', function () { diff --git a/src/views/Cards.vue b/src/views/Cards.vue index 29a8532..9510b7f 100644 --- a/src/views/Cards.vue +++ b/src/views/Cards.vue @@ -1,7 +1,7 @@ <template> <ToolBar @added-node="addedNode" /> - <MyNodes :added="added" /> <OtherNodes /> + <MyNodes :added="added" /> </template> <script> -- GitLab