From 4d508276584d9caa9d58c877f3444a1e7132b814 Mon Sep 17 00:00:00 2001 From: tylercchase Date: Mon, 20 May 2024 13:55:18 -0400 Subject: [PATCH 01/31] feat: basic modal skeleton --- .../processing-queue.component.html | 157 ++++++++++-------- .../processing-queue.component.ts | 19 ++- .../processing-queue.module.ts | 4 +- .../processing-signup/index.ts | 2 + .../processing-signup.component.html | 87 ++++++++++ .../processing-signup.component.scss | 10 ++ .../processing-signup.component.ts | 10 ++ .../processing-signup.module.ts | 36 ++++ src/app/models/hyp3.model.ts | 1 + 9 files changed, 251 insertions(+), 75 deletions(-) create mode 100644 src/app/components/header/processing-queue/processing-signup/index.ts create mode 100644 src/app/components/header/processing-queue/processing-signup/processing-signup.component.html create mode 100644 src/app/components/header/processing-queue/processing-signup/processing-signup.component.scss create mode 100644 src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts create mode 100644 src/app/components/header/processing-queue/processing-signup/processing-signup.module.ts diff --git a/src/app/components/header/processing-queue/processing-queue.component.html b/src/app/components/header/processing-queue/processing-queue.component.html index 8fb339274..96ba7c0ee 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.html +++ b/src/app/components/header/processing-queue/processing-queue.component.html @@ -59,7 +59,14 @@ - + @if(userStatus === 'NOT_STARTED' || userStatus === 'PENDING') { + + } + @if (!this.isSignupSelected) { +
+
+
+ {{ 'SIGN_IN_TO_PROCESS_DATA' | translate }} +
+
+ +
-
- -
-
-
-

- {{ hyp3JobTypes[selectedJobTypeId].description | translate }} - [MORE] -

+ +
+
+
+

+ {{ hyp3JobTypes[selectedJobTypeId].description | translate }} + [MORE] +

+
+ + +
- - -
-
- -
-
- - -
-
-
-
- {{ 'TOO_MANY_JOBS_IN_QUEUE' | translate }} -
-
- ({{ allJobs.length - remaining }} extra job{{ (allJobs.length - remaining) === 1 ? '' : 's' }}) -
-
- -
-
- {{ 'NO_CREDITS_LEFT_THIS_MONTH' | translate }} + +
+
+ + +
+
+
+
+ {{ 'TOO_MANY_JOBS_IN_QUEUE' | translate }} +
+
+ ({{ allJobs.length - remaining }} extra job{{ (allJobs.length - remaining) === 1 ? '' : 's' }}) +
-
- + +
+
+ {{ 'NO_CREDITS_LEFT_THIS_MONTH' | translate }} +
+
+ +
-
- -
-
- - + +
+
+ + +
-
- -
-
- - + +
+
+ + +
-
+ } + @else { + + } diff --git a/src/app/components/header/processing-queue/processing-queue.component.ts b/src/app/components/header/processing-queue/processing-queue.component.ts index 579172c27..38087f8cb 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.ts +++ b/src/app/components/header/processing-queue/processing-queue.component.ts @@ -19,7 +19,8 @@ import * as services from '@services'; enum ProcessingQueueTab { SCENES = 'Scenes', - OPTIONS = 'Options' + OPTIONS = 'Options', + SIGNUP = 'Signup' } @Component({ @@ -67,6 +68,10 @@ export class ProcessingQueueComponent implements OnInit { public errorHeaderHeight = 0; public progress = null; + + public userStatus = 'NOT_STARTED'; + public isSignupSelected = false; + constructor( public authService: services.AuthService, public env: services.EnvironmentService, @@ -144,6 +149,8 @@ export class ProcessingQueueComponent implements OnInit { this.user = user.user_id; this.isUnlimitedUser = user.quota.unlimited; this.remaining = user.quota.remaining; + this.userStatus = user.application_status; + this.userStatus = 'NOT_STARTED'; } ); @@ -330,6 +337,8 @@ export class ProcessingQueueComponent implements OnInit { this.jobs = this.allJobs.filter( job => job.job_type.id === this.selectedJobTypeId ); + + this.isSignupSelected = false; } public onRemoveJob(job: models.QueuedHyp3Job): void { @@ -430,5 +439,13 @@ export class ProcessingQueueComponent implements OnInit { private selectDefaultJobType(): void { this.selectedJobTypeId = !!this.hyp3JobTypesList[0] ? this.hyp3JobTypesList[0].id : null; + if(this.userStatus === 'NOT_STARTED' || this.userStatus === 'PENDING') { + this.isSignupSelected = true; + this.selectedJobTypeId = null; + } + } + public openSignup(): void { + this.isSignupSelected = true; + this.selectedJobTypeId = null; } } diff --git a/src/app/components/header/processing-queue/processing-queue.module.ts b/src/app/components/header/processing-queue/processing-queue.module.ts index 16833021d..a88751901 100644 --- a/src/app/components/header/processing-queue/processing-queue.module.ts +++ b/src/app/components/header/processing-queue/processing-queue.module.ts @@ -21,6 +21,7 @@ import { PipesModule } from '@pipes'; import { ProcessingQueueComponent } from './processing-queue.component'; import { ProcessingQueueJobsModule } from './processing-queue-jobs'; import { ProcessingOptionsModule } from './processing-options'; +import { ProcessingSignupModule } from './processing-signup'; import { MatDialogModule } from '@angular/material/dialog'; import { QueueSubmitComponent } from './queue-submit/queue-submit.component'; import { ResizableModule } from 'angular-resizable-element'; @@ -38,7 +39,7 @@ import { SharedModule } from '@shared'; declarations: [ ProcessingQueueComponent, QueueSubmitComponent, - ConfirmationComponent + ConfirmationComponent, ], imports: [ CommonModule, @@ -56,6 +57,7 @@ import { SharedModule } from '@shared'; ProjectNameSelectorModule, ProcessingQueueJobsModule, ProcessingOptionsModule, + ProcessingSignupModule, MatDialogModule, ResizableModule, ResizedEventModule, diff --git a/src/app/components/header/processing-queue/processing-signup/index.ts b/src/app/components/header/processing-queue/processing-signup/index.ts new file mode 100644 index 000000000..25158301e --- /dev/null +++ b/src/app/components/header/processing-queue/processing-signup/index.ts @@ -0,0 +1,2 @@ +export { ProcessingSignupComponent } from './processing-signup.component'; +export { ProcessingSignupModule } from './processing-signup.module'; diff --git a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.html b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.html new file mode 100644 index 000000000..946afd12e --- /dev/null +++ b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.html @@ -0,0 +1,87 @@ +
+
+

Request On Demand Access

+

Thank you for your interest in ASF's On Demand processing service. + + This service allows users to submit Sentinel-1 acquisitions for conversion to analysis-ready products, + including Radiometric Terrain Corrected (RTC) SAR Backscatter and Interferometric SAR (InSAR). Products are + generated using HyP3, ASF's cloud-based processing platform. Finished products can be downloaded for use in + a variety of analysis workflows. + + These services are provided at no cost to the user, and anyone can request access. To ensure that processing + is equitably distributed throughout the user community, each user can only register one Earthdata Login + account for use with ASF's On Demand service. +

+
+

Verify your Earthdata Login profile information

+ Please review your Earthdata Login profile information below. We will use the email address listed to notify + you of your approval status. + + If any of this information is incorrect, please update your Earthdata Login profile and then refresh this + page to view your updated information. +
    +
  • Name: John Doe
  • +
  • Username: username
  • +
  • Email Address: user@example.com
  • +
  • Organization: Example Organization/li> +
  • Country: Example Country
  • +
+ Yes, my Earthdata Login profile information is correct and I will monitor + user@example.com for status updates. +
+
+

How do you want to use our service?

+

Please provide a short description (1-5 sentences) of how and why you would like to use ASF's On Demand + products. Expand the section below for some examples.

+ + + + Examples + + + + Example 1: + + I am a + master's student in volcanology at the University of ___, and would + like to analyze inflation dynamics of volcanoes in my area using InSAR time series analysis + with mintpy software. I don't have the time or resources necessary to generate the InSAR + time series I would need for my analysis, and would like to use On Demand InSAR products as + my input for mintpy. + + + + Example 2: + + I am a + GIS specialist for an insurance company, and I use a variety of resources to evaluate crop + damage caused by natural disasters. I have not used SAR in the past, but I recently attended + a webinar on using SAR for monitoring the impacts of natural disasters. I would like to see + if RTC images could provide useful insights into crop damage. + + + + Example 3: + + I'm a + hydrologist for a government agency that monitors water resources. I have worked with SAR + extensively, and could process my own analysis-ready products, but a colleague mentioned + this service to me. It would be a more efficient use of my time to use On Demand InSAR and + RTC products for monitoring groundwater use and surface water extent dynamics. + + + + + +
+
+ + How do you want to use our service? + + +
+ + +
+ +
\ No newline at end of file diff --git a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.scss b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.scss new file mode 100644 index 000000000..824fecbb7 --- /dev/null +++ b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.scss @@ -0,0 +1,10 @@ +@import "asf-theme"; +.container { + @include themify($themes) { + color: themed('dark-primary-text'); + } +} +.data-list b { + width: 120px; + display: inline-block; +} \ No newline at end of file diff --git a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts new file mode 100644 index 000000000..ce3626114 --- /dev/null +++ b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-processing-signup', + templateUrl: './processing-signup.component.html', + styleUrl: './processing-signup.component.scss' +}) +export class ProcessingSignupComponent { + +} diff --git a/src/app/components/header/processing-queue/processing-signup/processing-signup.module.ts b/src/app/components/header/processing-queue/processing-signup/processing-signup.module.ts new file mode 100644 index 000000000..32dd89161 --- /dev/null +++ b/src/app/components/header/processing-queue/processing-signup/processing-signup.module.ts @@ -0,0 +1,36 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import {MatExpansionModule} from '@angular/material/expansion'; +import { MatSelectModule } from '@angular/material/select'; +import { ProcessingSignupComponent } from './processing-signup.component'; +import { FormsModule } from '@angular/forms'; + +import { MatChipsModule } from '@angular/material/chips'; +import { MatSharedModule } from '@shared'; +import { PipesModule } from '@pipes'; +import { SharedModule } from '@shared'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; + + +@NgModule({ + declarations: [ProcessingSignupComponent], + imports: [ + CommonModule, + PipesModule, + MatSharedModule, + MatSelectModule, + MatChipsModule, + MatExpansionModule, + MatCheckboxModule, + MatFormFieldModule, + MatInputModule, + FormsModule, + SharedModule + ], + exports: [ + ProcessingSignupComponent + ] +}) +export class ProcessingSignupModule { } diff --git a/src/app/models/hyp3.model.ts b/src/app/models/hyp3.model.ts index 2d699d45e..4396a6de5 100644 --- a/src/app/models/hyp3.model.ts +++ b/src/app/models/hyp3.model.ts @@ -24,6 +24,7 @@ export interface Hyp3JobSubmission { } export interface Hyp3User { + application_status: string; quota: Hyp3UserQuota; user_id: string; job_names: string[]; From 3b8df391830020d0c0a2dcee200e488887dd6f11 Mon Sep 17 00:00:00 2001 From: tylercchase Date: Tue, 21 May 2024 11:08:31 -0400 Subject: [PATCH 02/31] feat: form functionality and queue messages --- .../processing-queue.component.html | 340 ++++++++---------- .../processing-queue.component.ts | 11 +- .../processing-signup.component.html | 17 +- .../processing-signup.component.ts | 13 + .../processing-signup.module.ts | 9 +- 5 files changed, 188 insertions(+), 202 deletions(-) diff --git a/src/app/components/header/processing-queue/processing-queue.component.html b/src/app/components/header/processing-queue/processing-queue.component.html index 96ba7c0ee..80138dd59 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.html +++ b/src/app/components/header/processing-queue/processing-queue.component.html @@ -1,19 +1,11 @@ -
+
- +
@@ -26,7 +18,7 @@ {{ 'ON_DEMAND' | translate }}
- {{ 'POWERED_BY_HY_P3' | translate }} + {{ 'POWERED_BY_HY_P3' | translate }}
@@ -40,38 +32,33 @@
- -
+
close
- @if (!this.isSignupSelected) { -
-
-
- {{ 'SIGN_IN_TO_PROCESS_DATA' | translate }} -
-
- -
+
+
+
+ {{ 'SIGN_IN_TO_PROCESS_DATA' | translate }}
- -
-
-
-

- {{ hyp3JobTypes[selectedJobTypeId].description | translate }} - [MORE] -

-
- - - +
+ +
+
+ +
+
+
+

+ {{ hyp3JobTypes[selectedJobTypeId].description | translate }} + [MORE] +

+ + +
- -
-
- - -
-
-
-
- {{ 'TOO_MANY_JOBS_IN_QUEUE' | translate }} -
-
- ({{ allJobs.length - remaining }} extra job{{ (allJobs.length - remaining) === 1 ? '' : 's' }}) -
+
+ +
+
+ + +
+
+
+
+ {{ 'TOO_MANY_JOBS_IN_QUEUE' | translate }} +
+
+ ({{ allJobs.length - remaining }} extra job{{ (allJobs.length - remaining) === 1 ? '' : 's' }}) +
+
+ +
+
+ {{ 'NO_CREDITS_LEFT_THIS_MONTH' | translate }}
- -
-
- {{ 'NO_CREDITS_LEFT_THIS_MONTH' | translate }} -
-
- -
+
+
- -
-
- - -
+
+ +
+
+ +
- -
-
- - -
+
+ +
+
+ +
+
} @else { - + } - - } @else { - + @if (this.userStatus === 'REJECTED') { +

Request for access has been rejected.

Learn more
+ } @else { + + } } diff --git a/src/app/components/header/processing-queue/processing-queue.component.ts b/src/app/components/header/processing-queue/processing-queue.component.ts index 32f85a01c..85d6ba595 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.ts +++ b/src/app/components/header/processing-queue/processing-queue.component.ts @@ -150,7 +150,7 @@ export class ProcessingQueueComponent implements OnInit { this.isUnlimitedUser = user.quota.unlimited; this.remaining = user.quota.remaining; this.userStatus = user.application_status; - if(this.userStatus === 'NOT_STARTED' || this.userStatus === 'PENDING') { + if(this.userStatus === 'NOT_STARTED' || this.userStatus === 'PENDING' || this.userStatus === 'REJECTED') { this.isSignupSelected = true; this.selectedJobTypeId = null; } From 01587ad1a26c3128dd26e555c74e8252816b3365 Mon Sep 17 00:00:00 2001 From: tylercchase Date: Tue, 4 Jun 2024 15:46:44 -0400 Subject: [PATCH 26/31] feat: pull up first dataset if access code goes through --- .../header/processing-queue/processing-queue.component.ts | 3 +++ .../processing-signup/processing-signup.component.ts | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/components/header/processing-queue/processing-queue.component.ts b/src/app/components/header/processing-queue/processing-queue.component.ts index 85d6ba595..75278b40e 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.ts +++ b/src/app/components/header/processing-queue/processing-queue.component.ts @@ -153,6 +153,9 @@ export class ProcessingQueueComponent implements OnInit { if(this.userStatus === 'NOT_STARTED' || this.userStatus === 'PENDING' || this.userStatus === 'REJECTED') { this.isSignupSelected = true; this.selectedJobTypeId = null; + } else if(this.isSignupSelected && this.userStatus === 'APPROVED') { + this.isSignupSelected = false; + this.selectDefaultJobType(); } } ); diff --git a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts index 13ca145dd..497af5909 100644 --- a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts +++ b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts @@ -75,9 +75,7 @@ export class ProcessingSignupComponent implements OnInit { } public onRegisterPressed() { - console.log(this.signupForm.value) - this.hyp3Service.submitSignupForm$(this.signupForm.value).subscribe((response) => { - console.log(response); + this.hyp3Service.submitSignupForm$(this.signupForm.value).subscribe((_response) => { this.notificationService.info('Submitted Form'); this.store$.dispatch(new hyp3Store.LoadUser()); }, (error) => { From 24cd32523f8f5b1de91cc126551acb49b46656f2 Mon Sep 17 00:00:00 2001 From: tylercchase Date: Tue, 4 Jun 2024 16:27:04 -0400 Subject: [PATCH 27/31] chore: application status enum --- .../preferences/preferences.component.ts | 2 +- .../processing-queue/processing-queue.component.html | 2 +- .../processing-queue/processing-queue.component.ts | 7 +++++-- .../processing-signup/processing-signup.component.ts | 4 ++-- src/app/models/hyp3.model.ts | 9 +++++++-- src/app/store/hyp3/hyp3.action.ts | 4 ++-- src/app/store/hyp3/hyp3.reducer.ts | 10 +++++----- 7 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/app/components/header/header-buttons/preferences/preferences.component.ts b/src/app/components/header/header-buttons/preferences/preferences.component.ts index 0057626b6..5cb15078f 100644 --- a/src/app/components/header/header-buttons/preferences/preferences.component.ts +++ b/src/app/components/header/header-buttons/preferences/preferences.component.ts @@ -189,7 +189,7 @@ export class PreferencesComponent implements OnInit, OnDestroy { this.setTheme(`theme-${this.currentTheme}`); } } - public onDebugStatus(status: string) { + public onDebugStatus(status: models.ApplicationStatus) { this.hyp3DebugStatus = status; this.store$.dispatch(new hyp3Store.SetDebugStatus(status)) } diff --git a/src/app/components/header/processing-queue/processing-queue.component.html b/src/app/components/header/processing-queue/processing-queue.component.html index 3862042bd..6e5d7e076 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.html +++ b/src/app/components/header/processing-queue/processing-queue.component.html @@ -183,7 +183,7 @@
} @else { - @if (this.userStatus === 'REJECTED') { + @if (this.userStatus === this.ApplicationStatus.REJECTED) {

Request for access has been rejected.

Learn more
} @else { diff --git a/src/app/components/header/processing-queue/processing-queue.component.ts b/src/app/components/header/processing-queue/processing-queue.component.ts index 75278b40e..a4fcd3fb6 100644 --- a/src/app/components/header/processing-queue/processing-queue.component.ts +++ b/src/app/components/header/processing-queue/processing-queue.component.ts @@ -8,6 +8,7 @@ import { AppState } from '@store'; import moment from 'moment'; import { of, from, combineLatest } from 'rxjs'; import { tap, catchError, delay, concatMap, finalize } from 'rxjs/operators'; +import { ApplicationStatus } from '@models'; import * as queueStore from '@store/queue'; import * as hyp3Store from '@store/hyp3'; @@ -29,6 +30,8 @@ enum ProcessingQueueTab { styleUrls: ['./processing-queue.component.scss'] }) export class ProcessingQueueComponent implements OnInit { + readonly ApplicationStatus = ApplicationStatus; + @ViewChild('contentArea') contentAreaRef: ElementRef; @ViewChild('contentTopArea') topRef: ElementRef; @ViewChild('contentBottomArea') bottomRef: ElementRef; @@ -150,10 +153,10 @@ export class ProcessingQueueComponent implements OnInit { this.isUnlimitedUser = user.quota.unlimited; this.remaining = user.quota.remaining; this.userStatus = user.application_status; - if(this.userStatus === 'NOT_STARTED' || this.userStatus === 'PENDING' || this.userStatus === 'REJECTED') { + if(this.userStatus === ApplicationStatus.NOT_STARTED || this.userStatus === ApplicationStatus.PENDING || this.userStatus === ApplicationStatus.REJECTED) { this.isSignupSelected = true; this.selectedJobTypeId = null; - } else if(this.isSignupSelected && this.userStatus === 'APPROVED') { + } else if(this.isSignupSelected && this.userStatus === ApplicationStatus.APPROVED) { this.isSignupSelected = false; this.selectDefaultJobType(); } diff --git a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts index 497af5909..0b53456c7 100644 --- a/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts +++ b/src/app/components/header/processing-queue/processing-signup/processing-signup.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Store } from '@ngrx/store'; import { Hyp3Service, NotificationService, UserDataService } from '@services'; -import { EarthdataUserInfo, Hyp3User } from '@models'; +import { EarthdataUserInfo, Hyp3User, ApplicationStatus } from '@models'; import * as userStore from '@store/user'; import * as hyp3Store from '@store/hyp3'; @@ -51,7 +51,7 @@ export class ProcessingSignupComponent implements OnInit { }) this.store$.select(hyp3Store.getHyp3User).subscribe(user => { this.hyp3User = user; - if (this.hyp3User.application_status === 'PENDING') { + if (this.hyp3User.application_status === ApplicationStatus.PENDING) { this.signupForm.controls.useCase.setValue(user.use_case); this.signupForm.controls.infoConfirmation.setValue(true); this.submitButtonTooltip = ''; diff --git a/src/app/models/hyp3.model.ts b/src/app/models/hyp3.model.ts index 2ce6c29a3..b252cfdcc 100644 --- a/src/app/models/hyp3.model.ts +++ b/src/app/models/hyp3.model.ts @@ -24,7 +24,7 @@ export interface Hyp3JobSubmission { } export interface Hyp3User { - application_status: string; + application_status: ApplicationStatus; quota: Hyp3UserQuota; user_id: string; job_names: string[]; @@ -140,7 +140,12 @@ export enum Hyp3JobStatusCode { SUCCEEDED = 'SUCCEEDED', FAILED = 'FAILED' } - +export enum ApplicationStatus { + NOT_STARTED = 'NOT_STARTED', + PENDING = 'PENDING', + APPROVED = 'APPROVED', + REJECTED = 'REJECTED' +} export const on_demand_prod_collections = ['C1214471197-ASF','C1214470533-ASF','C1214471521-ASF','C1214472978-ASF','C1214470682-ASF','C1214472994-ASF','C1214470488-ASF','C1327985697-ASF','C1327985645-ASF','C1327985660-ASF','C1327985644-ASF','C1327985571-ASF','C1327985740-ASF','C1327985661-ASF','C1661710578-ASF','C1661710581-ASF','C1661710583-ASF','C1661710590-ASF','C1661710593-ASF','C1661710596-ASF','C1661710597-ASF','C1661710604-ASF','C1214335471-ASF','C1214336154-ASF','C1214337770-ASF','C1214354144-ASF','C1214354235-ASF']; export const on_demand_test_collections = ['C1212200781-ASF','C1212201032-ASF','C1212209035-ASF','C1212158327-ASF','C1212158318-ASF','C1205428742-ASF','C1216244597-ASF','C1216244589-ASF','C1216244594-ASF','C1216244588-ASF','C1216244586-ASF','C1216244600-ASF','C1216244348-ASF','C1226557819-ASF','C1226557809-ASF','C1226557808-ASF','C1226557812-ASF','C1226557813-ASF','C1226557814-ASF','C1226557815-ASF','C1226557818-ASF','C1206132445-ASF','C1212005594-ASF','C1207188317-ASF','C1210546638-ASF','C1206122195-ASF']; export const on_demand_test_collections_asfdev = ['C1245830954-ASFDEV','C1245830954-ASFDEV','C1234413228-ASFDEV','C1234413229-ASFDEV','C1234413230-ASFDEV','C1234413239-ASFDEV','C1234413240-ASFDEV','C1234413241-ASFDEV','C1234413245-ASFDEV','C1234413246-ASFDEV','C1234413247-ASFDEV','C1234413248-ASFDEV','C1234413257-ASFDEV','C1234413258-ASFDEV','C1234413259-ASFDEV','C1234413263-ASFDEV','C1234413264-ASFDEV','C1234413265-ASFDEV','C1234413266-ASFDEV','C1234413269-ASFDEV','C1234413270-ASFDEV','C1234413271-ASFDEV','C1234413272-ASFDEV','C1234413275-ASFDEV']; diff --git a/src/app/store/hyp3/hyp3.action.ts b/src/app/store/hyp3/hyp3.action.ts index 8f16192dd..0643017a1 100644 --- a/src/app/store/hyp3/hyp3.action.ts +++ b/src/app/store/hyp3/hyp3.action.ts @@ -1,6 +1,6 @@ import { Action } from '@ngrx/store'; -import { Hyp3Job, Hyp3User, Hyp3ProcessingOptions, Hyp3Costs } from '@models'; +import { Hyp3Job, Hyp3User, Hyp3ProcessingOptions, Hyp3Costs, ApplicationStatus } from '@models'; export enum Hyp3ActionType { LOAD_JOBS = '[Hyp3] Load Jobs', @@ -77,7 +77,7 @@ export class LoadUser implements Action { export class SetDebugStatus implements Action { public readonly type = Hyp3ActionType.SET_DEBUG_STATUS; - constructor(public payload: string) {} + constructor(public payload: ApplicationStatus) {} } export class SetUser implements Action { public readonly type = Hyp3ActionType.SET_USER; diff --git a/src/app/store/hyp3/hyp3.reducer.ts b/src/app/store/hyp3/hyp3.reducer.ts index 96e7dceef..c3f680094 100644 --- a/src/app/store/hyp3/hyp3.reducer.ts +++ b/src/app/store/hyp3/hyp3.reducer.ts @@ -3,7 +3,8 @@ import { createFeatureSelector, createSelector } from '@ngrx/store'; import { Hyp3ActionType, Hyp3Actions } from './hyp3.action'; import { Hyp3Job, Hyp3User, Hyp3ProcessingOptions, - hyp3DefaultJobOptions, Hyp3CostsByJobType + hyp3DefaultJobOptions, Hyp3CostsByJobType, + ApplicationStatus } from '@models'; /* State */ @@ -18,7 +19,7 @@ export interface Hyp3State { projectName: string; userId: string; costs: Hyp3CostsByJobType; - debug_status: string; + debug_status: ApplicationStatus | null; } const initState: Hyp3State = { @@ -29,7 +30,7 @@ const initState: Hyp3State = { submittingJobName: null, processingOptions: hyp3DefaultJobOptions, projectName: '', - debug_status: '', + debug_status: null, userId: '', costs: { "AUTORIFT": { @@ -148,10 +149,9 @@ export function hyp3Reducer(state = initState, action: Hyp3Actions): Hyp3State { let temp_user = { ...action.payload } - if(state.debug_status !== '') { + if(state.debug_status) { temp_user.application_status = state.debug_status } - temp_user.application_status = temp_user.application_status.toUpperCase(); return { ...state, user: temp_user, From 0314e2181f48b7f0e73fc84b7d23bb2bef1288c3 Mon Sep 17 00:00:00 2001 From: William Horn Date: Wed, 5 Jun 2024 10:17:55 -0800 Subject: [PATCH 28/31] fix: remove double period from on demand queue --- .../processing-queue-jobs/processing-queue-jobs.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/header/processing-queue/processing-queue-jobs/processing-queue-jobs.component.html b/src/app/components/header/processing-queue/processing-queue-jobs/processing-queue-jobs.component.html index 5167bd16a..bb52b154b 100644 --- a/src/app/components/header/processing-queue/processing-queue-jobs/processing-queue-jobs.component.html +++ b/src/app/components/header/processing-queue/processing-queue-jobs/processing-queue-jobs.component.html @@ -91,7 +91,7 @@
- {{ 'YOUR_JOBS_QUEUE_IS_EMPTY' | translate }}. + {{ 'YOUR_JOBS_QUEUE_IS_EMPTY' | translate }}