diff --git a/src/app/centers/create-center/create-center.component.html b/src/app/centers/create-center/create-center.component.html
index fd1481c823..9c1adec35f 100644
--- a/src/app/centers/create-center/create-center.component.html
+++ b/src/app/centers/create-center/create-center.component.html
@@ -167,6 +167,8 @@
{{ 'labels.heading.Selected Groups' | translate }}
mat-raised-button
color="primary"
[disabled]="!centerForm.valid"
+ [mifosxNgBusy]="loading"
+ [busyText]="'labels.buttons.Creating...' | translate"
(click)="submit()"
*mifosxHasPermission="'CREATE_CENTER'"
>
diff --git a/src/app/centers/create-center/create-center.component.ts b/src/app/centers/create-center/create-center.component.ts
index 8db2a9df87..ab1e0dff2a 100644
--- a/src/app/centers/create-center/create-center.component.ts
+++ b/src/app/centers/create-center/create-center.component.ts
@@ -28,6 +28,7 @@ import { FaIconComponent } from '@fortawesome/angular-fontawesome';
import { MatNavList, MatListSubheaderCssMatStyler } from '@angular/material/list';
import { MatLine } from '@angular/material/grid-list';
import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
+import { NgBusyDirective } from '../../shared/directives/ng-busy.directive';
/**
* Create Center component.
@@ -40,6 +41,7 @@ import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
...STANDALONE_SHARED_IMPORTS,
MatCheckbox,
MatIconButton,
+ NgBusyDirective,
FaIconComponent,
MatNavList,
MatListSubheaderCssMatStyler,
@@ -71,6 +73,8 @@ export class CreateCenterComponent implements OnInit {
groupMembers: any[] = [];
/** Group Choice. */
groupChoice = new UntypedFormControl('');
+ /** True if loading. */
+ loading = false;
/**
* Retrieves the offices data from `resolve`.
@@ -194,8 +198,15 @@ export class CreateCenterComponent implements OnInit {
};
data.groupMembers = [];
this.groupMembers.forEach((group: any) => data.groupMembers.push(group.id));
- this.centerService.createCenter(data).subscribe((response: any) => {
- this.router.navigate(['../centers']);
+
+ this.loading = true;
+ this.centerService.createCenter(data).subscribe({
+ next: (response: any) => {
+ this.router.navigate(['../centers']);
+ },
+ error: () => {
+ this.loading = false;
+ }
});
}
}
diff --git a/src/app/groups/create-group/create-group.component.html b/src/app/groups/create-group/create-group.component.html
index f94c21a05c..bb29d6da9b 100644
--- a/src/app/groups/create-group/create-group.component.html
+++ b/src/app/groups/create-group/create-group.component.html
@@ -165,7 +165,14 @@ {{ 'labels.heading.Selected Clients' | translate }}
-