From 862522c1fed0c30c906d7be7a6793020067fcda0 Mon Sep 17 00:00:00 2001 From: Hugo SUBTIL <ext.sopra.husubtil@grandlyon.com> Date: Tue, 29 Nov 2022 10:37:50 +0100 Subject: [PATCH] feat(profile): add loader on member loading --- .../structure-members-management.component.html | 3 +++ .../structure-members-management.component.ts | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app/profile/structure-members-management/structure-members-management.component.html b/src/app/profile/structure-members-management/structure-members-management.component.html index 22f8fa16a..541c9a3a6 100644 --- a/src/app/profile/structure-members-management/structure-members-management.component.html +++ b/src/app/profile/structure-members-management/structure-members-management.component.html @@ -15,6 +15,9 @@ ></app-button> </div> + <div *ngIf="isLoading" class="loader"> + <img class="loader-gif" src="/assets/gif/loader_circle.gif" alt /> + </div> <div *ngIf="structureWithOwners && tempUsers" class="membersList"> <div *ngFor="let member of structureWithOwners.owners" class="member-card"> <div class="user"> diff --git a/src/app/profile/structure-members-management/structure-members-management.component.ts b/src/app/profile/structure-members-management/structure-members-management.component.ts index 5292e48f1..f16d45f73 100644 --- a/src/app/profile/structure-members-management/structure-members-management.component.ts +++ b/src/app/profile/structure-members-management/structure-members-management.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { finalize } from 'rxjs'; import { Owner } from '../../models/owner.model'; import { Structure } from '../../models/structure.model'; import { StructureWithOwners } from '../../models/structureWithOwners.model'; @@ -26,6 +27,7 @@ export class StructureMembersManagementComponent implements OnInit { public excludeModalOpenned = false; public cancelAddTempUserModalOpenned = false; public buttonTypeEnum = ButtonType; + public isLoading = true; constructor( private route: ActivatedRoute, @@ -39,9 +41,12 @@ export class StructureMembersManagementComponent implements OnInit { if (data.structure) { this.structure = new Structure(data.structure); let currentProfile = await this.profileService.getProfile(); - this.structureService.getStructureWithOwners(data.structure._id, currentProfile).subscribe((s) => { - this.structureWithOwners = s; - }); + this.structureService + .getStructureWithOwners(data.structure._id, currentProfile) + .pipe(finalize(() => (this.isLoading = false))) + .subscribe((s) => { + this.structureWithOwners = s; + }); this.structureService.getTempUsers(data.structure._id).subscribe((data) => { this.tempUsers = data; }); -- GitLab