From 267f4474089bdf3e22d6c55789edad7743746bac Mon Sep 17 00:00:00 2001 From: Ben Stein Date: Wed, 24 Jan 2024 14:24:18 -0500 Subject: [PATCH] Disable ticket submit button during post. Resolves GBAPI#319. --- .../ticket-form/ticket-form.component.html | 3 ++- .../support/ticket-form/ticket-form.component.ts | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.html b/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.html index f450f20f..77165d8c 100644 --- a/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.html +++ b/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.html @@ -63,7 +63,8 @@

New Ticket

- +
diff --git a/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.ts b/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.ts index 72591502..8e7751d9 100644 --- a/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.ts +++ b/projects/gameboard-ui/src/app/support/ticket-form/ticket-form.component.ts @@ -11,6 +11,7 @@ import { UserService as LocalUserService } from '../../utility/user.service'; import { RouterService } from '@/services/router.service'; import { ActivatedRoute } from '@angular/router'; import { BoardService } from '@/api/board.service'; +import { LogService } from '@/services/log.service'; @Component({ selector: 'app-ticket-form', @@ -30,6 +31,7 @@ export class TicketFormComponent implements OnDestroy { challengeRefresh: BehaviorSubject = new BehaviorSubject({}); challengeOptions: ChallengeOverview[] = []; + isSubmitting = false; faArrowLeft = faArrowLeft; @@ -42,6 +44,7 @@ export class TicketFormComponent implements OnDestroy { constructor( private api: SupportService, + private log: LogService, private routerService: RouterService, private userApi: UserService, boardApi: BoardService, @@ -74,10 +77,17 @@ export class TicketFormComponent implements OnDestroy { } async submit() { - const ticket = await firstValueFrom(this.api.upload(this.ticket)); - if (!!ticket.id) { - this.routerService.toSupportTickets(ticket.key.toString()); + this.isSubmitting = true; + try { + const ticket = await firstValueFrom(this.api.upload(this.ticket)); + if (!!ticket.id) { + this.routerService.toSupportTickets(ticket.key.toString()); + } + } + catch (err: any) { + this.log.logError("Error on ticket submit", err); } + this.isSubmitting = false; } attachments(files: File[]) {