diff --git a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.html b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.html index 8018436a73c3111ceb3ee4e5888067a83e049ac4..f1abc0500a58e9143591b98877d6575857a7fbcf 100644 --- a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.html +++ b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.html @@ -1,7 +1,18 @@ <h1 mat-dialog-title [innerHTML]="uitextCloseCalcTitle"></h1> <div mat-dialog-content> - <p [innerHTML]="uitextCloseCalcBody"></p> + + <div *ngIf="dependingNubs.length"> + {{ uitextDependingModules }} + <mat-list role="list"> + <mat-list-item role="listitem" *ngFor="let dn of dependingNubs"> + {{ dn }} + </mat-list-item> + </mat-list> + </div> </div> + +<p [innerHTML]="uitextCloseCalcBody"></p> + <div mat-dialog-actions> <button mat-raised-button color="primary" [mat-dialog-close]="false" cdkFocusInitial> {{ uitextNo }} diff --git a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.scss b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..268f18ad89927376209eddd80ee16d1a8065535f --- /dev/null +++ b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.scss @@ -0,0 +1,3 @@ +.mat-list-base .mat-list-item { + height: 24px; +} diff --git a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts index e8a1f44ca145c27fef780d49aeaead3e49706aa1..63cdc8fa4a9bb903145cce4501f13aabb90caca9 100644 --- a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts +++ b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts @@ -1,18 +1,30 @@ import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material"; import { Inject, Component } from "@angular/core"; +import { FormulaireService } from "../../services/formulaire/formulaire.service"; import { I18nService } from "../../services/internationalisation/internationalisation.service"; +import { Session } from "jalhyd"; @Component({ selector: "dialog-confirm-close-calc", templateUrl: "dialog-confirm-close-calc.component.html", + styleUrls: [ + "dialog-confirm-close-calc.component.scss" + ] }) export class DialogConfirmCloseCalcComponent { + private _dependingNubs: any[] = []; + constructor( public dialogRef: MatDialogRef<DialogConfirmCloseCalcComponent>, private intlService: I18nService, + private formService: FormulaireService, @Inject(MAT_DIALOG_DATA) public data: any - ) { } + ) { + this._dependingNubs = Session.getInstance().getDependingNubs(data.uid).map((n) => { + return this.formService.getFormulaireFromNubId(n.uid).calculatorName; + }); + } public get uitextYes() { return this.intlService.localizeText("INFO_OPTION_YES"); @@ -30,4 +42,12 @@ export class DialogConfirmCloseCalcComponent { return this.intlService.localizeText("INFO_CLOSE_DIALOGUE_TEXT"); } + public get uitextDependingModules() { + return this.intlService.localizeText("INFO_CLOSE_DIALOGUE_DEPENDING_MODULES"); + } + + public get dependingNubs() { + return this._dependingNubs; + } + } diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index af807c10911ab4ab8b0269dd1066b9cc02d6d9b6..a0cc4b468ec3dc5fd46020076999c9fe461e1f5d 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -386,7 +386,12 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, public closeCalculator() { const dialogRef = this.confirmCloseCalcDialog.open( DialogConfirmCloseCalcComponent, - { disableClose: true } + { + data: { + uid: this._formulaire.currentNub.uid + }, + disableClose: true + } ); dialogRef.afterClosed().subscribe(result => { if (result) { diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 0c952da5530f6c8c300f9635dc8e92da955d26a6..506bda9e733d133cd868979e7e1562b87f32f169 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -44,6 +44,7 @@ "INFO_CLOISONS_TITRE_COURT": "Cross walls", "INFO_CLOSE_DIALOGUE_TEXT": "Warning ! Parameters and results will be lost. Really close?", "INFO_CLOSE_DIALOGUE_TITRE": "Please confirm", + "INFO_CLOSE_DIALOGUE_DEPENDING_MODULES": "The following modules depend on the one you are closing:", "INFO_CONDUITEDISTRIBUTRICE_TITRE": "Distributor pipe", "INFO_CONDUITEDISTRIBUTRICE_TITRE_COURT": "D. pipe", "INFO_COURBEREMOUS_TITRE": "Backwater curves", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index e48c43e9980dd796e819bb1cde10ea4eddddba33..90b8466f0c88be4dac7a420670df25c44fd81922 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -44,6 +44,7 @@ "INFO_CLOISONS_TITRE_COURT": "Cloisons", "INFO_CLOSE_DIALOGUE_TEXT": "Attention ! Les paramètres et résultats du module de calcul seront perdus. Vraiment fermer ?", "INFO_CLOSE_DIALOGUE_TITRE": "Confirmer la fermeture", + "INFO_CLOSE_DIALOGUE_DEPENDING_MODULES": "Les modules suivants dépendent de celui que vous êtes en train de fermer :", "INFO_CONDUITEDISTRIBUTRICE_TITRE": "Conduite distributrice", "INFO_CONDUITEDISTRIBUTRICE_TITRE_COURT": "Conduite distri.", "INFO_COURBEREMOUS_TITRE": "Courbes de remous",