diff --git a/src/app/shared/components/modal/modal-type.enum.ts b/src/app/shared/components/modal/modal-type.enum.ts index 2dedc045ed2b8cad19c0c2f74c62a9794c310cbe..fc394752f94b4ba6fddaedaf1a83b0555fc2b679 100644 --- a/src/app/shared/components/modal/modal-type.enum.ts +++ b/src/app/shared/components/modal/modal-type.enum.ts @@ -1,4 +1,5 @@ export enum AppModalType { - information = 1, - confirmation = 2, + outsideLink = 1, + information, + confirmation, } diff --git a/src/app/shared/components/modal/modal.component.html b/src/app/shared/components/modal/modal.component.html index c482f44e9af9d181d130cbaf190be0f446c3c7f1..42c9178884073259246734d2359ed1dc540b8df8 100644 --- a/src/app/shared/components/modal/modal.component.html +++ b/src/app/shared/components/modal/modal.component.html @@ -1,7 +1,7 @@ <div class="cModal" [ngClass]="openned ? 'oModal' : ''"> <div (clickOutside)="closeModal(false)"> <p>{{ content }}</p> - <div *ngIf="modalType && modalType === modalTypeEnum.information" class="footer"> + <div *ngIf="modalType && modalType === modalTypeEnum.outsideLink" class="footer"> <a (click)="closeModal(false)" href="https://services.formulaireextranet.grandlyon.com/saisie-fiche-structure/" @@ -11,6 +11,15 @@ >Continuer vers le formulaire</a > </div> + <div + *ngIf="this.modalType && this.modalType === modalTypeEnum.information" + fxLayout="row" + fxLayoutAlign="center" + fxLayoutGap="20px" + class="footer" + > + <button (click)="closeModal(false)">Ok</button> + </div> <div *ngIf="this.modalType && this.modalType === modalTypeEnum.confirmation" fxLayout="row" diff --git a/src/app/structure-list/components/search/search.component.html b/src/app/structure-list/components/search/search.component.html index 565f49826919f7f643e3e49c060ed0c9431d4bf4..b1538490b2c2f879ecb33eaefb6b3fbffaf40bfe 100644 --- a/src/app/structure-list/components/search/search.component.html +++ b/src/app/structure-list/components/search/search.component.html @@ -110,7 +110,7 @@ </div> <app-modal *ngIf="isConfirmationModalOpen" - [modalType]="modalType.information" + [modalType]="modalType.outsideLink" [openned]="isConfirmationModalOpen" [content]="confirmationModalContent" (closed)="closeConfirmationModal()" diff --git a/src/app/structure-list/components/structure-details/structure-details.component.html b/src/app/structure-list/components/structure-details/structure-details.component.html index 4f67a00570b9e36ce92c7120056185ebbc2d9fd1..83e2401017160b6bfb88cb7c8e0b5a24e9f62436 100644 --- a/src/app/structure-list/components/structure-details/structure-details.component.html +++ b/src/app/structure-list/components/structure-details/structure-details.component.html @@ -83,7 +83,7 @@ </div> </div> <div fxLayout="row" fxLayoutAlign="center center" class="hide-on-print"> - <a *ngIf="!isClaimed" (click)="claimStructure()" class="primary" tabindex="0">Revendiquer cette structure</a> + <a *ngIf="!isClaimed" (click)="toggleClaimModal()" class="primary" tabindex="0">Revendiquer cette structure</a> <a *ngIf="profileService.isLinkedToStructure(structure._id) || profileService.isAdmin()" (click)="editStructure()" @@ -282,6 +282,15 @@ *ngIf="deleteModalOpenned" [modalType]="modalType.confirmation" [openned]="deleteModalOpenned" - [content]="'Voulez-vous vraiment supprimer cette structure ?'" + [content]="'Voulez-vous vraiment supprimer cette structure ?'" (closed)="deleteStructure($event)" ></app-modal> +<app-modal + *ngIf="claimModalOpenned" + [modalType]="modalType.confirmation" + [openned]="claimModalOpenned" + [content]=" + 'Voulez-vous vraiment revendiquer cette structure ? Une demande sera envoyée a l\'administrateur pour validation' + " + (closed)="claimStructure($event)" +></app-modal> diff --git a/src/app/structure-list/components/structure-details/structure-details.component.ts b/src/app/structure-list/components/structure-details/structure-details.component.ts index 0f7026f1768d84c56d778b7ecc28fbda13549c2e..181d9fad8ebacb6218842b9bbc11dd407374bff8 100644 --- a/src/app/structure-list/components/structure-details/structure-details.component.ts +++ b/src/app/structure-list/components/structure-details/structure-details.component.ts @@ -40,6 +40,7 @@ export class StructureDetailsComponent implements OnInit { public isEditMode: boolean = false; public currentProfile: User = null; public deleteModalOpenned = false; + public claimModalOpenned = false; public modalType = AppModalType; constructor( @@ -123,6 +124,10 @@ export class StructureDetailsComponent implements OnInit { this.deleteModalOpenned = !this.deleteModalOpenned; } + public toggleClaimModal(): void { + this.claimModalOpenned = !this.claimModalOpenned; + } + public deleteStructure(shouldDelete: boolean): void { this.toggleDeleteModal(); if (shouldDelete) { @@ -138,9 +143,12 @@ export class StructureDetailsComponent implements OnInit { this.router.navigate(['./'], { relativeTo: this.route }); } - public claimStructure(): void { - this.isEditMode = false; - this.displayForm(); + public claimStructure(shouldClaim: boolean): void { + this.toggleClaimModal(); + if (shouldClaim) { + this.isEditMode = false; + this.displayForm(); + } } // Show/hide form structure public displayForm(): void { diff --git a/src/app/structure-list/structure-list.component.html b/src/app/structure-list/structure-list.component.html index 3e78f2ff19eb925e80bffe1d08276f6167504d63..951c2726ab0b736b89d2a13bba450c674e46b033 100644 --- a/src/app/structure-list/structure-list.component.html +++ b/src/app/structure-list/structure-list.component.html @@ -6,8 +6,10 @@ [locate]="locate" ></app-structure-list-search> </div> -<div class="nbStructuresLabel hide-on-print"> - {{ structureList ? structureList.length : '0' }} structure{{ structureList && structureList.length > 1 ? 's' : '' }} +<div class="nbStructuresLabel hide-on-print" [ngPlural]="structureList.length"> + <ng-template ngPluralCase="0">0 structure trouvée</ng-template> + <ng-template ngPluralCase="1">1 structure trouvée</ng-template> + <ng-template ngPluralCase="other">{{ structureList.length }} structures trouvées</ng-template> </div> <div (scroll)="onScrollDown($event)" id="listCard" class="listCard" (mouseleave)="mouseLeave()">