From bd86677e19cb5d4e9067e1e790d132ef9b2e174c Mon Sep 17 00:00:00 2001
From: Michael Hartung <michi@Michaels-MacBook-Pro.local>
Date: Tue, 27 Jul 2021 18:48:59 +0200
Subject: [PATCH] querz nodes

---
 src/app/components/query-tile/query-tile.component.html | 8 +++-----
 src/app/components/query-tile/query-tile.component.ts   | 8 +++++++-
 src/app/services/analysis/analysis.service.ts           | 8 ++++----
 src/theme-styles.scss                                   | 1 -
 4 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/src/app/components/query-tile/query-tile.component.html b/src/app/components/query-tile/query-tile.component.html
index 8a56ce0d..df4695b1 100644
--- a/src/app/components/query-tile/query-tile.component.html
+++ b/src/app/components/query-tile/query-tile.component.html
@@ -1,10 +1,8 @@
 <div class="content">
-  <ng-select [items]="queryItems" bindLabel="id" bindValue="data" [virtualScroll]="true" class="custom"
-             placeholder="Search..." [hideSelected]="true" [searchFn]="querySearch" (change)="select($event)" pTooltip="Find proteins in the network." tooltipPosition="top">
+  <ng-select [items]="queryItems" bindLabel="label" bindValue="data" [virtualScroll]="true" class="custom"
+             placeholder="Search..." [hideSelected]="true" [searchFn]="querySearch" (change)="select($event)" pTooltip="Find nodes in the network." tooltipPosition="top">
     <ng-template ng-option-tmp let-item="item">
-      <b *ngIf="item.data.netexId && item.data.netexId.startsWith('p')"> {{item.data.name}}</b>
-      <span><small *ngIf="item.data.netexId && item.data.netexId.startsWith('p')">Protein</small> | </span>
-      <span *ngIf="item.data.netexId && item.data.netexId.startsWith('p')"><small>AC: <b>{{item.data.uniprotAc}}</b></small> </span>
+      <p>{{item.data.label}}</p>
     </ng-template>
   </ng-select>
 </div>
diff --git a/src/app/components/query-tile/query-tile.component.ts b/src/app/components/query-tile/query-tile.component.ts
index 322fc3c9..4a413c1e 100644
--- a/src/app/components/query-tile/query-tile.component.ts
+++ b/src/app/components/query-tile/query-tile.component.ts
@@ -15,7 +15,13 @@ export class QueryTileComponent {
   querySearch(term: string, item: Wrapper) {
     term = term.toLowerCase();
     const data = item.data as Node;
-    return data.symbol.toLowerCase().indexOf(term) > -1 || data.uniprotAc.toLowerCase().indexOf(term) > -1;
+    if (data.netexId === undefined) {
+      return data.label.toLowerCase().indexOf(term) > -1 || data.id.toLowerCase().indexOf(term) > -1 
+    } else {
+      data.ensg = data.ensg.map(x => x.toLowerCase())
+      return data.symbol.toLowerCase().indexOf(term) > -1 || data.uniprotAc.toLowerCase().indexOf(term) > -1 || 
+        data.label.toLowerCase().indexOf(term) > -1 || data.ensg.includes(term) || data.id.toLowerCase().indexOf(term) > -1 ;
+    }
   }
 
   select(item) {
diff --git a/src/app/services/analysis/analysis.service.ts b/src/app/services/analysis/analysis.service.ts
index 6b3a7b6a..bcfaf5e8 100644
--- a/src/app/services/analysis/analysis.service.ts
+++ b/src/app/services/analysis/analysis.service.ts
@@ -157,12 +157,12 @@ export class AnalysisService {
 
   public invertSelection(nodes) {
     const newSelection = [];
-    nodes.forEach((node) => {
-      if (!this.inSelection(node)) {
-        newSelection.push(node);
+    nodes.forEach((node: Node) => {
+      const wrapper = getWrapperFromNode(node);
+      if (!this.inSelection(wrapper)) {
+        newSelection.push(wrapper);
       }
     });
-    console.log(nodes)
     this.selectedItems.clear();
     for (const wrapper of newSelection) {
       this.selectedItems.set(wrapper.nodeId, wrapper);
diff --git a/src/theme-styles.scss b/src/theme-styles.scss
index 2735e244..7b0884ce 100644
--- a/src/theme-styles.scss
+++ b/src/theme-styles.scss
@@ -187,7 +187,6 @@ a:hover {
 }
 
 
-
 .p-tooltip-text, .p-tooltip-arrow {
   background: var(--drgstn-tooltip) !important;
   border-radius: 2px !important;
-- 
GitLab