From eb7ebd07452547ae0369b928c9b5df1a84d9a781 Mon Sep 17 00:00:00 2001
From: AndiMajore <andi.majore@googlemail.com>
Date: Thu, 25 Aug 2022 04:02:56 +0200
Subject: [PATCH] made eventlistener for tasks also expose quick analysis and
 connect all tasks

---
 .../quick-drug-target.component.html             |  4 ++--
 .../quick-drug-target.component.ts               | 16 ++++++++++++----
 .../quick-drug/quick-drug.component.html         |  4 ++--
 .../quick-drug/quick-drug.component.ts           |  9 ++++++++-
 .../explorer-page/explorer-page.component.html   |  4 ++--
 src/app/services/analysis/analysis.service.ts    |  1 +
 src/index.html                                   |  2 +-
 src/index_static.html                            |  2 +-
 8 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/src/app/components/quick-drug-target/quick-drug-target.component.html b/src/app/components/quick-drug-target/quick-drug-target.component.html
index f42186f0..d5ccda51 100644
--- a/src/app/components/quick-drug-target/quick-drug-target.component.html
+++ b/src/app/components/quick-drug-target/quick-drug-target.component.html
@@ -32,7 +32,7 @@
         <div class="control">
           <div style="display: flex; justify-content: center">
             <button
-              (click)="analysis.startQuickAnalysis(true, 'connect')"
+              (click)="runQuickAnalysis(true, 'connect')"
               [disabled]="analysis.isLaunchingQuick()"
               [ngClass]="{
                 'text-small': drugstoneConfig.smallStyle
@@ -64,7 +64,7 @@
           </div>
           <div style="display: flex; justify-content: center">
             <button
-              (click)="analysis.startQuickAnalysis(false, 'connectSelected')"
+              (click)="runQuickAnalysis(false, 'connectSelected')"
               [disabled]="
                 analysis.getCount() === 0 || analysis.isLaunchingQuick()
               "
diff --git a/src/app/components/quick-drug-target/quick-drug-target.component.ts b/src/app/components/quick-drug-target/quick-drug-target.component.ts
index a0f65ce2..82186a91 100644
--- a/src/app/components/quick-drug-target/quick-drug-target.component.ts
+++ b/src/app/components/quick-drug-target/quick-drug-target.component.ts
@@ -1,6 +1,6 @@
-import { Component, OnInit } from '@angular/core';
-import { AnalysisService } from 'src/app/services/analysis/analysis.service';
-import { DrugstoneConfigService } from 'src/app/services/drugstone-config/drugstone-config.service';
+import {Component, EventEmitter, OnInit, Output} from '@angular/core';
+import {AnalysisService} from 'src/app/services/analysis/analysis.service';
+import {DrugstoneConfigService} from 'src/app/services/drugstone-config/drugstone-config.service';
 
 @Component({
   selector: 'app-quick-drug-target',
@@ -8,14 +8,22 @@ import { DrugstoneConfigService } from 'src/app/services/drugstone-config/drugst
   styleUrls: ['./quick-drug-target.component.scss']
 })
 export class QuickDrugTargetComponent implements OnInit {
+  @Output()
+  public taskEvent = new EventEmitter<object>();
 
   constructor(
     public drugstoneConfig: DrugstoneConfigService,
-    public analysis: AnalysisService) { }
+    public analysis: AnalysisService) {
+  }
 
   public collapseQuickConnect = false;
 
   ngOnInit(): void {
   }
 
+  public async runQuickAnalysis(isSuper, algorithm) {
+    const object = await this.analysis.startQuickAnalysis(isSuper, algorithm);
+    this.taskEvent.emit(object);
+  }
+
 }
diff --git a/src/app/components/quick-drug/quick-drug.component.html b/src/app/components/quick-drug/quick-drug.component.html
index 356077c0..29224841 100644
--- a/src/app/components/quick-drug/quick-drug.component.html
+++ b/src/app/components/quick-drug/quick-drug.component.html
@@ -32,7 +32,7 @@
         <div class="control">
           <div style="display: flex; justify-content: center">
             <button
-              (click)="analysis.startQuickAnalysis(true, 'super')"
+              (click)="runQuickAnalysis(true, 'super')"
               [disabled]="analysis.isLaunchingQuick()"
               [ngClass]="{
                 'text-small': drugstoneConfig.smallStyle
