diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html
index d559258..15ab398 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html
@@ -81,3 +81,4 @@
+
diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts
index 3aec4b8..d3a6f02 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts
@@ -1,6 +1,7 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
import { EmployeeInviteResponse } from '@msfa-models/api/employee-invite.response.model';
+import { CustomError } from '@msfa-models/error/custom-error';
import { EmployeeService } from '@msfa-services/api/employee.service';
import { CommaSeparatedEmailValidator } from '@msfa-utils/validators/email.validator';
import { RequiredValidator } from '@msfa-utils/validators/required.validator';
@@ -18,6 +19,7 @@ export class EmployeeInviteComponent {
});
private _lastInvites$ = new BehaviorSubject(null);
lastInvites$: Observable = this._lastInvites$.asObservable();
+ submitIsLoading$ = new BehaviorSubject(false);
constructor(private employeeService: EmployeeService) {}
@@ -82,8 +84,10 @@ export class EmployeeInviteComponent {
}
submitForm(): void {
+ this.submitIsLoading$.next(true);
this._lastInvites$.next(null);
if (this.formGroup.invalid) {
+ this.submitIsLoading$.next(false);
this.emailsControl.markAsDirty();
this.emailsControl.markAsTouched();
return;
@@ -91,9 +95,14 @@ export class EmployeeInviteComponent {
const post = this.employeeService.postEmployeeInvitation(this.emailsControlValueAsArray).subscribe({
next: data => {
+ this.submitIsLoading$.next(false);
this._lastInvites$.next(data);
this.formGroup.reset();
},
+ error: error => {
+ this.submitIsLoading$.next(false);
+ throw new CustomError(error);
+ },
complete: () => {
post.unsubscribe();
},
diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.module.ts b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.module.ts
index b414464..2aa5189 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.module.ts
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.module.ts
@@ -5,6 +5,7 @@ import { ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module';
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
+import { LoaderModule } from '@msfa-shared/components/loader/loader.module';
import { EmployeeInviteComponent } from './employee-invite.component';
@NgModule({
@@ -17,6 +18,7 @@ import { EmployeeInviteComponent } from './employee-invite.component';
BackLinkModule,
ReactiveFormsModule,
DigiNgFormTextareaModule,
+ LoaderModule
],
})
export class EmployeeInviteModule {}