Skip to content
Snippets Groups Projects
Commit 0faf6789 authored by Nathan Hertz's avatar Nathan Hertz
Browse files

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
parent 411ff473
No related branches found
No related tags found
1 merge request!70Turned T H E B U T T O N into two buttons
Pipeline #471 passed
import {Injectable} from "@angular/core"; import { Injectable } from "@angular/core";
import {HttpClient} from "@angular/common/http"; import { HttpClient } from "@angular/common/http";
import {environment} from "../../../environments/environment"; import { environment } from "../../../environments/environment";
import {Observable} from "rxjs"; import { Observable } from "rxjs";
import {CapabilityRequest} from "../model/capability-request"; import { CapabilityRequest } from "../model/capability-request";
import {CapabilityExecution} from "../model/capability-execution"; import { CapabilityExecution } from "../model/capability-execution";
@Injectable({ @Injectable({
providedIn: "root", providedIn: "root",
...@@ -16,15 +16,18 @@ export class CapabilityLauncherService { ...@@ -16,15 +16,18 @@ export class CapabilityLauncherService {
/** /**
* Create capability request and send it to capability service * Create capability request and send it to capability service
* @param: capabilityName Name of capability to create request for * @param: capabilityName Name of capability to create request for
* @param: args Arguments for capability execution * @param: parameters Parameters for capability request
*/ */
createRequest( createRequest(
capabilityName: string, capabilityName: string,
args: string parameters: string
): Observable<CapabilityRequest> { ): Observable<CapabilityRequest> {
const url = environment.workspacesUrl + this.endpoint; const url = environment.workspacesUrl + this.endpoint;
const params = JSON.stringify({ capability: capabilityName, args: args }); const requestParams = JSON.stringify({
return this.httpClient.post<CapabilityRequest>(url, params); capability: capabilityName,
args: parameters,
});
return this.httpClient.post<CapabilityRequest>(url, requestParams);
} }
/** /**
......
<div class="container-fluid"> <div class="container-fluid">
<div class="row py-2"> <div class="row py-2">
<div class="col"> <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> </div>
</div> </div>
......
...@@ -19,33 +19,47 @@ export class WorkspacesComponent implements OnInit { ...@@ -19,33 +19,47 @@ export class WorkspacesComponent implements OnInit {
/** /**
* OnClick method that creates a capability request for the null capability and submits it * 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 { 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 // Create capability request
this.capabilityLauncher this.capabilityLauncher.createRequest(capabilityName, parameters).subscribe(
.createRequest( (requestResponse) => {
"test_download", this.capabilityRequests.push(requestResponse);
"shared/workspaces/test/test_data/spool/724126739/17A-109.sb33151331.eb33786546.57892.65940042824" if (requestResponse.id) {
) // Capability request created; ID found
.subscribe( const requestId = requestResponse.id;
(requestResponse) => { // Submit capability request
this.capabilityRequests.push(requestResponse); this.capabilityLauncher.submit(requestId).subscribe(
if (requestResponse.id) { (submitResponse) => {
// Capability request created; ID found this.capabilityExecutions.push(submitResponse);
const requestId = requestResponse.id; },
// Submit capability request (error) => {
this.capabilityLauncher.submit(requestId).subscribe( console.log(error);
(submitResponse) => { }
this.capabilityExecutions.push(submitResponse); );
},
(error) => {
console.log(error);
}
);
}
},
(error) => {
console.log(error);
} }
); },
(error) => {
console.log(error);
}
);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment