From 5349288f76c7b660cf602d618f738de12fc9ccde Mon Sep 17 00:00:00 2001
From: isaherbauts <isabelle.herbauts@univie.ac.at>
Date: Wed, 26 Feb 2020 13:26:29 +0100
Subject: [PATCH] unselectNode for chip

---
 .../PhExtServiceTreeview.vue                  | 34 +++++++++++++++----
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/src/components/input/pharma-input-fields/PhExtServiceTreeview.vue b/src/components/input/pharma-input-fields/PhExtServiceTreeview.vue
index 4fec854..67f7818 100644
--- a/src/components/input/pharma-input-fields/PhExtServiceTreeview.vue
+++ b/src/components/input/pharma-input-fields/PhExtServiceTreeview.vue
@@ -15,7 +15,9 @@
           <v-layout row wrap fill-height>
             <v-flex xs6>
               <v-btn @click="alert($refs.treeview.items)">view</v-btn>
-              <v-btn @click="myget($refs.treeview.items)">find</v-btn>
+              <v-btn
+                @click="unselectNode($refs.treeview.items,'http://purl.obolibrary.org/obo/NCIT_C28398')"
+              >find</v-btn>
               <v-btn @click="$refs.treeview.updateAll(true)">Open next level</v-btn>
               <v-btn @click="$refs.treeview.updateAll(false)">Close all</v-btn>
             </v-flex>
@@ -65,9 +67,9 @@
               :key="i"
               label
               close
-              @input="selectedItems.splice(i,1);deselect(data, $refs.treeview)"
+              @input="selectedItems.splice(i,1);unselectNode($refs.treeview.items,data.id)"
             >
-              <span>{{ data.text }}{{data.selected}}</span>
+              <span>{{ data.text }}</span>
             </v-chip>
           </v-card-text>
         </v-flex>
@@ -185,10 +187,28 @@ export default {
     }
   },
   methods: {
-    myget: function(tree) {
-      console.log("in myget", tree);
-      var lol = _.findIndex(tree, ["text", "Modeling"]);
-      console.log("in myget", lol);
+    unselectNode: function(tree, id) {
+      var n_ar = tree;
+
+      for (var nodes in n_ar) {
+        if (n_ar[nodes].id === id) {
+          // console.log(
+          //   "matching node",
+          //   n_ar[nodes],
+          //   n_ar[nodes].text,
+          //   n_ar[nodes].selected
+          // );
+          n_ar[nodes].selected = false;
+        }
+        if (
+          n_ar[nodes].children !== null &&
+          n_ar[nodes].children.length > 0 &&
+          typeof n_ar[nodes].children === "object"
+        ) {
+          //for each chil call again this fction
+          this.unselectNode(n_ar[nodes].children, id);
+        }
+      }
     },
 
     alert: function(a) {
-- 
GitLab