diff --git a/app/public/index.html b/app/public/index.html index 730b64f6e74faab644e8e7d99b12233b07378463..41053a248aedda3148795599f366f8c86e365d2b 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -33,6 +33,7 @@ <meta property="twitter:creator" content="@nodenoggin" /> <link rel="icon" href="<%= BASE_URL %>favicon.ico" /> + <link rel="apple-touch-icon" href="<%= BASE_URL %>favicon.ico"> <title><%= htmlWebpackPlugin.options.title %></title> </head> diff --git a/app/src/components/NodesLayer.vue b/app/src/components/NodesLayer.vue index 5088fdd19a12da5b82763b1b704cac2ba7c2bd74..cc367d5a778ade19b223f6011f4f4b2c42113c54 100644 --- a/app/src/components/NodesLayer.vue +++ b/app/src/components/NodesLayer.vue @@ -15,9 +15,9 @@ style="background-color: rgb(205, 234, 255);" > <form> - <div v-if="readmode == false"> - <div v-for="value in myNodes" v-bind:key="value.node_id"> - <!-- <div v-if="readmode == false"> --> + <!-- <div v-if="readmode == false"> --> + <div v-for="value in myNodes" v-bind:key="value.node_id"> + <div v-if="value.readmode == false"> <textarea v-if="nodeid == value.node_id" @focus="editTrue(true)" @@ -31,14 +31,11 @@ placeholder="Idea goes here!" ></textarea> </div> + <!-- FIXME: What is this doing below now ? Looks old --> + <div v-else> + <p :id="nodeid" :inner-html.prop="nodetext | marked"></p> + </div> </div> - <!-- FIXME: What is this doing below now ? Looks old --> - <div v-else> - <p :id="nodeid" :inner-html.prop="nodetext | marked"> - {{ nodeid }} - </p> - </div> - <h3>Reactions</h3> <div v-for="(emojis, index) in configEmoji" :key="index"> @@ -81,9 +78,8 @@ style="background-color: rgb(205, 234, 255);" > <form> - <div v-if="readmode == false"> - <div v-for="value in myNodes" v-bind:key="value.node_id"> - <!-- <div v-if="readmode == false"> --> + <div v-for="value in myNodes" v-bind:key="value.node_id"> + <div v-if="value.readmode == false"> <textarea v-if="nodeid == value.node_id" @focus="editTrue(true)" @@ -97,14 +93,15 @@ placeholder="Idea goes here!" ></textarea> </div> - </div> - <!-- FIXME: What is this doing below now ? Looks old --> - <div v-else> - <p :id="nodeid" :inner-html.prop="nodetext | marked"> - {{ nodeid }} - </p> - </div> + <!-- </div> --> + <!-- FIXME: What is this doing below now ? Looks old --> + <div v-else> + <p :id="nodeid" :inner-html.prop="nodetext | marked"> + <!-- {{ nodeid }} --> + </p> + </div> + </div> <h3>Reactions</h3> <div v-for="(emojis, index) in configEmoji" :key="index"> @@ -135,6 +132,7 @@ <script> import { mapState } from 'vuex' import marked from 'marked' +var readmode export default { name: 'NodesLayer', @@ -145,12 +143,13 @@ export default { nodewidth: Number, nodeheight: Number, deleted: Boolean, + readmode: Boolean, }, data() { return { pickupz: 99, - readmode: false, + // localreadmode: this.readmode, mode: 'Read', } }, @@ -259,12 +258,16 @@ export default { e = this.nodeid this.$store.dispatch('deleteFlag', { e }) }, - readFlag() { - if (this.readmode == true) { - this.readmode = false + readFlag(e) { + e = this.nodeid + + if (readmode == true) { + readmode = false + this.$store.dispatch('readFlag', { e, readmode }) this.mode = 'Read' } else { - this.readmode = true + readmode = true + this.$store.dispatch('readFlag', { e, readmode }) this.mode = 'Edit' } }, @@ -278,7 +281,6 @@ export default { position: relative; } - .info { font-size: 0.8em; } diff --git a/app/src/store/index.js b/app/src/store/index.js index 520424df20989a95b87bf92973d524db985cd927..262211b096477cee910dd2ed5c57eac32872890f 100644 --- a/app/src/store/index.js +++ b/app/src/store/index.js @@ -36,6 +36,8 @@ var remote = microcosm + '/' +//var remotetwo = 'http://127.0.0.1:5984/' + console.log(remote) const store = new Vuex.Store({ state: { @@ -183,6 +185,7 @@ const store = new Vuex.Store({ content_type: 'sheet', // NOTE: first node is hidden due to no position deleted: true, + readmode: false, attachment_name: '', }, ], @@ -322,6 +325,7 @@ const store = new Vuex.Store({ node_owner: state.myclient, content_type: 'sheet', deleted: false, + readmode: false, attachment_name: e, }) } @@ -436,6 +440,38 @@ const store = new Vuex.Store({ } }) }, + + READ_FLAG(state, e) { + var i + for (i = 0; i < Object.keys(state.myNodes).length; i++) { + if (e.e == state.myNodes[i].node_id) { + state.myNodes[i].readmode = e.readmode + } + } + pouchdb + .get(state.myclient) + .then(function (doc) { + // put the store into pouchdb + return pouchdb.bulkDocs([ + { + _id: state.myclient, + _rev: doc._rev, + _attachments: doc._attachments, + nodes: state.myNodes, + }, + ]) + }) + .then(function () { + return pouchdb.get(state.myclient).then(function (doc) { + state.myNodes = doc.nodes + }) + }) + .catch(function (err) { + if (err.status == 404) { + // pouchdb.put({ }) + } + }) + }, GET_EMOJI(state) { console.log pouchdb @@ -561,6 +597,10 @@ const store = new Vuex.Store({ // var text = e.target.value commit('DELETE_FLAG', e) }, + readFlag: ({ commit }, e) => { + // var text = e.target.value + commit('READ_FLAG', e) + }, addEmoji: ({ commit }, { nodeid, emojitext }) => { commit('ADD_EMOJI', { nodeid, diff --git a/app/src/views/Sandbox.vue b/app/src/views/Sandbox.vue index 7b69b747fec615d14d4e2204674e9d2a37c804ea..00db01921f5fb07d46df934ffab94b6429fc1503 100644 --- a/app/src/views/Sandbox.vue +++ b/app/src/views/Sandbox.vue @@ -24,6 +24,7 @@ v-bind:key="value.node_id" v-bind:nodeid="value.node_id" v-bind:nodetext="value.node_text" + v-bind:readmode="value.readmode" /> </PanZoomContainer> <!-- <SelectionLayer