From 82621f3f29ea0d4e1c1e8fd440fb1b25ef41eec6 Mon Sep 17 00:00:00 2001 From: chausman <chausman@nrao.edu> Date: Fri, 12 May 2023 14:25:48 -0600 Subject: [PATCH] - make closed requests display visual feedback to user - make 'close request' button disappear if request is already sealed --- .../capability-request.component.html | 2 +- .../request-header/request-header.component.html | 1 + .../request-header/request-header.component.ts | 10 ++++++---- .../request-operations/request-operations.component.ts | 1 + .../status-badges/status-badge.component.html | 7 +++++++ .../components/status-badges/status-badge.component.ts | 2 ++ 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/apps/web/src/app/workspaces/components/capability-request/capability-request.component.html b/apps/web/src/app/workspaces/components/capability-request/capability-request.component.html index 499e04eac..1781d9a84 100644 --- a/apps/web/src/app/workspaces/components/capability-request/capability-request.component.html +++ b/apps/web/src/app/workspaces/components/capability-request/capability-request.component.html @@ -1,6 +1,6 @@ <div *ngIf="this.capabilityRequest"> <header> - <app-request-header [capabilityRequest]="capabilityRequest" [latestVersion]="latestVersion"></app-request-header> + <app-request-header [capability]="capability" [capabilityRequest]="capabilityRequest" [latestVersion]="latestVersion"></app-request-header> </header> <div class="row" style="justify-content: center" id="sys-msg-container" *ngIf="this.capabilityRequest.system_messages"> <div *ngFor="let msg of this.capabilityRequest.system_messages | keyvalue"> diff --git a/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.html b/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.html index 32e970b92..c60da015e 100644 --- a/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.html +++ b/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.html @@ -5,6 +5,7 @@ <app-status-badge id="request-status" class="d-flex p-2" + [capability]="capability" [capabilityRequest]="capabilityRequest" ></app-status-badge> </h5> diff --git a/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.ts b/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.ts index e2f620892..20f791b82 100644 --- a/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.ts +++ b/apps/web/src/app/workspaces/components/capability-request/components/request-header/request-header.component.ts @@ -23,12 +23,14 @@ import { CapabilityVersion } from "../../../../model/capability-version"; import * as dayjs from 'dayjs'; import * as relativeTime from 'dayjs/plugin/relativeTime'; import * as localizedFormat from 'dayjs/plugin/localizedFormat'; +import {Capability} from "../../../../model/capability"; @Component({ selector: "app-request-header", templateUrl: "./request-header.component.html", styleUrls: ["./request-header.component.scss"], }) export class RequestHeaderComponent implements OnInit { + @Input() capability: Capability; @Input() capabilityRequest: CapabilityRequest; @Input() latestVersion: CapabilityVersion; createdAt; @@ -74,10 +76,10 @@ export class RequestHeaderComponent implements OnInit { isCancellable(): boolean { return !( this.latestVersion && ( - this.latestVersion.state != 'Cancelled' && - this.latestVersion.state != 'Complete' && - this.latestVersion.state != 'Failed' && - this.latestVersion.state != 'Error' + this.latestVersion.state !== 'Cancelled' && + this.latestVersion.state !== 'Complete' && + this.latestVersion.state !== 'Failed' && + this.latestVersion.state !== 'Error' ) ) } diff --git a/apps/web/src/app/workspaces/components/capability-request/components/request-operations/request-operations.component.ts b/apps/web/src/app/workspaces/components/capability-request/components/request-operations/request-operations.component.ts index 2f541bed3..77af92466 100644 --- a/apps/web/src/app/workspaces/components/capability-request/components/request-operations/request-operations.component.ts +++ b/apps/web/src/app/workspaces/components/capability-request/components/request-operations/request-operations.component.ts @@ -159,6 +159,7 @@ export class RequestOperationsComponent implements OnInit { this.selectedVersion && (this.selectedVersion.state === 'Error' || this.selectedVersion.state === 'Failed') && (this.selectedVersion.current_execution.state_name === 'Error' || this.selectedVersion.current_execution.state_name === 'Failed') + && !this.capabilityRequest.sealed ); } diff --git a/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.html b/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.html index 42da97d45..639525f48 100644 --- a/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.html +++ b/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.html @@ -28,3 +28,10 @@ *ngIf="capabilityRequest.state === 'Cancelled'" ><span id="request-status-badge-txt-cancelled">{{ capabilityRequest.state.toUpperCase() }}</span> </span> + +<span + id="request-sealed-badge" + class="badge badge-pill badge-danger py-2" + *ngIf="capabilityRequest.sealed === true && capabilityRequest.state !== 'Complete' && capability.state_machine !== 'simple'" + ><span id="request-sealed-badge-txt">SEALED</span> +</span> diff --git a/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.ts b/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.ts index 5c1747ba1..ec4798fbb 100644 --- a/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.ts +++ b/apps/web/src/app/workspaces/components/capability-request/components/status-badges/status-badge.component.ts @@ -18,6 +18,7 @@ */ import { Component, Input, OnInit } from "@angular/core"; import { CapabilityRequest } from "../../../../model/capability-request"; +import {Capability} from "../../../../model/capability"; @Component({ selector: "app-status-badge", @@ -25,6 +26,7 @@ import { CapabilityRequest } from "../../../../model/capability-request"; styleUrls: ["./status-badge.component.scss"], }) export class StatusBadgeComponent implements OnInit { + @Input() capability: Capability; @Input() capabilityRequest: CapabilityRequest; constructor() {} -- GitLab