From 1bb1c1803f1e803d042d6a35b0fdd8b91b677e1f Mon Sep 17 00:00:00 2001
From: AndiMajore <andi.majore@googlemail.com>
Date: Thu, 23 Sep 2021 15:13:33 +0200
Subject: [PATCH] fixed toggle when clicking on selected element again; fixed
 disorder + drugs loading problem when other also active

---
 src/app/components/toggle/toggle.component.ts              | 2 ++
 .../services/netex-controller/netex-controller.service.ts  | 7 +++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/app/components/toggle/toggle.component.ts b/src/app/components/toggle/toggle.component.ts
index c3644b4a..6b396763 100644
--- a/src/app/components/toggle/toggle.component.ts
+++ b/src/app/components/toggle/toggle.component.ts
@@ -27,6 +27,8 @@ export class ToggleComponent implements OnInit {
   }
 
   public toggle(value: boolean) {
+    if(this.value === value)
+      return;
     this.value = value;
     this.valueChange.emit(this.value);
   }
diff --git a/src/app/services/netex-controller/netex-controller.service.ts b/src/app/services/netex-controller/netex-controller.service.ts
index 145db2b7..93546b84 100644
--- a/src/app/services/netex-controller/netex-controller.service.ts
+++ b/src/app/services/netex-controller/netex-controller.service.ts
@@ -97,13 +97,12 @@ export class NetexControllerService {
   }
 
   public adjacentDisorders(nodes: Node[]): Observable<any> {
-    const genesBackendIds = nodes.map((node: Node) => node.netexId && !node.drugId ? node.netexId.slice(1) : undefined).filter(id => id != null);
-    const drugsBackendIds = nodes.map((node: Node) => node.drugId && node.netexId ? node.netexId.slice(1) : undefined).filter(id => id != null);
+    const genesBackendIds = nodes.map((node: Node) => node.netexId && !node.drugId && node.netexId.startsWith('p') ? node.netexId.slice(1) : undefined).filter(id => id != null);
+    const drugsBackendIds = nodes.map((node: Node) => node.drugId && node.netexId && node.netexId.startsWith('dr') ? node.netexId.slice(1) : undefined).filter(id => id != null);
     const params = {
       proteins: genesBackendIds,
       drugs: drugsBackendIds,
     };
-    console.log(params)
     return this.http.post<any>(`${environment.backend}adjacent_disorders/`, params);
   }
 
@@ -112,7 +111,7 @@ export class NetexControllerService {
      * Returns the expression in the given tissue for given nodes and cancerNodes
      */
       // slice prefix of netex id away for direct lookup in db, if node not mapped to db, replace by undefined
-    const genesBackendIds = nodes.map((node: Node) => node.netexId ? node.netexId.slice(1) : undefined).filter(id => id != null);
+    const genesBackendIds = nodes.map((node: Node) => node.netexId && node.netexId.startsWith('p') ? node.netexId.slice(1) : undefined).filter(id => id != null);
     const params = {
       pdi_dataset: pdiDataset,
       proteins: genesBackendIds
-- 
GitLab