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 {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);
}
/**
......
<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>
......
......@@ -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);
}
);
}
}
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