From 86ce674f82e1f63980cab49ed26920bb61661d42 Mon Sep 17 00:00:00 2001 From: Adam Procter <adamprocter@researchnot.es> Date: Thu, 26 Mar 2020 17:32:21 +0000 Subject: [PATCH] readMode --- app/package.json | 4 +-- app/src/components/NodesLayer.vue | 56 ++++++++++++++++++++++++------- app/src/store/index.js | 2 +- app/yarn.lock | 12 +++---- 4 files changed, 52 insertions(+), 22 deletions(-) diff --git a/app/package.json b/app/package.json index a4a0fb0..a7b3b0c 100644 --- a/app/package.json +++ b/app/package.json @@ -17,7 +17,7 @@ "vue-draggable-resizable": "^2.1.0", "vue-emoji-picker": "^1.0.1", "vue-router": "^3.1.6", - "vuex": "^3.1.2" + "vuex": "^3.1.3" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.2.3", @@ -29,7 +29,7 @@ "babel-eslint": "^10.0.3", "eslint": "^6.7.2", "eslint-plugin-prettier": "^3.1.1", - "eslint-plugin-vue": "^6.2.1", + "eslint-plugin-vue": "^6.2.2", "prettier": "^1.19.1", "vue-template-compiler": "^2.6.11" } diff --git a/app/src/components/NodesLayer.vue b/app/src/components/NodesLayer.vue index d568214..fb0a1d5 100644 --- a/app/src/components/NodesLayer.vue +++ b/app/src/components/NodesLayer.vue @@ -18,19 +18,26 @@ style="background-color: rgb(205, 234, 255)" > <form> - <div v-for="value in myNodes" v-bind:key="value.node_id"> - <textarea - @focus="editTrue(true)" - @blur="editTrue(false)" - autofocus - v-if="nodeid == value.node_id" - @input="editNode" - v-model="value.node_text" - :id="nodeid" - class="drag-cancel" - ref="nodetext" - ></textarea> + <div v-if="readmode == false"> + <div v-for="value in myNodes" v-bind:key="value.node_id"> + <!-- <div v-if="readmode == false"> --> + <textarea + v-if="nodeid == value.node_id" + @focus="editTrue(true)" + @blur="editTrue(false)" + autofocus + @input="editNode" + v-model="value.node_text" + :id="nodeid" + class="drag-cancel" + ref="nodetext" + ></textarea> + </div> </div> + <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"> <p class="allemoji" v-if="nodeid == emojis.node_id">{{ emojis.emoji_text }}</p> @@ -38,6 +45,7 @@ <p>markdown supported</p> <BaseButton buttonClass="danger" @click="deleteFlag()">Delete</BaseButton> + <BaseButton class="read" buttonClass="action" @click="readFlag()">{{ mode }}</BaseButton> </form> </vue-draggable-resizable> </div> @@ -46,6 +54,7 @@ <script> import { mapState } from 'vuex' +import marked from 'marked' export default { name: 'NodesLayer', @@ -60,9 +69,16 @@ export default { data() { return { - pickupz: 99 + pickupz: 99, + readmode: false, + mode: 'Read' } }, + + filters: { + marked: marked + }, + // FIXME: how do we know how to focus on the newest node ? // FIXME: Tab between them would also be good // var delay = 100 @@ -161,6 +177,15 @@ export default { deleteFlag(e) { e = this.nodeid this.$store.dispatch('deleteFlag', { e }) + }, + readFlag() { + if (this.readmode == true) { + this.readmode = false + this.mode = 'Read' + } else { + this.readmode = true + this.mode = 'Edit' + } } } } @@ -172,6 +197,11 @@ export default { position: relative; } +.read { + /* FIXME: make this a nice little CSS grid */ + float: right; +} + img { width: 100%; } diff --git a/app/src/store/index.js b/app/src/store/index.js index 6279f1a..3e14ff7 100644 --- a/app/src/store/index.js +++ b/app/src/store/index.js @@ -290,7 +290,7 @@ const store = new Vuex.Store({ x_pos: 50, y_pos: 50, width: 200, - height: 250, + height: 275, z_index: 1 }) return pouchdb diff --git a/app/yarn.lock b/app/yarn.lock index 8ff5c86..bee1110 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2797,9 +2797,9 @@ eslint-plugin-prettier@^3.1.1: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-vue@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.1.tgz#ca802df5c33146aed1e56bb21d250c1abb6120a3" +eslint-plugin-vue@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe" dependencies: natural-compare "^1.4.0" semver "^5.6.0" @@ -7263,9 +7263,9 @@ vue@^2.6.11: version "2.6.11" resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" -vuex@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.1.2.tgz#a2863f4005aa73f2587e55c3fadf3f01f69c7d4d" +vuex@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.1.3.tgz#f2ad73e3fb73691698b38c93f66e58e267947180" vuvuzela@1.0.3: version "1.0.3" -- GitLab