From 40ab0a48d8c6c921b754d17609ae5ab92896207c Mon Sep 17 00:00:00 2001 From: Adam Procter <adamprocter@researchnot.es> Date: Fri, 10 Apr 2020 16:58:45 +0100 Subject: [PATCH] added list view version 0.000001 added a simple list view you can turn on and off. Shows just your list for now and doesnt hide node (spatial view ) yet --- app/src/components/ControlsLayer.vue | 13 ++++----- app/src/components/ListLayer.vue | 40 ++++++++++++++++++++++++++++ app/src/components/NodesLayer.vue | 1 + app/src/views/Home.vue | 22 +++++++++++++-- app/src/views/NotFound.vue | 2 ++ 5 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 app/src/components/ListLayer.vue diff --git a/app/src/components/ControlsLayer.vue b/app/src/components/ControlsLayer.vue index b3f2b65..cb58d7b 100644 --- a/app/src/components/ControlsLayer.vue +++ b/app/src/components/ControlsLayer.vue @@ -1,12 +1,9 @@ <template> <div class="controls"> <div class="btn-row"> - <BaseButton buttonClass="action" @click="addNode()" - >Create Node</BaseButton - > - <BaseButton buttonClass="action" @click="removeLocal()" - >Join another microcosm</BaseButton - > + <BaseButton buttonClass="action" @click="addNode()">Create Node</BaseButton> + <BaseButton buttonClass="action" @click="listView()">List View</BaseButton> + <BaseButton buttonClass="action" @click="removeLocal()">Join another microcosm</BaseButton> <!-- <BaseButton @click="exportStorage()">Export my contributions</BaseButton> <BaseButton buttonClass="danger" v-on:click="deleteClient"> Delete my contributions (inc. attachments) permanently @@ -49,6 +46,10 @@ export default { addNode() { this.$store.dispatch('addNode') }, + listView() { + // FIXME: add action here to toggle visiblity + this.$emit('listView') + }, exportStorage: function() { // Save local indexeddb document-store to JSON file // or export state.notes to JSON file diff --git a/app/src/components/ListLayer.vue b/app/src/components/ListLayer.vue new file mode 100644 index 0000000..7b6509a --- /dev/null +++ b/app/src/components/ListLayer.vue @@ -0,0 +1,40 @@ +<template> + <div class="list"> + <ul v-for="value in myNodes" v-bind:key="value.node_id"> + <li + class="dataeach" + v-if="nodeid == value.node_id" + :inner-html.prop="value.node_text | marked" + ></li> + </ul> + </div> +</template> + +<script> +import { mapState } from 'vuex' +import marked from 'marked' + +export default { + name: 'ListLayer', + props: { + nodeid: String, + nodetext: String + }, + + computed: mapState({ + myNodes: state => state.myNodes, + otherNodes: state => state.otherNodes + }), + + filters: { + // need to write a reverse data filter I suspect here so new data is at the top of list + marked: marked + } +} +</script> + +<style lang="css" scoped> +li { + margin-bottom: -15px; +} +</style> \ No newline at end of file diff --git a/app/src/components/NodesLayer.vue b/app/src/components/NodesLayer.vue index 9fe4d21..3fcadd9 100644 --- a/app/src/components/NodesLayer.vue +++ b/app/src/components/NodesLayer.vue @@ -35,6 +35,7 @@ ></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> diff --git a/app/src/views/Home.vue b/app/src/views/Home.vue index 5d8d2ea..2578261 100644 --- a/app/src/views/Home.vue +++ b/app/src/views/Home.vue @@ -15,8 +15,15 @@ v-bind:nodeid="value.node_id" v-bind:nodetext="value.node_text" /> - - <ControlsLayer /> + <div v-if="listview"> + <ListLayer + v-for="value in myNodes" + v-bind:key="value.node_id" + v-bind:nodeid="value.node_id" + v-bind:nodetext="value.node_text" + /> + </div> + <ControlsLayer @listView="listView()" /> </div> <OnBoard v-else @clientAdded="clientAdded()" /> </div> @@ -27,6 +34,7 @@ import OnBoard from '@/components/OnBoard.vue' import NodesLayer from '@/components/NodesLayer.vue' import OtherNodeslayer from '@/components/OtherNodeslayer.vue' +import ListLayer from '@/components/ListLayer.vue' import ControlsLayer from '@/components/ControlsLayer.vue' import { mapState } from 'vuex' @@ -57,6 +65,7 @@ export default { data: function() { return { clientset: false, + listview: false, offline: false } }, @@ -65,6 +74,7 @@ export default { OnBoard, NodesLayer, OtherNodeslayer, + ListLayer, ControlsLayer }, computed: mapState({ @@ -86,6 +96,14 @@ export default { this.$store.dispatch('addNode') }, + listView() { + if (this.listview == false) { + this.listview = true + } else { + this.listview = false + } + }, + offlineTriggered() { this.offline = true }, diff --git a/app/src/views/NotFound.vue b/app/src/views/NotFound.vue index 00a987f..6f67de9 100644 --- a/app/src/views/NotFound.vue +++ b/app/src/views/NotFound.vue @@ -2,6 +2,8 @@ <div> <h1>This is a Custom 404</h1> <p>Delightful one coming soon</p> + + <!-- FIXME: Put stuffed Monkey here --> </div> </template> -- GitLab