@@ -68,7 +68,7 @@
 
           <div style="display: flex; justify-content: center">
             <button
-              (click)="analysis.startQuickAnalysis(false, 'quick')"
+              (click)="runQuickAnalysis(false, 'quick')"
               [disabled]="
                 analysis.getCount() === 0 || analysis.isLaunchingQuick()
               "
diff --git a/src/app/components/quick-drug/quick-drug.component.ts b/src/app/components/quick-drug/quick-drug.component.ts
index 185e0e21..f3eda0b7 100644
--- a/src/app/components/quick-drug/quick-drug.component.ts
+++ b/src/app/components/quick-drug/quick-drug.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, EventEmitter, OnInit, Output} from '@angular/core';
 import { AnalysisService } from 'src/app/services/analysis/analysis.service';
 import { DrugstoneConfigService } from 'src/app/services/drugstone-config/drugstone-config.service';
 
@@ -8,6 +8,8 @@ import { DrugstoneConfigService } from 'src/app/services/drugstone-config/drugst
   styleUrls: ['./quick-drug.component.scss']
 })
 export class QuickDrugComponent implements OnInit {
+  @Output()
+  public taskEvent = new EventEmitter<object>();
 
   constructor(
     public drugstoneConfig: DrugstoneConfigService,
@@ -17,4 +19,9 @@ export class QuickDrugComponent implements OnInit {
 
   ngOnInit(): void {
   }
+
+  public async runQuickAnalysis(isSuper, algorithm) {
+    const object = await this.analysis.startQuickAnalysis(isSuper, algorithm);
+    this.taskEvent.emit(object);
+  }
 }
diff --git a/src/app/pages/explorer-page/explorer-page.component.html b/src/app/pages/explorer-page/explorer-page.component.html
index 87d08bad..16ad5120 100644
--- a/src/app/pages/explorer-page/explorer-page.component.html
+++ b/src/app/pages/explorer-page/explorer-page.component.html
@@ -190,9 +190,9 @@
           </div>
         </div>
 
-        <app-quick-drug-target *ngIf="drugstoneConfig.config.showConnectGenes"></app-quick-drug-target>
+        <app-quick-drug-target *ngIf="drugstoneConfig.config.showConnectGenes" (taskEvent)="emitTaskEvent($event)"></app-quick-drug-target>
 
-        <app-quick-drug *ngIf="drugstoneConfig.config.showSimpleAnalysis"></app-quick-drug>
+        <app-quick-drug *ngIf="drugstoneConfig.config.showSimpleAnalysis" (taskEvent)="emitTaskEvent($event)"></app-quick-drug>
 
         <div
           *ngIf="drugstoneConfig.config.showAdvAnalysis"
diff --git a/src/app/services/analysis/analysis.service.ts b/src/app/services/analysis/analysis.service.ts
index 6dc4122a..0b7e0315 100644
--- a/src/app/services/analysis/analysis.service.ts
+++ b/src/app/services/analysis/analysis.service.ts
@@ -274,6 +274,7 @@ export class AnalysisService {
       position: 'top-center',
       animate: {in: 'fadeIn', out: 'fadeOut'}
     });
+    return { taskId: resp.token, algorithm: algorithm, target: target, params: parameters }
   }
 
   async startAnalysis(algorithm, target: 'drug' | 'drug-target', parameters) {
diff --git a/src/index.html b/src/index.html
index 698f3752..7569b4e2 100644
--- a/src/index.html
+++ b/src/index.html
@@ -146,7 +146,7 @@
   }
 
   function initTaskEventListener(){
-    document.getElementsByTagName("network-expander")[0].addEventListener("taskEvent",(event)=>{console.log(event.detail)})
+    document.getElementsByTagName("drugst-one")[0].addEventListener("taskEvent",(event)=>{console.log(event.detail)})
   }
 
 
diff --git a/src/index_static.html b/src/index_static.html
index 414593ae..0288fe37 100644
--- a/src/index_static.html
+++ b/src/index_static.html
@@ -143,7 +143,7 @@
   }
 
   function initTaskEventListener(){
-    document.getElementsByTagName("network-expander")[0].addEventListener("taskEvent",(event)=>{console.log(event.detail)})
+    document.getElementsByTagName("drugst-one")[0].addEventListener("taskEvent",(event)=>{console.log(event.detail)})
   }
 
   function applyDataset(){
-- 
GitLab