From 0faf678956b0af50855193634cee313d2cddbf9e Mon Sep 17 00:00:00 2001 From: nhertz <nhertz@nrao.edu> Date: Wed, 10 Feb 2021 09:19:50 -0700 Subject: [PATCH] Created two buttons; one that launches the null capability, one that launches the download capability; moved the capability launching functionality from the on-click methods to a new method that gets called by the on click methods --- .../services/capability-launcher.service.ts | 23 ++++--- .../app/workspaces/workspaces.component.html | 7 +- .../app/workspaces/workspaces.component.ts | 64 +++++++++++-------- 3 files changed, 58 insertions(+), 36 deletions(-) diff --git a/apps/web/src/app/workspaces/services/capability-launcher.service.ts b/apps/web/src/app/workspaces/services/capability-launcher.service.ts index 56a3e85b7..dbf9f0927 100644 --- a/apps/web/src/app/workspaces/services/capability-launcher.service.ts +++ b/apps/web/src/app/workspaces/services/capability-launcher.service.ts @@ -1,9 +1,9 @@ -import {Injectable} from "@angular/core"; -import {HttpClient} from "@angular/common/http"; -import {environment} from "../../../environments/environment"; -import {Observable} from "rxjs"; -import {CapabilityRequest} from "../model/capability-request"; -import {CapabilityExecution} from "../model/capability-execution"; +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { environment } from "../../../environments/environment"; +import { Observable } from "rxjs"; +import { CapabilityRequest } from "../model/capability-request"; +import { CapabilityExecution } from "../model/capability-execution"; @Injectable({ providedIn: "root", @@ -16,15 +16,18 @@ export class CapabilityLauncherService { /** * Create capability request and send it to capability service * @param: capabilityName Name of capability to create request for - * @param: args Arguments for capability execution + * @param: parameters Parameters for capability request */ createRequest( capabilityName: string, - args: string + parameters: string ): Observable<CapabilityRequest> { const url = environment.workspacesUrl + this.endpoint; - const params = JSON.stringify({ capability: capabilityName, args: args }); - return this.httpClient.post<CapabilityRequest>(url, params); + const requestParams = JSON.stringify({ + capability: capabilityName, + args: parameters, + }); + return this.httpClient.post<CapabilityRequest>(url, requestParams); } /** diff --git a/apps/web/src/app/workspaces/workspaces.component.html b/apps/web/src/app/workspaces/workspaces.component.html index 83247bb52..0e23d8064 100644 --- a/apps/web/src/app/workspaces/workspaces.component.html +++ b/apps/web/src/app/workspaces/workspaces.component.html @@ -1,7 +1,12 @@ <div class="container-fluid"> <div class="row py-2"> <div class="col"> - <button type="button" class="btn btn-primary" (click)="downloadButtonOnClick()">Launch null capability [null -g]</button> + <button type="button" class="btn btn-secondary" (click)="nullButtonOnClick()">Launch null capability</button> + </div> + </div> + <div class="row py-2"> + <div class="col"> + <button type="button" class="btn btn-warning" (click)="downloadButtonOnClick()">Launch download capability</button> </div> </div> </div> diff --git a/apps/web/src/app/workspaces/workspaces.component.ts b/apps/web/src/app/workspaces/workspaces.component.ts index c7ef91ffc..90fd13877 100644 --- a/apps/web/src/app/workspaces/workspaces.component.ts +++ b/apps/web/src/app/workspaces/workspaces.component.ts @@ -19,33 +19,47 @@ export class WorkspacesComponent implements OnInit { /** * OnClick method that creates a capability request for the null capability and submits it */ + nullButtonOnClick(): void { + this.launchCapability("null", "-g"); + } + + /** + * OnClick method that creates a capability request for the test_download capability and submits it + */ downloadButtonOnClick(): void { + this.launchCapability( + "test_download", + "shared/workspaces/test/test_data/spool/724126739/17A-109.sb33151331.eb33786546.57892.65940042824" + ); + } + + /** + * Method that uses the capabilityLauncher service to launch a capability + * @param capabilityName Name of capability + * @param parameters Parameters of capability request + */ + launchCapability(capabilityName: string, parameters: string): void { // Create capability request - this.capabilityLauncher - .createRequest( - "test_download", - "shared/workspaces/test/test_data/spool/724126739/17A-109.sb33151331.eb33786546.57892.65940042824" - ) - .subscribe( - (requestResponse) => { - this.capabilityRequests.push(requestResponse); - if (requestResponse.id) { - // Capability request created; ID found - const requestId = requestResponse.id; - // Submit capability request - this.capabilityLauncher.submit(requestId).subscribe( - (submitResponse) => { - this.capabilityExecutions.push(submitResponse); - }, - (error) => { - console.log(error); - } - ); - } - }, - (error) => { - console.log(error); + this.capabilityLauncher.createRequest(capabilityName, parameters).subscribe( + (requestResponse) => { + this.capabilityRequests.push(requestResponse); + if (requestResponse.id) { + // Capability request created; ID found + const requestId = requestResponse.id; + // Submit capability request + this.capabilityLauncher.submit(requestId).subscribe( + (submitResponse) => { + this.capabilityExecutions.push(submitResponse); + }, + (error) => { + console.log(error); + } + ); } - ); + }, + (error) => { + console.log(error); + } + ); } } -- GitLab