From 2b9adece64c47744a66694de2d10f29f0d02f030 Mon Sep 17 00:00:00 2001 From: Nicolas Constant Date: Sat, 7 Sep 2019 14:56:00 -0400 Subject: [PATCH] added waiting icon --- .../scheduled-status.component.html | 2 ++ .../scheduled-status.component.scss | 1 + .../scheduled-status/scheduled-status.component.ts | 13 +++++++++++++ 3 files changed, 16 insertions(+) diff --git a/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.html b/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.html index 4eb054cc..cbf8212d 100644 --- a/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.html +++ b/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.html @@ -43,5 +43,7 @@ (click)="confirmReschedule()" title="confirm rescheduling">REPLAN + + \ No newline at end of file diff --git a/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.scss b/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.scss index 0498b772..86e986a0 100644 --- a/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.scss +++ b/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.scss @@ -1,3 +1,4 @@ +@import "commons"; @import "mixins"; $avatar-size: 40px; diff --git a/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.ts b/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.ts index bb3f4df3..89bb5bd3 100644 --- a/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.ts +++ b/src/app/components/floating-column/scheduled-statuses/scheduled-status/scheduled-status.component.ts @@ -16,6 +16,7 @@ import { StatusSchedulerComponent } from '../../../../components/create-status/s export class ScheduledStatusComponent implements OnInit { deleting: boolean = false; rescheduling: boolean = false; + isLoading: boolean = false; @ViewChild(StatusSchedulerComponent) statusScheduler: StatusSchedulerComponent; @@ -47,6 +48,9 @@ export class ScheduledStatusComponent implements OnInit { } confirmDeletion(): boolean { + if(this.isLoading) return false; + this.isLoading = true; + this.mastodonService.deleteScheduledStatus(this.account, this.status.id) .then(() => { this.scheduledStatusService.removeStatus(this.account, this.status.id); @@ -54,6 +58,9 @@ export class ScheduledStatusComponent implements OnInit { .catch(err => { this.notificationService.notifyHttpError(err); }) + .then(() => { + this.isLoading = false; + }); return false; } @@ -68,6 +75,9 @@ export class ScheduledStatusComponent implements OnInit { } confirmReschedule(): boolean { + if(this.isLoading) return false; + this.isLoading = true; + let scheduledTime = this.statusScheduler.getScheduledDate(); this.mastodonService.changeScheduledStatus(this.account, this.status.id, scheduledTime) .then(() => { @@ -76,6 +86,9 @@ export class ScheduledStatusComponent implements OnInit { }) .catch(err => { this.notificationService.notifyHttpError(err); + }) + .then(() => { + this.isLoading = false; }); return false; }